2017-05-17 13 views
5

Jestem bardzo podekscytowany wykorzystaniem bazy danych Cosmos w mojej obecnej aplikacji zamiast bazy danych Azure SQL.Czy można użyć bazy danych Cosmos DB zamiast bazy danych SQL Azure?

Przed użyciem Cosmos DB jako backend w moim bieżącej aplikacji, mam kilka pytań w głowie te są

  1. W moim bieżącej aplikacji użyłem Entity Framework.
  2. A także używane szyfrowanie kolumn, dynamiczne funkcje maskowania danych.

Tak więc, jeśli przeniosłem się do bazy danych Cosmos zamiast korzystać z bazy danych Azure SQL, to w jaki sposób mogę uzyskać te funkcje za pomocą bazy danych Cosmos?

Dokumentacja nie określa szczegółów dotyczących szyfrowania, maskowania i struktury encji.

Czy możesz mi powiedzieć "czy możliwe jest użycie Cosmos DB z powyższymi wymaganiami zamiast bazy danych Azure SQL?

+0

Nie, Cosmos DB nie jest relacyjną bazą danych! Po prostu migracja nie jest opcją w twoim scenariuszu. –

Odpowiedz

9

Entity Framework jest specyficzny dla relacyjnych baz danych, więc nie pasuje do magazynu dokumentów Cosmos DB (ani wykresu, ani tabel).

Odnośnie szyfrowania: system Cosmos DB zapewnia szyfrowanie w stanie spoczynku, wbudowany. Nie ma wbudowanej funkcji maskowania danych per-property; musiałbyś zrobić własne maskowanie danych.

Niezależnie od tego, czy dokonujesz migracji do dokumentu (lub wykresu, czy też tabeli), przechowywanie zależy od Ciebie i czy chcesz zmienić kształt swoich danych, aby pasowały do ​​takiego modelu przechowywania, czy modelu relacyjnego. Nie ma prawdziwego sposobu na odpowiedź. (TL; DR nie można po prostu zmienić z relacyjnego na, powiedzmy, dokumentu, bez żadnych zmian, ponieważ są to zasadniczo różne koncepcje przechowywania).

+3

EF Core jest przeznaczony do pracy z magazynami nierelacyjnymi. Zauważ, że istnieje osobny pakiet Nuget tylko dla magazynów relacyjnych. Po prostu jeszcze się nie stało. https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Relational –

Powiązane problemy