46

Właśnie zaczynam uczyć się Azure i nie widzę zbyt wielu scenariuszy, w których chciałbyś umieścić coś w tabeli magazynu Azure w przeciwieństwie do SQL. Sądzę, że może jestem przyzwyczajony do pracy w środowiskach, w których potrzebuję powiązanych danych?Tabele przechowywania Azure a SQL

Kiedy lepiej umieścić coś w tabeli pamięci Azure, a nie w tabeli w bazie danych Azure SQL?

Odpowiedz

53

SQL Azure jest wielki, kiedy chcesz pracować z ustrukturyzowanych danych za pomocą relacji, indeksy, ograniczenia itp

Azure tabeli przechowywanie jest wielki, kiedy trzeba pracować ze scentralizowanych danych strukturyzowanych bez relacji i zwykle z dużych objętościach .

cenę: SQL Azure: $ 25.98/mc za 5GB

stół Przechowywanie: $ 21.88/m do 175 GB (bez transakcji lub pasma) Więc jeśli przechowywania dużych ilości danych, stół przechowywania jest dużo tańsze ... pomyśl o logowaniu na przykład.

Centralizacja: Windows Azure jest rozproszonym środowisku serwerów, więc jeśli coś zapisać na jednej maszynie, inni nie wiedzą o tym, dlatego tabela przechowywanie jest dobrym rozwiązaniem dla scentralizowanych Loggins, obsługi sesji, ustawień lub cokolwiek (pamiętaj, że jest opóźnienie nawet w jednym centrum danych)

Prędkość: Jeśli dobrze to zaprojektujesz, w wielu przypadkach stół do przechowywania powinien być szybszy niż niebieski, ale prawdopodobnie zależy to od przypadków użycia i nie mam naprawdę to przetestowałem.

0

Należy przeczytać w korzyściach płynących z „NoSQL” http://en.wikipedia.org/wiki/NoSQL

dla relacyjnych DB, bez schematu, wielkie danych, skala, aby wymienić tylko kilka!

+0

Zobacz mój blog na ten temat: http://gavinstevens.com/2016/11/30/sql-server-vs-azure-sql/ –

9

użyłbym zawsze dobrze używać tabel lazurowe jak dużo tańsze rozwiązanie, jeśli:

  • ja wykonać tabelę wybiera tylko przez PK (wybierz się na nieruchomości jest powolny ze względu na całej deserializacji)
  • mogę żyć z ograniczonego zestawu Linq (Query Operators (Table Service Support)
  • nie muszę dołączyć tabele i wykonywać złożone zapytania na serwerze
  • muszę horizonatal partycjonowania „sharding” moich danych (SQL Azure i Federacji s krok w tym kierunku Tabele mają PartionKey od dnia 0
+0

Tabele Azure są tańsze niż SQL Azure, jeśli wzorzec dostępu do danych jest stosunkowo lekki, ponieważ tabele mają opłatę za transakcję, a SQL Azure nie. – RickNZ

+1

@RickNZ Warto zauważyć, że w chwili pisania tej opłaty opłata jest bardzo niska: 0,005 USD za 100 000 transakcji. –

26

Dodając późno do tego posta, chciałbym wspomnieć o jednej rzeczy, która wydaje się nie być objęta. Azure SQL ma limity danych (wkrótce podejdę). 5 GB dla wersji internetowej i 150 GB dla wersji biznesowej. W przypadku niektórych rozwiązań jest to całkowicie wystarczające. Ale dla innych może nie być i osobiście to spotkałem.

Limity górnych dysków Azure tabel są znacznie wyższe. Uważam, że jego 100 TB.

Ponadto, chociaż NoSQL z natury nie jest relacyjny, niekoniecznie jest to złe. Często myślimy, że potrzebujemy relacji, podczas gdy w rzeczywistości, jeśli inaczej myślimy o naszych problemach, możemy nie. Możesz wymusić relacje w obrębie samego kodu - podejrzewam, że większość programistów robi o wiele więcej, niż naprawdę myślą.

+2

Więcej osób powinno przeczytać całą drogę w dół :) –

Powiązane problemy