NoSQL Veritabanı - NoSQL nedir?

Kullanmaya başlamaya yönelik genel bakış

NoSQL veritabanları nedir?

Çok büyük hacimde ve hızla değişen yapılandırılmamış verileri, satırlar ve tablolar içeren bir ilişkisel (SQL) veritabanından farklı şekilde işleyebildiklerine vurgu yapmak için NoSQL veritabanları, “ilişkisel olmayan”, “NoSQL DB'ler” veya “SQL olmayan” olarak da adlandırılır.

NoSQL teknolojiler, 1960’lı yıllardan beri farklı adlar ile kullanılıyor. Veri peyzajı değiştiği ve geliştiricilerin bulut, mobil, sosyal medya ve büyük veriler tarafından oluşturulan büyük miktarda ve hacimde verileri işlemek için kendilerini uyarlaması gerektiği için, bu teknolojinin popülaritesi hızla arttı.

Ünlü kişilerin attığı viral tweetlerden elektronik tıbbi kayıtlardaki hayat kurtaran bilgilere kadar yeni veriler ve veri türleri çok yüksek hızda oluşturulur. NoSQL veritabanları, geliştiricilerin, yeni bilgileri depolamak ve bunları arama, birleştirme ve analiz gibi amaçlarla kullanıma hazır hale getirmek üzere hızla veritabanı sistemleri oluşturması için geliştirildi.

NoSQL veritabanlarının (NoSQL DB) sunduğu avantajlar

Öngörülemeyen verileri işleme konusunda çok etkili olan ve genellikle çok yüksek sorgu hızları sunan NoSQL veritabanları, BT profesyonellerinin ve geliştiricilerin sürekli genişleyen veri türü ve modeli çeşitliliğini yönetmesine yardımcı olur. Mevcut NoSQL iş yükleri için de sorunsuz veritabanı geçişi sunarlar.

Çeviklik ile geliştirin

Planlanmayan durumlara yanıt verebilme özelliği ile, NoSQL veritabanları sık gerçekleşen yazılım yayınlama döngülerinin ihtiyaçlarını karşılar ve daha hızlı ve çevik uygulama geliştirme için uygundur.

Verileri esneklik ile işleyin

NoSQL, veri gereksinimlerine uyum sağlamak amacıyla şemayı ve sorguları değiştirmek için geliştiricilere daha fazla özgürlük, hız ve esneklik tanır. Toplama olarak depolanan bilgiler, önceden şema tasarımı oluşturma gereksinimi olmadan hızlı yinelemeli geliştirmelerin yapılmasını kolaylaştırır.

Herhangi bir ölçekte çalışın

NoSQL veritabanları, ölçeği yatay olarak “genişletme” özelliği ile ilgi çekici operasyonel avantajlar ve tasarruf fırsatları sunabilir veya yükseltme gerekliliği olmadan daha ucuz sunucular ekleme olanağı tanıyabilir. NoSQL veritabanları, daha fazla veri işleyecek veya tek bir büyük veritabanını yüksek ölçüde dağıtılabilir sunucu kümelerinde saklayacak şekilde ölçeklendirilebilir.

NoSQL veritabanlarında veri modeli türleri

İlişkisel olmayan, yüksek performanslı pek çok veritabanı (bazen “sadece SQL olmayanlar” olarak da adlandırılır) da yüksek oranda yapılanmış verileri işleyebilir. Ancak, bunlar ilişkisel (SQL) veritabanları gibi sabit veri modelleriyle sınırlandırılmaz.

NoSQL veritabanlarının en genel 4 türü şunlardır:

Anahtar-değer

Anahtar-değer, çift oluşturan anahtarları ve değerleri bir karma tablo kullanarak depolar. Anahtar-değer türlerinin en uygun olduğu durum, bir anahtarın bilindiği ve anahtarla ilişkili değerin bilinmediği durumlardır.

Belge

Belge veritabanları, tüm belgeleri koleksiyon adı verilen gruplarda düzenleyerek anahtar-değer veritabanı kavramını genişletir. İç içe yerleştirilmiş anahtar-değer çiftlerini destekleyip bir belgedeki tüm öznitelikler üzerinde sorgu yapılmasına izin verirler.

Sütunlu

Veritabanındaki belirli sütunlarda sorgu çalıştırırken oldukça avantajlı olan sütunlu, geniş sütun veya sütun ailesi veritabanları, verileri verimli bir şekilde depolar ve seyrek veri satırlarında sorgular.

Graf

Graf veritabanları, sosyal bir ağda insanların birbiri arasındaki ilişkiler gibi birbirine bağlı verileri temsil etmek için düğümleri ve uçları temel alan bir model kullanır ve karmaşık ilişkiler aracılığıyla basitleştirilmiş depolama ve gezinti sunar.

