API kiválasztása az Azure Cosmos DB-ben

A KÖVETKEZŐKRE VONATKOZIK: Nosql MongoDB Cassandra Gremlin Táblázat Postgresql

Az Azure Cosmos DB egy teljes körűen felügyelt NoSQL-, relációs és vektoradatbázis a modern alkalmazásfejlesztéshez. Az Azure Cosmos DB automatikus felügyelettel, frissítésekkel és javításokkal veszi le az adatbázis-felügyeletet a kezéről. Emellett költséghatékony kiszolgáló nélküli és automatikus skálázási lehetőségekkel kezeli a kapacitáskezelést, amely az alkalmazásnak megfelel a kapacitás és az igény szerint.

API-k az Azure Cosmos DB-ben

Az Azure Cosmos DB több adatbázis API-t is kínál, amelyek közé tartozik a NoSQL, a MongoDB, a PostgreSQL, a Cassandra, a Gremlin és a Table. Ezeknek az API-knak a használatával valós adatokat modellezhet dokumentumok, kulcsértékek, grafikonok és oszlopcsalád adatmodellek használatával. Ezek az API-k lehetővé teszik az alkalmazások számára, hogy úgy kezeljék az Azure Cosmos DB-t, mintha más adatbázis-technológiák lennének, a felügyelet és a skálázási megközelítések nélkül. Az Azure Cosmos DB segít a különböző API-kkal való adatmodellezéshez és lekérdezéshez már meglévő ökoszisztémák, eszközök és készségek használatában.

Az összes API automatikusan skálázhatja a tárhelyet és az átviteli sebességet, a rugalmasságot és a teljesítménygaranciát. Nincs egy legjobb API, és bármelyik API-t választhatja az alkalmazás létrehozásához. Ez a cikk segít kiválasztani egy API-t a számítási feladatok és a csapat követelményei alapján.

Az API kiválasztásakor megfontolandó szempontok

A NoSQL-hez készült API natív az Azure Cosmos DB-ben.

A MongoDB, a PostgreSQL, a Cassandra, a Gremlin és a Table API implementálja a nyílt forráskódú adatbázismotorok vezetékes protokollját. Ezek az API-k akkor a legalkalmasabbak, ha az alábbi feltételek teljesülnek:

  • Ha már rendelkezik MongoDB-, PostgreSQL Cassandra- vagy Gremlin-alkalmazásokkal
  • Ha nem szeretné átírni a teljes adatelérési réteget
  • Ha a nyílt forráskódú fejlesztői ökoszisztémát, az ügyfél-illesztőprogramokat, a szakértelmet és az adatbázis erőforrásait szeretné használni
  • Ha az Azure Cosmos DB alapvető funkcióit szeretné használni, például:
    • Globális terjesztés
    • A tárolás és az átviteli sebesség rugalmas skálázása
    • Nagy teljesítmény nagy méretekben
    • Közel valós idejű adatelérés
    • Tranzakciós és elemzési számítási feladatok futtatásának képessége
    • Teljes körűen felügyelt platform
  • Ha modernizált alkalmazásokat fejleszt többfelhős környezetben

Új alkalmazásokat hozhat létre ezekkel az API-kkal, vagy migrálhatja a meglévő adatokat. Az áttelepített alkalmazások futtatásához módosítsa az alkalmazás kapcsolati sztring, és futtassa tovább a korábbiakhoz hasonlóan. A meglévő alkalmazások migrálásakor mindenképpen értékelje ki ezeknek az API-knak a funkciótámogatását.

A számítási feladat alapján ki kell választania a követelménynek megfelelő API-t. Az alábbi képen egy folyamatábra látható, amely bemutatja, hogyan választhatja ki a megfelelő API-t új alkalmazások létrehozásakor vagy meglévő alkalmazások Azure Cosmos DB-be való migrálásakor:

Az Azure Cosmos DB-ben egy API kiválasztásához használható döntési fa diagramja.

Az Azure Cosmos DB-ben egy API kiválasztásához használható döntési fa diagramja. A diagram fele azt mutatja be, hogy hány meglévő nyílt forráskódú adatbázis-számítási feladat használhatja a megfelelő API-kat az Azure Cosmos DB-hez. A diagram másik fele bemutatja, hogy az új alkalmazások hogyan használhatják a NoSQL API-t, vagy hogyan használhatják a meglévő készségeit nyílt forráskódú adatbázisok API-jaival.

