NoSQL Veritabanlarına Genel Bir Bakış

NoSQL kısaltması, 1998'de kuruldu. Birçok kişi, NoSQL'in SQL'de kurcalamak için aşağılayıcı bir terim olduğunu düşünüyor. Gerçekte, terim sadece SQL değil demektir. Fikir, her iki teknolojinin bir arada var olabileceği ve her birinin yeri olduğu. Web 2.0 liderlerinin birçoğu NoSQL teknolojisini benimsemiş olduğu için NoSQL hareketi son birkaç yıldır yayınlandı. Facebook, Twitter, Digg, Amazon, LinkedIn ve Google gibi şirketlerin hepsi bir şekilde NoSQL kullanıyor.

NoSQL'i yıkalım, böylece bunu CIO'nuza veya hatta iş arkadaşlarınıza açıklayabilirsiniz.

NoSQL İhtiyaçtan Ortaya Çıkıyor

Veri Depolama: Dünyanın depolanan dijital verileri exabyte cinsinden ölçülür. Bir exabyte, bir milyar gigabayt (GB) veriye eşittir. Internet.com'a göre, 2006 yılında eklenen saklanan verilerin miktarı 161 exabyte idi. 2010'da sadece 4 yıl sonra, depolanan veri miktarı yaklaşık% 500'ün üzerinde bir artışa sahip olan yaklaşık 1,000 ExaBytes olacaktır. Başka bir deyişle, dünyada depolanan birçok veri var ve bunun büyümeye devam etmesi bekleniyor.

Birbirine Bağlı Veri: Veri daha fazla bağlı olmaya devam ediyor. Web sitelerinin köprüler içinde yaratılması, blogların pingback'leri vardır ve her büyük sosyal ağ sisteminin her şeyi bir araya getiren etiketler vardır. Binbaşı sistemler birbirine bağlı olarak inşa edilmiştir.

Karmaşık Veri Yapısı: NoSQL hiyerarşik iç içe geçmiş veri yapılarını kolaylıkla kullanabilir. Aynı şeyi SQL'de gerçekleştirmek için, her türlü anahtarla birden fazla ilişkisel tabloya ihtiyacınız olacaktır.

Ayrıca, performans ve veri karmaşıklığı arasında bir ilişki vardır. Performans, sosyal ağ uygulamalarında ve semantik ağda gerekli olan büyük miktarda veriyi saklarken geleneksel bir RDBMS'de bozulabilir.

NoSQL nedir?

NoSQL'i tanımlamanın bir yolunun, ne olmadığını düşünmek olduğunu sanırım.

SQL değil ve ilişkisel değil. Adından da anlaşılacağı gibi, bu bir RDBMS'nin yerine geçmez, ancak bunu tamamlar. NoSQL, çok büyük ölçekli veri ihtiyaçları için dağıtılmış veri depoları için tasarlanmıştır. Facebook'u her gün 500.000.000 kullanıcıyla veya Twitter'da Terabits veri biriktirerek düşünün.

Bir NoSQL veritabanında, sabit bir şema yok ve birleşme yok. Bir RDBMS, daha hızlı ve daha hızlı donanım elde ederek ve bellek ekleyerek "yukarı ölçeklenir". Diğer taraftan NoSQL, "ölçekleme" işleminden yararlanabilir. Ölçeklendirme, yükü birçok mal sistemi üzerinde yaymak anlamına gelir. Bu, büyük veri kümeleri için pahalı olmayan bir çözüm haline getiren NoSQL bileşenidir.

NoSQL Kategorileri

Mevcut NoSQL dünyası 4 temel kategoriye giriyor.

  1. Anahtar değerler Mağazalar , esas olarak 2007 yılında yazılan Amazon'un Dinamo Kağıdı'na dayanmaktadır. Ana fikir, belirli bir veri öğesine özel bir anahtar ve işaretçi bulunan bir karma tablonun varlığıdır. Bu eşleştirmelere genellikle performansı en üst düzeye çıkarmak için önbellek mekanizmaları eşlik eder.
    Sütun Aile Mağazaları , birçok makineye dağıtılan çok büyük miktarda veriyi saklamak ve işlemek için oluşturuldu. Hala tuşlar var ama birden çok sütuna işaret ediyorlar. BigTable (Google'ın Sütun Ailesi NoSQL modeli) durumunda, satırlar, bu anahtar tarafından sıralanan ve saklanan verilerle bir satır anahtarı ile tanımlanır. Sütunlar sütun ailesi tarafından düzenlenmiştir.
  1. Doküman Veri Tabanı , Lotus Notes'tan ilham aldı ve anahtar-değer mağazalarına benzer. Model, temel olarak diğer anahtar / değer koleksiyonlarının koleksiyonları olan sürümlü belgelerdir. Yarı yapılandırılmış belgeler JSON gibi formatlarda saklanır.
  2. Grafik Veritabanı s düğümleri, notlar arasındaki ilişkiler ve düğümlerin özellikleri ile inşa edilmiştir. Satır ve sütun tabloları ve SQL'in katı yapısı yerine, birçok makinede ölçeklenebilen esnek bir grafik modeli kullanılır.

Büyük NoSQL Oyuncular

NoSQL'in en büyük oyuncuları, öncelikle onları benimseyen kuruluşlar nedeniyle ortaya çıkmışlardır. En büyük NoSQL teknolojilerinden bazıları şunlardır:

Sorgulama NoSQL

NoSQL veritabanının nasıl sorgulanacağı sorusu, çoğu geliştiricinin neyle ilgilendiğidir. Sonuçta, büyük bir veritabanında saklanan veriler, son kullanıcılara veya web hizmetlerine erişemez ve gösteremezlerse, hiç kimse iyi bir şey yapmaz. NoSQL veritabanları, SQL gibi yüksek seviyeli bir bildirim dili sağlamaz. Bunun yerine, bu veritabanlarını sorgulamak veri modeline özgüdür.

NoSQL platformlarının çoğu, veriler için RESTful arayüzlere izin verir. Diğer teklif sorgu API'ları. Birden çok NoSQL veritabanını sorgulamaya çalışan birkaç sorgu aracı geliştirilmiştir. Bu araçlar genellikle tek bir NoSQL kategorisinde çalışır. Bir örnek SPARQL'dir. SPARQL, grafik veritabanları için tasarlanmış bir bildirimsel sorgu belirtimidir. Belirli bir blog yazıcısının URL'sini (IBM'in izniyle) alan bir SPARQL sorgusunun bir örneği:

PREFIX foaf:
SELECT? Url
FROM
NEREDE {
katkı yapan foaf: name "Jon Foobar".
katkı yapan foaf: weblog? url.
}

NoSQL'in Geleceği

Büyük veri depolama gereksinimi olan kuruluşlar NoSQL'de ciddi bir şekilde ilgilenmektedir. Görünüşe göre, konsept küçük organizasyonlarda fazla çekiş yapmıyor. Bilgi Haftası tarafından yapılan bir ankette, iş BT uzmanlarının% 44'ü NoSQL'i duymadı. Ayrıca, katılımcıların sadece% 1'i NoSQL'in stratejik yönlerinin bir parçası olduğunu bildirmiştir. Açıkçası, NoSQL'in bağlı dünyamızda yeri vardır, ancak birçoğunun sahip olabileceğini düşündüğü kitlesel çekiciliği elde etmek için evrim geçirmeye devam etmesi gerekecektir.