Azure Cosmos DB kaynak modeli

UYGULAMANIN UYGULAMASI: SQL API Api Api Gremlin API Tablo API'si Azure Cosmos DB API'si (MongoDB için)

Azure Cosmos DB, tam olarak yönetilen bir hizmet olarak platformdur (PaaS). Azure Cosmos DB'i kullanmaya başlamak için, ilk olarak gerekli abonelikte Azure kaynak grubu içinde bir Azure Cosmos hesabı ve ardından veritabanları, kapsayıcılar, bunun altındaki öğeler oluşturmanız gerekir. Bu makalede, Azure Cosmos DB kaynak modeli ve kaynak modeli hiyerarşisinde farklı varlıklar açıklanmıştır.

Azure Cosmos hesabı, küresel dağıtımın ve yüksek kullanılabilirliğin temel birimidir. Azure Cosmos hesabınız benzersiz bir DNS adı içerir ve Azure portalını veya Azure CLI'yi kullanarak ya da dile özgü farklı SDK'ler kullanarak bir hesabı yönetebilirsiniz. Daha fazla bilgi için Azure Cosmos bkz. Verilerinizi ve üretilen işlerinizi birden çok Azure bölgesinde genel olarak dağıtmak için, istediğiniz zaman hesabınıza Azure bölgeleri ekleyebilir ve kaldırabilirsiniz. Tek bir bölgeye veya birden çok yazma bölgenize sahip olacak şekilde hesap yapılandırabilirsiniz. Daha fazla bilgi için, hesabınıza Azure bölgelerini ekleme ve kaldırma hakkında bilgi edinin. Bir hesapta varsayılan tutarlılık düzeyini yapılandırabilirsiniz.

Azure Cosmos hesabın öğeleri

Azure Cosmos kapsayıcısı, temel ölçeklenebilirlik birimidir. Hemen hemen bir kapsayıcıda sınırsız sağlanan üretilen iş (RU/s) ve depolama alanınız olabilir. Azure Cosmos DB, kapsayıcınızı, sağlanan iş ve depolama alanını esnek olarak ölçeklendirmek için belirttiğiniz mantıksal bölüm anahtarını kullanarak saydam olarak bölümlere alır.

Şu anda, Azure aboneliği kapsamında en fazla 50 Azure Cosmos hesabı oluşturabilirsiniz (bu, destek isteği aracılığıyla artırılabilir yumuşak bir sınırdır). Tek bir Azure Cosmos hesabı, sınırsız miktarda veri ve sağlanan performansı sanal olarak yönetebilir. Verilerinizi ve sağlanan aktarım hızını yönetmek için, hesabınız altında ve bu veritabanının içinde bir veya Cosmos Azure Cosmos veritabanı oluşturabilir, bir veya birden çok kapsayıcı oluşturabilirsiniz. Aşağıdaki resimde, azure hesaplarından bir öğe hiyerarşisi Cosmos gösterir:

Hierarchy of an Azure Cosmos account

Azure aboneliğinizin altında bir hesap oluşturdukktan sonra, veritabanları, kapsayıcılar ve öğeler oluşturarak hesaplarınıza veri yönetebilirsiniz.

Aşağıdaki resimde, bir Azure AZALANBAKİye hesabı içinde farklı varlıkların Cosmos gösterir:

Azure Cosmos account entities

Azure Cosmos veritabanları

Hesabınız altında bir veya birden çok Azure Cosmos veritabanı oluşturabilirsiniz. Veritabanı, bir ad alanına benzer. Veritabanı, bir dizi Azure veri kapsayıcısı için yönetim Cosmos olur. Aşağıdaki tabloda veritabanının API'ye özgü çeşitli varlıklara nasıl eşlenmiş olduğu gösterir:

Azure Cosmos varlık SQL API'si Tarakandra API'si MongoDB Cosmos Azure DB API'si Gremlin API'si Tablo API'si
Azure Cosmos veritabanı Veritabanı Tuş tuşu Veritabanı Veritabanı Yok

Not

Tablo API hesaplarıyla, ilk tabloyu oluşturulduğunda Azure Api hesaplarında otomatik olarak bir varsayılan Cosmos oluşturulur.

Azure Cosmos veritabanındaki işlemler

Aşağıdaki tabloda açıklandığı gibi, Azure Cosmos veritabanıyla Azure Cosmos API'leriyle etkileşim kurabilirsiniz:

Operation Azure CLI SQL API'si Tarakandra API'si MongoDB Cosmos Azure DB API'si Gremlin API'si Tablo API'si
Tüm veritabanlarını numarala Evet Evet Evet (veritabanı bir tuş tuşuna eşlenmiş) Evet Yok Yok
Veritabanını okuma Evet Evet Evet (veritabanı bir tuş tuşuna eşlenmiş) Evet Yok Yok
Yeni veritabanı oluşturma Evet Evet Evet (veritabanı bir tuş tuşuna eşlenmiş) Evet Yok Yok
Veritabanını güncelleştirme Evet Evet Evet (veritabanı bir tuş tuşuna eşlenmiş) Evet Yok Yok

Azure Cosmos kapsayıcıları

