Azure Cosmos DB ile küresel veri dağıtımı-Global data distribution with Azure Cosmos DB - under the hood

Azure Cosmos DB, Azure 'daki temel bir hizmettir, bu nedenle dünya çapında genel, bağımsız, Savunma Bakanlığı (DoD) ve kamu bulutları dahil tüm Azure bölgelerinde dağıtılır.Azure Cosmos DB is a foundational service in Azure, so it's deployed across all Azure regions worldwide including the public, sovereign, Department of Defense (DoD) and government clouds. Bir veri merkezi içinde dağıtın ve Azure Cosmos DB, makinelerin büyük Damgalar üzerinde her ayrılmış yerel depolama ile yönetin.Within a data center, we deploy and manage the Azure Cosmos DB on massive stamps of machines, each with dedicated local storage. Bir veri merkezi içinde Azure Cosmos DB her potansiyel olarak birden fazla donanım Nesilleri çalıştıran birçok kümeler arasında dağıtılır.Within a data center, Azure Cosmos DB is deployed across many clusters, each potentially running multiple generations of hardware. Bir küme içindeki makineler genellikle bölge içinde yüksek kullanılabilirlik için 10-20 hata etki alanı arasında yayılır.Machines within a cluster are typically spread across 10-20 fault domains for high availability within a region. Cosmos DB genel dağıtım sistemin topolojisi aşağıdaki resimde gösterilmektedir:The following image shows the Cosmos DB global distribution system topology:

Sistemin topolojisi

Azure Cosmos DB genel dağıtım, anahtar: Her zaman, birkaç tıklamayla veya tek bir API çağrısıyla programlama yoluyla, Cosmos veritabanızla ilişkili coğrafi bölgeleri ekleyebilir veya kaldırabilirsiniz.Global distribution in Azure Cosmos DB is turnkey: At any time, with a few clicks or programmatically with a single API call, you can add or remove the geographical regions associated with your Cosmos database. Cosmos veritabanı, sırasıyla bir Cosmos kapsayıcıları kümesinden oluşur.A Cosmos database, in turn, consists of a set of Cosmos containers. Cosmos DB'de kapsayıcıları dağıtımı ve ölçeklenebilirliği mantıksal birimleri görev yapar.In Cosmos DB, containers serve as the logical units of distribution and scalability. Koleksiyonlar, tablolar ve grafikler oluşturduğunuz (dahili) yalnızca Cosmos kapsayıcılardır.The collections, tables, and graphs you create are (internally) just Cosmos containers. Kapsayıcılar tamamen şematik ve bir sorgu için kapsam sağlar.Containers are completely schema-agnostic and provide a scope for a query. Bir Cosmos kapsayıcıdaki veri alımı sırasında otomatik olarak dizine alınır.Data in a Cosmos container is automatically indexed upon ingestion. Otomatik Dizin oluşturma, kullanıcıların, özellikle de genel olarak dağıtılmış bir kurulumda şema veya dizin yönetimi kurtulur olmadan verileri sorgulamasına olanak sağlar.Automatic indexing enables users to query the data without the hassles of schema or index management, especially in a globally distributed setup.

  • Belirli bir bölgede, bir kapsayıcı içindeki veriler, sağladığınız ve temel alınan fiziksel bölümler (Yerel dağıtım) tarafından saydam olarak yönetilen bir bölüm anahtarı kullanılarak dağıtılır.In a given region, data within a container is distributed by using a partition-key, which you provide and is transparently managed by the underlying physical partitions (local distribution).

  • Her fiziksel bölüm ayrıca coğrafi bölgeler (genel dağıtım) genelinde çoğaltılır.Each physical partition is also replicated across geographical regions (global distribution).

Cosmos DB esnek kullanan bir uygulama, Cosmos kapsayıcısındaki üretilen işi ölçeklendirir veya daha fazla depolama alanı tüketir, Cosmos DB bölüm yönetimi işlemlerini (bölünmüş, kopya, silme) tüm bölgelerde saydam şekilde işler.When an app using Cosmos DB elastically scales throughput on a Cosmos container or consumes more storage, Cosmos DB transparently handles partition management operations (split, clone, delete) across all the regions. Ölçek, dağıtım veya hatalardan bağımsız, Cosmos DB verilerin herhangi sayıda bölgesinde Global olarak dağıtılmış kapsayıcılar içinde tek sistem görüntüsünü sağlamaya devam eder.Independent of the scale, distribution, or failures, Cosmos DB continues to provide a single system image of the data within the containers, which are globally distributed across any number of regions.

Aşağıdaki görüntüde gösterildiği gibi, bir kapsayıcı içindeki veriler iki boyut boyunca dağıtılır: bir bölgedeki ve bölgeler arasında, dünya çapındaki:As shown in the following image, the data within a container is distributed along two dimensions - within a region and across regions, worldwide:

Fiziksel bölümler

Fiziksel bir bölüm, çoğaltma kümesiolarak adlandırılan bir çoğaltmalar grubu tarafından uygulanır.A physical partition is implemented by a group of replicas, called a replica-set. Her makine, yukarıdaki görüntüde gösterildiği gibi, sabit bir işlem kümesi içindeki çeşitli fiziksel bölümlere karşılık gelen yüzlerce çoğaltma barındırır.Each machine hosts hundreds of replicas that correspond to various physical partitions within a fixed set of processes as shown in the image above. Çoğaltmaları karşılık gelen fiziksel bölümlere dinamik olarak yerleştirilir ve bir küme ve veri merkezleri bölge içindeki makineler arasında Yük Dengelemesi.Replicas corresponding to the physical partitions are dynamically placed and load balanced across the machines within a cluster and data centers within a region.

Bir yinelemenin benzersiz bir Azure Cosmos DB kiracıya ait.A replica uniquely belongs to an Azure Cosmos DB tenant. Her yineleme Cosmos DB'NİN'ın bir örneğini barındıran veritabanı altyapısı, ilişkili dizinleri yanı sıra kaynakları yönetir.Each replica hosts an instance of Cosmos DB’s database engine, which manages the resources as well as the associated indexes. Cosmos veritabanı altyapısı, bir atom kayıt sırası (ARS) tabanlı tür sistemi üzerinde çalışır.The Cosmos database engine operates on an atom-record-sequence (ARS) based type system. Motor, bir şemanın kavramına belirsiz bir şekilde, kayıtların yapısı ve örnek değerleri arasındaki sınırı bulanıklaştırma.The engine is agnostic to the concept of a schema, blurring the boundary between the structure and instance values of records. Cosmos DB, otomatik olarak her şeyi alımı sırasında şema veya dizin yönetimiyle ilgilenmenize gerek kalmadan, Global olarak dağıtılmış verileri sorgulamak kullanıcılara verimli bir biçimde dizin oluşturma tarafından tam şema agnosticism ulaşır.Cosmos DB achieves full schema agnosticism by automatically indexing everything upon ingestion in an efficient manner, which allows users to query their globally distributed data without having to deal with schema or index management.

Cosmos veritabanı altyapısı, çeşitli koordinasyon temelleri, dil çalışma zamanları, sorgu işlemcisi ve işlem depolamadan ve veri dizinlemeden sorumlu depolama ve dizin oluşturma alt sistemlerinin uygulanması dahil bileşenlerden oluşur. anı.The Cosmos database engine consists of components including implementation of several coordination primitives, language runtimes, the query processor, and the storage and indexing subsystems responsible for transactional storage and indexing of data, respectively. Dayanıklılık ve yüksek kullanılabilirlik sağlamak için veritabanı altyapısı, veri ve dizin ssd'lerde devam ediyorsa ve yineleme içinde veritabanı altyapısı örneği arasında çoğaltır-kümelerini sırasıyla.To provide durability and high availability, the database engine persists its data and index on SSDs and replicates it among the database engine instances within the replica-set(s) respectively. Daha büyük kiracılar, üretilen iş ve depolama alanı ölçeğinde ve daha büyük ya da daha fazla kopyaya veya her ikisine sahip olur.Larger tenants correspond to higher scale of throughput and storage and have either bigger or more replicas or both. Sistemin her bileşenin tam olarak zaman uyumsuz: hiç olmadığı kadar hiçbir iş parçacığını engeller ve her bir iş parçacığı kısa süreli bir gereksiz iş parçacığı anahtar ödemeden çalışır.Every component of the system is fully asynchronous – no thread ever blocks, and each thread does short-lived work without incurring any unnecessary thread switches. Genelinde tüm giriş denetimi yığından tüm g/ç yolu için oran sınırlandırma ve arka baskısı genişletilmeyecek.Rate-limiting and back-pressure are plumbed across the entire stack from the admission control to all I/O paths. Cosmos veritabanı altyapısı, ayrıntılı eşzamanlılık yararlanmak ve yüksek verimlilik sağlamak için tasarlanmıştır.Cosmos database engine is designed to exploit fine-grained concurrency and to deliver high throughput while operating within frugal amounts of system resources.

Cosmos DB genel dağıtımı, çoğaltma-kümeler ve bölüm kümeleriolmak üzere iki anahtar soyutlamalarını kullanır.Cosmos DB’s global distribution relies on two key abstractions – replica-sets and partition-sets. Çoğaltma kümesi modüler bir Lego blok düzenlemesi için ve dinamik bir katmana coğrafi olarak dağıtılmış bir veya daha fazla fiziksel bölüm bölüm kümesi ise.A replica-set is a modular Lego block for coordination, and a partition-set is a dynamic overlay of one or more geographically distributed physical partitions. Nasıl genel dağıtımını anlamak için çalışır, ihtiyacımız bu iki anahtar soyutlama anlamak.To understand how global distribution works, we need to understand these two key abstractions.

Çoğaltma-ayarlarReplica-sets

Fiziksel bir bölüm, çoğaltma kümesi olarak adlandırılan birden çok hata etki alanına yayılan, kendinden yönetilen ve dinamik olarak yük dengeli bir çoğaltmalar grubu olarak gerçekleştirilmiş olur.A physical partition is materialized as a self-managed and dynamically load-balanced group of replicas spread across multiple fault domains, called a replica-set. Bu küme, fiziksel bölümdeki verileri yüksek oranda kullanılabilir, dayanıklı ve tutarlı hale getirmek için, çoğaltılan durum makinesi protokolünü topluca uygular.This set collectively implements the replicated state machine protocol to make the data within the physical partition highly available, durable, and consistent. Çoğaltma kümesi üyeliği N dinamiktir; hatalara, yönetim işlemlerine ve başarısız çoğaltmaların yeniden oluşturulması/kurtarılması için geçen süre temelinde nMin ve NMAX arasında dalgalanmaya devam eder.The replica-set membership N is dynamic – it keeps fluctuating between NMin and NMax based on the failures, administrative operations, and the time for failed replicas to regenerate/recover. Üyelik değişiklikleri bağlı olarak, çoğaltma, ayrıca yeniden yapılandırır Okuma boyutu protokolünü ve çekirdekleri yazma.Based on the membership changes, the replication protocol also reconfigures the size of read and write quorums. Belirli bir fiziksel bölüme atanan aktarım hızını tek tek dağıtmak için iki fikir sunuyoruz:To uniformly distribute the throughput that is assigned to a given physical partition, we employ two ideas:

  • İlk olarak, lider üzerindeki yazma isteklerinin işlenme maliyeti, güncelleştirmeleri uygulama maliyetinden uygulamanın maliyetinden daha yüksektir.First, the cost of processing the write requests on the leader is higher than the cost of applying the updates on the follower. Öncü ayrılmaması gelenlere, takipçi değerinden daha fazla sistem kaynakları.Correspondingly, the leader is budgeted more system resources than the followers.

  • İkincisi, mümkün olduğunca uzak onaylamaktan okuma çekirdek verilen tutarlılık düzeyi için özel olarak İzleyici çoğaltmaları oluşur.Secondly, as far as possible, the read quorum for a given consistency level is composed exclusively of the follower replicas. Biz okuma gerekmedikçe hizmet vermek için öncü başvurarak kaçının.We avoid contacting the leader for serving reads unless required. Cosmos DB desteklediği beş tutarlılık modeli için çekirdek tabanlı sistemlerdeki Yük ve kapasite ilişkisi üzerinde gerçekleştirilen araştırmadan çok sayıda fikir sunuyoruz.We employ a number of ideas from the research done on the relationship of load and capacity in the quorum-based systems for the five consistency models that Cosmos DB supports.

Bölüm-ayarlarPartition-sets

Her biri Cosmos veritabanı bölgeleriyle yapılandırılmış olan bir grup fiziksel bölüm, yapılandırılan tüm bölgelerde çoğaltılan aynı anahtar kümesini yönetmek için oluşturulur.A group of physical partitions, one from each of the configured with the Cosmos database regions, is composed to manage the same set of keys replicated across all the configured regions. Bu daha yüksek düzenleme temel yapısına, belirli bir anahtar kümesini yöneten, coğrafi olarak dağıtılmış fiziksel bölümlerin coğrafi olarak dağıtılmış dinamik bir kaplaması olan bölüm kümesi adı verilir.This higher coordination primitive is called a partition-set - a geographically distributed dynamic overlay of physical partitions managing a given set of keys. Belirli bir fiziksel bölüm (bir çoğaltma kümesi) bir küme içinde kapsamlandırılaken, Bölüm kümesi aşağıdaki görüntüde gösterildiği gibi kümelere, veri merkezlerine ve coğrafi bölgelere yayılabilir:While a given physical partition (a replica-set) is scoped within a cluster, a partition-set can span clusters, data centers, and geographical regions as shown in the image below:

Bölüm ayarlar

Bir coğrafi olarak dağınık "süper çoğaltma çoğaltma-anahtarları kümesinin aynısına sahip olan birden fazla oluşan kümesi", bölüm bir dizi düşünebilirsiniz.You can think of a partition-set as a geographically dispersed “super replica-set”, which is composed of multiple replica-sets owning the same set of keys. Bir çoğaltma kümesine benzer şekilde, Bölüm kümesinin üyeliği de dinamik olur. belirli bir bölüm kümesine/kaynağından yeni bölümler eklemek/kaldırmak için örtük fiziksel bölüm yönetimi işlemlerine göre farklılık gösterir (örneğin, bir üzerinde üretilen işi ölçeklendirebileceğiniz zaman kapsayıcı, Cosmos veritabanınıza bölge ekleyin/kaldırın, ya da başarısızlık oluştuğunda).Similar to a replica-set, a partition-set’s membership is also dynamic – it fluctuates based on implicit physical partition management operations to add/remove new partitions to/from a given partition-set (for instance, when you scale out throughput on a container, add/remove a region to your Cosmos database, or when failures occur). Her bölümün (Bölüm kümesi), Bölüm kümesi üyeliğini kendi çoğaltma kümesi içinde yönetmesine sahip olan sanallaştırmaya göre, üyelik tamamen açık ve yüksek oranda kullanılabilir olur.By virtue of having each of the partitions (of a partition-set) manage the partition-set membership within its own replica-set, the membership is fully decentralized and highly available. Bir bölüm kümesi yeniden yapılandırma sırasında topolojisi, fiziksel bölümler arasında katman da oluşturulur.During the reconfiguration of a partition-set, the topology of the overlay between physical partitions is also established. Topoloji, kaynak ve hedef fiziksel bölümler arasındaki tutarlılık düzeyine, coğrafi mesafeye ve kullanılabilir ağ bant genişliğine göre dinamik olarak seçilir.The topology is dynamically selected based on the consistency level, geographical distance, and available network bandwidth between the source and the target physical partitions.

Hizmet bir tek bir yazma bölgesi veya birden çok yazma bölgeleri ile Cosmos veritabanlarınızı yapılandırmanıza olanak tanır ve seçime bağlı olarak, bölüm kümeleri yazma tam olarak bir ya da tüm bölgelerde kabul edecek şekilde yapılandırılmış.The service allows you to configure your Cosmos databases with either a single write region or multiple write regions, and depending on the choice, partition-sets are configured to accept writes in exactly one or all regions. Sistem iki düzeyli, iç içe geçmiş bir konsensus protokolünü kullanır – bir düzey, yazmaları kabul eden bir fiziksel bölüm kümesinin çoğaltmaları içinde çalışır ve diğeri için tam bir sıralama garantisi sağlamak üzere bir bölüm kümesi düzeyinde çalışır işlenen, Bölüm kümesi içindeki yazma işlemleri.The system employs a two-level, nested consensus protocol – one level operates within the replicas of a replica-set of a physical partition accepting the writes, and the other operates at the level of a partition-set to provide complete ordering guarantees for all the committed writes within the partition-set. Bu çok katmanlı, iç içe geçmiş fikir birliğine varılmış, Cosmos DB, müşterilerine sağlar. tutarlılık modeli uygulamasının yanı sıra, yüksek kullanılabilirlik için katı SLA'larımız uygulanması için önemlidir.This multi-layered, nested consensus is critical for the implementation of our stringent SLAs for high availability, as well as the implementation of the consistency models, which Cosmos DB offers to its customers.

Çakışma çözümlemeConflict resolution

Güncelleştirme yayma, çakışma çözümü ve izleme nedensellik ilişkilerini bizim tasarımı üzerinde Önceki işten esinlenilmiştir epidemic algoritmaları ve Bayou sistem.Our design for the update propagation, conflict resolution, and causality tracking is inspired from the prior work on epidemic algorithms and the Bayou system. Fikirleri çekirdekler kurtulan ve Cosmos DB'nin sistem tasarımı iletişim kurmak için kullanışlı bir çerçeve başvuru sağlar, ancak Cosmos DB sistemde uyguladığımız bunları gibi bunlar da önemli dönüştürme yapılmıştır.While the kernels of the ideas have survived and provide a convenient frame of reference for communicating the Cosmos DB’s system design, they have also undergone significant transformation as we applied them to the Cosmos DB system. Bu işlem, önceki sistemler kaynak İdaresi ile veya Cosmos DB çalışması gereken ölçekte tasarlandığından ya da özellikleri (örneğin, sınırlanmış stalet tutarlılığı) ve katı ve Cosmos DB kullanıcılarına müşterilerine sunduğu kapsamlı SLA 'Lar.This was needed, because the previous systems were designed neither with the resource governance nor with the scale at which Cosmos DB needs to operate, nor to provide the capabilities (for example, bounded staleness consistency) and the stringent and comprehensive SLAs that Cosmos DB delivers to its customers.

Bir bölüm kümesi birden çok bölgede dağıtılır ve belirli bir bölüm kümesi oluşturan fiziksel bölümler arasında veri çoğaltmak için Cosmos Db'ler (çok ana) çoğaltmayı Protokolü aşağıdaki geri çağırma.Recall that a partition-set is distributed across multiple regions and follows Cosmos DBs (multi-master) replication protocol to replicate the data among the physical partitions comprising a given partition-set. Her fiziksel bölüm (bir bölüm kümesi), yazma işlemlerini kabul eder ve genellikle bu bölgeye yerel olan istemcilere okuma işlemleri yapar.Each physical partition (of a partition-set) accepts writes and serves reads typically to the clients that are local to that region. Bir bölgedeki fiziksel bölüm tarafından kabul edilen yazma işlemleri, istemciye alınmadan önce fiziksel bölüm içinde yüksek oranda kullanılabilir hale getirilir.Writes accepted by a physical partition within a region are durably committed and made highly available within the physical partition before they are acknowledged to the client. Bunlar belirsiz yazma ve koruma entropi kanalı kullanılarak bölüm kümesi içinde fiziksel diğer bölümlerine yayılır.These are tentative writes and are propagated to other physical partitions within the partition-set using an anti-entropy channel. İstemciler, bir istek üst bilgisi geçirerek belirsiz veya kaydedilmiş yazma isteyebilir.Clients can request either tentative or committed writes by passing a request header. (Yayma sıklığını dahil) koruma entropi yayma dinamik fiziksel bölümler ve tutarlılık düzeyi yapılandırılmış bölüm kümesi, bölgesel yakınlık topolojiye bağlı.The anti-entropy propagation (including the frequency of propagation) is dynamic, based on the topology of the partition-set, regional proximity of the physical partitions, and the consistency level configured. Bir bölüm kümesinde Cosmos DB, dinamik olarak seçilen arbiter bölümü olan bir birincil işleme düzeni izler.Within a partition-set, Cosmos DB follows a primary commit scheme with a dynamically selected arbiter partition. Arbiter seçimi dinamiktir ve yeniden yapılandırma bölümü kümesinin bir parçası katmana topolojisine dayanır.The arbiter selection is dynamic and is an integral part of the reconfiguration of the partition-set based on the topology of the overlay. Taahhüt edilen (çok-row/toplu güncelleştirmeler dahil) yazma sipariş edilmesi garanti edilir.The committed writes (including multi-row/batched updates) are guaranteed to be ordered.

Nedensellik ilişkilerini izlemek ve algılamak ve çözmek için vektörleri güncelleştirme çakışması sürümü için kodlanmış vektör saatleri (sırasıyla bölge kodu ve mantıksal saatler her çoğaltma kümesi, fikir birliğine varılmış düzeyine karşılık gelen ve bölüm kümesi içeren) kullanıyoruz.We employ encoded vector clocks (containing region ID and logical clocks corresponding to each level of consensus at the replica-set and partition-set, respectively) for causality tracking and version vectors to detect and resolve update conflicts. Topoloji ve eş seçimi algoritması, sabit ve en az depolama ve sürüm vektörü, en az bir ağ yükünü sağlamak için tasarlanmıştır.The topology and the peer selection algorithm are designed to ensure fixed and minimal storage and minimal network overhead of version vectors. Algoritma katı yakınsama özelliği garanti eder.The algorithm guarantees the strict convergence property.