API a NoSQL-hez

Az Azure Cosmos DB API for NoSQL dokumentumformátumban tárolja az adatokat. A legjobb teljes körű élményt nyújtja, mivel teljes mértékben szabályozhatjuk az interfészt, a szolgáltatást és az SDK-ügyfélkódtárakat. Az Azure Cosmos DB-ben megjelenő új funkciók először a NoSQL-fiókokhoz készült API-kban érhetők el. A NoSQL-fiókok támogatják az elemek lekérdezését a strukturált lekérdezési nyelv (SQL) szintaxisával, amely az egyik legismertebb és legnépszerűbb lekérdezési nyelv a JSON-objektumok lekérdezéséhez. További információkért tekintse meg az Azure Cosmos DB API for NoSQL betanítási modult és az SQL-lekérdezések használatának első lépéseit ismertető cikket.

Ha más adatbázisokból, például Oracle-ből, DynamoDB-ből, HBase-ből stb. migrál, és a modernizált technológiákat szeretné használni az alkalmazások létrehozásához, akkor az API for NoSQL ajánlott. A NoSQL-hez készült API támogatja az elemzéseket, és teljesítményelkülönítést biztosít az üzemeltetési és az elemzési számítási feladatok között.

API a MongoDB-hez

A MongoDB-hez készült Azure Cosmos DB API BSON formátumban tárolja az adatokat egy dokumentumstruktúrában. Kompatibilis a MongoDB vezetékes protokollal; azonban nem használ natív MongoDB-hez kapcsolódó kódot. A MongoDB API nagyszerű választás, ha a Szélesebb MongoDB ökoszisztémát és készségeket szeretné használni anélkül, hogy veszélyeztetné az Azure Cosmos DB funkcióit.

Az Azure Cosmos DB által biztosított funkciók, amelyek esetében nem kell kompromisszumot kötnie a következőkre:

  • Méretezés
  • Magas szintű rendelkezésre állás
  • Georeplikáció
  • Több írási hely
  • Automatikus és transzparens szegmenskezelés
  • Transzparens replikáció működési és elemzési tárolók között

A MongoDB-hez készült API-val meglévő MongoDB-alkalmazásait a kapcsolati sztring módosításával használhatja. A meglévő adatokat natív MongoDB-eszközökkel, például mongodump > mongorestore-tal vagy az Azure Database Migration eszközzel helyezheti át. Az olyan eszközök, mint a MongoDB-rendszerhéj, a MongoDB Compass és a Robo3T, lekérdezéseket futtathatnak, és ugyanúgy dolgozhatnak az adatokkal, mint a natív MongoDB-vel. További információ: API for MongoDB .

API for PostgreSQL

Az Azure Cosmos DB for PostgreSQL egy felügyelt szolgáltatás a PostgreSQL bármilyen szintű futtatásához, a Citus nyílt forráskód elosztott táblák szuperképességével. Az adatokat egyetlen csomóponton tárolja, vagy többcsomópontos konfigurációban osztja el.

Az Azure Cosmos DB for PostgreSQL a postgreSQL helyett a natív PostgreSQL-re épül, és lehetővé teszi a PostgreSQL-közösség által támogatott főbb adatbázis-verziók kiválasztását. Ideális egycsomópontos adatbázis indításához gazdag indexeléssel, térinformatikai képességekkel és JSONB-támogatással. Később, ha nagyobb teljesítményre van szüksége, nulla állásidővel hozzáadhat csomópontokat a fürthöz.

Ha nagy teljesítményű és georeplikációval rendelkező felügyelt nyílt forráskód relációs adatbázist keres, az Azure Cosmos DB for PostgreSQL ajánlott választás. További információkért tekintse meg az Azure Cosmos DB for PostgreSQL bevezetését.

API az Apache Cassandra-hoz

