Mi az az Azure Cosmos DB for NoSQL?

Befejeződött

Kezdjük néhány definícióval és egy rövid bemutatóval az Azure Cosmos DB for NoSQL-ben. Ez az áttekintés segít annak megállapításában, hogy az Azure Cosmos DB alkalmas-e a munkájára.

Mi az a NoSQL-adatbázis?

A fejlesztők új típusú adatbázisokat igényelnek, amelyek képesek kezelni a modern alkalmazások egyedi kihívásait. A NoSQL-adatbázisokat az alábbiakhoz hasonló igények kielégítésére tervezték:

  • Nagy mennyiségű adat.
  • Számos különböző forrást és űrlapot tartalmazó adatok.
  • Dinamikus adatsémák, amelyek különböző típusú adatokat tárolnak.
  • Nagy sebességű és/vagy valós idejű adatok használata.

A NoSQL-adatbázisokat nem egy konkrét formális definíció, hanem a közös jellemzők határozzák meg. Ezek a jellemzők a következők:

  • Nem kapcsolódó adattár.
  • A vertikális felskálázásra tervezték.
  • Adott séma kényszerítése nem.

A NoSQL-adatbázisok általában nem kényszerítik ki a relációs kényszereket, és nem zárják be az adatokat, így az írás gyors lesz. Emellett gyakran horizontális skálázásra is tervezték őket horizontálisan skálázással vagy particionálással, ami lehetővé teszi számukra, hogy mérettől függetlenül magas teljesítményt tartsanak fenn.

Bár számos NoSQL-adatmodell létezik, általában négy széles adatmodellcsaládot használnak a NoSQL-adatbázisokban lévő adatok modellezésekor:

Különböző NoSQL-modelleket bemutató diagram, beleértve a következőket: kulcs-érték, dokumentum, gráf és oszlopcsalád tároló.

A továbbiakban az Azure Cosmos DB for NoSQL által támogatott adatmodellre összpontosítunk: a dokumentumadat-modellre .

Miért érdemes NoSQL-adatbázist használni a dokumentumadatmodellel?

A dokumentumadat-modell az adatokat különálló dokumentumentitásokra bontja. A dokumentum bármilyen strukturált adattípus lehet, de a JSON-t gyakran használják adatformátumként. Az Azure Cosmos DB for NoSQL natív módon támogatja a JSON-t.

Egy hierarchikus dokumentumadatmodell illusztrációja, amely tartalmazza a szülő entitásokat, a gyermekentitásokat és az őket összekötő vonalakat.

A dokumentumok atomi entitások, és saját adatűrlapokkal rendelkezhetnek, függetlenül attól, hogy mi található az ugyanabban az adatbázisban található más dokumentumokban. Emiatt a rugalmasság miatt nincs szükség előre definiált sémára, amely megkönnyíti az új alkalmazások gyors létrehozását. Emellett ez a rugalmasság olyan forgatókönyveket is lehetővé tesz, amelyekben különböző típusú adatok tárolhatók együtt, és ahol a modellek az alkalmazás élettartama során fejlődhetnek.

Mi az a JSON-dokumentum?

A JavaScript Object Notation vagy JSON egy egyszerű adatformátum. A JSON-t úgy hozták létre, hogy nagy mértékben kompatibilis legyen a JavaScript nyelvben lévő objektumok szó szerinti jelölésével. Számos keretrendszer, böngésző és adatbázis támogatja natív módon a JavaScriptet, így a JSON népszerű formátum az adatok továbbításához és tárolásához.

Íme egy példa egy JSON-dokumentumra:

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

Mint látható, a JSON egy viszonylag olvasható adatformátum, amely egyértelműen elérhetővé teszi a tartalmát. A JSON viszonylag könnyen elemezhető és használható JavaScript-alkalmazásokban is.

Mi az Az Azure Cosmos DB for NoSQL?

Az Azure Cosmos DB for NoSQL egy gyors NoSQL-adatbázis-szolgáltatás, amely változatos adatokon keresztül nyújt részletes lekérdezést. Segít konfigurálható és megbízható teljesítményt nyújtani, globálisan elosztott, és gyors fejlesztést tesz lehetővé.

Egy világtérkép illusztrációja négy globálisan elosztott csomóponttal, amelyek vonalakon keresztül csatlakoznak.

A NoSQL API a dokumentumok kezeléséhez használt alapvető vagy natív API. A NoSQL API támogatja a JSON-dokumentumok, a jól ismert szintaxissal rendelkező lekérdezési nyelv és a népszerű programozási nyelvek ügyfélkódtárainak használatával történő gyors és rugalmas fejlesztést. Az Azure Cosmos DB más API-kat is biztosít, például a Mongo, a Gremlin és a Cassandra. Ezek az API-k kompatibilitást biztosítanak az egyes adatbázis-ökoszisztémákkal, miközben továbbra is a natív NoSQL API ugyanazon mögöttes infrastruktúrájára vannak leképezve.

Az Azure Cosmos DB for NoSQL számos előnnyel rendelkezik, például:

  • Garantált sebesség bármilyen léptékben – akár kipukkanással is – azonnali, korlátlan rugalmassággal, gyors olvasással és több főkiszolgálós írással, bárhol a világon.
  • Gyors, rugalmas alkalmazásfejlesztés népszerű nyelvekhez készült SDK-kkal, natív NoSQL API-val, valamint a MongoDB, Cassandra és Gremlin API-kkal, valamint no-ETL -elemzésekkel (kinyerés, átalakítás, betöltés)
  • Készen áll a kritikus fontosságú alkalmazásokra garantált üzletmenet-folytonossággal, 99,999 százalékos rendelkezésre állással és nagyvállalati szintű biztonsággal.
  • Teljes mértékben felügyelt és költséghatékony kiszolgáló nélküli adatbázis azonnali, automatikus skálázással, amely megfelel az alkalmazás igényeinek.

Ezek a képességek ideálissá teszik az Azure Cosmos DB-t a modern alkalmazásfejlesztéshez. A NoSQL-hez készült Azure Cosmos DB különösen olyan alkalmazásokhoz használható, amelyek:

  • Kiszámíthatatlan csúcsok és visszaesések a forgalomban
  • Sok adat létrehozása
  • Valós idejű felhasználói élményt kell nyújtania
  • Függ az üzletmenet folytonosságától

Az Azure Cosmos DB for NoSQL tetszőlegesen tárolhat natív JSON-dokumentumokat rugalmas sémával. A rendszer automatikusan indexeli az adatokat, és a JSON-adatokhoz tervezett SQL-lekérdezési nyelv egy ízével érhető el a lekérdezéshez. A NoSQL API SDK-kkal érhető el olyan népszerű keretrendszerekhez, mint a .NET, a Python, a Java és a Node.js.