Bevezetés a célspecifikus adatbázistípusok logikájába: adatbázis mindenre IS.
A vállalatok (#ezdeszépszóamúgy) folyamatosan arra törekszenek, hogy technológiai előnyben legyenek versenytársaikkal szemben, így egyre gyakoribb, hogy tradicinális problémákat újszerűen közelítenek meg. Ezt a trendet tapasztalhatjuk most az adatbáziskezelés terén: célspecifikus adatbázistípusok (purpose-built database) célspecifikus alkalmazásokban!

A startupokban és multikban legalább egy közös dolog van: tudják, hogy az adatok hatékony felhasználása az innováció, a versenyelőny és a növekedés kulcsfontosságú hajtóereje. Olyan kort élünk, mikor a drága hardver és szoftver már nem előfeltétele az innovációnak, a felhőalapú számítástechnika abszolút térnyerésének köszönhetően az induló vállalkozások kezében (persze, csak ha kellőképpen felkészültek), ugyanaz a pakli kártya van, mint a nagy halaknál, és sokszor előfordul, hogy a kis cégek kerülnek ki győztesen egy vérre menő csatából.
Az adatelemző cégek által gyűjtött elképesztő mennyiségű nyers adat és az ezekből leszűrt petabájtnyi, releváns, használható piaci információ kritikus komponensek az innováció és a versenyelőny hajhászása szempontjából. Elképesztő, hogy egy 3 fős startup, napjainkban, viszonylag rövid idő alatt milyen komoly eredményeket képes elérni felhő alapú technológiák használatával. A digitális világ által generált nyomás arra ösztökéli a vállalkozásokat, hogy egyre gyorsabb ütemben vezessenek be innovációkat és egyre hatékonyabban használják a rendelkezésükre álló adatokat. Ezért gyakran felteszik a kérdést: hogyan oldjunk meg régi problémákat újféleképp, hogyan vezessünk be napi gyakorlatokba merőben új működési modelleket?
Az egyik válasz erre a költői kérdésre: modernizáljuk az adatbázis infrastruktúránkat, hogy jobban alkalmazkodjon az adatvezérelt üzleti modellekhez és döntésekhez. Korábban a vállalatoknak korlátozott lehetőségeik voltak a kereskedelmi (és ipari) szintű adatbázisok elérésében, mert azok pusztán néhány erre specializált forrásból voltak elérhetők. A felhő korszakában viszont már könnyűszerrel (és bárkinek) elérhetők egyedi adatbázis-szolgáltatások, amelyek különböző üzleti kihívások kezelésére épülnek. Ezek a „célra épített” adatbázisok sokkal nagyobb hatékonysággal és sebességgel képesek kezelni a munkaterheléseket, mint a múlt monolitikus, multitaskingre optimalizált megoldásai.
Például a memóriában futtatott adatbázisok (in-memory DB) valós idejű hozzáférést kínálnak az adatokhoz, ami tökéletes a webshopok, az e-commerce és a gaming iparág számára. A széles-oszlopú (oszlopalapú, vagy wide column) adatbázisok ideálisak az alacsony késleltetésű (low-latency) alkalmazásokhoz, mint például a földrajzi információkat használó flottakezelő rendszerek. A relációs adatbázisok (pl. MySQL), az őskori szabvány, olyan hagyományos alkalmazásokat kezelnek, mint az ügyfélkapcsolat-kezelés (customer-support rendszerek) és a vállalati erőforrás-tervezés (ERP rendszerek), amellett, hogy a web nagyját is ez az adatbázis típus szolgálja ki. Ráadásul ezek az adatbázis-típusok felügyelt szolgáltatásként (managed service) futtathatók a felhőben, így nincs operatív overhead és drága szoftverlicenszek sem kellenek.
A specifikus, célra épített adatbázisok-architektúrák lehetővé teszik az olyan hatalmas (és globális) vállalatok számára, mint a Johnson & Johnson (AWS ügyfél amúgy), hogy az egyik adatbázisban elemzéseket futtathassanak, miközben a felhasználói profilokat és a fiókadatokat a másikban, a tranzakciós adatokat pedig a harmadikban tartják – ezáltal olyan sebességre legyenek képesek, amelyet egy monolitikus adatbázis soha nem tudna elérni. Létrehoztak – adatbázisok, adatemelző alakalmazások és adat-vizualizációs eszközök kombinációjával – egy olyan adat-vezérlőpultot (data-workbench), aminek segítségével a célgnél dolgozó elemzők (business analyst) meg tudnak válaszolni olyan stratégiai kérdéseket, amiknek az (adavezérelt) megválaszolása korábban akár hetekig, sőt hónapokig tartott. Mindez azért van, mert már közvetlenül és rugalmasan hozzáférnek az adatokhoz.
A világ vezető hangoskönyv (audiobook) kereskedője, az Audible relációs és kulcsértékű adatbázisok kombinációjára támaszkodik, címek százezreinek kiszolgálására (és megtalálására) globális célközönségének. A vállalati ügyfelek számára az Amazon tulajdonában lévő cég elindította az Audible for Business programot, amely segít a vállalatoknak készségfejlesztő hangoskönyveket, workshopokat és egyéb spoken-word tartlamakat találni (és ajánlani) az alkalmazottaik és munkacsapatjaik számára. A szolgáltatásnak több millió adatkapcsolattal kell bűvészkedni – több ezer címmel és esetenként több százezer felhasználóval ügyfelenként – Erre egy szokásos relációs adatbázis egyszerűen nem lenne képes. Az Audible for Business tehát egy gráf adatbázis segítségével építette fel alkalmazását, amellyel gyorsan lekérdezheti az adatkészletek közötti összefüggések millióit. A gráf ezáltal egy sokkal egyszerűbb és skálázhatóbb megoldás az ő esetükben.
TUDÁSBÁZIS: Miért hasznosak a gráf adatbázisok? Komplex, sok összefüggést tartalmazó adathalmazokat gyakran célszerű gráffal reprezentálni. A manapság legelterjedtebb relációs adatbázisok azonban csak korlátozottan alkalmasak gráfok tárolására, ugyanis a gráfokon végzett műveletek – bejárás, tranzitív lezárt számítása – általában költséges illesztés műveletekkel jár. A gráfadatbázisok (graph database) gráfok hatékony tárolását és ezáltal gráfműveletek gyors végrehajtását teszik lehetővé. Bár nagyon sok valós szerkezet modellezhető természetes módon gráfokkal, pár évvel ezelőttig csak akadémiai és tudományos körökben alkalmaztak gráfadatbázisokat. A NoSQL adatbázis-kezelők között azonban reneszánszukat élik a gráf adatmodellt használó rendszerek.
A felő alapú, mendzselt adatbázisok igény szerinti használatbavehetősége (on-demand nature) csökkenti az innovációs kockázatokat is. Ki tudsz próbálni merőben új koncepciókat, migrálhatod az adatbázis részeit új működési modellekbe – és ha szerencséd van, ezek a megoldások akár forradalmasíthatják a bizniszed. Ha pedig nem váltak be, továbbléphesz új utakra. Mindez felhő nélkül megvalósíthatatlan lenne, mert túl nagy lenne a kockázat mind az időbeliséget, mind pedig a költségeket illetően.
Az AWS univerzumában ezek az adatbázistípusok implementálhatók (viszonylagos könnyedséggel):
Adatbázis típus | Felhasználási mód | AWS szolgáltatás |
Relációs | tradicionális, e-commerce, ERP, CRM | Aurora, RDS, Redshift |
Kulcsérték (key-value) | gaming, nagy sebességű appok | DynamoDB |
In-memory | gyorsítótárazás, gaming leaderboard, session mgmt. | Elasticache for Memcached és Redis |
Dokumentum | kontent mgmt., felhasználói profilok, katalógusok | DocumentDB |
Wide Column (oszlopalapú) | magasan skálázott ipari alkalmazások, flotta menedzsment, térkép optim. | Keyspaces (Cassandra) |
Gráf | fraud detection, közösségi hálók, ajánló-motorok | Neptune |
Időszéria (time series) | IoT alkalmazások, ipari telemetria, DevOps | Timestream |
Ledger | Banki tranzakciók, regisztrációk, supply chain | QLDB |
Modernizálnád az adatbázisod? Tanácsadóra van szükséged? Certified Solutions Architect-et keresel itthon? Egy olyan csapatra van szükséged, aki az elképzeléseket meg is valósítja? Keress bizalommal, tudok segíteni! @viktor.somogyi@netwerk.hu
Kövess!