2013-02-07 14 views
5

Take bazę 100GB dla tego przykładu:MongoLab vs Azure Table Storage

Azure koszty składowania: 6,05 £/m MongoLab na AWS z 1 koszt węzła: £ 153,18/m

jestem brakuje czegoś? Obliczono coś niepoprawnie? Czy ktoś może mi tutaj wyjaśnić sprawę? Wolałbym używać MongoLab, ponieważ naprawdę lubię node/mongoDB. Ale wydaje się o wiele bardziej opłacalne rozwiązanie, aby przejść z magazynu tabeli.

Znam różnice między kluczem/wartością i magazynem dokumentów i wolę ten drugi.

Odpowiedz

12

Należy wziąć pod uwagę, że usługa przechowywania tablic Azure (ATS) jest przechowywana jako usługa. Nie trzeba konfigurować żadnych serwerów do zarządzania pamięcią masową i powiązanymi operacjami CRUD. Jest to obsługiwane przez Azure, ponieważ ATS jest ogromnym systemem dla wielu dzierżawców. Po prostu prosisz o konto, otrzymasz punkt końcowy (plus podstawowy klucz główny), a następnie, płacąc około 7 centów za GB (i centa za 100 tys. Transakcji, co jest dość mało znaczące).

W przypadku MongoDB konieczne jest utworzenie własnego serwera (serwerów), zarówno w AWS, jak i na Azure (lub w siedzibie lub gdziekolwiek indziej), a także pamięci masowej. Out-of-the-box, dzisiejsi dostawcy usług w chmurze nie mają natywnej oferty MongoDB-as-a-Service. Twoja podstawa kosztowa jest teraz znacznie wyższa niż ATS, a Ty jesteś odpowiedzialny za kopie zapasowe/migawki, konserwację MongoDB, itp. Nawet wdrożenie MongoDB o niskiej kości kosztuje co najmniej dwie instancje maszyny wirtualnej (samodzielny serwer w produkcji nie jest zalecany z powodu okresowych przestojów). Najmniejsze instancje platformy Azure to 0,02 USD/godz. Lub około 14 USD miesięcznie x 2, przy minimalnym śladzie wynoszącym około 30 USD/miesiąc (jest to maszyna wirtualna o niskim końcu z mniej niż 1 GB pamięci RAM, nie zapewnia wysokiej wydajności MongoDB, ale może działa świetnie tylko na stronie internetowej o ograniczonej widoczności lub blogu o małym natężeniu ruchu). Poświęcając dostępność, możesz uruchomić jedną wyjątkowo małą instancję za 14 USD miesięcznie plus koszt przechowywania (który musi być w trwałym magazynie, więc mówisz o 7 centach/GB/miesiąc).

Wspomnij już o MongoLab. Klient ma usługę MongoDB-as-a-Service i zbudował rozwiązanie do obsługi wielu dzierżawców, a ich usługa jest dostępna dla wielu chmur, w tym Azure. Cena, którą pobierają, uwzględnia inwestycje w maszyny wirtualne, pamięci masowe i przepustowość, a także konserwację serwerów, strategie tworzenia kopii zapasowych, wsparcie, wysoką dostępność, monitorowanie, itp. bycie jedynym czynnikiem decydującym. Jeśli chcesz wykonać dowolne złożone zapytania, np. Z wieloma polami indeksowanymi, z ATS, musisz zbudować dodatkowe tabele, aby udostępnić te indeksy (lub skończysz robić skany partycji lub skany tabel, aby znaleźć zawartość, potrzeba). MongoDB ma bardzo silny mechanizm wyszukiwania i agregacji. Jeśli Twoja aplikacja tego wymaga, możesz wydać więcej pieniędzy na inżynierię czasu programistycznego i zachować dodatkową złożoność przestrzeni tabel, w porównaniu z MongoDB i uruchomieniem aplikacji "dzisiaj". Jeśli, z drugiej strony, masz dane, które bardzo dobrze pasują do przechowywania w tabelach, gdzie klucz partycji + klucz obejmuje większość przypadków wyszukiwania, i możesz skorzystać z transakcji grup jednostek dla aktualizacji atomowych, powinieneś rozważyć przechowywanie tabel nie tylko kosztem, ale i skalą (200 TB na konto pamięci) i wydajnością.

Mam nadzieję, że to pomoże ...

+0

Dodam też, że z usługą Storage-as-a-Service zwykle nie otrzymujesz silnika wykonawczego. To ogromna różnica między MonoDB/SQL Azure a Azure Table Storage. Wykonanie odbywa się zarówno na kliencie, jak i na serwerze, podczas gdy po uruchomieniu instrukcji procedura przechowywana/sql dbam tylko o wyniki na kliencie.Powodem tego jest to, że wykonując proste czynności, takie jak pobieranie liczników lub analiz, musisz przywrócić niektóre dane/metadane do klienta, a następnie je przetworzyć (w przypadku niektórych operacji przechowywania tabel Azure). –

Powiązane problemy