Azure Cosmos kapsayıcısı, hem sağlama performansı hem de depolama için ölçeklenebilirlik birimidir. Kapsayıcı yatay olarak bölümlenmiş ve birden çok bölgede çoğaltılır. Kapsayıcıya ekley istediğiniz öğeler, disk bölümü anahtarına bağlı olarak fiziksel bölümler arasında dağıtılan mantıksal bölümler olarak otomatik olarak grupılır. Kapsayıcıdaki performans, fiziksel bölümler arasında eşit olarak dağıtılmıştır. Bölümleme ve bölüm anahtarları hakkında daha fazla bilgi edinmek için bkz. Bölüm verileri.

Bir kapsayıcı yken, aşağıdaki modlardan birini kullanarak aktarım hızını yapılandırırsiniz:

  • Ayrılmış aktarım hızı modu:Bir kapsayıcıda sağlanan performans bu kapsayıcı için özel olarak ayrılmıştır ve SLA'lar tarafından de geri döner. Daha fazla bilgi edinmek için bkz. Kapsayıcı üzerinde aktarım hızını sağlama.

  • Paylaşılan sağlama aktarım hızı modu:Bu kapsayıcılar, sağlanan performansı aynı veritabanındaki diğer kapsayıcılarla (adanmış sağlama aktarım hızıyla yapılandırılmış kapsayıcılar hariç) paylaşır. Başka bir deyişle, veritabanında sağlanan performans tüm "paylaşılan aktarım hızı" kapsayıcıları arasında paylaşılır. Daha fazla bilgi edinmek için bkz. Veritabanında performans sağlama.

Not

Paylaşılan ve adanmış performansı yalnızca veritabanı ve kapsayıcı oluştururken yapılandırabilirsiniz. Kapsayıcı oluşturulduktan sonra ayrılmış aktarım hızı modundan paylaşılan aktarım hızı moduna (ve tersine) geçmek için yeni bir kapsayıcı oluşturmanız ve verileri yeni kapsayıcıya geçirmeniz gerekir. Azure DB değişiklik akışı özelliğini kullanarak Cosmos geçirebilirsiniz.

Ayrılmış Cosmos paylaşılan aktarım hızı modlarını kullanarak kapsayıcılar oluşturmanızdan, bir Azure depolama kapsayıcısı esnek şekilde ölçeklendirebilirsiniz.

Kapsayıcı, öğelerin şema-tanılama kapsayıcısıdır. Kapsayıcıdaki öğelerin rastgele şemaları olabilir. Örneğin, bir kişiyi ve otomobili temsil eden bir öğeyi temsil eden bir öğe aynı kapsayıcıya yer olabilir. Varsayılan olarak, kapsayıcıya ekley istediğiniz tüm öğeler, açık dizin veya şema yönetimi gerektirmeden otomatik olarak dizine kaydedilir. Bir kapsayıcıda dizin oluşturma ilkesi yapılandırarak dizin oluşturma davranışını özelleştirebilirsiniz.

Bir kapsayıcıdaki seçili öğeler üzerinde veya kapsayıcının tamamına, bu öğeleri sistemden zarif bir şekilde temizlemek için Yaşam Süresi'ne (TTL) kurabilirsiniz. Azure Cosmos DB, süresi dolan öğeleri otomatik olarak siler. Kapsayıcıda gerçekleştirilen bir sorgunun sabit sınır içindeki süresi dolmuş öğelerin geri dönmesini de garanti etme. Daha fazla bilgi edinmek 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ü, öğelerin önceki ve sonrası görüntüleriyle birlikte sağlar. Daha fazla bilgi için bkz. Değişiklik akışlarını kullanarak reactive applications oluşturma. Kapsayıcıda akış değiştirme ilkesi kullanarak, değişiklik akışı için bekletme süresini de yapılandırabilirsiniz.

Kapsayıcınız için depolanmış yordamları, tetikleyicileri,kullanıcı tanımlı işlevleri (UFS) ve birleştirme yordamlarını kaydettirebilirsiniz.

Azure Cosmos kapsayıcınız üzerinde benzersiz bir anahtar kısıtlaması Cosmos belirtabilirsiniz. Benzersiz bir anahtar ilkesi oluşturarak, mantıksal bölüm anahtarı başına bir veya birden çok değerin benzersiz olduğundan emin olursunuz. Kapsayıcı oluşturmak için benzersiz anahtar ilkesi kullanılırsa, benzersiz anahtar kısıtlaması tarafından belirtilen değerleri çoğaltan değerlere sahip yeni veya güncelleştirilmiş öğeler oluşturulamadı. 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ıklar için özelleştirilmiştir:

Azure Cosmos varlık SQL API'si Tarakandra API'si MongoDB Cosmos Azure DB API'si Gremlin API'si Tablo API'si
Azure Cosmos kapsayıcısı Container Tablo Koleksiyon Graph Tablo

Not

