Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Az Azure Cosmos DB egy teljes körűen felügyelt platform szolgáltatásként (PaaS). Az Azure Cosmos DB használatának megkezdéséhez hozzon létre egy Azure Cosmos DB-fiókot egy Azure-erőforráscsoportban az előfizetésében. Ezután hozzon létre adatbázisokat és tárolókat a fiókon belül.
Az Azure Cosmos DB-fiók egy egyedi DNS-nevet tartalmaz. A DNS-nevet számos eszközzel kezelheti, például:
- Azure Portal
- Azure Resource Manager-sablonok
- Bicep-sablonok
- Azure PowerShell
- Azure CLI
- Azure Management szoftverfejlesztői készletek (SDK-k)
- Azure REST API
Ha több Azure-régióban szeretné replikálni az adatokat és az átviteli sebességet, bármikor hozzáadhat és eltávolíthat Azure-régiókat a fiókjához. A fiókját úgy konfigurálhatja, hogy egyetlen vagy több írási régióval rendelkezzen. További információ: Azure Cosmos DB-fiók kezelése az Azure Portal használatával. Az alapértelmezett konzisztenciaszintet egy fiókon is konzisztenciaszinten konfigurálhatja.
Azure Cosmos DB-fiók elemei
Jelenleg legfeljebb 250 Azure Cosmos DB-fiókot hozhat létre egy Azure-előfizetésben. Ezt a korlátot támogatási kéréssel növelheti.
Korlátlan mennyiségű adatot és kiosztott átviteli sebességet egyetlen Azure Cosmos DB-fiók használatával kezelhet. Az adatok kezeléséhez és a kiosztott átviteli sebességhez hozzon létre egy vagy több adatbázist a fiókjában, majd hozzon létre egy vagy több tárolót az adatok tárolásához.
Az alábbi képen egy Azure Cosmos DB-fiók elemeinek hierarchiája látható.
Az alábbi képen egy Azure Cosmos DB-fiók entitásainak hierarchiája látható.
Azure Cosmos DB-adatbázisok
Az Azure Cosmos DB-ben az adatbázis hasonló a névtérhez. Az adatbázis egyszerűen tárolók csoportja. Az alábbi táblázat bemutatja, hogyan van leképezve egy adatbázis különböző API-specifikus entitásokra:
| Azure Cosmos DB-entitás | API a NoSQL-hez | API az Apache Cassandra-hoz | API a MongoDB-hez | API az Apache Gremlinhez | API táblázathoz |
|---|---|---|---|---|---|
| Azure Cosmos DB-adatbázis | Adatbázis | Kulcstér | Adatbázis | Adatbázis | Nem alkalmazható |
Feljegyzés
A Table-fiókokHOZ készült API-val az Azure Cosmos DB-ben a táblák fiókszinten jönnek létre az Azure Table Storage-ral való kompatibilitás fenntartása érdekében.
Azure Cosmos DB-tárolók
Egy Azure Cosmos DB-tárolóban tárolják az adatokat. A legtöbb relációs adatbázistól eltérően, amelyek nagyobb méretű virtuális gépekkel skálázhatók fel, az Azure Cosmos DB felskálázható.
Az adatok tárolása egy vagy több, partíciónak nevezett kiszolgálón történik. A partíciók növeléséhez növelheti az átviteli sebességet, vagy automatikusan növekednek a tárterület növekedésével. Ez a kapcsolat korlátlan mennyiségű átviteli sebességet és tárterületet biztosít egy tároló számára.
Tároló létrehozásakor meg kell adnia egy partíciókulcsot. A partíciókulcs egy olyan tulajdonság, amelyet az elemek közül kiválasztva segíthet az Azure Cosmos DB-nek az adatok hatékony elosztásában a partíciók között. Az Azure Cosmos DB ennek a tulajdonságnak az értékével irányítja át az adatokat a megfelelő partícióra íráshoz, frissítéshez vagy törléshez. A záradék partíciókulcsát WHERE a lekérdezésekben is használhatja a hatékony adatlekéréshez.
Az Azure Cosmos DB-ben lévő adatok mögöttes tárolási mechanizmusát fizikai partíciónak nevezzük. A fizikai partíciók átviteli sebessége másodpercenként akár 10 000 kérelemegységet is tartalmazhat, és akár 50 GB adat tárolására is képesek. Az Azure Cosmos DB ezt a particionálási koncepciót egy logikai partícióval absztrakciója, amely akár 20 GB adat tárolására is képes.
A logikai partíciók lehetővé teszik, hogy a szolgáltatás nagyobb rugalmasságot és jobb adatkezelést biztosítson a mögöttes fizikai partíciókon, miközben további partíciókat ad hozzá. További információ a particionálásról és a partíciókulcsokról: Particionálás és horizontális skálázás az Azure Cosmos DB-ben.
Tároló létrehozásakor az átviteli sebességet az alábbi módok egyikében konfigurálhatja:
- Dedikált átviteli sebesség: A tároló átviteli sebessége kizárólag az adott tárolóhoz van fenntartva. A dedikált átviteli sebességnek két típusa van: standard és automatikus skálázás. További információkért tekintse meg a standard (manuális) átviteli sebesség konfigurálását egy Azure Cosmos DB-tárolón.
- Megosztott átviteli sebesség: Az átviteli sebesség az adatbázis szintjén van megadva, majd legfeljebb 25 tárolóval van megosztva az adatbázisban. Az átviteli sebesség megosztása kizárja azokat a tárolókat, amelyek saját dedikált átviteli sebességgel vannak konfigurálva.
A megosztott átviteli sebesség akkor lehet jó megoldás, ha az adatbázis összes tárolója hasonló kérésekkel és tárolási igényekkel rendelkezik, vagy ha nincs szüksége az adatok kiszámítható teljesítményére. További információkért tekintse meg a standard (manuális) átviteli sebesség konfigurálását az Azure Cosmos DB-ben található adatbázisokon.
Feljegyzés
Nem válthat a dedikált és a megosztott átviteli sebesség között. A megosztott átviteli sebességű adatbázisban létrehozott tárolók nem frissíthetők dedikált átviteli sebességre. Ha egy tárolót megosztottról dedikált átviteli sebességre szeretne módosítani, létre kell hoznia egy új tárolót, és adatokat kell másolnia. Az Azure Cosmos DB tárolómásolási funkciója megkönnyíti ezt a folyamatot.
A tárolók sémafüggetlenek. A tárolóban lévő elemek tetszőleges sémákkal vagy különböző entitásokkal rendelkezhetnek, feltéve, hogy ugyanazzal a partíciókulcszal rendelkeznek. Egy tároló például tárolhatja egy ügyfél profilját. Külön elemeket is tárolhat az adott ügyfél által készített minden egyes értékesítési rendeléshez. Hasonló információkat helyezhet el az összes ügyfél számára ugyanabban a tárolóban.
Alapértelmezés szerint a tárolóhoz hozzáadott összes adat automatikusan indexelve lesz explicit indexelés nélkül. Az indexelési szabályzat konfigurálásával testre szabhatja egy tároló indexelését.
A teljesítmény befolyásolásának elkerülése érdekében beállíthat egy élettartamot (TTL) egy tároló kijelölt elemein vagy a teljes tárolón, hogy ezeket az elemeket automatikusan törölje a háttérben a nem használt átviteli sebességgel. Ha azonban a lejárt adatok nem törlődnek, akkor sem jelennek meg olvasási műveletekben. További információ: Az Azure Cosmos DB-ben való életidő konfigurálása.
Az Azure Cosmos DB beépített képességet biztosít a változási adatrögzítéshez, amelyet változáscsatorna néven elneveznek. Ezzel előfizethet a tárolóban lévő összes adatmódosításra.
Regisztrálhat tárolt eljárásokat, eseményindítókat, felhasználó által definiált függvényeket (UDF-eket) és egyesítheti a tároló eljárásait .
A tárolón belüli minden dokumentumnak rendelkeznie kell egy id olyan tulajdonságsal, amely egyedi a logikai kulcs tulajdonságértékén belül az adott tárolóhoz. A tulajdonságok ezen kombinációjával egyedi korlátozást biztosíthat egy tárolón belül anélkül, hogy explicit módon definiálnia kellene egyet.
Egyedi kulcskorlátozást is megadhat az Azure Cosmos DB-tárolón, amely egy vagy több tulajdonságot használ. Az egyedi kulcskényszer biztosítja egy vagy több érték egyediségét logikai partíciókulcsonként. Ha egyedi kulcsszabályzattal hoz létre tárolót, nem hozhat létre olyan új vagy frissített elemeket, amelyek az egyedi kulcskényszer által megadott értékeket duplikálják.
A tárolók API-specifikus entitásokra specializáltak, ahogy az az alábbi táblázatban is látható:
| Azure Cosmos DB-entitás | API a NoSQL-hez | API a Cassandra-hoz | API a MongoDB-hez | API a Gremlinhez | API táblázathoz |
|---|---|---|---|---|---|
| Azure Cosmos DB-tároló | Tároló | Tábla | Gyűjtemény | Graph | Tábla |
Feljegyzés
Győződjön meg arról, hogy nem két olyan tárolót hoz létre, amelyek neve azonos, de eltérő burkolattal rendelkezik. Az Azure-platform egyes részei nem érzékenyek a kis- és nagybetűkre, és az ilyen elnevezések a diagnosztikai adatok és műveletek összekeverését vagy ütközését eredményezhetik a tárolókon.
Az Azure Cosmos DB-tároló tulajdonságai
Az Azure Cosmos DB-tárolók rendszer által meghatározott tulajdonságokkal rendelkeznek. Attól függően, hogy melyik API-t használja, előfordulhat, hogy egyes tulajdonságok nem lesznek közvetlenül elérhetővé téve. Az alábbi táblázat a rendszer által definiált tulajdonságokat ismerteti:
| Rendszer által definiált tulajdonság | Rendszer generálva vagy felhasználó által konfigurálható | Cél | API a NoSQL-hez | API a Cassandra-hoz | API a MongoDB-hez | API a Gremlinhez | API táblázathoz |
|---|---|---|---|---|---|---|---|
_rid |
Rendszer generálva | Tároló egyedi azonosítója. | Igen | Nem | Nem | Nem | Nem |
_etag |
Rendszer generálva | Az optimista egyidejűség-vezérléshez használt entitáscímke. | Igen | Nem | Nem | Nem | Nem |
_ts |
Rendszer generálva | A tároló utolsó frissített időbélyege. | Igen | Nem | Nem | Nem | Nem |
_self |
Rendszer generálva | A tároló címezhető URI-ja. | Igen | Nem | Nem | Nem | Nem |
id |
Felhasználó konfigurálható | A tároló neve. | Igen | Igen | Igen | Igen | Igen |
indexingPolicy |
Felhasználó konfigurálható | Szabályzat a tároló indexének létrehozásához. | Igen | Nem | Igen | Igen | Igen |
TimeToLive |
Felhasználó konfigurálható | Egy elem automatikus törlése egy tárolóból egy megadott idő elteltével. További részletekért lásd : Élettartam. | Igen | Nem | Nem | Nem | Igen |
changeFeedPolicy |
Felhasználó konfigurálható | Házirend a tároló elemein végrehajtott módosítások olvasásához. További részletekért lásd: Változáscsatorna. | Igen | Nem | Nem | Nem | Igen |
uniqueKeyPolicy |
Felhasználó konfigurálható | Szabályzat egy vagy több érték egyediségének biztosítására egy logikai partícióban. További információ: Egyedi kulcskorlátozások. | Igen | Nem | Nem | Nem | Igen |
AnalyticalTimeToLive |
Felhasználó konfigurálható | Egy elem automatikus törlése egy tárolóból egy meghatározott időszak után, egy elemzési tár kontextusában. Ez a funkció elavult. | Igen | Nem | Igen | Nem | Nem |
Azure Cosmos DB-elemek
Attól függően, hogy melyik API-t használja, az egyes adatentitások többféleképpen is megjeleníthetők:
| Azure Cosmos DB-entitás | API a NoSQL-hez | API a Cassandra-hoz | API a MongoDB-hez | API a Gremlinhez | API táblázathoz |
|---|---|---|---|---|---|
| Azure Cosmos DB-elem | Elem | Sor | Bizonylat | Csomópont vagy él | Elem |
Elem tulajdonságai
Minden Azure Cosmos DB-elem a következő rendszer által meghatározott tulajdonságokkal rendelkezik. Attól függően, hogy melyik API-t használja, előfordulhat, hogy némelyik nem lesz közvetlenül elérhetővé téve.
| Rendszer által definiált tulajdonság | Rendszer generált vagy felhasználó által definiált | Cél | API a NoSQL-hez | API a Cassandra-hoz | API a MongoDB-hez | API a Gremlinhez | API táblázathoz |
|---|---|---|---|---|---|---|---|
_rid |
Rendszer generálva | Az elem egyedi azonosítója | Igen | Nem | Nem | Nem | Nem |
_etag |
Rendszer generálva | Optimista egyidejűség-vezérléshez használt entitáscímke | Igen | Nem | Nem | Nem | Nem |
_ts |
Rendszer generálva | Az elem utolsó frissítésének időbélyege | Igen | Nem | Nem | Nem | Nem |
_self |
Rendszer generálva | Az elem címezhető URI-ja | Igen | Nem | Nem | Nem | Nem |
id |
Bármelyik | Felhasználó által definiált egyedi név logikai partícióban | Igen | Igen | Igen | Igen | Igen |
| Tetszőleges felhasználó által definiált tulajdonságok | Felhasználó által definiált | Felhasználó által definiált tulajdonságok az API natív ábrázolásában, beleértve a JSON-t, a bináris JSON-t (BSON) és a Cassandra Query Language -t (CQL) | Igen | Igen | Igen | Igen | Igen |
Feljegyzés
A tulajdonság egyedisége minden id logikai partíción belül érvényesül. Több dokumentum is rendelkezhet ugyanazzal id a tulajdonságértékkel különböző partíciókulcs-értékekkel.
Műveletek elemeken
Az Azure Cosmos DB-elemek a következő műveleteket támogatják. A műveletek végrehajtásához az Azure Cosmos DB API-k bármelyikét használhatja.
| Művelet | API a NoSQL-hez | API a Cassandra-hoz | API a MongoDB-hez | API a Gremlinhez | API táblázathoz |
|---|---|---|---|---|---|
| Beszúrás, csere, törlés, írásvédett, olvasás | Igen | Igen | Igen | Igen | Igen |