Wat is Azure Cosmos DB voor NoSQL?
Laten we beginnen met een paar definities en een korte rondleiding door Azure Cosmos DB voor NoSQL. In dit overzicht kunt u zien of Azure Cosmos DB geschikt is voor uw werk.
Wat is een NoSQL-database?
Ontwikkelaars hebben nieuwe soorten databases nodig die de unieke uitdagingen van moderne apps kunnen aanpakken. NoSQL-databases zijn ontworpen om tegemoet te komen aan behoeften zoals:
- Grote hoeveelheden gegevens.
- Gegevens met veel verschillende bronnen en formulieren.
- Dynamische gegevensschema's waarmee verschillende typen gegevens worden opgeslagen.
- Hoge snelheid en/of realtime gegevens gebruiken.
U definieert NoSQL-databases op basis van de algemene kenmerken die ze delen in plaats van door een specifieke formele definitie. Deze kenmerken zijn onder andere:
- Een niet-relationeel gegevensarchief.
- Ontworpen om uit te schalen.
- Het afdwingen van een specifiek schema wordt niet afgedwongen.
Over het algemeen dwingen NoSQL-databases geen relationele beperkingen af of worden vergrendelingen op gegevens geplaatst, waardoor schrijfbewerkingen snel worden gemaakt. Ze zijn ook vaak ontworpen om horizontaal te schalen via sharding of partitionering, waardoor ze hoge prestaties kunnen onderhouden, ongeacht de grootte.
Hoewel er veel NoSQL-gegevensmodellen zijn, worden vier algemene gegevensmodelfamilies vaak gebruikt bij het modelleren van gegevens in een NoSQL-database:
Verder richten we ons op het gegevensmodel dat wordt ondersteund door Azure Cosmos DB for NoSQL: het documentgegevensmodel .
Waarom een NoSQL-database gebruiken met het documentgegevensmodel?
In het documentgegevensmodel worden gegevens opgesplitst in afzonderlijke documententiteiten . Een document kan elk gestructureerd gegevenstype zijn, maar JSON wordt vaak gebruikt als de gegevensindeling. Azure Cosmos DB for NoSQL biedt systeemeigen ondersteuning voor JSON.
Een document is een atomische entiteit en kan een eigen gegevensvorm hebben, ongeacht wat in andere documenten in dezelfde database is opgeslagen. Vanwege deze flexibiliteit is er geen vooraf gedefinieerd schema nodig, waardoor het eenvoudiger is om snel nieuwe toepassingen te bouwen. Bovendien biedt deze flexibiliteit scenario's waarin verschillende typen gegevens samen kunnen worden opgeslagen en waar modellen zich kunnen ontwikkelen gedurende de levensduur van een toepassing.
Wat is een JSON-document?
JavaScript Object Notation of JSON is een lichtgewicht gegevensindeling. JSON is gebouwd om zeer compatibel te zijn met de letterlijke notatie van een object in de JavaScript-taal. Veel frameworks, browsers en zelfs databases bieden ondersteuning voor JavaScript, waardoor JSON een populaire indeling wordt voor het verzenden en opslaan van gegevens.
Hier volgt een voorbeeld van een JSON-document:
{
"device": {
"type": "mobile"
},
"sentTime": "2019-11-12T13:08:42",
"spoolRefs": [
"6a86682c-be5a-4a4a-bacd-96c4d1c7ece6",
"79e78fe2-93aa-4688-89db-a7278b034aa6"
]
}
Zoals u ziet, is JSON een relatief leesbare gegevensindeling waarmee de inhoud duidelijk zichtbaar wordt. JSON is ook relatief eenvoudig te parseren en te gebruiken in JavaScript-toepassingen.
Wat is Azure Cosmos DB voor NoSQL?
Azure Cosmos DB for NoSQL is een snelle NoSQL- en vectordatabaseservice die uitgebreide query's biedt op diverse gegevens en ondersteuning biedt voor een nieuwe generatie Generation of Generation AI-toepassingen. Het helpt configureerbare en betrouwbare prestaties te leveren, wordt wereldwijd gedistribueerd en maakt snelle ontwikkeling mogelijk.
De NoSQL-API is de kern- of systeemeigen API voor het werken met documenten. De NoSQL-API ondersteunt snelle, flexibele ontwikkeling met behulp van JSON-documenten, een querytaal met een vertrouwde syntaxis en clientbibliotheken voor populaire programmeertalen. Azure Cosmos DB biedt ook unieke mogelijkheden, zoals vectorindexering en zoekopdrachten, zodat gebruikers een nieuw ras van Generatieve AI-toepassingen kunnen maken op basis van gegevens van gebruikers die snel kunnen worden geschaald.
Azure Cosmos DB for NoSQL heeft enkele voordelen, zoals:
- Toonaangevende vectordatabase met vectorindexering en zoekopdrachten die zijn ontworpen om high-dimensionale vectoren te verwerken, waardoor efficiënte en nauwkeurige vectorzoekopdrachten op elke schaal mogelijk zijn.
- Gegarandeerde snelheid op elke schaal , zelfs door bursts, met directe, onbeperkte elasticiteit, snelle leesbewerkingen en schrijfbewerkingen met meerdere masters, overal ter wereld.
- Snelle, flexibele app-ontwikkeling met SDK's voor populaire talen en frameworks, zoals .NET, Java, Python, JavaScript en GO, evenals analyse zonder ETL (extraheren, transformeren, laden).
- Klaar voor bedrijfskritieke toepassingen met gegarandeerde bedrijfscontinuïteit, beschikbaarheid van 99,999 procent en beveiliging op bedrijfsniveau.
- Volledig beheerd en rendabel met een volledig functionele serverloze aanbieding en direct, automatisch en dynamisch schalen die reageert op de behoeften van de toepassing.
Deze mogelijkheden maken Azure Cosmos DB ideaal geschikt voor moderne toepassingsontwikkeling. Azure Cosmos DB for NoSQL is vooral geschikt voor toepassingen die:
- Onvoorspelbare pieken en dips in verkeer ervaren
- Veel gegevens genereren
- Moet realtime gebruikerservaringen leveren
- Zijn afhankelijk van bedrijfscontinuïteit
De Azure Cosmos DB for NoSQL kan systeemeigen JSON-documenten opslaan met een flexibel schema. Gegevens worden automatisch geïndexeerd en zijn beschikbaar voor query's met behulp van de SQL-querytaal die is ontworpen voor JSON-gegevens. De NoSQL-API kan worden geopend met behulp van SDK's voor populaire frameworks zoals .NET, Python, Java, Node.js en GO