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:
- Azure SQL Database
- SQL Server egy Azure-beli virtuális gépen
- Azure Database for MySQL
- Azure Database for PostgreSQL
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
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ő:
- Zoiner Tejada | vezérigazgató és tervező
További lépések
- Bevezetés a memóriaoptimalizált táblák használatába
- Memóriabeli OLTP áttekintése és használati forgatókönyvek
- Teljesítmény optimalizálása memóriabeli technológiákkal az Azure SQL Database-ben és a felügyelt Azure SQL-példányban
- Elosztott tranzakciók több felhőalapú adatbázisban
Kapcsolódó erőforrások
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: