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 Cosmos hesabının hiyerarşisi

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 hesabı varlıkları

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: