Trace Id is missing
Ana içeriğe atla

NoSQL Veritabanı - NoSQL nedir?

Kullanmaya başlamaya yönelik bir genel bakış

NoSQL veritabanları nedir?

NoSQL veritabanları, büyük hacimli, hızla değişen, yapılandırılmamış verileri, satırlar ve tablolar içeren ilişkisel (SQL) bir veritabanından farklı şekillerde işleyebileceklerini vurgulamak amacıyla, "ilişkisel olmayan", "NoSQL DB'leri" veya "SQL olmayan" olarak da adlandırılır..

NoSQL teknolojileri 1960'lardan beri çeşitli adlar altında kullanılmaktadır. Ancak, veri ortamı değiştikçe ve geliştiricilerin buluttan, mobilden, sosyal medya ve büyük veriler tarafından üretilen çok büyük hacimde ve geniş veri çeşidiyle başa çıkmak için uyum sağlaması gerektiğinden, popülaritesi hızla artıyor.

Ü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 hazır hale getirmek için hızlı bir şekilde veritabanı sistemleri oluşturmasına yardımcı olmak için geliştirilmiştir.

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

NoSQL veritabanları, BT uzmanlarının ve geliştiricilerinin, sürekli genişleyen veri türleri ve model çeşitliliğinin yeni zorluklarını yönetmelerine yardımcı olur ve genellikle son derece yüksek sorgu hızlarıyla, öngörülemeyen verilerin işlenmesinde oldukça etkilidir. Mevcut NoSQL iş yükleri için de sorunsuz veritabanı geçişi sunarlar.

Çeviklik ile geliştirin

NoSQL DB'ler, planlanmamış durumlara yanıt verme yeteneğiyle sık gerçekleşen yazılım yayın döngüsü ihtiyaçlarını karşılar, daha hızlı ve daha çevik uygulama geliştirme için uygundur.

Verileri esneklik ile işleyin

NoSQL, geliştiricilere, veri gereksinimlerine uyum sağlamak için hem şema hem de sorguları değiştirme konusunda daha fazla özgürlük, hız ve esneklik sağlar. Küme 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 düzeyde 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 veritabanları (SQL) gibi sabit veri modelleriyle sınırlandırılmaz.

 

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

Anahtar-değer

Anahtar-değer, çiftli 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 destekleyerek bir belgedeki tüm öznitelikler üzerinde sorgu yapılmasına izin verirler.

Sütunlu

Sütunlu, geniş sütunlu veya sütun ailesi veritabanları, verileri verimli bir şekilde depolayarak seyrek veri satırlarında sorgular ve veritabanındaki belirli sütunlarda sorgulama yaparken oldukça avantajlıdır.

Grafik

Grafik veritabanları, bir sosyal 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

NoSQL veya ilişkisel olmayan SQL veya ilişkisel

EN İYİ KULLANIM ALANLARI:

  • 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.

VERİ MODELİ:

  • Veritabanı türleri: anahtar-değer, belge, sütunlu ve grafik 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 (SQL) kullanır.
  • Verileri tablolarda satır olarak depolar. İlgili veriler ayrı depolanır ve karmaşık sorgular için birleştirilir.

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 kümelere yöneliktir. Bu durum, bunları modern, nesne yönelimli programlama dilleri için daha uygun hale getirir. Bir NoSQL veritabanını seçerken, ilk önce bir veri modeli seçerek başlayabilirsiniz. Ardından, bunu destekleyen NoSQL veritabanları ile her veritabanının desteklediği programlama dillerini ve SDK’ları değerlendirebilirsiniz.

Tutarlılık elde etmenin avantajlarını ve dezavantajlarını 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, beklemeniz gerekse de güçlü tutarlılık ile hızlı yanıt alacağınız, verilen eski olabileceği nihai tutarlılık arasında seçim yapabilirsiniz. Genellikle bu uç noktaların ortasına düşen, diğer tutarlılık düzeylerini destekleyen birçok NoSQL veritabanı vardır. Tutarlılık modellerinde ihtiyaçlarınıza yönelik en fazla esnekliği ve denetimi sunan NoSQL veritabanını seçin.

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

Dağıtılmış yapıları ve yatay ölçeklenebilirlikleri ile NoSQL DB'ler, bulut bilişim için ideal bir seçimdir, ancak şirket içinde veya hibrit senaryolarda çalışmak üzere tasarlanmış birçok NoSQL veritabanı sistemi de 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. Gerekmesi halinde, 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 bulunmaktadır? Verilerinizi istediğiniz yere koyabiliyor musunuz? Avrupa Birliği 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şliyor?
  • Ölçeklendirilebilirlik. 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 sunuluyor?
  • Ekosistem. Veritabanı, bulut platformunun geri kalanıyla sıkı bir şekilde bütünleşik mi ve yeni çözümler üretmek için hızlı bir şekilde birleştirilebiliyor mu?

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ğıtma

Yüksek erişilebilirlik ve olağanüstü durum 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 sunma

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

Farklı IoT iş yüklerini barındırma

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ştirme

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çerikler ile oyuncularla etkileşimde bulunma

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şturma

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 edinme

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çirme

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şini kullanmaya 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önetmek için sunulan yeni çeviklik, esneklik ve ölçeklenebilirlikle uygulamalarınızı geliştirmeyi öğrenin. Geliştiriciler için Azure Cosmos DB’ye bir teknik genel bakış elde edin  ve 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.

Azure Cosmos DB for NoSQL verileri hakkında daha fazla bilgi edinin   
Daha fazla bilgi edinin