Amazon SimpleDB vs Amazon DynamoDB

Odpowiedzi:

179

Odpowiedzi na te pytania znajdują się w odpowiedzi na pytanie. P: Czym różni się Amazon DynamoDB od Amazon SimpleDB? Z którego powinienem korzystać? (link skrótu już nie działa, ale już w pewnym stopniu użyj funkcji Znajdź na stronie, aby znaleźć pytanie na stronie), z najbardziej zwięzłym podsumowaniem na końcu akapitu:

Chociaż SimpleDB ma ograniczenia skalowania, może być dobrym rozwiązaniem dla mniejszych obciążeń wymagających elastyczności zapytań. Amazon SimpleDB automatycznie indeksuje wszystkie atrybuty pozycji, a tym samym wspiera elastyczność zapytań kosztem wydajności i skali.

Jest to więc kompromis między wydajnością / skalowalnością a prostotą / elastycznością, tzn. W prostszych scenariuszach rozpoczęcie korzystania z SimpleDB może być łatwiejsze, aby uniknąć złożoności architektury aplikacji dla DynamoDB (patrz poniżej z innej perspektywy).

Powiązany wpis FAQ odwołuje się do Amazon DynamoDB Wernera Vogela - szybkiej i skalowalnej usługi bazy danych NoSQL zaprojektowanej również do zastosowań w skali internetowej , która jest rzeczywiście rozbudowaną, a zatem wysoce zalecaną lekturą dotyczącą historii NoSQL w ogóle w Amazon, aw szczególności Dynamo; zawiera także wiele innych informacji dotyczących twojego pytania, np

Stało się oczywiste, że programiści [nawet inżynierowie Amazon] zdecydowanie woleli prostotę od drobiazgowej kontroli, ponieważ głosowali „nogami” i przyjęli oparte na chmurze rozwiązania AWS, takie jak Amazon S3 i Amazon SimpleDB, niż Dynamo. [dodatek mój]

Oczywiście, aby rozwiązać ten problem, wprowadzono DynamoDB i dlatego można go zakwalifikować jako następcę SimpleDB, a nie „tylko”, zmieniając istniejącą ofertę NoSQL:

Doszliśmy do wniosku, że idealne rozwiązanie połączy najlepsze części pierwotnego projektu Dynamo (przyrostowa skalowalność, przewidywalna wysoka wydajność) z najlepszymi częściami SimpleDB (łatwość administrowania usługą w chmurze, spójność i model danych oparty na tabeli, który jest bogatszy niż zwykły magazyn klucz-wartość).

Podsumowanie Wernera sugeruje, że DynamoDB dobrze pasuje teraz do aplikacji dowolnego rozmiaru:

Amazon DynamoDB został zaprojektowany w celu utrzymania przewidywalnej wysokiej wydajności i wysokiej wydajności pod względem kosztów dla obciążeń dowolnej skali, od najmniejszych do największych aplikacji na skalę internetową.

Steffen Opel
źródło
27

użyj SimpleDB lub DynamoDB, zależy to od Twojego przypadku użycia, w niektórych przypadkach podzieliłem się niektórymi doświadczeniami związanymi z używaniem SimpleDB zamiast DynamoDB . W innym produkcie użyłem SimpleDB i DynamoDB do przechowywania różnych danych.

Mason Zhang
źródło
27
Podobał mi się post - nie zaszkodzi go streścić tutaj
nik.shornikov
polubił też post. @Mason, co sądzisz o tym, jak SimpleDCB powoli znikało z konsoli produktów AWS? Nadal korzystasz z SimpleDB lub przeprowadziłeś migrację?
David Robbins,
1
@DavidRobbins SimpleDB mógł być przestarzały przez AWS, ale nadal tam jest i idealnie pasuje do moich danych modalnych. Nie dokonałem jeszcze migracji mojego kodu i nie planuję tego zrobić. Ale w przypadku nowych produktów wybieram inne bazy danych, takie jak dynamodb lub mysql.
Mason Zhang,
Witryna, do której prowadzi link, została oznaczona przez Sophos jako złośliwe oprogramowanie. Zachowaj ostrożność.
IanGilham
1
@IanGilham dziękuję za przypomnienie. Ponownie sprawdzam raport ze skanowania ( virustotal.com/en/url/… ): 1/68 oznaczyło witrynę jako złośliwe oprogramowanie. To może być coś złego w przypadku Sophosa. BTW: ta strona jest faktycznie zarządzana przez Google Blogspot.
Mason Zhang,
18

Wydaje się, że SimpleDB nie cieszy się obecnie żadną miłością z Amazon - trudno jest nawet znaleźć miejsce, w którym można go zapewnić w konsoli AWS. Wygląda na to, że SimpleDB nie jest już iterowany - użyj DynamoDB jako pierwszego wyboru bazy danych dokumentów w AWS.

SimpleDb nie jest już tak naprawdę „iterowany”. Oznacza to, że dla simpledb nie ma nowych rozwiązań w przyszłości. Jest „utrzymywany i obsługiwany”, ale nie będzie już lepiej.

żagiel
źródło
2
Nie można poprawić perfekcyjnie!
dividebyzero
10

3 kluczowe różnice:

  1. Indeksowanie

    • SimpleDB tworzy indeks dla pola „KAŻDEGO” w tabeli.
    • DynamoDB musisz ustawić pola indeksowania przed utworzeniem bazy danych i nie można go modyfikować.
  2. Cennik:

    • Ceny SimpleDB oparte są na godzinach pracy i pojemności pamięci
    • DynamoDB pobiera pieniądze według pojemności odczytu / zapisu rekordów na sekundę.
  3. Skalowalność:

    • SimpleDB wymaga ręcznego partycjonowania, jeśli ilość danych przekracza 10 GB.
    • DynamoDB automatycznie dystrybuuje dane pod maską, dzięki czemu zapewnia bardzo wysoką skalowalność.
Sagar Ranglani
źródło
5

Jedną z różnic było (jak stwierdził @Mason Zhang w swoim artykule powyżej) w indeksowaniu. DynamoDB służy do ograniczania cię do tworzenia indeksów w momencie tworzenia tabeli. Jednak obecnie (od początku 2014 r.) Istnieje koncepcja globalnego indeksu wtórnego (GSI). GSI można utworzyć na stole w dowolnym momencie. Obsługiwanych jest do 5. Tak więc indeksowanie nie jest już problemem blokującym w wielu przypadkach użycia.

Powinieneś także wiedzieć, że SimpleDB ma ograniczenia wielkości i wydajności. (10 GB i powiedzmy, 25 wniosków / s)

Być może ostatecznie DynamoDB zastąpi SimpleDB we wszystkich przypadkach oprócz najprostszych.

kalyanswaroop
źródło
0

Mówiąc prosto, oba magazyny danych to NoSql.

Różnica polega na skalowalności (i kilku innych aspektach, ale moim zdaniem skalowanie ma największą wartość). SimpleDB jest dość podobny do MongoDB, ale ma wiele ograniczeń, jeśli chodzi o skalowanie.

Ale DynamoDB pozwala na małą alokację i zwiększenie wymaganej przepustowości. Skaluj, gdy nie jest to wymagane. (tj. podczas promocji, rejestracje poleconych gwiazd itp. scenariusze takie jak ten będą miały skokowy wzrost wymagań sprzętowych)

Gayan Hewa
źródło
0

Uważam, że główna różnica między Simple DB a Dynamo DB jest

  1. Przewidywalna wydajność pod względem opóźnień i możliwość obsługi dużych woluminów bez utraty opóźnień i przepustowości. DynamoDB osiąga to za pomocą klucza partycji
  2. Czytaj, pisz optymalizacje, które można dostosować
  3. Lepszy model ostatecznej spójności, ponieważ zastosowanie spójnego algorytmu mieszającego
webjockey
źródło
0

Są dwie główne różnice, o których powinieneś wiedzieć

1: SimpleDB has a strict storage limitation of 10 GB. However, DynamoDB has no storage limitations for the data. It is highly scalable in terms of both storage and computation.

2:SimpleDB can handle max up to 25 Write Operations/Second. No such limit in DynamoDB.
Sateesh
źródło
0

Są dwie główne różnice, o których powinieneś wiedzieć.

Dzięki DynamoDB możesz budować aplikacje z praktycznie nieograniczoną przepustowością i pamięcią. W przypadku SimpleDB tak nie jest.

  • 1: OGRANICZONE PRZECHOWYWANIE 10 GB

SimpleDB ma ścisłe ograniczenie do 10 GB. DynamoDB nie ma jednak ograniczeń dotyczących przechowywania danych. Jest wysoce skalowalny zarówno pod względem pamięci, jak i obliczeń.

  • 2: MAKSYMALNIE DO 25 OPERACJI PISANIA / SEKUND

SimpleDB może obsłużyć maksymalnie 25 operacji zapisu na sekundę . Brak takiego limitu w DynamoDB.

Sateesh
źródło