Azure Cosmos DB
Főnév
Azure Cosmos DB (tsz. Azure Cosmos DBs)
- (informatika) Az Azure Cosmos DB a Microsoft által fejlesztett, globálisan elosztott, többmodelles adatbázis-szolgáltatás, amely kifejezetten a modern felhőalapú alkalmazások számára készült. Az Azure Cosmos DB lehetővé teszi a fejlesztők számára, hogy skálázható, gyors és megbízható adatbázisokat hozzanak létre és futtassanak, amelyek világszerte elérhetők és többféle adattípust és adatszerkezetet támogatnak.
Fő jellemzők:
- Globális elosztottság:
- Az Azure Cosmos DB lehetővé teszi az adatok globális replikációját. Az adatok automatikusan replikálódnak a világ különböző Azure régióiban, ezáltal az alkalmazások a felhasználókhoz legközelebbi adatközpontból tudnak olvasni és írni, ami csökkenti a késleltetést és növeli a teljesítményt.
- Többmodelles adatbázis:
- Az Azure Cosmos DB többféle adatmodellt támogat, így lehetővé teszi, hogy különböző típusú adatokat (dokumentumokat, kulcs-érték párokat, gráfokat, táblázatokat stb.) egyetlen adatbázisban kezeljen. A legelterjedtebb modellek:
- Dokumentum-alapú: JSON alapú dokumentumokat kezel.
- Kulcs-érték tárolás: Egyszerű kulcs-érték párok tárolása és lekérdezése.
- Gráf alapú: Gráf adatszerkezetek tárolása, például a Gremlin API-val.
- Táblázat alapú: Hasonló az Azure Table Storage-hoz, de alacsonyabb késleltetéssel és globális replikációval.
- Az Azure Cosmos DB többféle adatmodellt támogat, így lehetővé teszi, hogy különböző típusú adatokat (dokumentumokat, kulcs-érték párokat, gráfokat, táblázatokat stb.) egyetlen adatbázisban kezeljen. A legelterjedtebb modellek:
- Automatikus skálázás:
- Az Azure Cosmos DB automatikusan skálázódik az alkalmazás terhelése alapján. A Request Units (RU/s) egy olyan mérőszám, amely meghatározza, mennyi számítási kapacitásra van szükség egy adott művelet végrehajtásához. A felhasználók az RU/s beállításával kontrollálhatják az adatbázis teljesítményét, és az Azure Cosmos DB dinamikusan alkalmazkodik a terheléshez.
- Alacsony késleltetés:
- Az Azure Cosmos DB alacsony késleltetést garantál olvasási és írási műveletekre világszerte, millisekundumok alatt. A rendszer a helyi adatközpontokból biztosít olvasási műveleteket, míg az írási műveletek is rendkívül gyorsak az adatok elosztott replikációjának köszönhetően.
- Rugalmasság a konzisztencia szintek terén:
- Az Azure Cosmos DB többféle konzisztencia modellt kínál, amelyek lehetővé teszik a fejlesztők számára, hogy egyensúlyt teremtsenek a teljesítmény, a késleltetés és az adatkonzisztencia között. Az elérhető konzisztencia szintek:
- Erős: Az adatok mindig konzisztens állapotban vannak minden replikán.
- Korlátozott késésű: Az adatok konzisztenciáját egy meghatározott késleltetési időtartam garantálja.
- Előtag alapú: Az adatok sorrendi frissítését biztosítja, de némi késleltetést engedélyez.
- Végül konzisztens: Az adatok végül mindenhol konzisztenssé válnak, de a frissítések közötti késleltetést megengedi.
- Az Azure Cosmos DB többféle konzisztencia modellt kínál, amelyek lehetővé teszik a fejlesztők számára, hogy egyensúlyt teremtsenek a teljesítmény, a késleltetés és az adatkonzisztencia között. Az elérhető konzisztencia szintek:
- Több API támogatás:
- Az Azure Cosmos DB többféle API-t támogat, így a fejlesztők választhatnak az alkalmazásuk igényeinek megfelelően:
- SQL API: A legnépszerűbb API, amely SQL-lekérdezéseket tesz lehetővé JSON dokumentumokon.
- MongoDB API: Kompatibilis a MongoDB ökoszisztémával.
- Gremlin API: Gráf-alapú lekérdezésekhez, mint például a szociális hálózatok.
- Cassandra API: Kompatibilis az Apache Cassandra modellel és API-kkal.
- Table API: Hasonló az Azure Table Storage-hoz, lehetővé teszi a nagy mennyiségű strukturálatlan adat tárolását.
- Az Azure Cosmos DB többféle API-t támogat, így a fejlesztők választhatnak az alkalmazásuk igényeinek megfelelően:
- Magas rendelkezésre állás és SLA-k:
- Az Azure Cosmos DB 99,999% rendelkezésre állást garantál, ami azt jelenti, hogy az adatok szinte mindig elérhetők, még akkor is, ha egy vagy több adatközpontban probléma adódik. A Microsoft emellett garantálja az alacsony késleltetést és az elosztott adatbázis globális konzisztenciáját is.
Felhasználási esetek:
- Globálisan elosztott alkalmazások: Olyan alkalmazásokhoz ideális, ahol felhasználók a világ több pontjáról szeretnének gyorsan hozzáférni az adatokhoz, például e-kereskedelem, játékok vagy közösségi hálózatok.
- Nagy mennyiségű adat valós idejű feldolgozása: Az Azure Cosmos DB kiválóan alkalmas nagy mennyiségű adat kezelésére valós időben, például IoT alkalmazásokhoz vagy analitikai megoldásokhoz.
- Multimodális adattárolás: Ha egy alkalmazás különböző adattípusokat használ (pl. dokumentumok, táblázatok, gráfok), az Azure Cosmos DB mindezt egyetlen adatbázisban tudja kezelni.
Előnyök:
- Skálázhatóság: Képes globálisan elosztott módon skálázódni, és dinamikusan igazodni a terheléshez.
- Több API támogatás: Számos adatmodellt és API-t támogat, így rugalmasan alkalmazható különféle fejlesztői környezetekben.
- Alacsony késleltetés és magas rendelkezésre állás: Kiváló teljesítményt nyújt, globálisan alacsony késleltetéssel és magas rendelkezésre állással.
Hátrányok:
- Komplex árazás: Az Azure Cosmos DB árazása komplex lehet, mivel különböző díjakat számítanak fel az adatátvitelért, a tárhelyért és a műveletek számáért (RU/s). A felhasználóknak gondosan kell tervezniük, hogy a költségeket kézben tudják tartani.
- Tanulási görbe: Az API-k és a különböző adatmodellek miatt némi tanulási idő szükséges ahhoz, hogy a fejlesztők teljesen kiaknázhassák az Azure Cosmos DB előnyeit.
Az Azure Cosmos DB különösen alkalmas globálisan elosztott, nagy teljesítményt igénylő alkalmazásokhoz, és a rugalmassága, több adatmodell támogatása, valamint az alacsony késleltetés teszi a felhőalapú adatbázisok egyik legjobb választásává.
- Azure Cosmos DB - Szótár.net (en-hu)
- Azure Cosmos DB - Sztaki (en-hu)
- Azure Cosmos DB - Merriam–Webster
- Azure Cosmos DB - Cambridge
- Azure Cosmos DB - WordNet
- Azure Cosmos DB - Яндекс (en-ru)
- Azure Cosmos DB - Google (en-hu)
- Azure Cosmos DB - Wikidata
- Azure Cosmos DB - Wikipédia (angol)