kehanet

Oracle en popüler veritabanı değil ama en ünlüsüdür. Her ne kadar en popüler olduğu iddia edilebilir. Nasıl sayılacağını görün . Sadece şirket sayısına bakarsanız, MySQL en popüler veritabanıdır: oldukça iyi ve tamamen ücretsizdir :)

Ama farklı olarak da değerlendirilebilir. Oracle kullanan bir milyon müşterisi olan bir şirket ve MySQL kullanan yüz müşterisi olan 5 şirket varsa , Oracle'ın bir milyon müşterisi ve MySQL'in yalnızca 500 çalışanı vardır.

Genel olarak, parası olan büyük şirketleri alıp hangi DBMS'yi seçtiklerine bakarsanız, dünyadaki tüm şirketlerin yaklaşık üçte biri Oracle'da oturuyor. Bunun gibi bir şey.

Bir programcı olarak, gelecekte MySQL'den çok Oracle üzerinde çalışma olasılığınız daha yüksektir. İnternette DBMS'nin popülaritesinin son 20 yılda nasıl değiştiğini gösteren mükemmel bir video var.

MySQL

Tüm DBMS'ler arasında en popüler olan ikinci MySQL'dir. Ve tüm ücretsiz DBMS'ler arasında popülerlik açısından ilk sıradadır. Şimdi onun örneğinden neden SQL öğrendiğimizi anlıyorsunuz. Aldatmaca abartılı ve iş dünyası altyapı seçiminde oldukça muhafazakar.

Prensip olarak, MySQL hakkında zaten konuştuk. Bir kez Sun tarafından , ardından Oracle tarafından satın alındı . Hangi, pekala, bir iyilik şirketine demek çok zor.

Sun'ı satın aldıktan sonra sürekli olarak Java'ya ödeme yapmaya çalışanlar onlardır.

Evet, Sun, Oracle onları satın almadan önce hem Java'ya hem de MySQL'e sahipti.

Bu gerçek ve Oracle'ın itibarı, MySQL projesini çatallamaya ve ona MariaDB adını vermeye karar veren MySQL geliştiricilerini biraz korkuttu.

MariaDB aslında, patent ve lisans nüanslarını aşmanıza izin veren bazı uygulama tuhaflıklarına sahip bir MySQL klonudur .

Ancak Oracle da aptal değildir. Müşterilerin ve geliştiricilerin MariaDB'ye sızmasını önlemek için Oracle, ücretsiz olmaya devam eden MySQL'in geliştirilmesini ve geliştirilmesini finanse etmeye devam ediyor.

Ve iki sandalyeye oturmak için, kurumsal müşteriler için MySQL Community Edition'dan farklı olmayan , ancak lisansları iş için daha uygun olan ücretli bir MySQL Enterprise piyasaya sürüldü .

postgresql

Bir başka ilginç DBMS de PostgreSQL'dir ("postgres işareti" olarak telaffuz edilir).

Bu, son yıllarda çok hızlı bir şekilde popülerlik kazanan başka bir ücretsiz DBMS'dir. Hala MySQL'den uzak olmasına rağmen.

PostgreSQL öncelikle dağıtılmış çalışmaya odaklanır. Güçlü yönleri:

  • Yüksek performanslı ve güvenilir işlem ve çoğaltma mekanizmaları
  • Yerleşik programlama dillerinin genişletilebilir sistemi: PL SQL, PL JS, PL Python, …
  • Tablo kalıtımı
  • Geometrik (özellikle coğrafi) nesneleri indeksleyebilme
  • JSON biçimindeki yarı yapılandırılmış veriler için bunları dizine ekleyebilen yerleşik destek
  • Genişletilebilirlik (yeni veri türleri, dizin türleri, programlama dilleri, genişletme modülleri oluşturma, herhangi bir harici veri kaynağına bağlanma yeteneği)

Neden böyle dendiğini biliyor musun? İşte böyle…

Yaklaşık 50 yıl önce, 70'lerin başında, Berkeley Üniversitesi kendi ilişkisel DBMS'sini geliştirmeye başladı ve buna Ingres adını verdi .

80'lerin başında, Profesör Michael Stonebreaker projeden ayrıldı ve blackjack ve fahişelerle kendi DBMS'sini yazmaya karar verdi. O ve öğrencileri, basitçe Post Ingres adını verdikleri ve gelecekte Postgres olarak kısaltılacak olan kendi DBMS'lerini yazmaya başladılar .

Ve Postgres adı kimseye bir şey ifade etmediğinden, ona SQL son ekinin eklenmesine karar verildi. Çift S'yi hemen kaybeden ve PostgreSQL olarak yazılmaya başlayan PostgreSQL böyle ortaya çıktı. Ama adını söylüyorsun, PostgresQL gibi okumalısın.

NoSQL

Veritabanlarıyla ilgileniyorsanız, NoSQL veritabanlarını kesinlikle duymuşsunuzdur . Hemen sizi üzüyorum: NoSQL tamamen bir pazarlama adıdır ve SQL oradadır. O sadece kesildi.

Nasıl görünüyor? HTML, CSS ve JavaScript ile yazılmış... 1995 tarayıcısında açılmış güzel bir web sayfası hayal edin. CSS'nin %10 gücünde çalışır ve JavaScript'i hiç desteklemez. Ve bu yeni sadeleştirilmiş standardın adı… NoHtml .

Örneğin, tablolar arasındaki JOIN'ler NoSQL'de desteklenmeyebilir ve ardından bunu programdaki Java kodu düzeyinde öykünmeniz veya ilgili tabloların tüm verilerini tek bir büyük tabloda depolamanız gerekir.

Ve NoHtml söz konusu olduğunda 20 yıl önce geri almış gibi görünüyorsak, o zaman NoSQL söz konusu olduğunda, geri alma yaklaşık 40 yıl önce gerçekleşir.

Örneğin, Facebook'un milyarlarca kullanıcının verilerini depolamak için kullandığı Cassandra NoSQL veritabanını ele alalım. Aslında, onu geliştirdiler ve ardından bir Açık Kaynak projesi olarak yayınladılar.

En ilginç olanla başlayalım - tüm DBMS kodu Java ile yazılmıştır . C++ kodu muhtemelen daha hızlı çalışır, ancak daha fazla hata olur. Ve Java kodunun bakımı ve geliştirilmesi daha kolaydır.

Casandra DBMS'ye yapılan isteklerin genel biçimi çok tanıdık geliyor:

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

Gördüğünüz gibi, SQL orada. Burada neyin eksik olduğunu biliyor musun? KATIL ! Yalnızca bir tablodan veri seçebilirsiniz :)

İşte resmi belgelerden bir alıntı:

Cassandra'da birleştirmeler gerçekleştiremezsiniz . Bir veri modeli tasarladıysanız ve birleştirme gibi bir şeye ihtiyacınız olduğunu fark ettiyseniz, işi istemci tarafında yapmanız veya birleştirme sonuçlarını sizin için temsil eden normalleştirilmiş ikinci bir tablo oluşturmanız gerekir.