Azure Cosmos DB kaynak modeli
Uygulama hedefı:
MongoDB için SQL API Cassandra API gremlin API
tablo API'si
Azure Cosmos DB API 'si
Azure Cosmos DB, tam olarak yönetilen bir hizmet olarak platform (paas). Azure Cosmos DB kullanmaya başlamak için öncelikle gerekli abonelikte azure kaynak grubunuzda bir azure Cosmos hesabı ve ardından veritabanları, kapsayıcılar ve altındaki öğeler oluşturmalısınız. bu makalede kaynak modeli hiyerarşisindeki Azure Cosmos DB kaynak modeli ve farklı varlıklar açıklanmaktadır.
Azure Cosmos hesabı, genel dağıtım ve yüksek kullanılabilirliğe ait temel birimdir. azure Cosmos hesabınız benzersiz bir DNS adı içerir ve Azure portal veya Azure clı kullanarak veya dile özgü farklı sdk 'ları kullanarak bir hesabı yönetebilirsiniz. daha fazla bilgi için bkz. Azure Cosmos hesabınızı yönetme. Verilerinizi ve aktarım hızını birden çok Azure bölgesinde küresel olarak dağıtmak için, istediğiniz zaman hesabınıza Azure bölgelerini ekleyebilir ve kaldırabilirsiniz. Hesabınızı, tek bir bölge veya birden çok yazma bölgesi olacak şekilde yapılandırabilirsiniz. Daha fazla bilgi için bkz. hesabınıza Azure bölgelerini ekleme ve kaldırma. Bir hesapta varsayılan tutarlılık düzeyini yapılandırabilirsiniz.
Azure Cosmos hesabındaki öğeler
Azure Cosmos kapsayıcısı, temel ölçeklenebilirlik birimidir. Kapsayıcıda sınırsız bir sağlanan üretilen iş (RU/s) ve depolama alanı oluşturabilirsiniz. Azure Cosmos DB, sağlanan aktarım hızını ve depolamayı esnek ölçeklendirmek için belirttiğiniz mantıksal bölüm anahtarını kullanarak kapsayıcınızı saydam olarak bölümlendirir.
şu anda, bir azure aboneliği altında en fazla 50 azure Cosmos hesabı oluşturabilirsiniz (bu, destek isteği aracılığıyla artırılabilir ve bu bir sınır olabilir). tek bir Azure Cosmos hesabı, sınırsız miktarda veriyi ve sağlanan aktarım hızını neredeyse yönetebilir. verilerinizi ve sağlanan aktarım hızını yönetmek için, hesabınız altında ve bu veritabanı içinde bir veya daha fazla Azure Cosmos veritabanı oluşturabilir, bir veya daha fazla kapsayıcı oluşturabilirsiniz. aşağıdaki görüntüde, bir Azure Cosmos hesabındaki öğelerin hiyerarşisi gösterilmektedir:
Azure aboneliğiniz kapsamında bir hesap oluşturduktan sonra veritabanları, kapsayıcılar ve öğeler oluşturarak hesabınızdaki verileri yönetebilirsiniz.
aşağıdaki görüntüde Azure Cosmos DB hesabındaki farklı varlıkların hiyerarşisi gösterilmektedir:
Azure Cosmos veritabanları
hesabınızda bir veya daha fazla Azure Cosmos veritabanı oluşturabilirsiniz. Bir veritabanı bir ad alanına benzer. veritabanı, bir dizi Azure Cosmos kapsayıcısı için yönetim birimidir. Aşağıdaki tabloda, bir veritabanının, API 'ye özgü çeşitli varlıklarla nasıl eşlendiği gösterilmektedir:
| Azure Cosmos varlığı | SQL API | Cassandra API’si | MongoDB için Azure Cosmos DB API | Gremlin API | Tablo API’si |
|---|---|---|---|---|---|
| Azure Cosmos veritabanı | Veritabanı | Anahtar alanı | Veritabanı | Veritabanı | NA |
Not
Tablo API'si hesapları ile ilk tablonuzu oluşturduğunuzda, Azure Cosmos hesabınızda otomatik olarak bir varsayılan veritabanı oluşturulur.
Azure Cosmos veritabanındaki işlemler
aşağıdaki tabloda açıklandığı gibi azure Cosmos apı 'leriyle azure Cosmos veritabanı ile etkileşim kurabilirsiniz:
| İşlem | Azure CLI | SQL API | Cassandra API’si | MongoDB için Azure Cosmos DB API | Gremlin API | Tablo API’si |
|---|---|---|---|---|---|---|
| Tüm veritabanlarını listeleme | Yes | Yes | Evet (veritabanı bir keyspace ile eşlendi) | Yes | NA | NA |
| Veritabanını oku | Yes | Yes | Evet (veritabanı bir keyspace ile eşlendi) | Yes | NA | NA |
| Yeni veritabanı oluştur | Yes | Yes | Evet (veritabanı bir keyspace ile eşlendi) | Yes | NA | NA |
| Veritabanını güncelleştir | Yes | Yes | Evet (veritabanı bir keyspace ile eşlendi) | Yes | NA | NA |
Azure Cosmos kapsayıcıları
Azure Cosmos kapsayıcısı, sağlanan aktarım hızı ve depolama için ölçeklenebilirlik birimidir. Bir kapsayıcı yatay olarak bölümlenmiştir ve daha sonra birden çok bölgede çoğaltılır. Kapsayıcıya eklediğiniz öğeler, bölüm anahtarına göre fiziksel bölümler arasında dağıtılan mantıksal bölümlerle otomatik olarak gruplandırılır. Bir kapsayıcıdaki aktarım hızı fiziksel bölümler arasında eşit olarak dağıtılır. Bölümlendirme ve bölüm anahtarları hakkında daha fazla bilgi için bkz. bölüm verileri.
Bir kapsayıcı oluşturduğunuzda, aşağıdaki modlardan birinde üretilen işi yapılandırırsınız:
Adanmış sağlanan aktarım hızı modu: bir kapsayıcıda sağlanan aktarım hızı, bu kapsayıcı için özel olarak ayrılmıştır ve SLA 'lar tarafından desteklenir. Daha fazla bilgi için bkz. bir kapsayıcıda üretilen iş sağlama.
Paylaşılan sağlanan aktarım hızı modu: Bu kapsayıcılar, sağlanan aktarım hızını aynı veritabanındaki diğer kapsayıcılarla paylaşır (adanmış sağlanan aktarım hızı ile yapılandırılmış kapsayıcılar hariç). Diğer bir deyişle, veritabanında sağlanan aktarım hızı "paylaşılan verimlilik" kapsayıcıları arasında paylaşılır. Daha fazla bilgi için bkz. bir veritabanında üretilen iş sağlama.
Not
Yalnızca veritabanı ve kapsayıcı oluştururken paylaşılan ve ayrılmış aktarım hızını yapılandırabilirsiniz. Kapsayıcı oluşturulduktan sonra ayrılmış aktarım hızı modundan paylaşılan aktarım hızı moduna (ve tam tersine) geçiş yapmak için yeni bir kapsayıcı oluşturup verileri yeni kapsayıcıya geçirmeniz gerekir. Azure Cosmos DB akışı değiştir özelliğini kullanarak verileri geçirebilirsiniz.
bir Azure Cosmos kapsayıcısı, özel veya paylaşılan sağlanmış verimlilik modlarını kullanarak kapsayıcılar oluşturup esnek ölçeklendirebilir.
Kapsayıcı, öğelerin şema belirsiz kapsayıcısıdır. Bir kapsayıcıdaki öğelerin rastgele şemaları olabilir. Örneğin, bir kişiyi temsil eden bir öğe ve bir otomobil öğesini temsil eden bir öğe aynı kapsayıcıya yerleştirilebilir. Varsayılan olarak, kapsayıcıya ekley istediğiniz tüm öğeler, açık dizin veya şema yönetimi gerektirmeden otomatik olarak dizinlenir. Bir kapsayıcıda dizin oluşturma ilkesi yapılandırarak dizin oluşturma davranışını özelleştirebilirsiniz.
Bir kapsayıcıdaki seçili öğelerde yaşam süresi (TTL) veya kapsayıcının tamamının bu öğeleri sistemden tam olarak temizlemesini sebilirsiniz. Azure Cosmos DB, süresi dolduğunda öğeleri otomatik olarak siler. Ayrıca kapsayıcıda gerçekleştirilen bir sorgunun süresi dolan öğeleri sabit bir sınır içinde iade etmeyebilirsiniz. Daha fazla bilgi için bkz. Kapsayıcınız üzerinde TTL'yi yapılandırma.
Kapsayıcının her mantıksal bölümü için yönetilen işlem günlüğüne abone olmak için değişiklik akışı kullanabilirsiniz. Değişiklik akışı, kapsayıcıda gerçekleştirilen tüm güncelleştirmelerin günlüğünü ve öğelerin önceki ve son görüntülerini sağlar. Daha fazla bilgi için bkz. Değişiklik akışı kullanarak reaktif uygulamalar derleme. Ayrıca kapsayıcıda değişiklik akışı ilkesi kullanarak değişiklik akışı için saklama süresini yapılandırabilirsiniz.
Kapsayıcınız için saklı yordamları, tetikleyicileri, kullanıcı tanımlı işlevleri (UFS)ve birleştirme yordamlarını kaydedebilirsiniz.
Azure kapsayıcınız üzerinde benzersiz bir anahtar kısıtlaması Cosmos belirtsiniz. Benzersiz bir anahtar ilkesi oluşturarak, mantıksal bölüm anahtarı başına bir veya daha fazla değerin benzersiz olmasını sağlarsınız. Benzersiz bir anahtar ilkesi kullanarak bir kapsayıcı oluşturulduğunda, benzersiz anahtar kısıtlaması tarafından belirtilen değerleri çoğaltan değerlerle yeni veya güncelleştirilmiş öğeler oluşturulamıyor. Daha fazla bilgi edinmek için bkz. Benzersiz anahtar kısıtlamaları.
Kapsayıcı, aşağıdaki tabloda gösterildiği gibi API'ye özgü varlıklara özeldir:
| Azure Cosmos varlığı | SQL API | Cassandra API’si | MongoDB için Azure Cosmos DB API | Gremlin API | Tablo API’si |
|---|---|---|---|---|---|
| Azure Cosmos kapsayıcısı | Kapsayıcı | Tablo | Koleksiyon | Graf | Tablo |
Not
Kapsayıcı oluştururken, aynı adla ancak farklı büyük/yeni bir adla iki kapsayıcı oluşturmamanızı sağlar. Bunun nedeni, Azure platformunun bazı bölümlerinin büyük/büyük/büyük harfe duyarlı olmasıdır ve bu durum telemetri verileriyle kapsayıcılarda bu tür adlara sahip eylemlerin karışıklığa/çakışmaya neden olabilir.
Azure Cosmos kapsayıcısı özellikleri
Azure Cosmos kapsayıcısı, sistem tanımlı özellikler kümesine sahiptir. Kullandığınız API'ye bağlı olarak, bazı özellikler doğrudan açığa çıkarılamayabilirsiniz. Aşağıdaki tabloda sistem tanımlı özelliklerin listesi açıkmektedir:
| Sistem tanımlı özellik | Sistem tarafından oluşturulan veya kullanıcı tarafından yapılandırılabilir | Amaç | SQL API | Cassandra API’si | MongoDB için Azure Cosmos DB API | Gremlin API | Tablo API’si |
|---|---|---|---|---|---|---|---|
| _rid | Sistem tarafından oluşturulan | Kapsayıcının benzersiz tanımlayıcısı | Yes | Hayır | Hayır | Hayır | Hayır |
| _Etag | Sistem tarafından oluşturulan | İyimser eşzamanlılık denetimi için kullanılan varlık etiketi | Yes | Hayır | Hayır | Hayır | Hayır |
| _Ts | Sistem tarafından oluşturulan | Kapsayıcının son güncelleştirilen zaman damgası | Yes | Hayır | Hayır | Hayır | Hayır |
| _Kendini | Sistem tarafından oluşturulan | Kapsayıcının adreslenebilir URI'si | Yes | Hayır | Hayır | Hayır | Hayır |
| kimlik | Kullanıcı tarafından yapılandırılabilir | Kapsayıcının kullanıcı tanımlı benzersiz adı | Yes | Yes | Yes | Yes | Yes |
| indexingPolicy | Kullanıcı tarafından yapılandırılabilir | Dizin yolunu, dizin türünü ve dizin modunu değiştirme olanağı sağlar | Yes | Hayır | Hayır | Hayır | Yes |
| TimeToLive | Kullanıcı tarafından yapılandırılabilir | Belirli bir süre sonra kapsayıcıdan öğeleri otomatik olarak silme olanağı sağlar. Ayrıntılar için bkz. Yaşam Süresi. | Yes | Hayır | Hayır | Hayır | Yes |
| changeFeedPolicy | Kullanıcı tarafından yapılandırılabilir | Bir kapsayıcıdaki öğelerde yapılan değişiklikleri okumak için kullanılır. Ayrıntılar için bkz. akışı değiştirme. | Yes | Hayır | Hayır | Hayır | Yes |
| uniqueKeyPolicy | Kullanıcı tarafından yapılandırılabilir | Mantıksal bir bölümdeki bir veya daha fazla değerin benzersizliğini sağlamak için kullanılır. Daha fazla bilgi için bkz. benzersiz anahtar kısıtlamaları. | Yes | Hayır | Hayır | Hayır | Yes |
Azure Cosmos kapsayıcısı üzerindeki işlemler
azure Cosmos kapsayıcısı, azure Cosmos apı 'lerinden herhangi birini kullandığınızda aşağıdaki işlemleri destekler:
| İşlem | Azure CLI | SQL API | Cassandra API’si | MongoDB için Azure Cosmos DB API | Gremlin API | Tablo API’si |
|---|---|---|---|---|---|---|
| Bir veritabanındaki kapsayıcıları listeleme | Yes | Yes | Yes | Yes | NA | NA |
| Kapsayıcıyı oku | Yes | Yes | Yes | Yes | NA | NA |
| Yeni kapsayıcı oluştur | Yes | Yes | Yes | Yes | NA | NA |
| Kapsayıcıyı güncelleştirme | Yes | Yes | Yes | Yes | NA | NA |
| Kapsayıcı silme | Yes | Yes | Yes | Yes | NA | NA |
Azure Cosmos öğeleri
kullandığınız apı 'ye bağlı olarak, bir Azure Cosmos öğesi koleksiyondaki bir belgeyi, tablodaki bir satırı veya bir grafikteki bir düğümü ya da kenarı temsil edebilir. aşağıdaki tabloda, bir Azure Cosmos öğesine yönelik apı 'ye özgü varlıkların eşleştirmesi gösterilmektedir:
| Cosmos varlık | SQL API | Cassandra API’si | MongoDB için Azure Cosmos DB API | Gremlin API | Tablo API’si |
|---|---|---|---|---|---|
| Azure Cosmos öğesi | Öğe | Satır | Belge | Düğüm veya kenar | Öğe |
Bir öğenin özellikleri
her Azure Cosmos öğesi, sistem tarafından tanımlanan aşağıdaki özelliklere sahiptir. Kullandığınız API 'ye bağlı olarak, bunlardan bazıları doğrudan sunulmayabilir.
| Sistem tanımlı özellik | Sistem tarafından oluşturulan veya Kullanıcı tarafından yapılandırılabilen | Amaç | SQL API | Cassandra API’si | MongoDB için Azure Cosmos DB API | Gremlin API | Tablo API’si |
|---|---|---|---|---|---|---|---|
| _rid | Sistem tarafından oluşturulan | Öğenin benzersiz tanımlayıcısı | Yes | Hayır | Hayır | Hayır | Hayır |
| _özelliği | Sistem tarafından oluşturulan | İyimser eşzamanlılık denetimi için kullanılan varlık etiketi | Yes | Hayır | Hayır | Hayır | Hayır |
| _Ts | Sistem tarafından oluşturulan | Öğenin son güncelleştirme zaman damgası | Yes | Hayır | Hayır | Hayır | Hayır |
| _Kendini | Sistem tarafından oluşturulan | Öğenin adreslenebilir URI'si | Yes | Hayır | Hayır | Hayır | Hayır |
| kimlik | Herhangi biri | Mantıksal bölümde kullanıcı tanımlı benzersiz ad. | Yes | Yes | Yes | Yes | Yes |
| Rastgele kullanıcı tanımlı özellikler | Kullanıcı tanımlı | API yerel gösteriminde temsil edilen kullanıcı tanımlı özellikler (JSON, BSON ve CQL dahil) | Yes | Yes | Yes | Yes | Yes |
Not
Özelliğin id benzersizliği yalnızca her mantıksal bölüm içinde zorlar. Birden çok belge, farklı bölüm id anahtarı değerlerine sahip aynı özelliklere sahip olabilir.
Öğelerdeki işlemler
Azure Cosmos öğeleri aşağıdaki işlemleri destekler. İşlemleri gerçekleştirmek için Azure Cosmos API'lerden herhangi birini kullanabilirsiniz.
| İşlem | Azure CLI | SQL API | Cassandra API’si | MongoDB için Azure Cosmos DB API | Gremlin API | Tablo API’si |
|---|---|---|---|---|---|---|
| Ekleme, Değiştirme, Silme, Upsert, Okuma | Hayır | Yes | Yes | Yes | Yes | Evet |
Sonraki adımlar
Azure hesap ve diğer Cosmos yönetmeyi öğrenin:
- Daha fazla bilgi edinmek için AZURE Cosmos DB SQL API'si learn modülüne bakın.
- Azure Cosmos hesabınız nasıl yönetebilirsiniz?
- Genel dağıtım
- Tutarlılık düzeyleri
- Azure Cosmos hesabınız için sanal Cosmos uç noktası
- Azure Cosmos hesabınız için IP güvenlik duvarı
- Azure Cosmos hesabınıza Azure bölgeleri ekleme ve kaldırma
- Azure Cosmos DB SLA'ları