Kapsayıcılar oluştururken, aynı adı ama farklı basamaklarla iki kapsayıcı oluşturmamanızı sağlar. Bunun nedeni, Azure platformunun bazı bölümlerinin büyük/harfe duyarlı olmaması ve bu tür adlara sahip kapsayıcılarda telemetri ve eylemlerde karışıklığa/karışıklıklara ve eylemlere neden olmasıdır.

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'si Tarakandra API'si MongoDB Cosmos Azure DB API'si Gremlin API'si Tablo API'si
_rid Sistem tarafından oluşturulan Kapsayıcının benzersiz tanımlayıcısı Evet 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 Evet Hayır Hayır Hayır Hayır
_ts Sistem tarafından oluşturulan Kapsayıcının son güncelleştirilmiş zaman damgası Evet Hayır Hayır Hayır Hayır
_self Sistem tarafından oluşturulan Kapsayıcının adreslenebilir URI'si Evet Hayır Hayır Hayır Hayır
id Kullanıcı tarafından yapılandırılabilir Kapsayıcının kullanıcı tanımlı benzersiz adı Evet Evet Evet Evet Evet
indexingPolicy Kullanıcı tarafından yapılandırılabilir Dizin yolunu, dizin türünü ve dizin modunu değiştirme olanağı sağlar Evet Hayır Hayır Hayır Evet
TimeToLive Kullanıcı tarafından yapılandırılabilir Belirli bir süre sonrasında kapsayıcıdan öğeleri otomatik olarak silme özelliği sağlar. Ayrıntılar için bkz. Yaşam Süresi. Evet Hayır Hayır Hayır Evet
changeFeedPolicy Kullanıcı tarafından yapılandırılabilir 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. Evet Hayır Hayır Hayır Evet
uniqueKeyPolicy Kullanıcı tarafından yapılandırılabilir Mantıksal bölümdeki bir veya birden çok değerin benzersizliğini sağlamak için kullanılır. Daha fazla bilgi için bkz. Benzersiz anahtar kısıtlamaları. Evet Hayır Hayır Hayır Evet

Azure Cosmos kapsayıcısı üzerinde işlemler

Azure Cosmos kapsayıcısı, Azure Veri Erişim Api'lerinin herhangi birini kullanıyor Cosmos destekler:

Operation Azure CLI SQL API'si Tarakandra API'si MongoDB Cosmos Azure DB API'si Gremlin API'si Tablo API'si
Veritabanında kapsayıcıları numaralara depolama Evet Evet Evet Evet Yok Yok
Kapsayıcıyı okuma Evet Evet Evet Evet Yok Yok
Yeni kapsayıcı oluşturma Evet Evet Evet Evet Yok Yok
Kapsayıcıyı güncelleştirme Evet Evet Evet Evet Yok Yok
Kapsayıcıyı silme Evet Evet Evet Evet Yok Yok

Azure Cosmos öğeleri

Hangi API'yi kullandığınıza bağlı olarak, Azure Cosmos öğesi koleksiyondaki bir belgeyi, tablodaki bir satırı ya da grafikte düğüm veya kenarı temsil ediyor olabilir. Aşağıdaki tabloda, API'ye özgü varlıkların Azure özel varlıklarla eşlemesi Cosmos gösterir:

Cosmos varlık SQL API'si Tarakandra API'si MongoDB Cosmos Azure DB API'si Gremlin API'si Tablo API'si
Azure Cosmos öğesi Öğe Satır Belge Düğüm veya kenar Öğe

Öğenin özellikleri

Her Azure Cosmos, aşağıdaki sistem tanımlı özelliklere sahiptir. Kullandığınız API'ye bağlı olarak, bunlardan bazıları doğrudan açığa çıkarılamayabilirsiniz.

Sistem tanımlı özellik Sistem tarafından oluşturulan veya kullanıcı tarafından yapılandırılabilir Amaç SQL API'si Tarakandra API'si MongoDB Cosmos Azure DB API'si Gremlin API'si Tablo API'si
_rid Sistem tarafından oluşturulan Öğenin benzersiz tanımlayıcısı Evet 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 Evet Hayır Hayır Hayır Hayır
_ts Sistem tarafından oluşturulan Öğenin son güncelleştirmenin zaman damgası Evet Hayır Hayır Hayır Hayır
_self Sistem tarafından oluşturulan Öğenin adreslenebilir URI'si Evet Hayır Hayır Hayır Hayır
id Ya da Mantıksal bir bölümdeki kullanıcı tanımlı benzersiz ad. Evet Evet Evet Evet Evet
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) Evet Evet Evet Evet Evet

Not

Özelliğin id benzersizliği yalnızca her mantıksal bölüm içinde zorunlu kılındı. Birden çok belge, farklı bölüm id anahtarı değerlerine sahip aynı özelliklere sahip olabilir.

Öğeler üzerinde işlemler

Azure Cosmos öğeleri aşağıdaki işlemleri destekler. İşlemleri gerçekleştirmek için Azure Cosmos API'lerini kullanabilirsiniz.

Operation Azure CLI SQL API'si Tarakandra API'si MongoDB Cosmos Azure DB API'si Gremlin API'si Tablo API'si
Ekle, Değiştir, Sil, Ekle, Oku Hayır Evet Evet Evet Evet Evet

Sonraki adımlar

Azure Hesap ve diğer kavramları Cosmos yönetmeyi öğrenin: