Einrichten einer global verteilten Datenbank mit der Azure Cosmos DB-API für MongoDBSet up global distributed database using Azure Cosmos DB's API for MongoDB

In diesem Artikel wird veranschaulicht, wie Sie über das Azure-Portal eine global verteilte Datenbank einrichten und mit der Azure Cosmos DB-API für MongoDB eine Verbindung damit herstellen.In this article, we show how to use the Azure portal to setup a global distributed database and connect to it using Azure Cosmos DB's API for MongoDB.

In diesem Artikel werden die folgenden Aufgaben behandelt:This article covers the following tasks:

Hinzufügen globaler Datenbankregionen über das Azure-PortalAdd global database regions using the Azure portal

Azure Cosmos DB ist in allen Azure-Regionen weltweit verfügbar.Azure Cosmos DB is available in all Azure regions worldwide. Nachdem Sie die Standardkonsistenzebene für Ihr Datenbankkonto ausgewählt haben, können Sie dem Konto eine oder mehrere Regionen zuordnen (je nachdem, welche Konsistenzebene Sie ausgewählt haben und welche Anforderungen an eine globale Verteilung bestehen).After selecting the default consistency level for your database account, you can associate one or more regions (depending on your choice of default consistency level and global distribution needs).

  1. Klicken Sie im Azure-Portal auf der linken Leiste auf Azure Cosmos DB.In the Azure portal, in the left bar, click Azure Cosmos DB.

  2. Wählen Sie auf der Seite Azure Cosmos DB das zu ändernde Datenbankkonto aus.In the Azure Cosmos DB page, select the database account to modify.

  3. Klicken Sie auf der Kontoseite im Menü auf Daten global replizieren.In the account page, click Replicate data globally from the menu.

  4. Wählen Sie auf der Seite Daten global replizieren die Regionen aus, die Sie hinzufügen oder entfernen möchten. Klicken Sie hierzu auf die Regionen auf der Karte, und klicken Sie anschließend auf Speichern.In the Replicate data globally page, select the regions to add or remove by clicking regions in the map, and then click Save. Für das Hinzufügen von Regionen entstehen Kosten. Weitere Informationen hierzu finden Sie auf der Seite mit Preisinformationen sowie im Artikel Globale Verteilung von Daten mit Azure Cosmos DB.There is a cost to adding regions, see the pricing page or the Distribute data globally with Azure Cosmos DB article for more information.

    Hinzufügen oder Entfernen von Regionen per Klick auf die Regionen auf der Karte

Nachdem Sie eine zweite Region hinzugefügt haben, wird im Portal auf der Seite Daten global replizieren die Option Manuelles Failover aktiviert.Once you add a second region, the Manual Failover option is enabled on the Replicate data globally page in the portal. Sie können diese Option verwenden, um den Failovervorgang, zu testen oder die primäre Schreibregion zu ändern.You can use this option to test the failover process or change the primary write region. Nachdem Sie eine dritte Region hinzugefügt haben, wird auf der gleichen Seite die Option Failoverprioritäten aktiviert, sodass Sie die Failoverreihenfolge für Lesevorgänge ändern können.Once you add a third region, the Failover Priorities option is enabled on the same page so that you can change the failover order for reads.

Auswählen von globalen DatenbankregionenSelecting global database regions

Es gibt zwei gängige Szenarios zum Konfigurieren von mindestens zwei oder mehr Regionen:There are two common scenarios for configuring two or more regions:

  1. Übermitteln von niedriger Latenz beim Zugriff auf Daten für Endbenutzer, unabhängig davon, wo sie sich befindenDelivering low-latency access to data to end users no matter where they are located around the globe
  2. Hinzufügen von regionaler Resilienz für Geschäftskontinuität und Notfallwiederherstellung (BCDR)Adding regional resiliency for business continuity and disaster recovery (BCDR)

Zur Gewährleistung geringer Wartezeiten für Endbenutzer empfiehlt es sich, sowohl die Anwendung als auch Azure Cosmos DB in den Regionen bereitzustellen, in denen sich die Benutzer der Anwendung befinden.For delivering low-latency to end users, it is recommended that you deploy both the application and Azure Cosmos DB in the regions that correspond to where the application's users are located.

Für BCDR empfiehlt es sich, die Regionen basierend auf den Regionspaaren hinzuzufügen, die im Artikel Geschäftskontinuität und Notfallwiederherstellung: Azure-Regionspaare beschrieben werden.For BCDR, it is recommended to add regions based on the region pairs described in the Business continuity and disaster recovery (BCDR): Azure Paired Regions article.

Überprüfen der regionalen EinrichtungVerifying your regional setup

Eine einfache Möglichkeit zur Überprüfung Ihrer globalen Konfiguration mit der Cosmos DB-API für MongoDB besteht darin, den Befehl isMaster() in der Mongo Shell auszuführen.A simple way to check your global configuration with Cosmos DB's API for MongoDB is to run the isMaster() command from the Mongo Shell.

In der Mongo Shell:From your Mongo Shell:

   db.isMaster()

Beispielergebnisse:Example results:

   {
      "_t": "IsMasterResponse",
      "ok": 1,
      "ismaster": true,
      "maxMessageSizeBytes": 4194304,
      "maxWriteBatchSize": 1000,
      "minWireVersion": 0,
      "maxWireVersion": 2,
      "tags": {
         "region": "South India"
      },
      "hosts": [
         "vishi-api-for-mongodb-southcentralus.documents.azure.com:10255",
         "vishi-api-for-mongodb-westeurope.documents.azure.com:10255",
         "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
      ],
      "setName": "globaldb",
      "setVersion": 1,
      "primary": "vishi-api-for-mongodb-southindia.documents.azure.com:10255",
      "me": "vishi-api-for-mongodb-southindia.documents.azure.com:10255"
   }

Herstellen einer Verbindung mit einer bevorzugten RegionConnecting to a preferred region

Die Azure Cosmos DB-API für MongoDB ermöglicht es Ihnen, Voreinstellungen für Lesevorgänge in Ihrer Sammlung für eine global verteilte Datenbank anzugeben.The Azure Cosmos DB's API for MongoDB enables you to specify your collection's read preference for a globally distributed database. Sowohl für Lesevorgänge mit niedriger Latenz als auch für eine globale Hochverfügbarkeit empfiehlt es sich, die Voreinstellung Ihrer Sammlung für Lesevorgänge auf nächste festzulegen.For both low latency reads and global high availability, we recommend setting your collection's read preference to nearest. Mit der Einstellung nächste erfolgen Lesevorgänge aus der nächstgelegenen Region.A read preference of nearest is configured to read from the closest region.

var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Nearest));

Bei Anwendungen mit einer primären Lese-/Schreibregion und einer sekundären Region für Notfallwiederherstellungsszenarien empfiehlt es sich, die Voreinstellung Ihrer Sammlung für Lesevorgänge auf sekundäre bevorzugte festzulegen.For applications with a primary read/write region and a secondary region for disaster recovery (DR) scenarios, we recommend setting your collection's read preference to secondary preferred. Mit der Einstellung sekundäre bevorzugte erfolgen Lesevorgänge aus der sekundären Region, wenn die primäre Region nicht verfügbar ist.A read preference of secondary preferred is configured to read from the secondary region when the primary region is unavailable.

var collection = database.GetCollection<BsonDocument>(collectionName);
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.SecondaryPreferred));

Sie können Leseregionen auch manuell angeben.Lastly, if you would like to manually specify your read regions. Legen Sie das entsprechende Regionstag in Ihrer Voreinstellung für Lesevorgänge fest.You can set the region Tag within your read preference.

var collection = database.GetCollection<BsonDocument>(collectionName);
var tag = new Tag("region", "Southeast Asia");
collection = collection.WithReadPreference(new ReadPreference(ReadPreferenceMode.Secondary, new[] { new TagSet(new[] { tag }) }));

Das ist alles, und dieses Tutorial ist abgeschlossen.That's it, that completes this tutorial. Informationen dazu, wie Sie die Konsistenz Ihres global replizierten Kontos verwalten, finden Sie unter Konsistenzebenen in Azure Cosmos DB.You can learn how to manage the consistency of your globally replicated account by reading Consistency levels in Azure Cosmos DB. Weitere Informationen zur Funktionsweise der globalen Datenbankreplikation in Azure Cosmos DB finden Sie unter Globale Verteilung von Daten mit Azure Cosmos DB.And for more information about how global database replication works in Azure Cosmos DB, see Distribute data globally with Azure Cosmos DB.

Nächste SchritteNext steps

In diesem Tutorial haben Sie die folgenden Aufgaben ausgeführt:In this tutorial, you've done the following:

  • Konfigurieren der globalen Verteilung mit dem Azure-PortalConfigure global distribution using the Azure portal
  • Konfigurieren der globalen Verteilung mit der Cosmos DB-API für MongoDBConfigure global distribution using the Cosmos DB's API for MongoDB

Sie können jetzt mit dem nächsten Tutorial fortfahren, um zu erfahren, wie Sie mit dem lokalen Azure Cosmos DB-Emulator lokal entwickeln können.You can now proceed to the next tutorial to learn how to develop locally using the Azure Cosmos DB local emulator.