NoSQL için Azure Cosmos DB nedir?

Tamamlandı

Birkaç tanım ve NoSQL için Azure Cosmos DB'de hızlı bir turla başlayalım. Bu genel bakış, Azure Cosmos DB'nin işiniz için uygun olup olmadığını görmenize yardımcı olacaktır.

NoSQL veritabanı nedir?

Geliştiriciler, modern uygulamaların benzersiz zorluklarını giderebilecek yeni tür veritabanlarına ihtiyaç duyar. NoSQL veritabanları şunlar gibi gereksinimleri karşılayacak şekilde tasarlanmıştır:

  • Yüksek hacimli veriler.
  • Birçok farklı kaynak ve biçime sahip veriler.
  • Farklı veri türlerini depolayan dinamik veri şemaları.
  • Yüksek hızlı ve/veya gerçek zamanlı verileri kullanma.

NoSQL veritabanlarını belirli bir resmi tanım yerine paylaştıkları ortak özelliklerle tanımlarsınız. Bu özellikler şunlardır:

  • İlişkisel olmayan bir veri deposu.
  • Ölçeği genişletmek için tasarlanmıştır.
  • Belirli bir şemayı zorunlu tutmaz.

NoSQL veritabanları genellikle ilişkisel kısıtlamaları zorlamaz veya verilere kilit uygulayarak yazmaları hızlı hale getirir. Ayrıca, genellikle parçalama veya bölümleme yoluyla yatay olarak ölçeklendirilecek şekilde tasarlanmıştır ve bu da boyuta bakılmaksızın yüksek performansı korumalarına olanak tanır.

Birçok NoSQL veri modeli olsa da, bir NoSQL veritabanındaki verileri modellemek için yaygın olarak dört geniş veri modeli ailesi kullanılır:

Çeşitli NoSQL modellerini gösteren diyagram; anahtar-değer, belge, grafik ve sütun ailesi deposu.

Bundan sonra NoSQL için Azure Cosmos DB tarafından desteklenen veri modeline odaklanıyoruz: Belge veri modeli.

Belge veri modeliyle neden NoSQL veritabanı kullanmalısınız?

Belge veri modeli, verileri tek tek belge varlıklarına böler. Belge herhangi bir yapılandırılmış veri türü olabilir, ancak JSON genellikle veri biçimi olarak kullanılır. NoSQL için Azure Cosmos DB, JSON'ı yerel olarak destekler.

Üst varlıkları, alt varlıkları ve bunları bağlayan satırları içeren hiyerarşik belge veri modelinin çizimi.

Belge atomik bir varlıktır ve aynı veritabanındaki diğer belgelerde nelerin depolandığına bakılmaksızın kendi veri formuna sahip olabilir. Bu esneklik nedeniyle, yeni uygulamaların hızla oluşturulmasını kolaylaştıran önceden tanımlanmış bir şemaya gerek yoktur. Ayrıca bu esneklik, farklı veri türlerinin birlikte depolanabileceği ve modellerin bir uygulamanın kullanım ömrü boyunca gelişebileceği senaryolara olanak tanır.

JSON belgesi nedir?

JavaScript Nesne Gösterimi veya JSON, basit bir veri biçimidir. JSON, JavaScript dilinde bir nesnenin değişmez değer gösterimiyle yüksek düzeyde uyumlu olacak şekilde oluşturulmuştu. Birçok çerçeve, tarayıcı ve hatta veritabanı JavaScript'i destekler ve JSON'u verileri iletmek ve depolamak için popüler bir biçim haline getirir.

Aşağıda bir JSON belgesi örneği verilmişti:

{
  "device": {
    "type": "mobile"
  },
  "sentTime": "2019-11-12T13:08:42",
  "spoolRefs": [
    "6a86682c-be5a-4a4a-bacd-96c4d1c7ece6",
    "79e78fe2-93aa-4688-89db-a7278b034aa6"
  ]
}

Gördüğünüz gibi JSON, içeriğini açıkça ortaya çıkaran görece okunabilir bir veri biçimidir. JSON'un ayrıştırılıp JavaScript uygulamalarında kullanılması da nispeten kolaydır.

NoSQL için Azure Cosmos DB nedir?

NoSQL için Azure Cosmos DB, çeşitli veriler üzerinde zengin sorgulama sağlayan hızlı bir NoSQL veritabanı hizmetidir. Yapılandırılabilir ve güvenilir performans sunmaya yardımcı olur, genel olarak dağıtılır ve hızlı geliştirme sağlar.

Satırlar aracılığıyla bağlanan dört genel olarak dağıtılmış düğüme sahip bir dünya haritasının çizimi.

NoSQL API,belgelerle çalışmaya yönelik çekirdek veya yerel API'dir. NoSQL API,JSON belgelerini, tanıdık söz dizimine sahip bir sorgu dilini ve popüler programlama dilleri için istemci kitaplıklarını kullanarak hızlı ve esnek geliştirmeyi destekler. Azure Cosmos DB Mongo, Gremlin ve Cassandra gibi diğer API'leri sağlar. Bu API'ler her veritabanı ekosistemiyle uyumluluk sunarken, yerel NoSQL API'sinin temel alınan altyapısını eşlemeye devam eder.

NoSQL için Azure Cosmos DB'nin birkaç avantajı vardır:

  • Dünyanın her yerinde anında, sınırsız esneklik, hızlı okumalar ve çoklu ana yazma işlemleriyle her ölçekte (ani artışlar aracılığıyla bile) hız garantisi.
  • Popüler diller için SDK'larla hızlı, esnek uygulama geliştirme , MongoDB, Cassandra ve Gremlin API'lerinin yanı sıra yerel bir NoSQL API'si ve ETL (ayıklama, dönüştürme, yükleme) analizi.
  • garantili iş sürekliliği, yüzde 99,999 kullanılabilirlik ve kurumsal düzeyde güvenlik ile görev açısından kritik uygulamalar için hazır.
  • Uygulama gereksinimlerine yanıt veren anında, otomatik ölçeklendirme ile tam olarak yönetilen ve uygun maliyetli sunucusuz veritabanı .

Bu özellikler, Azure Cosmos DB'nin modern uygulama geliştirme için ideal bir şekilde kullanılmasını sağlar. NoSQL için Azure Cosmos DB özellikle aşağıdaki uygulamalar için uygundur:

  • Trafikte öngörülemeyen ani artışlar ve düşüşler yaşayın
  • Çok fazla veri oluşturma
  • Gerçek zamanlı kullanıcı deneyimleri sunma ihtiyacı
  • İş sürekliliği için bağımlıdır

NoSQL için Azure Cosmos DB, esnek şemaya sahip yerel JSON belgelerini rastgele depolayabilir. Veriler otomatik olarak dizine eklenir ve JSON verileri için tasarlanmış SQL sorgu dilinin bir çeşidi kullanılarak sorgu için kullanılabilir. NoSQL API'sine .NET, Python, Java ve Node.js gibi popüler çerçeveler için SDK'lar kullanılarak erişilebilir.