İlişkisel (SQL) ve ilişkisel olmayan (NoSQL) veritabanları arasında seçim yapma

Kullanılamıyor NoSQL veya ilişkisel olmayan SQL veya ilişkisel
Şunlar için en iyisi:
  • Büyük, ilişkisiz, belirsiz veya hızla değişen verileri işleme.
  • Şemadan bağımsız veriler veya uygulama tarafından yönetilen şema.
  • Performans ve kullanılabilirliğin güçlü tutarlılıktan daha fazla öneme sahip olduğu uygulamalar.
  • Dünyanın dört bir yanındaki kullanıcılara hizmet sunan sürekli çalışan uygulamalar.
  • İlişkisel olan ve önceden tanımlanabilen mantıksal ve ayrık gereksinimleri bulunan verileri işleme.
  • Şemanın uygulama ve veritabanı arasında korunması ve eşitlenmiş halde tutulması gereken durumlar.
  • İlişkisel yapılar için oluşturulmuş eski sistemler.
  • Karmaşık sorgu veya çok satırlı işlem gerektiren uygulamalar.
Senaryolar:
  • Mobil uygulamalar.
  • Gerçek zamanlı analiz.
  • İçerik yönetimi.
  • Kişiselleştirme.
  • IoT uygulamaları.
  • Veritabanı geçişi.
  • Muhasebe, finans ve bankacılık sistemleri.
  • Envanter yönetimi sistemleri.
  • İşlem yönetimi sistemleri.
Ölçek:
  • Sunucular arasında parçalama gerçekleştirerek verileri yatay olarak ölçeklendirir.
  • Sunucu yükünü artırarak verileri dikey olarak depolar.
Veri modeli:
  • Veritabanı türleri: anahtar-değer, belge, sütunlu ve graf veritabanları.
  • Veritabanı türüne bağlı olarak veri depolar.
  • Veritabanı türü: ilişkiler olarak gruplandırılmış, satırlardan oluşan tablolar.
  • Yapılandırılmış Sorgu Dili’ni (SQL) kullanır.
  • Verileri tablolarda satır olarak depolar. İlgili veriler ayrı depolanır ve karmaşık sorgular için birleştirilir.
Kullanılamıyor İlişkisel olmayan veri modelleri hakkında daha fazla bilgi edinin İlişkisel veri modelleri hakkında daha fazla bilgi edinin

Bir NoSQL veritabanını nasıl değerlendiririm?

Bir veri modeli seçin

Çoğu NoSQL veritabanı, bir birim olarak etkileşim kurduğunuz veri koleksiyonu olan toplamalara yöneliktir. Bu durum, bunları modern, nesne yönelimli programlama dilleri için daha uygun kılar. Bir NoSQL veritabanını seçerken, ilk önce bir veri modeli seçerek başlayabilirsiniz. Ardından, bunu destekleyen NoSQL veritabanlarını ve her veritabanının desteklediği programlama dillerini ve SDK’ları değerlendirin.

Programlama modelleri ve API’ler hakkında daha fazla bilgi edinin

Tutarlılık elde etmek için ödün verdiğiniz alanları değerlendirin

Çoğu NoSQL veritabanı, bir tutarlılık yelpazesinin herhangi bir ucundan seçim yapmanıza olanak tanır. En güncel verileri alacağınız güçlü tutarlılık (ancak beklemeniz gerekir) ve hızlı yanıt alacağınız son tutarlılık (veri eski olabilir) arasında seçim yapabilirsiniz. Bu uçların ortalarında yer alan tutarlılık düzeylerini destekleyen diğer birçok NoSQL veritabanı da bulunur. Tutarlılık modellerinde ihtiyaçlarınıza yönelik en fazla esnekliği ve denetimi sunan NoSQL veritabanını seçin.

Tutarlılık, kullanılabilirlik ve bölüm toleransı hakkında daha fazla bilgi edinin

Bulut ve veritabanı geçişini göz önünde bulundurun

Dağıtılmış niteliklerinden ötürü ve yatay olarak ölçeklenebildikleri için, NoSQL veritabanları bulut bilişim için idealdir. Yine de, hibrit senaryolarda veya şirket içinde çalışmak için tasarlanmış birçok NoSQL veritabanı sistemi bulabilirsiniz.

