Peramal

Oracle bukanlah database yang paling populer, tetapi yang paling terkenal. Meskipun dapat dikatakan bahwa yang paling populer. Lihat cara menghitung . Jika Anda hanya melihat jumlah perusahaan, maka MySQL adalah database paling populer: cukup bagus dan sepenuhnya gratis :)

Tapi itu juga bisa dianggap berbeda. Jika ada satu perusahaan dengan sejuta pelanggan yang menggunakan Oracle dan 5 perusahaan dengan seratus pelanggan yang menggunakan MySQL, maka Oracle memiliki satu juta pelanggan dan MySQL hanya 500 orang.

Secara umum, jika Anda mengambil perusahaan besar yang memiliki uang dan melihat DBMS mana yang mereka pilih, maka sekitar sepertiga dari semua perusahaan di dunia menggunakan Oracle. Sesuatu seperti ini.

Sebagai seorang programmer, Anda lebih cenderung bekerja di Oracle daripada di MySQL. Ada video bagus di Internet yang menunjukkan bagaimana popularitas DBMS telah berubah selama 20 tahun terakhir.

MySQL

Yang paling populer kedua di antara semua DBMS adalah MySQL. Dan ini adalah popularitas pertama di antara semua DBMS gratis. Sekarang Anda mengerti mengapa kami belajar SQL dari contohnya. Hype adalah hype, dan bisnis cukup konservatif dalam pemilihan infrastruktur.

Pada prinsipnya, kita sudah membicarakan tentang MySQL. Setelah mereka dibeli oleh Sun , lalu oleh Oracle . Yang mana, sangat sulit untuk disebut korporasi kebaikan.

Merekalah yang, setelah mengakuisisi Sun, terus berusaha membuat Java berbayar.

Ya, Sun memiliki Java dan MySQL sebelum Oracle membelinya.

Fakta dan reputasi Oracle ini sedikit membuat takut para pengembang MySQL, yang memutuskan untuk memotong proyek MySQL dan menyebutnya MariaDB.

MariaDB sebenarnya adalah klon dari MySQL dengan beberapa kebiasaan implementasi yang memungkinkan Anda mengatasi nuansa paten dan lisensi.

Namun, Oracle juga tidak bodoh. Untuk mencegah pelanggan dan pengembang bocor ke MariaDB, Oracle terus mendanai pengembangan dan pengembangan MySQL yang terus gratis.

Dan untuk duduk di dua kursi, MySQL Enterprise berbayar dirilis untuk klien korporat , yang tidak berbeda dengan MySQL Community Edition , tetapi lisensinya lebih cocok untuk bisnis.

PostgreSQL

DBMS menarik lainnya adalah PostgreSQL (diucapkan "postgres cue").

Ini adalah DBMS gratis lainnya yang mendapatkan popularitas dengan sangat cepat dalam beberapa tahun terakhir. Meskipun masih jauh dari MySQL.

PostgreSQL terutama berfokus pada pekerjaan terdistribusi. Kekuatannya adalah:

  • Mekanisme transaksi dan replikasi berkinerja tinggi dan andal
  • Sistem bahasa pemrograman bawaan yang dapat diperluas: PL SQL, PL JS, PL Python, …
  • Warisan tabel
  • Kemampuan untuk mengindeks objek geometris (khususnya, geografis).
  • Dukungan bawaan untuk data semi-terstruktur dalam format JSON dengan kemampuan untuk mengindeksnya
  • Ekstensibilitas (kemampuan untuk membuat tipe data baru, tipe indeks, bahasa pemrograman, modul ekstensi, menghubungkan sumber data eksternal apa pun)

Tahukah Anda mengapa disebut demikian? Begini caranya…

Sekitar 50 tahun yang lalu, di awal tahun 70-an, University of Berkeley mulai mengembangkan DBMS relasionalnya sendiri dan menyebutnya Ingres .

Pada awal 80-an, Profesor Michael Stonebreaker keluar dari proyek dan memutuskan untuk menulis DBMS-nya sendiri dengan blackjack dan pelacur. Dia dan murid-muridnya mulai menulis DBMS mereka sendiri, yang mereka sebut saja Post Ingres , disingkat menjadi Postgres di masa depan .

Dan karena nama Postgres tidak berarti apa-apa bagi siapa pun, diputuskan untuk menambahkan akhiran SQL ke dalamnya. Beginilah hasil PostgreSQL, yang segera kehilangan S ganda, dan mulai ditulis sebagai PostgreSQL. Tapi Anda menyebutkan namanya, Anda perlu membacanya seperti PostgresQL.

NoSQL

Jika Anda tertarik dengan database, maka Anda pasti pernah mendengar tentang database NoSQL . Saya segera membuat Anda kesal: NoSQL adalah murni nama pemasaran , dan SQL ada di sana. Dia baru saja dipotong.

Seperti apa bentuknya? Bayangkan halaman web yang bagus ditulis dalam HTML, CSS, dan JavaScript... yang dibuka di browser tahun 1995. Ini bekerja dengan kekuatan 10% dari CSS dan tidak mendukung JavaScript sama sekali. Dan standar baru yang dipreteli ini disebut… NoHtml .

Misalnya, GABUNG antar tabel mungkin tidak didukung di NoSQL, lalu Anda harus meniru ini di tingkat kode Java dalam program, atau menyimpan semua data tabel terkait dalam satu tabel besar.

Dan jika dalam kasus NoHtml kita tampaknya telah melakukan rollback 20 tahun yang lalu, maka dalam kasus NoSQL, rollback terjadi sekitar 40 tahun.

Ambil contoh, database Cassandra NoSQL yang digunakan Facebook untuk menyimpan data miliaran pengguna. Sebenarnya, mereka mengembangkannya dan kemudian mempostingnya sebagai proyek OpenSource.

Mari kita mulai dengan yang paling menarik - semua kode DBMS ditulis di Java . Kode C++ mungkin berjalan lebih cepat, tetapi akan ada lebih banyak bug. Dan kode Java lebih mudah dipelihara dan dikembangkan.

Format umum permintaan ke Casandra DBMS terlihat sangat familiar:

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

Seperti yang Anda lihat, SQL ada di sana. Apakah Anda tahu apa yang hilang di sini? GABUNG ! Anda hanya dapat memilih data dari satu tabel :)

Berikut kutipan dari dokumentasi resmi:

Anda tidak dapat melakukan penggabungan di Cassandra . Jika Anda telah merancang model data dan menemukan bahwa Anda memerlukan sesuatu seperti gabungan, Anda harus melakukan pekerjaan di sisi klien , atau membuat tabel kedua yang didenormalisasi yang mewakili hasil gabungan untuk Anda.