Online tranzakciófeldolgozás (OLTP)

A tranzakciós adatok számítógépes rendszerek használatával történő kezelését online tranzakciófeldolgozásnak (OLTP) nevezzük. Az OLTP-rendszerek rögzítik az üzleti interakciókat a szervezet napi működése során, és támogatják az adatok lekérdezését, hogy következtetéseket kövessünk.

Tranzakciós adatok

A tranzakciós adatok olyan információk, amelyek nyomon követik a szervezet tevékenységeivel kapcsolatos interakciókat. Ezek az interakciók jellemzően üzleti tranzakciók, például az ügyfelektől kapott kifizetések, a szállítóknak küldött kifizetések, a leltáron áthaladó termékek, a megrendelt megrendelések vagy a kézbesített szolgáltatások. A tranzakciós események, amelyek maguk a tranzakciók, általában tartalmaznak egy idődimenziót, néhány numerikus értéket és más adatokra mutató hivatkozásokat.

A tranzakcióknak általában atominak és konzisztensnek kell lenniük. Az atomitás azt jelenti, hogy egy teljes tranzakció mindig egy munkaegységként sikeres vagy meghiúsul, és soha nem marad félig befejezett állapotban. Ha egy tranzakció nem hajtható végre, az adatbázisrendszernek vissza kell állítania a tranzakció részeként már végrehajtott lépéseket. A hagyományos RDBMS-ben ez a visszaállítás automatikusan megtörténik, ha egy tranzakció nem hajtható végre. A konzisztencia azt jelenti, hogy a tranzakciók mindig érvényes állapotban hagyják az adatokat. (Ezek az atomiság és konzisztencia nagyon informális leírásai. Ezeknek a tulajdonságoknak több formális definíciója is van, például az ACID.)

A tranzakciós adatbázisok különböző zárolási stratégiákkal, például pesszimista zárolással támogathatják a tranzakciók erős konzisztenciáját, hogy minden adat határozottan konzisztens legyen a vállalat környezetében minden felhasználó és folyamat esetében.

A tranzakciós adatokat használó leggyakoribb üzembehelyezési architektúra a háromrétegű architektúra adattárszintje. A háromrétegű architektúra általában egy bemutatószintből, egy üzleti logikai szintből és egy adattárból áll. A kapcsolódó üzembehelyezési architektúra az N szintű architektúra, amely több középső réteggel is rendelkezhet, amelyek üzleti logikát kezelnek.

A tranzakciós adatok jellemző jellemzői

A tranzakciós adatok általában a következő jellemzőket vonják le:

Követelmény Leírás
Normalizálás Nagyon normalizált
Schema Séma írásra, erősen kikényszerített
Konzisztencia Erős konzisztencia, ACID-garanciák
Integritás Magas integritás
Tranzakciókat használ Igen
Zárolási stratégia Pesszimista vagy optimista
Frissíthető Igen
Hozzáfűzhető Igen
Workload Nehéz írások, közepes olvasások
Indexelés Elsődleges és másodlagos indexek
Datum mérete Kicsi és közepes méretű
Modell Relációs
Adatalakzat Táblázatos
Lekérdezési rugalmasság Rendkívül rugalmas
Scale Kicsi (MB)-ről nagyra (néhány TB)

Mikor érdemes használni ezt a megoldást?

Válassza az OLTP-t, ha hatékonyan kell feldolgoznia és tárolnia az üzleti tranzakciókat, és azonnal elérhetővé kell tennie őket az ügyfélalkalmazások számára konzisztens módon. Ezt az architektúrát akkor használja, ha a feldolgozás kézzelfogható késése negatív hatással lenne az üzlet napi működésére.