Birden çok yazma bölgeleri ile yapılandırılmış Cosmos veritabanları için sistem esnek otomatik çakışma çözümleme ilkeler arasından, geliştiriciler için de dahil olmak üzere sunar:For the Cosmos databases configured with multiple write regions, the system offers a number of flexible automatic conflict resolution policies for the developers to choose from, including:

  • Son yazma-WINS (LWW) , varsayılan olarak, sistem tarafından tanımlanan bir zaman damgası özelliği kullanır (zaman eşitleme saati protokolüne dayanır).Last-Write-Wins (LWW), which, by default, uses a system-defined timestamp property (which is based on the time-synchronization clock protocol). Cosmos DB Çakışma çözümlemesi için kullanılan diğer özelliklerden herhangi birini özel sayısal belirtmenizi sağlar.Cosmos DB also allows you to specify any other custom numerical property to be used for conflict resolution.
  • Uygulama tanımlı (özel) çakışma çözümleme ilkesi (birleştirme yordamları aracılığıyla ifade edilir), bu, çakışmaların uygulama tanımlı semantik mutabakatı için tasarlanmıştır.Application-defined (Custom) conflict resolution policy (expressed via merge procedures), which is designed for application-defined semantics reconciliation of conflicts. Bu yordamlar, bir veritabanı işlemi sunucu tarafı şirket himayesinde yazma yazma çakışmaları algılanması üzerine çağrılır.These procedures get invoked upon detection of the write-write conflicts under the auspices of a database transaction on the server side. Sistem, taahhüt protokolünün bir parçası olarak birleştirme yordamının yürütülmesi için tam olarak bir kez sağlar.The system provides exactly once guarantee for the execution of a merge procedure as a part of the commitment protocol. İle oynaması için kullanabileceğiniz birkaç çakışma çözümü örneği vardır.There are several conflict resolution samples available for you to play with.

Tutarlılık modeliConsistency Models

Cosmos veritabanınızı tek veya birden çok yazma bölgeleriyle yapılandırıp, iyi tanımlanmış beş tutarlılık modelinden seçim yapabilirsiniz.Whether you configure your Cosmos database with a single or multiple write regions, you can choose from the five well-defined consistency models. Birden çok yazma bölgesi ile, tutarlılık düzeylerinin bazı önemli yönleri aşağıda verilmiştir:With multiple write regions, the following are a few notable aspects of the consistency levels:

Sınırlanmış Eskime durumu tutarlılığı, tüm okumaların her bölgede en son yazma işleminin K ön ekleri veya T saniye içinde olmasını güvence altına alır.The bounded staleness consistency guarantees that all reads will be within K prefixes or T seconds from the latest write in any of the regions. Ayrıca, sınırlı stalet tutarlılığı olan okumaların tek Tonic olma garantisi ve tutarlı ön ek garantisi vardır.Furthermore, reads with bounded staleness consistency are guaranteed to be monotonic and with consistent prefix guarantees. Koruma entropi protokolü, oranı sınırlı bir biçimde çalışır ve ön ekler değil accumulate ve yazma backpressure uygulanacak yok sağlar.The anti-entropy protocol operates in a rate-limited manner and ensures that the prefixes do not accumulate and the backpressure on the writes does not have to be applied. Oturum tutarlılığı, monoton okuma, monoton yazma, kendi yazmalarınızı okuma, aşağıdaki okuma ve tutarlı ön ek garantisi yazma işlemlerini garanti eder, dünya çapındaki.Session consistency guarantees monotonic read, monotonic write, read your own writes, write follows read, and consistent prefix guarantees, worldwide. Güçlü tutarlılık ile yapılandırılmış veritabanları için, bölgeler arasında zaman uyumlu çoğaltma nedeniyle birden fazla yazma bölgesinin avantajları (düşük yazma gecikmesi, yüksek yazma kullanılabilirliği) uygulanmaz.For the databases configured with strong consistency, the benefits (low write latency, high write availability) of multiple write regions does not apply, because of synchronous replication across regions.

Cosmos DB 'deki beş tutarlılık modelinin semantiği buradaaçıklanmıştır ve buradayüksek düzeyli bir TLA + belirtimleri kullanılarak matematiksel olarak açıklanacaktır.The semantics of the five consistency models in Cosmos DB are described here, and mathematically described using a high-level TLA+ specifications here.

Sonraki adımlarNext steps

Ardından aşağıdaki makaleleri kullanarak genel dağıtımı yapılandırma işlemleri gerçekleştirmeyi öğreneceksiniz:Next learn how to configure global distribution by using the following articles: