Alkalmazások és követelmények

Befejeződött

Az alkalmazások számos módon kezelhetik az adatokat. Egyes alkalmazások adatok tárolási és lekérési rendszereként működnek. Több okból is archiválhatnak adatokat. A biztonsági mentési szoftverek pillanatképszerűen archiválják a felhasználói adatokat, ők így visszaállíthatják a számítógép és a fájlok állapotát hardverhiba vagy véletlen törlés esetén. A nagyobb webhelyek, például az archive.org, bejárják a népszerű webhelyeket, és megőriznek egy pillanatképet róluk, a felhasználók így megtekinthetik a korábbi verziókat. Előfordulhat, hogy egy kiskereskedő minden egyes tranzakció adatait tárolni szeretné könyvelési és adózási okokból.

Más alkalmazások a döntéshozatalhoz kérnek le adatokat. Ennek egyik példái az üzletiintelligencia-rendszerek. Az üzletiintelligencia-rendszerek több millió tranzakciót képesek feldolgozni, és ebből értékesítési trendekre következtetni. Ezekkel az adatokkal a kiskereskedő leltárral és marketinggel kapcsolatos döntéseket hozhat.

Az alkalmazások elemzéshez is kinyerhetnek adatokat. A Google1 például felismerte, hogy bizonyos kulcsszavak keresési trendjei szorosan kapcsolódnak az influenzaszerű tünetek miatti orvoslátogatással.

Az adatok szolgáltatásokat is lehetővé tehetnek. Szinte bármilyen, felhasználói kérésekre reagáló dinamikus webszolgáltatás jó példa erre. Ilyenek a leképezési és navigációs szoftverek. A közúti hálózatokról és címekről gyűjtött információkkal a rendszer (például a Google Maps) útvonallal kapcsolatos lekérdezésekre reagálhat.

Alkalmazáskövetelmények

