Co to jest usługa Azure Cosmos DB for NoSQL
Zacznijmy od kilku definicji i krótkiego przewodnika po usłudze Azure Cosmos DB for NoSQL. To omówienie powinno ułatwić sprawdzenie, czy usługa Azure Cosmos DB może być odpowiednia dla Twojej pracy.
Co to jest baza danych NoSQL?
Deweloperzy wymagają nowych rodzajów baz danych, które mogą sprostać unikatowym wyzwaniom związanym z nowoczesnymi aplikacjami. Bazy danych NoSQL zostały zaprojektowane pod kątem takich potrzeb jak:
- Duże ilości danych.
- Dane z wieloma różnymi źródłami i formularzami.
- Dynamiczne schematy danych, które przechowują różne typy danych.
- Korzystanie z danych o wysokiej szybkości i/lub w czasie rzeczywistym.
Bazy danych NoSQL definiuje się według wspólnych cech, które współużytkują, a nie przez określoną definicję formalną. Te cechy obejmują:
- Nierelacyjny magazyn danych.
- Jest przeznaczony do skalowania w poziomie.
- Nie wymuszanie określonego schematu.
Ogólnie rzecz biorąc, bazy danych NoSQL nie wymuszają ograniczeń relacyjnych ani nie umieszczają blokad na danych, co sprawia, że zapisy są szybkie. Ponadto są one często przeznaczone do skalowania w poziomie za pośrednictwem fragmentowania lub partycjonowania, co pozwala zachować wysoką wydajność niezależnie od rozmiaru.
Chociaż istnieje wiele modeli danych NoSQL, cztery szerokie rodziny modeli danych są często używane podczas modelowania danych w bazie danych NoSQL:
W przyszłości koncentrujemy się na modelu danych obsługiwanym przez usługę Azure Cosmos DB for NoSQL: model danych dokumentu .
Dlaczego warto używać bazy danych NoSQL z modelem danych dokumentu?
Model danych dokumentu dzieli dane na poszczególne jednostki dokumentów . Dokument może być dowolnym typem danych ustrukturyzowanych, ale kod JSON jest często używany jako format danych. Usługa Azure Cosmos DB for NoSQL obsługuje natywnie kod JSON.
Dokument jest jednostką niepodzielna i może mieć własny formularz danych, niezależnie od tego, co jest przechowywane w innych dokumentach w tej samej bazie danych. Ze względu na tę elastyczność nie ma potrzeby wstępnie zdefiniowanego schematu, co ułatwia szybkie tworzenie nowych aplikacji. Ponadto ta elastyczność umożliwia scenariusze, w których różne typy danych mogą być przechowywane razem i gdzie modele mogą ewoluować w całym okresie istnienia aplikacji.
Co to jest dokument JSON?
JavaScript Object Notation ( JSON) to uproszczony format danych. Kod JSON został skompilowany tak, aby był wysoce zgodny z notacją literału obiektu w języku JavaScript. Wiele struktur, przeglądarek, a nawet baz danych obsługuje język JavaScript natywnie, dzięki czemu kod JSON jest popularnym formatem do przesyłania i przechowywania danych.
Oto przykład dokumentu JSON:
{
"device": {
"type": "mobile"
},
"sentTime": "2019-11-12T13:08:42",
"spoolRefs": [
"6a86682c-be5a-4a4a-bacd-96c4d1c7ece6",
"79e78fe2-93aa-4688-89db-a7278b034aa6"
]
}
Jak widać, format JSON jest stosunkowo czytelnym formatem danych, który wyraźnie uwidacznia jego zawartość. Kod JSON jest również stosunkowo łatwy do analizowania i używania w aplikacjach JavaScript.
Co to jest usługa Azure Cosmos DB for NoSQL?
Usługa Azure Cosmos DB for NoSQL to szybka usługa bazy danych NoSQL i wektorów, która oferuje zaawansowane zapytania dotyczące różnych danych i obsługuje nową generację aplikacji generowania sztucznej inteligencji. Pomaga ona dostarczać konfigurowalną i niezawodną wydajność, jest globalnie dystrybuowana i umożliwia szybkie opracowywanie.
Interfejs API NoSQL jest podstawowym lub natywnym interfejsem API do pracy z dokumentami. Interfejs API NoSQL obsługuje szybkie, elastyczne programowanie przy użyciu dokumentów JSON, język zapytań ze znaną składnią i biblioteki klienckie dla popularnych języków programowania. Usługa Azure Cosmos DB udostępnia również unikatowe funkcje, takie jak indeksowanie wektorów i wyszukiwanie, dzięki czemu użytkownicy mogą tworzyć nową rasę aplikacji generowania sztucznej inteligencji na podstawie danych użytkowników, które mogą szybko skalować.
Usługa Azure Cosmos DB for NoSQL ma kilka zalet, takich jak:
- Wiodąca w branży baza danych wektorów z indeksowaniem i wyszukiwaniem wektorów przeznaczonych do obsługi wektorów o wysokim wymiarach, umożliwiając wydajne i dokładne wyszukiwanie wektorów na dowolnej skali.
- Gwarantowana szybkość w dowolnej skali nawet przez serie — dzięki natychmiastowej, nieograniczonej elastyczności, szybkim odczytom i zapisom wielowzorcowym w dowolnym miejscu na świecie.
- Szybkie, elastyczne tworzenie aplikacji za pomocą zestawów SDK dla popularnych języków i struktur, takich jak .NET, Java, Python, JavaScript i GO, a także bez etL (wyodrębnianie, przekształcanie, ładowanie) analizy.
- Gotowe do obsługi aplikacji o znaczeniu krytycznym z gwarantowaną ciągłością biznesową, dostępnością na poziomie 99,999% i zabezpieczeniami klasy korporacyjnej.
- W pełni zarządzane i ekonomiczne dzięki w pełni funkcjonalnej oferty bezserwerowej, a także natychmiastowemu, automatycznemu i dynamicznemu skalowaniu, które odpowiada na potrzeby aplikacji.
Te możliwości sprawiają, że usługa Azure Cosmos DB idealnie nadaje się do nowoczesnego tworzenia aplikacji. Usługa Azure Cosmos DB for NoSQL jest szczególnie odpowiednia dla aplikacji, które:
- Doświadczenie nieprzewidywalnych skoków i spadków ruchu
- Generowanie dużej ilości danych
- Konieczność dostarczania środowisk użytkownika w czasie rzeczywistym
- Są zależne od ciągłości działania
Usługa Azure Cosmos DB for NoSQL może przechowywać natywne dokumenty JSON przy użyciu elastycznego schematu. Dane są indeksowane automatycznie i są dostępne do wykonywania zapytań przy użyciu języka zapytań SQL przeznaczonego dla danych JSON. Dostęp do interfejsu API NoSQL można uzyskać przy użyciu zestawów SDK dla popularnych struktur, takich jak .NET, Python, Java, Node.js i GO