A Cassandra-hoz készült Azure Cosmos DB API oszlopcentrikus sémában tárolja az adatokat. Az Apache Cassandra nagymértékben elosztott, horizontálisan skálázási megközelítést kínál a nagy mennyiségű adat tárolásához, miközben rugalmas megközelítést kínál az oszloporientált sémákhoz. Az Azure Cosmos DB Cassandra API-ja összhangban van ezzel a filozófiával az elosztott NoSQL-adatbázisok megközelítéséhez. Ez a Cassandra API a natív Apache Cassandra protokollal kompatibilis. Érdemes megfontolnia a Cassandra API-t, ha ki szeretné használni az Azure Cosmos DB rugalmasságát és teljes mértékben felügyelt jellegét, és továbbra is a natív Apache Cassandra-funkciókat, eszközöket és ökoszisztémát használja. Ez a teljes mértékben felügyelt természet azt jelenti, hogy a Cassandra API-n nem kell kezelnie az operációs rendszert, a Java virtuális gépet, a szemétgyűjtőt, az olvasási/írási teljesítményt, a csomópontokat, a fürtöket stb.

Az Apache Cassandra ügyfélillesztői segítségével csatlakozhat a Cassandra API-hoz. A Cassandra API lehetővé teszi az adatokkal való interakciót a Cassandra lekérdezési nyelv (CQL) és az olyan eszközök használatával, mint a CQL-rendszerhéj, a Cassandra-ügyfélillesztők, amelyeket már ismer. A Cassandra API jelenleg csak az OLTP-forgatókönyveket támogatja. A Cassandra API-val az Azure Cosmos DB egyedi funkcióit, például a változáscsatornát is használhatja. További információ: API for Cassandra . Ha már ismeri az Apache Cassandrát, de még nem ismeri az Azure Cosmos DB-t, tekintse meg , hogyan alkalmazkodhat a Cassandra API-hoz.

API az Apache Gremlinhez

A Gremlinhez készült Azure Cosmos DB API lehetővé teszi a felhasználók számára, hogy grafikon-lekérdezéseket végezzenek, és szélekként és csúcspontokként tárolják az adatokat.

Használja a Gremlin API-t forgatókönyvekhez:

  • Dinamikus adatok bevonása
  • Összetett kapcsolatokkal rendelkező adatok bevonása
  • Olyan adatok bevonása, amelyek túl összetettek a relációs adatbázisokkal való modellezéshez
  • Ha a meglévő Gremlin ökoszisztémát és készségeket szeretné használni

A Gremlin API egyesíti a gráfadatbázis-algoritmusok erejét a nagymértékben skálázható, felügyelt infrastruktúrával. Ez az API egyedi és rugalmas megoldást kínál a rugalmasság vagy a relációs megközelítések hiányával kapcsolatos gyakori adatproblémákra. A Gremlin API jelenleg csak az OLTP-forgatókönyveket támogatja.

A Gremlin API az Apache TinkerPop gráf-számítási keretrendszeren alapul. A Gremlin API ugyanazt a Graph-lekérdezési nyelvet használja az adatok betöltéséhez és lekérdezéséhez. Az Azure Cosmos DB partícióstratégiával hajtja végre az olvasási/írási műveleteket a Graph-adatbázismotorból. A Gremlin API a nyílt forráskódú Gremlinnel rendelkezik drótprotokoll-támogatással, így a nyílt forráskódú Gremlin SDK-k használatával hozhatja létre az alkalmazást. A Gremlin API az Apache Spark és a GraphFrames használatával is működik összetett elemzési gráfforgatókönyvekhez. További információ: API for Gremlin .

API for Table

A Tablehez készült Azure Cosmos DB API kulcs/érték formátumban tárolja az adatokat. Ha jelenleg Azure Table Storage-t használ, a késés, a skálázás, az átviteli sebesség, a globális terjesztés, az indexkezelés és az alacsony lekérdezési teljesítmény bizonyos korlátait tapasztalhatja. A Table API leküzdi ezeket a korlátozásokat, és javasoljuk, hogy migrálja az alkalmazást, ha ki szeretné használni az Azure Cosmos DB előnyeit. A Table API csak az OLTP-forgatókönyveket támogatja.

Az Azure Table Storage-hoz írt alkalmazások kis kódmódosításokkal migrálhatók a Table API-ba, és kihasználhatják a prémium szintű képességek előnyeit. További információ: API for Table( Api for Table ) című cikk.

Kapacitástervezés adatok áttelepítésekor

Kapacitástervezést szeretne végezni egy meglévő adatbázisfürtből az Azure Cosmos DB for NoSQL-be vagy a MongoDB-be való migráláshoz? A kapacitástervezéshez használhatja a meglévő adatbázisfürt adatait.

Következő lépések