Globalna dystrybucja danych przy użyciu usługi Azure Cosmos DB
DOTYCZY: NoSQL MongoDB Kasandra Gremlin Stół
Współczesne aplikacje muszą zapewniać szybki czas reakcji i zawsze działać w trybie online. Aby zapewnić małe opóźnienia i wysoką dostępność, wystąpienia tych aplikacji powinny być wdrażane w centrach danych, które są blisko ich użytkowników. Te aplikacje zazwyczaj są wdrażane w wielu centrach danych i nazywane globalnie dystrybuowanymi. Globalnie dystrybuowane aplikacje muszą mieć globalnie dystrybuowaną bazę danych, która może w sposób przezroczysty replikować dane w dowolnym miejscu na świecie, aby umożliwić aplikacjom działanie na kopii danych znajdującej się blisko użytkowników.
Azure Cosmos DB to globalnie rozproszony system bazy danych, który umożliwia odczytywanie i zapisywanie danych w lokalnych replikach bazy danych. Usługa Azure Cosmos DB w sposób przezroczysty replikuje dane do wszystkich regionów skojarzonych z kontem usługi Azure Cosmos DB. Ma ona na celu zapewnienie małych opóźnień, elastycznej skalowalności przepływności, dobrze zdefiniowanych semantyki na potrzeby spójności danych i wysokiej dostępności. Krótko mówiąc, jeśli aplikacja potrzebuje szybkiego czasu odpowiedzi w dowolnym miejscu na świecie, jeśli musi być zawsze w trybie online i potrzebuje nieograniczonej i elastycznej skalowalności przepływności i magazynu, należy skompilować aplikację w usłudze Azure Cosmos DB.
Możesz skonfigurować bazy danych tak, aby mogły być globalnie rozproszone i dostępne w dowolnym z regionów świadczenia usługi Azure. Aby zmniejszyć opóźnienie, umieść dane w pobliżu miejsca, w którym znajdują się użytkownicy. Wybór wymaganych regionów zależy od globalnego zasięgu aplikacji i lokalizacji użytkowników. Usługa Azure Cosmos DB udostępnia pojedynczy obraz systemu globalnej rozproszonej bazy danych usługi Azure Cosmos DB i kontenerów, które aplikacja może odczytywać i zapisywać lokalnie.
Uwaga
Konta bezserwerowe dla usługi Azure Cosmos DB mogą być uruchamiane tylko w jednym regionie świadczenia usługi Azure. Aby uzyskać więcej informacji, zobacz korzystanie z zasobów bezserwerowych.
Usługa Azure Cosmos DB umożliwia dodawanie lub usuwanie regionów skojarzonych z kontem w dowolnym momencie. Aby można było dodać lub usunąć region, nie trzeba wstrzymywać ani ponownie wdrażać aplikacji. Usługa Azure Cosmos DB jest dostępna we wszystkich pięciu różnych środowiskach w chmurze platformy Azure dostępnych dla klientów:
Chmura publiczna platformy Azure, która jest dostępna globalnie.
Platforma Microsoft Azure obsługiwana przez firmę 21Vianet jest dostępna za pośrednictwem unikatowego partnerstwa między firmą Microsoft i 21Vianet, jednym z największych dostawców internetu w Chinach w kraju.
Platforma Azure (Niemcy ) świadczy usługi w ramach modelu powierniczego danych, który zapewnia, że dane klientów pozostają w Niemczech pod kontrolą T-Systems International GmbH, spółki zależnej Deutsche Telekom, działającej jako niemiecki powiernik danych.
Platforma Azure Government jest dostępna w czterech regionach w Stany Zjednoczone dla agencji rządowych USA i ich partnerów.
Platforma Azure Government dla Departamentu Obrony (DoD) jest dostępna w dwóch regionach w Stany Zjednoczone departamentu obrony USA.
Najważniejsze korzyści wynikające z dystrybucji globalnej
Tworzenie globalnych aplikacji aktywnych-aktywnych. Dzięki nowemu protokołowi replikacji zapisu w wielu regionach każdy region obsługuje zarówno zapisy, jak i odczyty. Funkcja zapisu w wielu regionach umożliwia również:
- Nieograniczona elastyczna skalowalność zapisu i odczytu.
- Dostępność odczytu i zapisu na całym świecie wynosi 99,999%.
- Gwarantowane odczyty i zapisy obsługiwane w mniej niż 10 milisekundach w 99. percentylu.
Podczas dodawania i usuwania regionów do i z konta usługi Azure Cosmos DB aplikacja nie musi być wdrażana ponownie ani wstrzymana, ale jest nadal wysoce dostępna przez cały czas.
Tworzenie wysoce dynamicznych aplikacji. Aplikacja może wykonywać operacje odczytu i zapisu niemal w czasie rzeczywistym we wszystkich regionach, które wybrano dla bazy danych. Usługa Azure Cosmos DB wewnętrznie obsługuje replikację danych między regionami z gwarancjami poziomu spójności wybranego poziomu.
Tworzenie aplikacji o wysokiej dostępności. Uruchamianie bazy danych w wielu regionach na całym świecie zwiększa dostępność bazy danych. Jeśli jeden region jest niedostępny, inne regiony automatycznie obsługują żądania aplikacji. Usługa Azure Cosmos DB oferuje dostępność odczytu i zapisu w 99,999% dla baz danych z wieloma regionami.
Zachowaj ciągłość działalności biznesowej podczas regionalnych przestojów. Usługa Azure Cosmos DB obsługuje tryb failover zarządzany przez usługę podczas regionalnej awarii. Podczas regionalnej awarii usługa Azure Cosmos DB nadal utrzymuje opóźnienia, dostępność, spójność i umowy SLA dotyczące przepływności. Aby upewnić się, że cała aplikacja jest wysoce dostępna, usługa Azure Cosmos DB oferuje ręczny interfejs API trybu failover w celu symulowania awarii regionalnej. Korzystając z tego interfejsu API, można przeprowadzać regularne przechodzenie do szczegółów ciągłości działania.
Globalne skalowanie przepływności odczytu i zapisu. Każdy region może mieć możliwość zapisu i elastycznego skalowania odczytów i zapisów na całym świecie. Przepływność skonfigurowana przez aplikację w bazie danych usługi Azure Cosmos DB lub kontener jest aprowizowana we wszystkich regionach skojarzonych z kontem usługi Azure Cosmos DB. Aprowizowana przepływność jest gwarantowana przez umowy SLA wspierane finansowo.
Wybierz spośród kilku dobrze zdefiniowanych modeli spójności. Protokół replikacji usługi Azure Cosmos DB oferuje pięć dobrze zdefiniowanych, praktycznych i intuicyjnych modeli spójności. Każdy model ma kompromis między spójnością a wydajnością. Te modele spójności umożliwiają łatwe tworzenie aplikacji rozproszonych globalnie.
Następne kroki
Przeczytaj więcej na temat dystrybucji globalnej w następujących artykułach:
- Dystrybucja globalna — pod maską
- Jak skonfigurować zapisy w wielu regionach w aplikacjach
- Konfigurowanie klientów na potrzeby multihomingu
- Dodawanie lub usuwanie regionów z konta usługi Azure Cosmos DB
- Tworzenie niestandardowych zasad rozwiązywania konfliktów dla interfejsu API dla kont NoSQL
- Programowalne modele spójności w usłudze Azure Cosmos DB
- Wybieranie odpowiedniego poziomu spójności dla aplikacji
- Poziomy spójności w interfejsach API usługi Azure Cosmos DB
- Kompromisy dotyczące dostępności i wydajności dla różnych poziomów spójności