Udostępnij przez


Opis rozproszonych relacyjnych baz danych

Azure Cosmos DB to globalnie rozproszona platforma baz danych zarówno dla baz danych NoSQL, jak i relacyjnych baz danych w dowolnej skali. W tym artykule omówiono rozproszone relacyjne bazy danych w kontekście opcji relacyjnego interfejsu API usługi Azure Cosmos DB.

Aby uzyskać więcej informacji na temat innych opcji magazynu danych na platformie Azure, zobacz wybieranie odpowiedniego magazynu danych w Centrum architektury platformy Azure.

Wyzwania

Wiele razy, gdy czytasz o obciążeniach związanych z dużą ilością danych lub wysokimi transakcjami, łatwo pomyśleć, że te obciążenia są znacznie większe niż jakiekolwiek, z którymi może się zmierzyć Twoja aplikacja. Założenie, że obciążenie pozostanie małe, może być bezpiecznym założeniem na początku projektu, pomysłu lub organizacji. Jednak to założenie może szybko prowadzić do scenariusza, w którym obciążenie aplikacji rośnie znacznie poza wszelkie dokonane przewidywania. Nie jest niczym niezwykłym usłyszeć historie o obciążeniach, które osiągają maksymalną przepustowość lub moc przetwarzania bazy danych w pojedynczym instancjonowaniu, która była ekonomiczna i wydajna na początku projektu.

Relacyjne bazy danych

Relacyjne bazy danych organizują dane w formacie tabelarycznym (wiersz/kolumna) z relacjami między różnymi tabelami w bazach danych. Relacyjne bazy danych są wspólne w różnych przedsiębiorstwach. Te przedsiębiorstwa często mają wielu deweloperów oprogramowania, którzy pisali kod względem relacyjnej bazy danych lub administratorów, którzy projektują schematy i zarządzają platformami relacyjnych baz danych. Relacyjne bazy danych często obsługują również transakcje z gwarancjami ACID.

Niestety wiele systemów relacyjnych baz danych jest początkowo konfigurowanych przez organizacje w sposób z jednym węzłem z górnymi ograniczeniami zasobów obliczeniowych, pamięci i sieci. Ten kontekst może prowadzić do nieprawidłowego założenia, że wszystkie relacyjne bazy danych są pojedynczym węzłem ze względu na ich charakter.

Rozproszone bazy danych

W przypadku wielu natywnych dla chmury dokumentów często słyszy się o zaletach baz danych NoSQL, co sprawia, że wydaje się, iż relacyjne bazy danych nie są rozsądnym wyborem dla dużych baz danych lub rozproszonych obciążeń roboczych. Chociaż wiele rozproszonych baz danych nie jest relacyjnych, to są dostępne opcje dla rozproszonych obciążeń relacyjnych baz danych.

Wiele z tych opcji dla rozproszonych relacyjnych baz danych wymaga od organizacji planowania dystrybucji na dużą skalę już od samego początku projektu. To wymaganie planowania może zwiększyć znaczącą złożoność na początku projektu, aby upewnić się, że wszystkie odpowiednie węzły serwera są skonfigurowane, zarządzane i obsługiwane przez zespół. Wymagania dotyczące planowania, implementacji i sieci dla globalnie rozproszonej relacyjnej bazy danych mogą łatwo stać się znacznie bardziej złożone niż uruchomienie pojedynczej instancji (lub węzła).

Azure Cosmos DB

Azure Cosmos DB to platforma bazy danych, która oferuje rozproszone interfejsy API danych zarówno w wariantach NoSQL, jak i relacyjnych. W szczególności interfejs API relacyjny dla usługi Azure Cosmos DB jest oparty na bazie bazy danych PostgreSQL i rozszerzenia Citus.

Citus to rozszerzenie PostgreSQL, które dodaje obsługę dystrybucji danych i transakcji w bazie danych Postgres. Usługa Azure Cosmos DB for PostgreSQL to w pełni zarządzana usługa, korzystająca z rozwiązania Citus, która automatycznie zapewnia wysoką dostępność bez konieczności ręcznego planowania, zarządzania i obsługi poszczególnych węzłów serwera. Za pomocą interfejsu API dla PostgreSQL możesz rozpocząć od w pełni zarządzanego klastra z jednym węzłem, opracować rozwiązanie bazy danych, a następnie skalować je w trybie gotowym do użycia wraz ze wzrostem potrzeb aplikacji. Dzięki API dla PostgreSQL nie ma potrzeby wcześniejszego planowania złożonego projektu dystrybucji ani migracji danych z jednego węzła do rozproszonej bazy danych w przyszłości.

Następne kroki