Tervezés adatmódosításhoz

Ez a cikk a beszúrások, frissítések és törlések optimalizálásával kapcsolatos tervezési szempontokat ismerteti. Bizonyos esetekben értékelnie kell az adatmódosításra optimalizált tervek lekérdezésére optimalizált tervek közötti kompromisszumot, ugyanúgy, mint a relációs adatbázisok terveiben (bár a relációs adatbázisokban eltérőek a tervezési kompromisszumok kezelésének technikái). A Table Design Patterns (Táblatervezési minták) szakasz a Table service néhány részletes tervezési mintáját ismerteti, és kiemel néhány ilyen kompromisszumot. A gyakorlatban azt fogja tapasztalni, hogy az entitások lekérdezésére optimalizált számos terv jól működik az entitások módosításához is.

Beszúrási, frissítési és törlési műveletek teljesítményének optimalizálása

Egy entitás frissítéséhez vagy törléséhez azonosítania kell azt a PartitionKey és a RowKey értékekkel. Ebben a tekintetben az entitások módosításához használt PartitionKey és RowKey beállításnak hasonló feltételeknek kell megfelelnie a pont típusú lekérdezések támogatásához, mivel a lehető leghatékonyabban szeretné azonosítani az entitásokat. Nem szeretne nem hatékony partíció- vagy táblavizsgálatot használni egy entitás megkereséséhez annak érdekében, hogy felderítse a PartitionKey és a RowKey értékét, amelyet frissítenie vagy törölnie kell.

A Táblázattervezési minták szakaszban szereplő alábbi minták a teljesítmény vagy a beszúrási, frissítési és törlési műveletek optimalizálására mutatnak:

  • Nagy mennyiségű törlési minta – Nagy mennyiségű entitás törlésének engedélyezése az összes entitás egyidejű törléséhez a saját külön táblájukban való tárolásával; az entitásokat a tábla törlésével törölheti.
  • Adatsorminta – A teljes adatsorokat egyetlen entitásban tárolja a kérések számának minimalizálása érdekében.
  • Széles entitások mintája – Több fizikai entitás használatával tárolhat több mint 252 tulajdonsággal rendelkező logikai entitásokat.
  • Nagyméretű entitások mintája – Blob Storage használata nagy tulajdonságértékek tárolására.

A tárolt entitások konzisztenciájának biztosítása

A másik fontos tényező, amely befolyásolja az adatmódosítások optimalizálásához szükséges kulcsok kiválasztását, az, hogyan biztosítható a konzisztencia atomi tranzakciók használatával. Az EGT-t csak az ugyanazon a partíción tárolt entitásokon használhatja.

A Táblázattervezési minták című cikk következő mintái a konzisztencia kezelésével foglalkoznak:

  • Partíción belüli másodlagos indexminta – Az entitások több példányát tárolja különböző RowKey-értékekkel (ugyanabban a partícióban), hogy gyors és hatékony kereséseket és alternatív rendezési sorrendeket biztosíthasson különböző RowKey-értékek használatával.
  • Particionálások közötti másodlagos indexminta – Az egyes entitások több példányát tárolja különböző RowKey-értékekkel külön partíciókban vagy külön táblákban, hogy gyors és hatékony kereséseket és alternatív rendezési sorrendeket biztosíthasson különböző RowKey-értékek használatával.
  • Végül konzisztens tranzakcióminta – Az Azure-üzenetsorok használatával konzisztens viselkedést biztosít a partíciók vagy a tárolórendszer határai között.
  • Indexentitások mintája – Indexentitások karbantartása az entitáslistákat visszakereső hatékony keresések engedélyezéséhez.
  • Denormalizálási minta – Egyetlen entitásban egyesíti a kapcsolódó adatokat, így egyetlen pontból álló lekérdezéssel lekérheti az összes szükséges adatot.
  • Adatsorminta – A teljes adatsorokat egyetlen entitásban tárolja a kérések számának minimalizálása érdekében.

Az entitáscsoport tranzakcióiról az Entitáscsoport tranzakciói című szakaszban talál további információt.

Győződjön meg arról, hogy a hatékony módosítások tervezése megkönnyíti a hatékony lekérdezéseket

A hatékony lekérdezések tervezése sok esetben hatékony módosításokat eredményez, de mindig ki kell értékelnie, hogy ez a helyzet-e az adott forgatókönyvben. A Table Design Patterns (Táblatervezési minták ) című cikk néhány mintája explicit módon értékeli ki az entitások lekérdezése és módosítása közötti kompromisszumokat, és mindig figyelembe kell vennie az egyes műveletek számát.

A Táblázattervezési minták című cikk következő mintái a hatékony lekérdezések tervezése és a hatékony adatmódosítás tervezése közötti kompromisszumokat ismertetik:

  • Összetett kulcsminta – Összetett RowKey-értékekkel engedélyezheti, hogy egy ügyfél egyetlen pontból álló lekérdezéssel keressen kapcsolódó adatokat.
  • Naplószél minta – A partícióhoz legutóbb hozzáadott n entitások lekérése egy Fordított dátum és idő sorrendben rendezett RowKey érték használatával.