Opis rozproszonych relacyjnych baz danych

DOTYCZY: Usługa Azure Cosmos DB for PostgreSQL (obsługiwana przez rozszerzenie bazy danych Citus do bazy danych PostgreSQL)

Azure Cosmos DB to globalnie rozproszona platforma baz danych dla baz danych NoSQL 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 dużych lub dużych obciążeniach transakcyjnych, łatwo jest myśleć, że te obciążenia są znacznie większe niż jakiekolwiek, z którymi może zmierzyć się 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 rzadkością słyszeć historie obciążeń, które spełniają maksymalną przepływność lub moc przetwarzania bazy danych pojedynczego wystąpienia, 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ą powszechne 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 z ich natury.

Rozproszone bazy danych

W przypadku wielu oficjalnych dokumentów natywnych dla chmury często słyszy się o zaletach baz danych NoSQL, dzięki czemu wydaje się, że relacyjne bazy danych nie są rozsądnym wyborem dla dużych baz danych ani obciążeń rozproszonych. Chociaż wiele rozproszonych baz danych nie jest relacyjnych, są dostępne opcje dla rozproszonych obciążeń relacyjnej bazy danych.

Wiele z tych opcji dla rozproszonych relacyjnych baz danych wymaga, aby organizacja planować na dużą skalę i dystrybucję od początku projektu. To wymaganie planowania może zwiększyć znaczną 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ą być znacznie bardziej złożone niż tworzenie pojedynczego wystąpienia (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 relacyjny interfejs API 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ę usługi Postgres do dystrybucji danych i transakcji. Usługa Azure Cosmos DB for PostgreSQL to w pełni zarządzana usługa, która automatycznie zapewnia wysoką dostępność bez konieczności ręcznego planowania i obsługi poszczególnych węzłów serwera oraz zarządzania nimi. Za pomocą interfejsu API for PostgreSQL możesz rozpocząć od w pełni zarządzanego klastra z jednym węzłem, skompilować rozwiązanie bazy danych, a następnie skalować je w kluczu w miarę wzrostu potrzeb aplikacji w miarę upływu czasu. W przypadku interfejsu API for PostgreSQL nie ma potrzeby planowania złożonego projektu dystrybucji z wyprzedzeniem ani planowania projektu migracji danych z jednego węzła do rozproszonej bazy danych w dół drogi.

Następne kroki

Chcesz rozpocząć pracę z usługą Azure Cosmos DB?