2012-03-19 14 views

Odpowiedz

20

Musisz wziąć pod uwagę to, że w SQL Azure nie tylko dostajesz pamięć, ale także serwer bazy danych. Jeśli zaimplementujesz RavenDB, będziesz potrzebować roli roboczej, aby go hostować, a także, aby umożliwić niepowodzenie tej roli pracowniczej, innej roli pracownika (repliki), która również podwaja pamięć.

Należy pamiętać, że w SQL Azure uzyskuje się wysoce dostępne (3x zreplikowane z awaryjnym) rozwiązanie SQL, które udostępnia znany interfejs API (ADO.NET). Dokonuj wyborów w oparciu o aspekty inne niż koszty przechowywania, takie jak wysiłek operacyjny i nakład pracy nad rozwojem. Jeśli wybierzesz RavenDB, powinno to być spowodowane potencjalnymi oszczędnościami kosztów w wysiłku programistycznym (ze względu na bliskość interfejsu API dokumentu do wykresu obiektu) i kosztami operacyjnymi, ponieważ RavenDB jest "administrowany" jako część aplikacji. Koszt przechowywania rzeczywistych bajtów, szczególnie w skali, jest marginalny.

+3

+1 - dotyczy to RavenDB, MongoDB i naprawdę dowolnej innej bazy danych NoSQL, którą instalujesz. SQL Azure doskonale nadaje się do relacyjnych danych, ale może nie pasować do konkretnego schematu (lub jego braku). –

+0

dziękuję, to było bardzo pomocne –

7

Dodanie nieco do @ Simona odpowiedź: Rozważając Table Storage i jego niski koszt, a także rozważyć, czy można go używać bezpośrednio, zamiast iść z zainstalowanym i-zarządzanej po ciebie silnika bazy danych NoSQL. W obecnej wersji Table Storage oferuje rozwiązanie, które pozwala przechowywać zasadniczo torbę własności w jednym wierszu, indeksowaną za pomocą parametru partitionkey + rowkey. Czy to Ci pasuje? Czy możesz pracować z kilkoma dodatkowymi tabelami, aby uzyskać dodatkowe indeksowanie? Jeśli tak, twój koszt przechowywania będzie naprawdę niski (i nadal trwały, potrójnie zreplikowany).

Jeśli zauważysz, że piszesz znaczący kod do zarządzania przechowywaniem tabel, może być bardziej wydajne inwestowanie w instancje Compute potrzebne do uruchomienia RavenDB. Rozważając to, należy również wziąć pod uwagę, że prawdopodobnie będziesz chciał większych rozmiarów maszyn wirtualnych, jeśli przenosisz istotne dane (otrzymujesz ok. 100 Mb/s na rdzeń). Baza danych, taka jak MongoDB, pracująca z plikami mapowanymi w pamięci, naprawdę przyspiesza z większą ilością pamięci RAM. Nie wiem, czy to samo z RavenDB.

+0

Mam problem z "czy można użyć [przechowywania tabel], zamiast iść z silnikiem bazy danych NoSQL." Co to jest Table Storage, jeśli nie silnik bazy danych NoSQL? – smarx

+0

Miałem na myśli mechanizm roll-your-own-nosql-database, taki jak RavenDB. Odpowiedź edytowana. –

+0

Dziękuję David! –

Powiązane problemy