A különböző alkalmazások különböző követelményeket támasztanak a tárrendszerek felé. A Netflixnek például nagy sávszélességű videót kell kiszolgálnia több millió felhasználónak azokban az országokban/régiókban, ahol működik. A Bing keresési szolgáltatásának ellenben elemeznie kell egy lekérdezést, és pontos eredményeket kell szolgáltatnia hozzá rendkívül rövid időn belül. Ebben a szakaszban röviden áttekintjük az alkalmazások által a tárrendszerek felé támasztott követelményeket:

  • Kapacitás: A tárolórendszereknek képesnek kell lenniük az alkalmazások kapacitásigényeinek kezelésére. A tárrendszereknek képesnek kell lenniük az alkalmazáshoz szükséges összes adat kezelésére, valamint méretezhetőnek kell lenniük, hogy az alkalmazás közel- és távoli jövőre vonatkozó követelményeinek is megfeleljenek.

  • Teljesítmény: A tárolórendszereknek képesnek kell lenniük kezelni az alkalmazások teljesítményével kapcsolatos elvárásait. Ez nagyjából a következő követelményeket jelenti:

    • Késés: A rendszernek egy meghatározott időkereten belül kell válaszolnia a kérésekre. Webes rendszerek esetén ez fontos követelmény, mivel közvetlenül csatlakozik a felhasználói élményhez.
    • Sávszélesség: A rendszernek képesnek kell lennie bizonyos sebességgel áthelyezni az adatokat. A folyamatos adatcsatornákra (például videóra) támaszkodó alkalmazások esetében ez egy kritikus metrika.
  • Hozzáférési minták: Azok a minták, amelyekben egy alkalmazás hozzáfér az adatokhoz, felhasználhatók hatékony tárolórendszerek tervezésére és megvalósítására. A tárrendszerek tervezői az alábbi mintákkal foglalkoznak:

    • A hozzáférés részletessége: Egy tipikus műveletben lekért legkisebb adatmennyiségre vonatkozik. Ez néhány bájttól több megabájtig terjedhet, az alkalmazás típusától függően.
    • A hozzáférés gyakorisága: Azt jelenti, hogy milyen gyakran férnek hozzá az adatok a rendszerből. Az olyan elemek, amelyekhez folyamatosan hozzáférnek, lehetőséget teremtenek az optimalizálásra bizonyos technikákkal (például a gyorsítótárazással).
    • A hozzáférés helye: A térbeli és az időbeli területi beállításokra utal. Erre példa lehet az adatelemek távolsága az alkalmazáshoz való lekéréskor. A helyet mikroszinten (a lépések távolsága egy tömbindexben egy mátrixszorzás esetén) és makroszinten (melyik adatközpont reagál a felhasználói kérésre) vizsgáljuk.
  • Tartósság: Ez arra utal, hogy az alkalmazás elvárja a rendszeren lévő adatok megőrzését.

  • Hibatűrés: A hibatűrés egy általános kifejezés, amely a rendszer több attribútumát jelöli. Ezek az alábbi követelmények szerint határozhatók meg:

    • Megbízhatóság: Ha egy adott adatelemet egy rendszer írottként jelent, mindig vissza lehet kérni a rendszerből?
    • Rendelkezésre állás: Van olyan időszak, amikor a rendszer nem válaszol a kérésekre? Milyen gyakran fordul ez elő? Ez hatással van az alkalmazásra? Hogyan csökkenthető az állásidő hatása?
    • Pontosság: Mennyire pontosak a rendszer által visszaadott eredmények? Ez triviális kérdésnek tűnhet egy egyszerű rendszer esetén, amely egyetlen adattárból áll, azonban ha a rendszer ugyanazon adatok több példányával van elosztva, ez fontos kérdés lehet. Bizonyos alkalmazások régebbi adatokkal is képesek dolgozni, azonban másokhoz minden alkalommal pontos válaszra van szükség.
  • Biztonság: Mennyire kell biztonságosnak lennie az adatoknak, amikor az alkalmazás tárolja és éri el őket? Védve vannak a véletlen és rosszindulatú hozzáférés és/vagy módosítás és törlés ellen? Milyen hozzáférési korlátozások alkalmazhatók a rendszert használó felhasználókon és alkalmazásokon?

  • Származási hely: Az a folyamat, amellyel nyomon követhető és rögzíthető az adatok eredete, valamint a tárolórendszerek közötti mozgás. Szükséges az alkalmazáshoz ezen adatok nyomon követhetősége? Bizonyos, bizalmas adatokat kezelő alkalmazásokhoz követelmény is lehet.

Ezek a követelmények írják elő az alkalmazások tervezését. A nagy kapacitást vagy a jövőben méretezhetőséget igénylő alkalmazásokat ezeknek megfelelően kell kialakítani. Ahogyan ebben a modulban látni fogja, a nagy adatmennyiségekkel foglalkozó tárrendszerek általában túl lassúak vagy költségesek ahhoz, hogy monolitikus rendszerben működjenek. Ezek általában több gépen oszlanak el.

A teljesítménnyel kapcsolatos szigorú követelmények általában a gyorsítótárazást és a replikálást érintő kialakítási döntésekben jelennek meg. Az ilyen rendszerek hozzáférési mintákkal állapítják meg a teljesítménynövelés optimális stratégiáját. Az ügyfeleket interneten kiszolgáló alkalmazások esetén több adatközpont nyújthat jobb teljesítményt és felhasználói élményt, ha a felhasználókat a legközelebbi rendelkezésre álló kiszolgálóhoz irányítja, amely rendelkezik a szükséges adatokkal.

Bizonyos replikációs vagy gyorsítótárazási módszerek használatához az alkalmazásnak el kell döntenie, hogy milyen szint, pontosság vagy frissesség szükséges a rendszertől lekért adatokhoz. Bizonyos alkalmazások megelégednek régebbi adatokkal is, másoknak azonban a legpontosabb és legújabb adatokra van szüksége. Ez a tárrendszer konzisztenciaszintjére is hatással van.


Hivatkozások

  1. Ginsberg, Jeremy és Mohebbi, Matthew H és Patel, Rajan S és Brammer, Lynnette és Smolinski, Mark S és Brilliant, Larry (2009). Influenzajárványok észlelése keresőmotor-lekérdezési adatokkal Nature