Udostępnij za pośrednictwem


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ń.