Co je Azure Cosmos DB for NoSQL

Dokončeno

Začněme několika definicemi a rychlou prohlídkou služby Azure Cosmos DB for NoSQL. Tento přehled by vám měl pomoct zjistit, jestli může být služba Azure Cosmos DB vhodná pro vaši práci.

Co je databáze NoSQL?

Vývojáři vyžadují nové typy databází, které můžou řešit jedinečné výzvy moderních aplikací. Databáze NoSQL byly navrženy tak, aby řešily potřeby, například:

  • Velké objemy dat.
  • Data s mnoha různými zdroji a formuláři
  • Dynamická schémata dat, která ukládají různé typy dat.
  • Použití vysokorychlostních dat a/nebo dat v reálném čase

Databáze NoSQL definujete běžnými vlastnostmi, které sdílejí, a nikoli konkrétní formální definicí. Mezi tyto charakteristiky patří:

  • Nerelační úložiště dat.
  • Navržená tak, aby škálovat na více instancí.
  • Nevynucuje konkrétní schéma.

Obecně platí, že databáze NoSQL nevynucují relační omezení ani neumisťují zámky na data, což umožňuje rychlé zápisy. Často se také navrhují tak, aby horizontálně škálovaly prostřednictvím horizontálního dělení nebo dělení, což jim umožňuje udržovat vysoký výkon bez ohledu na velikost.

Přestože existuje mnoho datových modelů NoSQL, při modelování dat v databázi NoSQL se běžně používají čtyři široké rodiny datových modelů:

Diagram znázorňující různé modely NoSQL včetně; a key-value, document, graph, and column-family store.

V budoucnu se zaměříme na datový model podporovaný službou Azure Cosmos DB for NoSQL: Datový model dokumentu .

Proč používat databázi NoSQL s datovým modelem dokumentu?

Datový model dokumentu rozdělí data do jednotlivých entit dokumentu . Dokument může být libovolný strukturovaný datový typ, ale json se běžně používá jako formát dat. Azure Cosmos DB for NoSQL nativně podporuje JSON.

Obrázek hierarchického datového modelu dokumentu, který obsahuje nadřazené entity, podřízené entity a spojnice, které je spojují

Dokument je atomická entita a může mít vlastní datový formulář bez ohledu na to, co je uloženo v jiných dokumentech ve stejné databázi. Vzhledem k této flexibilitě není potřeba předdefinované schéma, které usnadňuje rychlé sestavování nových aplikací. Kromě toho tato flexibilita umožňuje scénáře, ve kterých lze různé typy dat ukládat společně a kde se modely můžou vyvíjet v průběhu životnosti aplikace.

Co je dokument JSON?

Zápis objektů JavaScriptu neboli JSON je jednoduchý datový formát. Json byl vytvořen tak, aby byl vysoce kompatibilní s literálovým zápisem objektu v jazyce JavaScript. Mnoho architektur, prohlížečů a dokonce i databází nativně podporuje JavaScript, takže JSON je oblíbeným formátem pro přenos a ukládání dat.

Tady je příklad dokumentu JSON:

{
  "device": {
    "type": "mobile"
  },
  "sentTime": "2019-11-12T13:08:42",
  "spoolRefs": [
    "6a86682c-be5a-4a4a-bacd-96c4d1c7ece6",
    "79e78fe2-93aa-4688-89db-a7278b034aa6"
  ]
}

Jak vidíte, JSON je relativně čitelný datový formát, který jasně zpřístupňuje jeho obsah. JSON je také poměrně snadné parsovat a používat v javascriptových aplikacích.

Co je Azure Cosmos DB for NoSQL?

Azure Cosmos DB for NoSQL je rychlá databázová služba NoSQL a vektorové databáze, která nabízí bohaté dotazování na různorodá data a podporuje novou generaci aplikací Generative AI. Pomáhá poskytovat konfigurovatelný a spolehlivý výkon, je globálně distribuovaný a umožňuje rychlý vývoj.

Obrázek mapy světa se čtyřmi globálně distribuovanými uzly, které jsou propojené přes čáry

Rozhraní API NoSQL je základní nebo nativní rozhraní API pro práci s dokumenty. Rozhraní API NoSQL podporuje rychlý a flexibilní vývoj využívající dokumenty JSON, dotazovací jazyk se známou syntaxí a klientské knihovny pro oblíbené programovací jazyky. Azure Cosmos DB také poskytuje jedinečné funkce, jako je indexování vektorů a vyhledávání, což uživatelům umožňuje vytvářet nové typy aplikací Generative AI nad daty uživatelů, které mohou rychle škálovat.

Azure Cosmos DB for NoSQL má několik výhod, jako jsou:

  • Industry Leading Vector Database with vector indexing and search designed to handle high-dimenzionální vektory, což umožňuje efektivní a přesné vektorové vyhledávání v libovolném měřítku.
  • Zaručená rychlost v libovolném měřítku i prostřednictvím nárazů – s okamžitým, neomezeným elasticitou, rychlými čteními a více hlavními zápisy kdekoli na světě.
  • Rychlý a flexibilní vývoj aplikací pomocí sad SDK pro oblíbené jazyky a architektury, jako jsou .NET, Java, Python, JavaScript a GO, a také analýzy bez ETL (extrakce, transformace, načítání).
  • Připraveno na klíčové aplikace s garantovanou kontinuitou podnikových procesů, 99,999% dostupností a zabezpečením na podnikové úrovni.
  • Plně spravované a nákladově efektivní díky plně vybavené bezserverové nabídce a okamžitému, automatickému a dynamickému škálování, které reaguje na potřeby aplikací.

Díky těmto funkcím je Azure Cosmos DB ideální pro moderní vývoj aplikací. Azure Cosmos DB for NoSQL je zvláště vhodný pro aplikace, které:

  • Dochází k nepředvídatelným špičkám a poklesům provozu
  • Generování velkého množství dat
  • Potřeba poskytovat uživatelské prostředí v reálném čase
  • Jsou závislé na kontinuitě podnikových procesů.

Azure Cosmos DB for NoSQL může ukládat nativní dokumenty JSON s flexibilním schématem. Data se indexují automaticky a jsou k dispozici pro dotazování pomocí chutě dotazovacího jazyka SQL určeného pro data JSON. K rozhraní API NoSQL je možné přistupovat pomocí sad SDK pro oblíbené architektury, jako jsou .NET, Python, Java, Node.js a GO.