Az OLTP-rendszerek célja a tranzakciók hatékony feldolgozása és tárolása, valamint a tranzakciós adatok lekérdezése. Az egyes tranzakciók OLTP-rendszerek általi hatékony feldolgozásának és tárolásának célja részben az adatok normalizálása, vagyis az adatok kisebb, kevésbé redundáns adattömbökre való lebontása. Ez azért támogatja a hatékonyságot, mert lehetővé teszi az OLTP-rendszer számára, hogy nagy számú tranzakciót dolgozzanak fel egymástól függetlenül, és elkerüli az adatintegritás redundáns adatok jelenlétében való fenntartásához szükséges további feldolgozást.

Problémák

Az OLTP-rendszerek implementálása és használata néhány kihívást jelenthet:

  • Az OLTP-rendszerek nem mindig alkalmasak az aggregátumok nagy mennyiségű adaton történő kezelésére, bár vannak kivételek, például egy jól megtervezett SQL Server-alapú megoldás. Az adatokon végzett elemzések, amelyek több millió egyedi tranzakció összesített számításaira támaszkodnak, nagyon erőforrásigényesek az OLTP-rendszerek számára. Ezek lassúak lehetnek, és az adatbázis egyéb tranzakcióinak blokkolásával lassíthatják a végrehajtást.
  • A nagymértékben normalizált adatok elemzése és jelentésekor a lekérdezések általában összetettek, mivel a legtöbb lekérdezésnek összeillesztéssel kell normalizálnia az adatokat. Az OLTP-rendszerekben az adatbázis-objektumok elnevezési konvenciói általában terse és tömörek. A megnövekedett normalizálás és a terse elnevezési konvenciók megnehezítik az OLTP-rendszerek lekérdezését az üzleti felhasználók számára DBA vagy adatfejlesztő segítsége nélkül.
  • A tranzakciók előzményeinek határozatlan ideig történő tárolása és a túl sok adat tárolása egy táblában lassú lekérdezési teljesítményhez vezethet a tárolt tranzakciók számától függően. A közös megoldás az, hogy az OLTP rendszerben fenntartja a megfelelő időkeretet (például az aktuális pénzügyi évet), és kiszervezi az előzményadatokat más rendszerekbe, például egy adattárházba vagy adattárházba.

OLTP az Azure-ban

Az App Service Web Appsben üzemeltetett alkalmazások, az App Service-ben futó REST API-k vagy mobil- vagy asztali alkalmazások általában REST API-közvetítőn keresztül kommunikálnak az OLTP-rendszerrel.

A gyakorlatban a legtöbb számítási feladat nem pusztán OLTP. Általában egy elemzési összetevő is létezik. Emellett egyre nagyobb az igény a valós idejű jelentésekre, például a jelentések operatív rendszeren való futtatására. Ezt HTAP-nak (hibrid tranzakciós és elemzési feldolgozásnak) is nevezik. További információ: Online elemzési feldolgozás (OLAP).

Az Azure-ban az alábbi adattárak mindegyike megfelel az OLTP alapvető követelményeinek és a tranzakciós adatok kezelésének:

Kulcsválasztási feltételek

A lehetőségek szűkítéséhez először válaszoljon az alábbi kérdésekre:

  • Szeretne felügyelt szolgáltatást ahelyett, hogy saját kiszolgálókat kezel?

  • A megoldás rendelkezik bizonyos függőségekkel a Microsoft SQL Server, a MySQL vagy a PostgreSQL kompatibilitásához? Az alkalmazás korlátozhatja az adattárakat, amelyeket az adattárral való kommunikációhoz támogatott illesztőprogramok vagy az adatbázis használatával kapcsolatos feltételezések alapján választhat.

  • Az írási átviteli sebességre vonatkozó követelmények különösen magasak? Ha igen, válasszon egy lehetőséget, amely memóriabeli táblákat biztosít.

  • A megoldás több-bérlős? Ha igen, fontolja meg a kapacitáskészleteket támogató lehetőségeket, amelyekben több adatbázispéldány is rugalmas erőforráskészletből származik, nem pedig adatbázisonként rögzített erőforrásokból. Ez segíthet a kapacitás jobb elosztásában az összes adatbázispéldány között, és költséghatékonyabbá teheti a megoldást.

  • Több régióban is olvashatónak kell lennie az adatoknak? Ha igen, válasszon egy olyan beállítást, amely támogatja az olvasható másodlagos replikákat.

  • Az adatbázisnak magas rendelkezésre állásúnak kell lennie a geografika-régiókban? Ha igen, válasszon egy olyan lehetőséget, amely támogatja a földrajzi replikációt. Vegye figyelembe azokat a beállításokat is, amelyek támogatják az elsődleges replikáról a másodlagos replikára történő automatikus feladatátvételt.

  • Az adatbázisnak vannak speciális biztonsági igényei? Ha igen, vizsgálja meg azokat a lehetőségeket, amelyek olyan képességeket biztosítanak, mint a sorszintű biztonság, az adatmaszkolás és a transzparens adattitkosítás.

