Azure Cosmos DB jako magazyn wartości klucza — omówienie kosztów
DOTYCZY: NoSQL
Azure Cosmos DB to globalnie rozproszona, wielomodelowa usługa bazy danych służąca do łatwego tworzenia aplikacji o wysokiej dostępności na dużą skalę. Domyślnie usługa Azure Cosmos DB automatycznie i efektywnie indeksuje wszystkie pozyskane dane. Umożliwia to szybkie i spójne zapytania SQL (i JavaScript) dotyczące danych.
W tym artykule opisano koszt usługi Azure Cosmos DB dla prostych operacji zapisu i odczytu, gdy jest używany jako magazyn klucz/wartość. Operacje zapisu obejmują operacje wstawiania, zastępowania, usuwania i upserts elementów danych. Oprócz zagwarantowania umowy SLA dotyczącej dostępności na poziomie 99,999% dla wszystkich kont w wielu regionach usługa Azure Cosmos DB oferuje gwarantowane <opóźnienie 10 ms dla operacji odczytu i (indeksowanych) zapisów na poziomie 99. percentylu.
Dlaczego używamy jednostek żądań (RU)
Wydajność usługi Azure Cosmos DB zależy od ilości aprowizowanej przepływności wyrażonej w jednostkach żądań (RU/s). Aprowizowanie jest na drugim poziomie szczegółowości i jest kupowane w jednostkach RU/s (nie należy mylić z rozliczeniami godzinowymi). Jednostki RU należy traktować jako logiczną abstrakcję (walutę), która upraszcza aprowizację wymaganej przepływności dla aplikacji. Użytkownicy nie muszą myśleć o różnicowaniu między przepływnością odczytu i zapisu. Model pojedynczej waluty jednostek RU tworzy wydajność, aby współdzielić aprowizowaną pojemność między operacjami odczytu i zapisu. Ten aprowizowany model pojemności umożliwia usłudze zapewnienie przewidywalnej i spójnej przepływności, gwarantowanego małego opóźnienia i wysokiej dostępności. Na koniec model jednostek RU służy do przedstawiania przepływności, a każda aprowizowana jednostka RU ma również zdefiniowaną ilość zasobów (np. pamięć, rdzenie/procesor CPU i liczbę operacji we/wy na sekundę).
Jako globalnie rozproszony system baz danych usługa Azure Cosmos DB jest jedyną usługą platformy Azure, która zapewnia kompleksowe umowy SLA obejmujące opóźnienia, przepływność, spójność i wysoką dostępność. Aprowizowana przepływność jest stosowana do każdego z regionów skojarzonych z kontem usługi Azure Cosmos DB. W przypadku operacji odczytu usługa Azure Cosmos DB oferuje wiele, dobrze zdefiniowanych poziomów spójności do wyboru.
W poniższej tabeli przedstawiono liczbę jednostek RU wymaganych do wykonywania operacji odczytu i zapisu na podstawie elementu danych o rozmiarze 1 KB i 100 KB z domyślnym automatycznym indeksowaniem wyłączonym.
Rozmiar elementu | 1 Odczyt | 1 Zapis |
---|---|---|
1 KB | 1 RU | 5 jednostek RU |
100 KB | 10 jednostek RU | 50 jednostek RU |
Koszt operacji odczytu i zapisu
Jeśli aprowizujesz 1000 RU/s, wynosi to 3,6 miliona RU/godzinę i będzie kosztować 0,08 USD za godzinę (w Stanach Zjednoczonych i Europie). W przypadku elementu danych o rozmiarze 1 KB oznacza to, że można użyć 3,6 miliona operacji odczytu lub 0,72 miliona operacji zapisu (3,6 mln RU/5) przy użyciu aprowizowanej przepływności. Znormalizowane do milionów odczytów i zapisów, koszt wyniesie 0,022 USD /milion odczytów (0,08 USD / 3,6) i 0,111 USD/milion zapisów (0,08 USD / 0,72). Koszt miliona staje się minimalny, jak pokazano w poniższej tabeli.
Rozmiar elementu | Koszt odczytu w wysokości 1 miliona odczytów | Koszt 1 milionów zapisów |
---|---|---|
1 KB | 0,022 USD | 0,111 USD |
100 KB | 0,222 USD | 1,111 USD |
Większość podstawowych obiektów blob lub obiektów przechowuje usługi pobierają 0,40 USD za milion transakcji odczytu i 5 USD za milion transakcji zapisu. W przypadku optymalnego użycia usługa Azure Cosmos DB może być do 98% tańsza niż w przypadku innych rozwiązań (w przypadku transakcji 1 KB).
Następne kroki
- Użyj kalkulatora jednostek RU, aby oszacować przepływność dla obciążeń.