Gyakori kérdések a NoSQL-hez készült Azure Cosmos DB-ről

A KÖVETKEZŐRE VONATKOZIK: NoSQL

Hogyan elkezdeni a fejlesztést az Azure Cosmos DB for NoSQL-ben?

Először regisztrálnia kell egy Azure-előfizetésre. Miután regisztrál egy Azure-előfizetésre, hozzáadhat egy API for NoSQL-tárolót az Azure-előfizetéshez.

A szoftverfejlesztői készletek (SDK-k) .NET, Python, Node.js, JavaScript, Go és Java rendszerekhez érhetők el. A fejlesztők a REST API-val több platformról és nyelvről is használhatják az Azure Cosmos DB-erőforrásokat.

Vannak Azure Cosmos DB for NoSQL-minták az első lépésekhez?

Tekintse meg ezeket a Rövid útmutató kódmintákat és sablonokat a NoSQL-hez készült API-hoz:

Támogatja az Azure Cosmos DB for NoSQL a sémamentes adatokat?

Igen, a NoSQL API lehetővé teszi, hogy az alkalmazások tetszőleges JSON-dokumentumokat sémadefiníciók vagy tippek nélkül tároljanak elemekként. Az adatok azonnal elérhetők az Azure Cosmos DB for NoSQL lekérdezési nyelvvel való lekérdezéshez.

Támogatja az Azure Cosmos DB for NoSQL az ACID-tranzakciókat (atomiság, konzisztencia, elkülönítés, tartósság) ?

Igen, a NoSQL API támogatja az SDK-kban lévő kötegekkel vagy JavaScript által tárolt eljárásokkal és eseményindítókkal kifejezett dokumentumközi tranzakciókat. A tranzakciók hatóköre minden tárolón belül egyetlen partícióra terjed ki, és acid szemantikával "minden vagy semmi" néven fut, elkülönítve más egyidejűleg végrehajtó kódtól és felhasználói kérésektől. Kivételek esetén a rendszer a teljes tranzakciót visszaállítja.

Hogyan létrehozni egy Azure Cosmos DB for NoSQL-adatbázist?

Adatbázisokat az alábbi eszközök egyikével hozhat létre:

Hogyan konfigurálja az Azure Cosmos DB-t natív NoSQL-felhasználókhoz és engedélyekhez?

Felhasználókat és engedélyeket az Azure Cosmos DB for NoSQL SDK-k vagy a REST API használatával hozhat létre. További információ: felhasználók és erőforrás-jogkivonatok konfigurálása. Az engedélyek erőforrás-jogkivonatok használatával történő létrehozása a tároló szintjén és annak leszármazottainál engedélyezett (például dokumentumok, mellékletek). Az adatbázis- vagy fiókszinten jelenleg nem lehet engedélyeket létrehozni.

Hitelesíthetek az Azure Cosmos DB for NoSQL-ben a meglévő Microsoft Entra ID-fiókokkal?

Igen! Az Azure Cosmos DB támogatja a Microsoft Entra-hitelesítést a szolgáltatás és erőforrásai (vezérlősík) kezeléséhez, valamint az adatok, műveletek és lekérdezések (adatsík) végrehajtásához. A vezérlősíkos hitelesítés az Azure szerepköralapú hozzáférés-vezérlési funkciójával történik. Használhat előre konfigurált beépített szerepkört](.. /.. /role-based-access-control/built-in-roles.md) vagy létrehozhat egy egyéni szerepkört. Az Azure szerepköralapú hozzáférés-vezérlésével kezelheti a fiókokat, adatbázisokat, tárolókat és metaadatokat. A vezérlősík olyan műveleteket tartalmaz, beleértve, de nem kizárólag ezekre a példákra.

  • Adatbázisok létrehozása, cseréje vagy törlése – Tárolók létrehozása, cseréje vagy törlése – Az adatbázis átviteli teljesítményének olvasása vagy cseréje – A tároló átviteli sebességének olvasása vagy cseréje További információ: Azure Cosmos DB vezérlősík szerepköralapú hozzáférés-vezérlés. Az adatsík-hitelesítés egy egyéni API-t használ a NoSQL-natív szerepköralapú hozzáférés-vezérlés implementálásához. Ezzel a natív implementációval előre konfigurált vagy egyéni szerepköröket is használhat. Natív szerepköralapú hozzáférés-vezérléssel lekérdezéseket hajthat végre, elemeket kezelhet vagy egyéb gyakori műveleteket hajthat végre. Az adatsík olyan műveleteket tartalmaz, beleértve, de nem kizárólag ezekre a példákra.
  • Elemek létrehozása, cseréje, frissítése vagy törlése – Elemek javítása – Lekérdezések végrehajtása További információ: Azure Cosmos DB adatsík szerepköralapú hozzáférés-vezérlés.

Támogatja az Azure Cosmos DB for NoSQL az SQL-lekérdezési nyelvet?