Képességmátrix

Az alábbi táblázatok összefoglalják a képességek főbb különbségeit.

Általános képességek

Funkció Azure SQL Database SQL Server Azure-beli virtuális gépen Azure Database for MySQL Azure Database for PostgreSQL
Felügyelt szolgáltatás Igen Nem Yes Igen
Platformon fut N/A Windows, Linux, Docker N.A. N.A.
Programozhatóság 1 T-SQL, .NET, R T-SQL, .NET, R, Python SQL SQL, PL/pgSQL, PL/JavaScript (v8)

[1] Nem tartalmazza az ügyfélillesztők támogatását, amely lehetővé teszi, hogy sok programozási nyelv csatlakozzon az OLTP-adattárhoz és használja azt.

Méretezhetőségi képességek

Funkció Azure SQL Database SQL Server Azure-beli virtuális gépen Azure Database for MySQL Azure Database for PostgreSQL
Adatbázispéldány maximális mérete 4 TB 256 TB 16 TB 16 TB
Kapacitáskészletek támogatása Igen Igen Nem Nem
Támogatja a fürtök vertikális felskálázását Nem Igen Nem Nem
Dinamikus méretezhetőség (vertikális felskálázás) Igen Nem Yes Igen

Elemzési számítási feladatok képességei

Funkció Azure SQL Database SQL Server Azure-beli virtuális gépen Azure Database for MySQL Azure Database for PostgreSQL
Historikus táblák Igen Igen Nem Nem
Memóriabeli (memóriaoptimalizált) táblák Igen Igen Nem Nem
Oszlopcentrikus támogatás Igen Igen Nem Nem
Adaptív lekérdezés-feldolgozás Igen Igen Nem Nem

Rendelkezésre állás

Funkció Azure SQL Database SQL Server Azure-beli virtuális gépen Azure Database for MySQL Azure Database for PostgreSQL
Olvasható másodfokok Igen Yes Yes Igen
Földrajzi replikáció Igen Yes Yes Igen
Automatikus feladatátvétel másodlagosra Igen Nem Nem Nem
Point-in-time restore Igen Yes Yes Igen

Biztonsági képességek

Funkció Azure SQL Database SQL Server Azure-beli virtuális gépen Azure Database for MySQL Azure Database for PostgreSQL
Row level security Igen Yes Yes Igen
Adatmaszkolás Igen Igen Nem Nem
Transzparens adattitkosítás Igen Yes Yes Igen
Adott IP-címekhez való hozzáférés korlátozása Igen Yes Yes Igen
A hozzáférés korlátozása csak a virtuális hálózatokhoz való hozzáférés engedélyezéséhez Igen Yes Yes Igen
Microsoft Entra authentication Igen Nem Yes Igen
Active Directory-alapú hitelesítés Nem Igen Nem Nem
Többtényezős hitelesítés Igen Nem Yes Igen
Az Always Encrypted támogatása Igen Igen Nem Nem
Magánhálózati IP-cím Nem Igen Nem Nem

Közreműködők

Ezt a cikket a Microsoft tartja karban. Eredetileg a következő közreműködők írták.

Fő szerző:

További lépések