Változáscsatorna az Azure Cosmos DB-ben
A KÖVETKEZŐKRE VONATKOZIK: NoSQL
MongoDB
Cassandra
Gremlin
A változáscsatorna az Azure Cosmos DB-ben a tárolók módosításainak állandó rekordja, a sorrendjükben. A változáscsatorna támogatása az Azure Cosmos DB-ben egy Azure Cosmos DB-tároló változásainak figyelésével történik. Ezután a módosításuk sorrendjében felsorolja a módosított dokumentumokat. A megőrzött módosítások aszinkron módon és növekményesen feldolgozhatók, és a kimenet egy vagy több felhasználó között elosztható párhuzamos feldolgozás céljából.
További információ a változáscsatorna tervezési mintáiról.
Támogatott API-k és ügyféloldali SDK-k
A változáscsatorna funkció jelenleg az alábbi Azure Cosmos DB SDK-kban támogatott.
Ügyfélillesztők | NoSQL | Apache Cassandra | MongoDB | Apache Gremlin | Tábla | PostgreSQL |
---|---|---|---|---|---|---|
.NET | ||||||
Java | ||||||
Python | ||||||
Node/JavaScript |
Változáscsatorna használata
A változáscsatorna a következő beállításokkal használható:
- Változáscsatorna használata az Azure Functions használatával
- Változáscsatorna használata változáscsatorna-feldolgozóval
- Változáscsatorna használata lekéréses modellel
A változáscsatorna elérhető egy Azure Cosmos DB-tároló partíciókulcs-tartományaihoz. Ez lehetővé teszi, hogy egy vagy több fogyasztó között elosztható legyen párhuzamos feldolgozás céljából az alábbi képen látható módon.
Feljegyzés
A partíciókulcs-tartományok fizikai partíciókra képezhetők le a változáscsatorna-feldolgozó használatakor és FeedRanges
a lekérési modell használatakor.
A változáscsatorna funkciói
A változáscsatorna alapértelmezés szerint engedélyezve van az összes Azure Cosmos DB-fiók esetében.
Több változáscsatorna-mód is létezik, amelyek közül néhány további konfigurációt igényel az engedélyezéshez.
A kiosztott átviteli sebesség használatával az Azure Cosmos DB-fiókhoz társított régiók bármelyikében olvashat a változáscsatornából, akárcsak bármely más Azure Cosmos DB-művelet.
A változáscsatorna tartalmazza a tároló elemeire végrehajtott beszúrási és frissítési műveleteket. Ha az összes verziót és törlési módot (előzetes verzió) használja, a törlési műveletek és a TTL-lejáratok is módosulnak.
Minden módosítás pontosan egyszer jelenik meg a változáscsatornában, és az ügyfeleknek kezelnie kell az ellenőrzőpont-logikát. Ha el szeretné kerülni az ellenőrzőpontok kezelésének összetettségét, a változáscsatorna-feldolgozó automatikus ellenőrzőpontozást és "legalább egyszer" szemantikát biztosít. További információkért tekintse meg a változáscsatorna és a változáscsatorna processzorral kapcsolatos cikkét.
A módosítások párhuzamosan érhetők el egy Azure Cosmos DB-tároló partíciókulcs-tartományaihoz. Ez a funkció lehetővé teszi, hogy több felhasználó párhuzamosan dolgozza fel a nagyméretű tárolók módosításait.
Az alkalmazások egyszerre több változáscsatornát is kérhetnek ugyanazon a tárolón.
A változáscsatorna kiindulópontja testre szabható, és minden módhoz különböző beállítások érhetők el.
A változáscsatorna elemeinek rendezési sorrendje
A változáscsatorna elemei a módosítási idő sorrendjében jelennek meg. Ez a rendezési sorrend partíciókulcsonként garantált, és a partíciókulcs értékei között nincs garantált sorrend.
Feljegyzés
Többrégiós írási fiókok esetén két időbélyeg van:
- A kiszolgáló azon időszaka, amikor a rekordot a helyi régióban írták. Ezt a rendszer a következőképpen rögzíti
_ts
: . - Az a korszak, amikor az ütközés hiányát megerősítették, vagy az ütközést a rekord központi régiójában oldották fel. Ezt a rendszer a következőképpen rögzíti
crts
: .
A változáscsatornaelemek a rögzített sorrendben jelennek meg crts
.
Változáscsatorna többrégiós Azure Cosmos DB-fiókokban
Egy többrégiós Azure Cosmos DB-fiókban az egy régióban végrehajtott módosítások minden régióban elérhetők. Ha egy írási régió meghibásodik, a változáscsatorna a manuális feladatátvételi művelet során működik, és az egybefüggő. A több írási régióval rendelkező fiókok esetében nincs garancia arra, hogy mikor lesznek elérhetők a módosítások. Előfordulhat, hogy ugyanannak a dokumentumnak a bejövő módosításai a legújabb verzió módban lesznek elvetve, ha egy másik régióban újabb változás történt, és az összes módosítás rögzítve lesz az összes verzióban és törlési módban.
Csatornamódok módosítása
Két változáscsatorna-mód érhető el: a legújabb verziómód, valamint az összes verzió és törlési mód. A változáscsatorna olvasási módja határozza meg, hogy mely műveletek módosításait rögzíti a rendszer, és hogy milyen metaadatok érhetők el az egyes módosításokhoz. A változáscsatornát különböző módokon is felhasználhatja ugyanazon Azure Cosmos DB-tároló több alkalmazásában.
Legújabb verziómód
A legújabb verzióváltoztatási mód esetén megjelenik egy beszúrás vagy frissítés legújabb módosítása a hírcsatorna összes eleméhez, és a hírcsatorna elérhető a tároló élettartamához. Nincs jele annak, hogy egy adott módosítás beszúrásból vagy frissítési műveletből származik-e, és a törléseket nem rögzíti a rendszer. A módosítások a tároló eredetétől kezdve bármely időponttól olvashatók. Ha azonban töröl egy elemet, az törlődik a változáscsatornából. További információért tekintse meg a legújabb verziómódosítási módról szóló cikket.
Minden verzió és törlési mód (előzetes verzió)
Az összes verzió és törlési mód lehetővé teszi az elemek összes módosításának megtekintését a létrehozásokból, frissítésekből és törlésekből. Az elemek minden egyes módosításáról a bekövetkezett sorrendben kap rekordot, beleértve az elemek köztes módosításait a változáscsatorna olvasásai között. Ha az összes verzióban és törlési módban szeretne olvasni a változáscsatornából, konfigurálnia kell az Azure Cosmos DB-fiókhoz tartozó folyamatos biztonsági mentéseket , amely létrehozza az Azure Cosmos DBs-eket az összes verzióban, és törli a változáscsatornát. Ebben a módban csak a fiókhoz konfigurált folyamatos biztonsági mentési időszakon belül történt módosításokat olvashatja. További információért tekintse meg az összes verziót és törlést tartalmazó változáscsatorna módról szóló cikket, beleértve a regisztrációt az előzetes verzióban.
Változáscsatorna a Cassandra és a MongoDB API-jában
A változáscsatorna funkciói változásfolyamként kerülnek felszínre a MongoDB API-ban és a Cassandra API predikátumával rendelkező lekérdezésben. A MongoDB API implementálási részleteiről a Streamek módosítása a MongoDB-hez készült Azure Cosmos DB API-ban található.
A natív Apache Cassandra módosítási adatrögzítést (CDC) biztosít, amely a CDC-napló konfigurálható lemezméretének elérése után az adott táblák archiválásához és írásának elutasításához használható mechanizmus. Az Apache Cassandra-hoz készült Azure Cosmos DB változáscsatorna funkciója javítja a módosítások predikátummal való lekérdezésének lehetőségét a CQL-n keresztül. A megvalósítás részleteiről további információt az Apache Cassandra azure Cosmos DB-jének változáscsatornájában talál.
Változáscsatorna-kérelemegység-felhasználás mérése
A változáscsatorna minden tárolóban elérhető, függetlenül attól, hogy használatban van-e. A változáscsatorna egyetlen költsége a bérlettároló kiosztott átviteli sebessége és kérelemegységei. Az Azure Monitor használatával mérheti a változáscsatorna kérelemegység-felhasználását . További információ: monitorozási átviteli sebesség vagy egységhasználat kérése az Azure Cosmos DB-ben.
Következő lépések
A változáscsatornáról az alábbi cikkekben olvashat bővebben: