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 Ikon, amely azt jelzi, hogy ez a funkció támogatott a NoSQL API .NET SDK-jában. Ikon, amely azt jelzi, hogy ez a funkció támogatott az Apache Cassandra API .NET SDK-jában. Ikon, amely azt jelzi, hogy ez a funkció támogatott a MongoDB API .NET SDK-jában. Ikon, amely azt jelzi, hogy ez a funkció támogatott az Apache Gremlin API .NET SDK-jában. Ikon, amely azt jelzi, hogy ez a funkció nem támogatott a .NET SDK-ban a Table API-hoz. Ikon, amely azt jelzi, hogy ez a funkció nem támogatott a .NET SDK-ban a PostgreSQL API-hoz.
Java Ikon, amely azt jelzi, hogy ez a funkció támogatott a NoSQL-hez készült API Java SDK-jában. Ikon, amely azt jelzi, hogy ez a funkció támogatott az Apache Cassandra API Java SDK-jában. Ikon, amely azt jelzi, hogy ez a funkció támogatott a Java SDK-ban a MongoDB API-hoz. Ikon, amely azt jelzi, hogy ez a funkció támogatott az Apache Gremlin API Java SDK-jában. Ikon, amely azt jelzi, hogy ez a funkció nem támogatott a Java SDK-ban a Table API-hoz. Ikon, amely azt jelzi, hogy ez a funkció nem támogatott a PostgreSQL API Java SDK-jában.
Python Ikon, amely azt jelzi, hogy ez a funkció támogatott a Python SDK-ban a NoSQL API-hoz. Ikon, amely azt jelzi, hogy ez a funkció támogatott az Apache Cassandra API-hoz készült Python SDK-ban. Ikon, amely azt jelzi, hogy ez a funkció támogatott a Python SDK-ban a MongoDB API-hoz. Ikon, amely azt jelzi, hogy ez a funkció támogatott az Apache Gremlin API-hoz készült Python SDK-ban. Ikon, amely azt jelzi, hogy ez a funkció nem támogatott a Python SDK-ban a Table API-hoz. Ikon, amely azt jelzi, hogy ez a funkció nem támogatott a Python SDK-ban a PostgreSQL API-hoz.
Node/JavaScript Ikon, amely azt jelzi, hogy ez a funkció támogatott a NoSQL API-hoz készült JavaScript SDK-ban. Ikon, amely azt jelzi, hogy ez a funkció támogatott az Apache Cassandra API-hoz készült JavaScript SDK-ban. Ikon, amely azt jelzi, hogy ez a funkció támogatott a MongoDB API JavaScript SDK-jában. Ikon, amely azt jelzi, hogy ez a funkció támogatott az Apache Gremlin API-hoz készült JavaScript SDK-ban. Ikon, amely azt jelzi, hogy ez a funkció nem támogatott a Tábla API JavaScript SDK-jában. Ikon, amely azt jelzi, hogy ez a funkció nem támogatott a JavaScript SDK-ban a PostgreSQL API-hoz.

Változáscsatorna használata

A változáscsatorna a következő beállításokkal használható:

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.

Az Azure Cosmos DB változáscsatornájának elosztott feldolgozása

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: