Oracle

Oracle bukanlah pangkalan data yang paling popular, tetapi ia adalah pangkalan data yang paling terkenal. Walaupun boleh dikatakan bahawa yang paling popular. Lihat cara mengira . Jika anda hanya melihat bilangan syarikat, maka MySQL ialah pangkalan data yang paling popular: ia cukup bagus dan percuma sepenuhnya :)

Tetapi ia juga boleh dianggap berbeza. Jika terdapat satu syarikat dengan sejuta pelanggan yang menggunakan Oracle dan 5 syarikat dengan seratus pelanggan yang menggunakan MySQL, maka Oracle mempunyai sejuta pelanggan dan MySQL hanya 500 orang.

Secara umum, jika anda mengambil syarikat besar yang mempunyai wang dan melihat DBMS yang mereka pilih, maka kira-kira satu pertiga daripada semua syarikat di dunia duduk di Oracle. Sesuatu seperti ini.

Sebagai seorang pengaturcara, anda lebih berkemungkinan untuk bekerja di Oracle pada masa hadapan berbanding MySQL. Terdapat video yang sangat baik di Internet yang menunjukkan bagaimana populariti DBMS telah berubah sejak 20 tahun yang lalu.

MySQL

Yang kedua paling popular di kalangan semua DBMS ialah MySQL. Dan ia adalah yang pertama dalam populariti di kalangan semua DBMS percuma. Kini anda faham mengapa kami mempelajari SQL daripada contoh beliau. Hype adalah gembar-gembur, dan perniagaan agak konservatif dalam pilihan infrastruktur.

Pada dasarnya, kita telah pun bercakap tentang MySQL. Sebaik sahaja mereka dibeli oleh Sun , kemudian oleh Oracle . Yang, baik, sangat sukar untuk memanggil perbadanan kebaikan.

Merekalah yang, selepas pengambilalihan Sun, sentiasa berusaha untuk membuat Java dibayar.

Ya, Sun memiliki Java dan MySQL sebelum Oracle membelinya.

Fakta ini dan reputasi Oracle menakutkan pembangun MySQL sedikit, yang memutuskan untuk menghentikan projek MySQL dan memanggilnya MariaDB.

MariaDB sebenarnya adalah klon MySQL dengan beberapa ciri pelaksanaan yang membolehkan anda mengatasi nuansa paten dan lesen.

Walau bagaimanapun, Oracle juga bukan orang bodoh. Untuk mengelakkan pelanggan dan pembangun daripada bocor ke MariaDB, Oracle terus membiayai pembangunan dan pembangunan MySQL, yang terus menjadi percuma.

Dan untuk duduk di atas dua kerusi, MySQL Enterprise berbayar telah dikeluarkan untuk pelanggan korporat , yang tidak berbeza dengan MySQL Community Edition , tetapi lesennya lebih sesuai untuk perniagaan.

PostgreSQL

Satu lagi DBMS yang menarik ialah PostgreSQL (disebut "postgres cue").

Ini adalah satu lagi DBMS percuma yang telah mendapat populariti dengan cepat dalam beberapa tahun kebelakangan ini. Walaupun masih jauh dari MySQL.

PostgreSQL tertumpu terutamanya pada kerja teragih. Kekuatannya ialah:

  • Mekanisme transaksi dan replikasi berprestasi tinggi dan boleh dipercayai
  • Sistem bahasa pengaturcaraan terbina dalam yang boleh diperluas: PL SQL, PL JS, PL Python, …
  • Pewarisan meja
  • Keupayaan untuk mengindeks objek geometri (khususnya, geografi).
  • Sokongan terbina dalam untuk data separa berstruktur dalam format JSON dengan keupayaan untuk mengindeksnya
  • Kebolehlanjutan (keupayaan untuk mencipta jenis data baharu, jenis indeks, bahasa pengaturcaraan, modul sambungan, menyambung sebarang sumber data luaran)

Adakah anda tahu mengapa ia dipanggil begitu? Begini keadaannya…

Kira-kira 50 tahun yang lalu, pada awal 70-an, Universiti Berkeley mula membangunkan DBMS perhubungannya sendiri dan memanggilnya Ingres .

Pada awal 80-an, Profesor Michael Stonebreaker meninggalkan projek itu dan memutuskan untuk menulis DBMSnya sendiri dengan blackjack dan courtesans. Dia dan pelajarnya mula menulis DBMS mereka sendiri, yang mereka panggil hanya Post Ingres , dipendekkan kepada Postgres pada masa hadapan .

Dan kerana nama Postgres tidak bermakna apa-apa kepada sesiapa, ia telah memutuskan untuk menambah akhiran SQL padanya. Ini adalah bagaimana PostgreSQL ternyata, yang serta-merta kehilangan double S, dan mula ditulis sebagai PostgreSQL. Tetapi anda menyebut namanya, anda perlu membacanya seperti PostgresQL.

NoSQL

Jika anda berminat dengan pangkalan data, maka anda pasti pernah mendengar tentang pangkalan data NoSQL . Saya tergesa-gesa untuk membuat anda kecewa: NoSQL adalah nama pemasaran semata-mata , dan SQL ada di sana. Dia hanya dipotong.

Bagaimana rupanya? Bayangkan halaman web yang bagus ditulis dalam HTML, CSS dan JavaScript... yang dibuka dalam pelayar 1995. Ia berfungsi pada kekuatan 10% CSS dan tidak menyokong JavaScript sama sekali. Dan piawaian baru yang dilucutkan ini dipanggil… NoHtml .

Sebagai contoh, JOIN antara jadual mungkin tidak disokong dalam NoSQL, dan kemudian anda perlu sama ada mencontohi ini pada tahap kod Java dalam program, atau menyimpan semua data jadual berkaitan dalam satu jadual besar.

Dan jika dalam kes NoHtml kita nampaknya telah melancarkan semula 20 tahun yang lalu, maka dalam kes NoSQL, rollback berlaku di suatu tempat sekitar 40 tahun.

Ambil, sebagai contoh, pangkalan data Cassandra NoSQL yang digunakan Facebook untuk menyimpan data berbilion-bilion pengguna. Sebenarnya, mereka membangunkannya dan kemudian menyiarkannya sebagai projek OpenSource.

Mari kita mulakan dengan yang paling menarik - semua kod DBMS ditulis dalam Java . Kod C++ mungkin akan berjalan lebih pantas, tetapi akan ada lebih banyak pepijat. Dan kod Java lebih mudah untuk dikekalkan dan dibangunkan.

Format umum permintaan kepada Casandra DBMS kelihatan sangat biasa:

  SELECT columns  
  FROM table 
  WHERE condition
  GROUP BY columns 
  ORDER BY sorting 
  LIMIT quantity

Seperti yang anda lihat, SQL ada di sana. Adakah anda tahu apa yang hilang di sini? SERTAI ! Anda hanya boleh memilih data dari satu jadual :)

Berikut adalah petikan daripada dokumentasi rasmi:

Anda tidak boleh melakukan penyertaan dalam Cassandra . Jika anda telah mereka model data dan mendapati bahawa anda memerlukan sesuatu seperti gabungan, anda perlu sama ada melakukan kerja pada bahagian klien atau membuat jadual kedua tidak normal yang mewakili hasil gabungan untuk anda.