Skip to main content

NoSQL Veritabanları Genel Bakış

9.1. Indeksleme (Veri Tabanı Eğitim Serisi 9.1.) (Mayıs Ayı 2024)

9.1. Indeksleme (Veri Tabanı Eğitim Serisi 9.1.) (Mayıs Ayı 2024)
Anonim

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 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 dayanıyor. Ana fikir, belirli bir veri parçasının benzersiz bir anahtarı ve bir işaretçisinin bulunduğu bir karma tablonun varlığı. Bu eşleştirmelere genellikle performansı en üst düzeye çıkarmak için önbellek mekanizmaları eşlik eder.
    1. Sütun Aile Mağazaları Birçok makineye dağıtılan çok büyük miktardaki veriyi depolamak ve işlemek için yaratıldı. 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.
  2. Belge Veritabanıs Lotus Notes tarafından ilham alındı ​​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.
  3. Grafik Veritabanıdüğümler, notalar arasındaki ilişkiler ve düğümlerin özellikleri ile oluşturulmuştur. 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:

  • Dinamo: Dynamo Amazon.com tarafından oluşturuldu ve en önemli Anahtar-Değer NoSQL veritabanı. Amazon, e-ticaret işletmeleri için yüksek düzeyde ölçeklendirilebilir bir dağıtım platformuna ihtiyaç duyuyordu, böylece Dynamo geliştirdiler. Amazon S3, Dinamoyu depolama mekanizması olarak kullanıyor.
  • Cassandra: Cassandra, Facebook tarafından açık kaynaklıydı ve sütun tabanlı bir NoSQL veritabanıdır.
  • Buyuk masa: BigTable, Google'ın tescilli sütun tabanlı veritabanıdır. Google, BigTable'ın kullanımına izin verir, ancak yalnızca Google App Engine için kullanılır.
  • SimpleDB: SimpleDB başka bir Amazon veritabanıdır. Amazon EC2 ve S3 için kullanıldığında, kullanıma bağlı olarak ücret talep eden Amazon Web Hizmetlerinin bir parçasıdır.
  • CouchDB: MongoDB ile birlikte CouchDB açık kaynaklı belge tabanlı NoSQL veritabanlarıdır.
  • Neo4j: Neo4j açık kaynaklı bir grafik veritabanıdı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:

Prefabrik foaf: SELECT? UrlDAN 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.