A strukturált lekérdezési nyelv (SQL) általában a relációs adatok lekérdezésére használt nyelv. A NoSQL API-hoz készült egyéni NoSQL-lekérdezési nyelv SQL-ből származik. A NoSQL-lekérdezési nyelv tartalmazza az SQL Serverhez általában társított SQL-lekérdezési nyelv egy részét, valamint a Különböző NoSQL-specifikus fejlesztéseket. A NoSQL-lekérdezési nyelv gazdag hierarchikus és relációs operátorokat és bővíthetőséget biztosít JavaScript-alapú, felhasználó által definiált függvényekkel (UDF-ekkel). A JSON-nyelvhelyesség lehetővé teszi a JSON-dokumentumok faként való modellezését címkézett csomópontokkal, amelyeket az Azure Cosmos DB automatikus indexelési technikái és az Azure Cosmos DB SQL-lekérdezési dialektusa egyaránt használ. A lekérdezési nyelv használatáról további információt a NoSQL Queryben talál.

Támogatja az Azure Cosmos DB for NoSQL az SQL-összesítési függvényeket?

A NoSQL API aggregációt támogat olyan összesítő függvényekkel, mint például: COUNT, MAX, AVG, és SUM a NoSQL lekérdezési nyelv használatával.

Hogyan biztosít egyidejűséget az Azure Cosmos DB for NoSQL?

A NoSQL API HTTP-entitáscímkék vagy ETag-ek használatával támogatja az optimista egyidejűség-vezérlést (OCC). A NoSQL-erőforrásokhoz készült API-khoz tartozik egy ETag, és az ETag minden alkalommal be van állítva a kiszolgálón, amikor egy dokumentum frissül. Az ETag fejléc és az aktuális érték minden válaszüzenetben szerepel. Az e-címkék a fejlécben If-Match használhatók, így a kiszolgáló eldöntheti, hogy frissíteni kell-e egy erőforrást. Az If-Match érték az ellenőrizni kívánt ETag érték. Ha az ETag értéke megegyezik a kiszolgáló ETag értékével, az erőforrás frissül. Ha az ETag már nem aktuális, a kiszolgáló elutasítja a műveletet egy "HTTP 412 előkondicionálási hiba" válaszkóddal. Az ügyfél ezután újrafésüli az erőforrást az erőforrás aktuális ETag-értékének beszerzéséhez. Emellett az ETags a fejlécben If-None-Match is használható annak meghatározásához, hogy szükség van-e az erőforrás újrabetöltésére.

A NoSQL SDK-khoz készült API-k többsége az optimista egyidejűség-vezérlés kezelésére szolgáló osztályokat tartalmaz.

Hogyan szúrhatok be tömegesen dokumentumokat az Azure Cosmos DB for NoSQL-be?

Használja a tömeges importálási funkciót a .NET SDK-ban vagy a Java SDK for the API for NoSQL-ben nagy adatkészletek importálásához. Ez a funkció optimalizálja a kiosztott átviteli sebességet nagy adatkészletek importálásához.

Másik lehetőségként az Apache Spark használatával nagy méretekben importálhat adatokat a Python vagy a Scala használatával.

Támogatja az Azure Cosmos DB for NoSQL az erőforráshivatkozások gyorsítótárazását?

Igen, mivel az Azure Cosmos DB for NoSQL egy RESTful szolgáltatás, az erőforrás-hivatkozások nem módosíthatók, és gyorsítótárazhatók. A NoSQL-ügyfelek API-ja megadhat egy "If-None-Match" fejlécet az olvasáshoz bármely erőforrás-szerű dokumentumon vagy tárolón, majd frissítheti a helyi példányokat a kiszolgálóverzió módosítása után.

Elérhető az Azure Cosmos DB for NoSQL helyi példánya?

Igen. Az Azure Cosmos DB emulátor az Azure Cosmos DB szolgáltatás nagy megbízhatóságú emulációját biztosítja. Támogatja az Azure Cosmos DB-hez hasonló funkciókat különböző API-kban. Ez a funkció támogatja az elemek létrehozását, az elemek lekérdezését, a tárolók kiépítését és a tárolók méretezését. Az emulátor végpontjaival alkalmazásokat fejleszthet és tesztelhet. Ezután az alkalmazásokat globális méretekben helyezheti üzembe az Azure-ban az emulátorból az élő szolgáltatásba való kapcsolati sztring módosításával.

Miért kerekítve vannak a hosszú lebegőpontos értékek egy Azure Cosmos DB for NoSQL-elemben, amikor az Adatkezelőt használja a portálon?

Ez az Adatkezelő korlátozása a JavaScript korlátozása. A JavaScript a 754-ben megadott dupla pontosságú lebegőpontos formátumszámokat használja az Institute of Electrical and Electronics Engineers (I Enterprise kiadás E) 754-ben meghatározottak szerint. Ez az adattípus csak a -(253 – 1) és a 253-1 (azaz 9007199254740991) közötti számokat képes biztonságosan tárolni.