Azure Cosmos DB'de API seçme
ŞUNLAR IÇIN GEÇERLIDIR: NoSQL MongoDB Cassandra Gremlin Masa PostgreSQL
Azure Cosmos DB, modern uygulama geliştirme için tam olarak yönetilen bir NoSQL, ilişkisel ve vektör veritabanıdır. Azure Cosmos DB otomatik yönetim, güncelleştirmeler ve düzeltme eki uygulama ile veritabanı yönetimini elinizden alır. Ayrıca, kapasitenin taleple eşleşmesi için uygulamaya yanıt veren uygun maliyetli sunucusuz ve otomatik ölçeklendirme seçenekleriyle kapasite yönetimini işler.
Azure Cosmos DB'deki API'ler
Azure Cosmos DB, NoSQL, MongoDB, PostgreSQL, Cassandra, Gremlin ve Table gibi birden çok veritabanı API'sini sunar. Bu API'leri kullanarak belgeler, anahtar-değer, graf ve sütun ailesi veri modellerini kullanarak gerçek dünya verilerini modelleyebilirsiniz. Bu API'ler, uygulamalarınızın Azure Cosmos DB'yi yönetim ek yükü ve ölçeklendirme yaklaşımları olmadan diğer çeşitli veritabanları teknolojileriymiş gibi işlemesine olanak tanır. Azure Cosmos DB, çeşitli API'leriyle veri modelleme ve sorgulama için sahip olduğunuz ekosistemleri, araçları ve becerileri kullanmanıza yardımcı olur.
Tüm API'ler depolama ve aktarım hızı, esneklik ve performans garantileri için otomatik ölçeklendirme sunar. En iyi API yoktur ve uygulamanızı derlemek için API'lerden herhangi birini seçebilirsiniz. Bu makale, iş yükünüz ve ekip gereksinimlerinize göre bir API seçmenize yardımcı olur.
API seçerken dikkat edilmesi gerekenler
NoSQL için API, Azure Cosmos DB'de yereldir.
MongoDB, PostgreSQL, Cassandra, Gremlin ve Table için API, açık kaynak veritabanı altyapılarının kablo protokollerini uygular. Aşağıdaki koşullar doğruysa bu API'ler en uygun olanıdır:
- Mevcut MongoDB, PostgreSQL Cassandra veya Gremlin uygulamalarınız varsa
- Veri erişim katmanınızın tamamını yeniden yazmak istemiyorsanız
- Veritabanınız için açık kaynak geliştirici ekosistemini, istemci sürücülerini, uzmanlığını ve kaynaklarını kullanmak istiyorsanız
- Aşağıdakiler gibi Azure Cosmos DB çekirdek özelliklerini kullanmak istiyorsanız:
- Genel dağıtım
- Depolamanın ve aktarım hızının esnek ölçeklendirmesi
- Büyük ölçekte yüksek performans
- Düşük gecikme süresi
- İşlemsel ve analitik iş yüklerini çalıştırma olanağı
- Tam olarak yönetilen platform
- Çoklu bulut ortamında modernleştirilmiş uygulamalar geliştiriyorsanız
Bu API'lerle yeni uygulamalar oluşturabilir veya mevcut verilerinizi geçirebilirsiniz. Geçirilen uygulamaları çalıştırmak için uygulamanızın bağlantı dizesi değiştirin ve daha önce olduğu gibi çalışmaya devam edin. Mevcut uygulamaları geçirirken bu API'lerin özellik desteğini değerlendirdiğinizden emin olun.
İş yükünüz temelinde, gereksinimlerinize uygun API'yi seçmeniz gerekir. Aşağıdaki görüntüde, yeni uygulama oluştururken veya mevcut uygulamaları Azure Cosmos DB'ye geçirirken doğru API'yi seçme hakkında bir akış grafiği gösterilmektedir:
Azure Cosmos DB'de api seçmeye yönelik karar ağacı diyagramı. Diyagramın yarısı, Azure Cosmos DB için karşılık gelen API'leri kaç tane açık kaynak veritabanı iş yükünün kullanabileceğini gösterir. Diyagramın diğer yarısı, yeni uygulamaların NoSQL için API'yi nasıl kullanabileceğini veya açık kaynak veritabanları için API'lerle mevcut becerilerinizi nasıl kullanabileceğini gösterir.
NoSQL için API
NoSQL için Azure Cosmos DB API'sinde veriler belge biçiminde depolanır. Arabirim, hizmet ve SDK istemci kitaplıkları üzerinde tam denetime sahip olduğumuz için en iyi uçtan uca deneyimi sunar. Azure Cosmos DB'de kullanıma sunulan tüm yeni özellikler ilk olarak NoSQL hesapları için API'de kullanılabilir. NoSQL hesapları, JSON nesnelerini sorgulamak için en bilinen ve popüler sorgu dillerinden biri olan Yapılandırılmış Sorgu Dili (SQL) söz dizimini kullanarak öğeleri sorgulama desteği sağlar. Daha fazla bilgi edinmek için NoSQL için Azure Cosmos DB API'si eğitim modülüne ve SQL sorgularını kullanmaya başlama makalesine bakın.
Oracle, DynamoDB, HBase gibi diğer veritabanlarından geçiş yapmak istiyorsanız ve uygulamalarınızı oluşturmak için modernleştirilmiş teknolojileri kullanmak istiyorsanız, NoSQL için API önerilir. NoSQL için API, analizi destekler ve operasyonel ve analitik iş yükleri arasında performans yalıtımı sunar.
MongoDB için API
MongoDB için Azure Cosmos DB API'sinde BSON biçimi aracılığıyla veriler bir belge yapısında depolanır. MongoDB kablo protokolü ile uyumludur; ancak yerel MongoDB ile ilgili herhangi bir kod kullanmaz. MongoDB API'si, Azure Cosmos DB özelliklerini kullanmaktan ödün vermeden daha geniş MongoDB ekosistemini ve becerilerini kullanmak istiyorsanız harika bir seçimdir.
Azure Cosmos DB'nin sağladığı ve güvenliğini aşmanız gerekmeyen özellikler şunlardır:
- Ölçeklendirme
- Yüksek kullanılabilirlik
- Coğrafi çoğaltma
- Birden çok yazma konumu
- Otomatik ve saydam parça yönetimi
- İşletimsel ve analitik depolar arasında saydam çoğaltma
Yalnızca bağlantı dizesi değiştirerek mongoDB için API ile mevcut MongoDB uygulamalarınızı kullanabilirsiniz. Mongodump ve mongorestore gibi yerel MongoDB araçlarını kullanarak veya Azure Veritabanı Geçiş aracımızı kullanarak mevcut verileri taşıyabilirsiniz. MongoDB kabuğu, MongoDB Pusulası ve Robo3T gibi araçlar sorgular çalıştırabilir ve yerel MongoDB'de olduğu gibi verilerle çalışabilir. Daha fazla bilgi edinmek için MongoDB için API makalesine bakın.
PostgreSQL için API
PostgreSQL için Azure Cosmos DB, Dağıtılmış tabloların citus açık kaynak süper gücüyle PostgreSQL'i her ölçekte çalıştırmaya yönelik yönetilen bir hizmettir. Verileri tek bir düğümde veya çok düğümlü bir yapılandırmada dağıtır.
PostgreSQL için Azure Cosmos DB, PostgreSQL çatalı yerine yerel PostgreSQL üzerine kurulmuştur ve PostgreSQL topluluğu tarafından desteklenen tüm ana veritabanı sürümlerini seçmenize olanak tanır. Zengin dizin oluşturma, jeo-uzamsal özellikler ve JSONB desteğine sahip tek düğümlü bir veritabanında başlamak için idealdir. Daha sonra, daha fazla performansa ihtiyacınız varsa kümeye sıfır kapalı kalma süresiyle düğüm ekleyebilirsiniz.
Yüksek performanslı ve coğrafi çoğaltmaya sahip yönetilen açık kaynak ilişkisel veritabanı arıyorsanız, postgreSQL için Azure Cosmos DB önerilir. Daha fazla bilgi edinmek için PostgreSQL için Azure Cosmos DB'ye giriş bölümüne bakın.
Apache Cassandra için API
Cassandra için Azure Cosmos DB API'sinde veriler sütun odaklı şemada depolanır. Apache Cassandra, sütun odaklı şemaya esnek bir yaklaşım sunarken büyük hacimli verileri depolamak için yüksek oranda dağıtılmış, yatay ölçeklendirme yaklaşımı sunar. Azure Cosmos DB'deki Cassandra API'si, dağıtılmış NoSQL veritabanlarına yaklaşmaya yönelik bu felsefeyle uyumlu hale getirmektedir. Cassandra için bu API, yerel Apache Cassandra ile uyumlu bir kablo protokolüdür. Azure Cosmos DB'nin esnekliğinden ve tam olarak yönetilen yapısından yararlanmak ve yerel Apache Cassandra özelliklerinin, araçlarının ve ekosisteminin çoğunu kullanmaya devam etmek istiyorsanız Cassandra için API'yi göz önünde bulundurmanız gerekir. Bu tam olarak yönetilen doğa, Cassandra için API'de işletim sistemini, Java VM'sini, çöp toplayıcıyı, okuma/yazma performansını, düğümleri, kümeleri vb. yönetmeniz gerekmeyecek anlamına gelir.
Cassandra api'sine bağlanmak için Apache Cassandra istemci sürücülerini kullanabilirsiniz. Cassandra API'si, Cassandra Sorgu Dili'ni (CQL) ve zaten bildiğiniz CQL kabuğu, Cassandra istemci sürücüleri gibi araçları kullanarak verilerle etkileşim kurmanızı sağlar. Cassandra için API şu anda yalnızca OLTP senaryolarını desteklemektedir. Cassandra için API'yi kullanarak Azure Cosmos DB'nin değişiklik akışı gibi benzersiz özelliklerini de kullanabilirsiniz. Daha fazla bilgi edinmek için Cassandra için API makalesine bakın. Apache Cassandra'yı zaten biliyorsanız ancak Azure Cosmos DB'de yeniyseniz daha fazla bilgi için bkz . Cassandra için API'ye uyum sağlama.
Apache Gremlin için API
Gremlin için Azure Cosmos DB API'si, kullanıcıların graf sorguları yapmasına ve verileri kenar ve köşe olarak depolamasına olanak tanır.
Gremlin için API'yi senaryolar için kullanın:
- Dinamik verileri dahil etme
- Karmaşık ilişkilere sahip verileri dahil etme
- İlişkisel veritabanlarıyla modellenemeyecek kadar karmaşık olan verileri dahil etme
- Mevcut Gremlin ekosistemini ve becerilerini kullanmak istiyorsanız
Gremlin için API, graf veritabanı algoritmalarının gücünü yüksek oranda ölçeklenebilir, yönetilen altyapıyla birleştirir. Bu API, esneklik veya ilişkisel yaklaşım eksikliğiyle ilişkili yaygın veri sorunlarına yönelik benzersiz ve esnek bir çözüm sağlar. Gremlin için API şu anda yalnızca OLTP senaryolarını desteklemektedir.
Gremlin API'sinde Apache TinkerPop grafı bilgi işlem çerçevesi temel alınmaktadır. Gremlin için API, verileri almak ve sorgulamak için aynı Graph sorgu dilini kullanır. Graph veritabanı altyapısından okuma/yazma işlemlerini gerçekleştirmek için Azure Cosmos DB bölüm stratejisini kullanır. Gremlin api'sinin açık kaynak Gremlin ile bir kablo protokolü desteği vardır, böylece uygulamanızı derlemek için açık kaynak Gremlin SDK'larını kullanabilirsiniz. Gremlin için API, karmaşık analitik graf senaryoları için Apache Spark ve GraphFrame'lerle de çalışır. Daha fazla bilgi edinmek için Gremlin için API makalesine bakın.
Tablo için API
Tablo için Azure Cosmos DB API'sinde veriler anahtar/değer biçiminde depolanmaktadır. Şu anda Azure Tablo depolama kullanıyorsanız gecikme süresi, ölçeklendirme, aktarım hızı, genel dağıtım, dizin yönetimi, düşük sorgu performansı gibi bazı sınırlamalar görebilirsiniz. Tablo için API bu sınırlamaların üstesinden gelir ve Azure Cosmos DB'nin avantajlarını kullanmak istiyorsanız uygulamanızı geçirmeniz önerilir. Tablo için API yalnızca OLTP senaryolarını destekler.
Azure Tablo depolama için yazılmış uygulamalar, çok az kod değişikliğiyle Tablo API'sine geçirilebilir ve premium özelliklerden yararlanabilir. Daha fazla bilgi edinmek için Tablo için API makalesine bakın.
Verileri geçirirken kapasite planlaması
Mevcut bir veritabanı kümesinden NoSQL için Azure Cosmos DB veya MongoDB'ye geçiş için kapasite planlaması yapmaya mı çalışıyorsunuz? Kapasite planlaması için mevcut veritabanı kümeniz hakkındaki bilgileri kullanabilirsiniz.
- Tek bildiğiniz mevcut parçalı ve çoğaltılmış veritabanı kümenizdeki sanal çekirdek ve sunucu sayısıysa istek birimlerini tahmin etme hakkında daha fazla bilgi için bkz . sanal çekirdekleri veya vCPU'ları kullanarak istek birimlerini tahmin etme.
- Geçerli veritabanı iş yükünüz için tipik istek oranlarını biliyorsanız istek birimlerini tahmin etme hakkında daha fazla bilgi için bkz . NoSQL için API ve MongoDB için API için kapasite planlayıcısı