Bulut seçeneklerinizi değerlendirirken şunları göz önünde bulundurun:

  • Desteklenen veri modelleri. Bulut sağlayıcısı kullanmak isteyebileceğiniz tüm veri modellerini destekliyor mu?
  • Dağıtım ve işlemler. Gerekirse veritabanınızı ne kadar kolay dağıtabilir ve diğer bölgelere çoğaltabilirsiniz?
  • Coğrafi varlık. Bulut sağlayıcısının veri merkezleri nerede bulunur? Verilerinizi istediğiniz yere koyabilir misiniz? Avrupa Birliği’nin Genel Veri Koruma Yönetmeliği gibi genel veri gizliliği yönetmelikleriyle nasıl uyumlu kalmayı planlıyorsunuz?
  • Çoğaltma kolaylığı. Veritabanınızı farklı bir coğrafi bölgeye çoğaltma süreci nasıl işler?
  • Ölçeklenebilirlik. NoSQL veritabanı kaynakları büyüme için yeterli performans ve ölçek sunmanıza olanak tanıyor mu? Ölçeği artırma, azaltma veya yatay olarak genişletme olanağı var mı?
  • Yüksek kullanılabilirlik. Beklenmedik bir hata oluşursa ne olur? Hizmet, yerleşik yüksek kullanılabilirlik ve olağanüstü durum kurtarma sunuyor mu?
  • Hizmet düzeyleri. Hangi düzeylerde kullanılabilirlik veya gecikme süresi garantileri sunulur?
  • Ekosistem. Veritabanı bulut platformunun geri kalanıyla sıkıca tümleştirilmiş mi? Veritabanı yeni çözümler oluşturmak için hızla birleştirilebilir mi?

NoSQL veritabanı sistemlerini kullanmanın yolları

NoSQL’i temel alan veri modellerinin kullanımı, oyun, e-ticaret, büyük veri analizi veya gerçek zamanlı web uygulamaları için harika kullanıcı deneyimleri sağlamak üzere esnek, ölçeklenebilir, yüksek performanslı ve büyük oranda işlevsel veritabanları gerektiren mobil uygulamalar ile web, Nesnelerin İnterneti (IoT) ve oyun uygulamaları oluşturmak isteyen şirketler için uygundur.

Uygulamalarınızı genel olarak dağıtın

Yüksek erişilebilirlik ve felaketten kurtarmanın sunduğu gelişmiş uygulama performansı ile dünyanın dört bir yanından, daha fazla kullanıcı kazanın.

Gerçek zamanlı kullanıcı deneyimleri sunun

NoSQL veritabanları ile kişiselleştirme, gerçek zamanlı öneriler ve geliştirilmiş kullanıcı deneyimi sunun.

Farklı IoT iş yüklerini barındırın

IoT uygulamaları için geliştirilmiş sorgu performansı ile, sürdürülen, yazma işlemi bakımından yoğun veri alımını işlemek için anında ve esnek bir şekilde ölçeklendirin.

E-ticaret uygulamalarınızı geliştirin

NoSQL esnek şemalar ve hiyerarşik veriler sayesinde, farklı ürünlerin farklı özniteliklerinin bulunduğu ürün kataloğu verilerini depolamak için uygundur.

Yeni içeriklerle oyuncularla etkileşimde bulunun

Oyun içi istatistikler, sosyal medya tümleştirmesi ve puan tablosu gibi içeriklerle kişiselleştirilmiş deneyimler sunun. Düşük gecikme süresi ve esnek ölçeklenebilirlik özellikleri, oyunların piyasaya çıkışı ve turnuvalar gibi yoğun trafik artışlarını destekler.

Sunucusuz uygulamalar oluşturun

Anında kullanılabilirlik, otomatik dizinleme, kararlı alım hızları ve sorgu performansı ile veri alımını, aktarım hızını ve veri hacimlerini sorunsuzca ölçeklendirin.

Büyük verilerden daha iyi içgörüler edinin

Hızla değişen, yüksek hacimli verilere uygun ölçekte makine öğrenmesi uygulayıp analizlerden daha fazlasını edinin.

Mevcut NoSQL iş yüklerinizi buluta geçirin

Mevcut araçlarınızı, sürücülerinizi, kitaplıklarınızı ve SDK’larınızı kullanırken buluta geçiş ile bir şirket içi veritabanını yönetmek için daha az zaman harcayın.

NoSQL ve buluta veritabanı geçişi konusunda çalışmaya başlayın

Mevcut NoSQL iş yükleri için bulut veritabanı geçişinin yanı sıra veritabanı sistemlerinizi ve farklı veri türlerini yönetmede sunulan yeni çeviklik, esneklik ve ölçeklenebilirlikle uygulamalarınızı geliştirmeyi öğrenin. Geliştiriciler için Azure Cosmos DB’ye yönelik teknik genel bakışı edinerek genel olarak dağıtılan, yüksek oranda ölçeklenebilir ve çok modelli olan bir veritabanı hizmetinde NoSQL yerel desteği hakkında daha fazla bilgi edinin.

NoSQL verileri için Azure Cosmos DB kullanımı hakkında daha fazla bilgi edinin

Daha fazla bilgi edinin