Élet az SQL-en túl: Az adatfeldolgozás legújabb trendjei Földi Tamás tfoldi@starschema.net
IBM Kutatóközpont San Jose, California, 1970
Negyven évvel később
Gartner Report Elsősorban relációs adatbázisok Tranzakciókezelés (ACID) Erős adatbázis szerverek (SMP) Megjelenik a Masszív Párhuzamos feldolgozás Adattárházakban használt adatbázis-kezelők mágikus kvadránsai, Gartner 2010
Legforgalmasabb weboldalak Weboldal Google Facebook Youtube Microsoft Live, Bing Yahoo! Twitter Wikipedia BBC Myspace Amazon Terhelés Adat előfeldolgozás: 20 Petabájt / nap Inbox: 100 TB, 150 gépes klaszter Adattárház: 15 Petabyte adat, 1400 gép, 11200 CPU Napi 30 milliárd lekérés, 350ezer oldal/másodperc Havonta 50 millió egyedi látogató 92 Petabyte adat, a legnagyobb lekérdezés 10ezer gépen fut párhuzamosan 73 óráig Adatbázis növekedés 7TB naponta, 2+ PB évente Napi 11 milliárd oldalletöltés
Legforgalmasabb weboldalak Weboldal Főbb adatbázismotor Adatbázis típusa Google GFS, Google BigTable Columnar NoSQL Facebook Cassandra, Hadoop/HIVE Columnar NoSQL Youtube MySQL RDBMS Microsoft Live, Bing Azure Tuple store, RDBMS Yahoo! Hadoop, PNUTS Columnar NoSQL Twitter FlockDB, Cassandra, Hadoop/Hbase Graph, Columnar NoSQL Wikipedia Flatfile, MySQL Flat file, RDBMS BBC CouchDB Document Myspace Aster Data ncluster MPP RDBMS + MapReduce Amazon Amazon Dynamo Columnar NoSQL
Mi a NoSQL? = Not only SQL Choosing the right tool for the job Werner Vogels, Amazon CTO
Új trendek
Miért NoSQL? Web és adattárház alkalmazásoknak más igényeik vannak Alacsony és kiszámítható válaszidők Skálázhatóság és dinamikus bővíthetőség Hibatűrés Rugalmasság Illetve nem feltétlenül szükséges Tranzakciókezelés, erős konzisztencia Horizontálisan kiválóan skálázhatóak
RDBMS-ek: Konzisztens Hibatűrő RDBMS vs. NoSQL Új szereplők: Hibatűrő, széttagolható Nem teljesen konzisztensek Más megkötések a teljesítmény és skálázhatóság érdekében
Múlt és jelen
A jövő pedig
Shared Nothing Tárolási trendek Minden szerver saját diszkjeit használja Horizontálisan skálázható architektúra Tároló és az adatbázis kezelő összeolvad A tároló tudja, mit tárolnak rajta Tartalom alapú replikáció és párhuzamos olvasás Kiváltja a RAID funkcionalitását Olcsó PC a drága SAN helyett
SAS és a Masszív Parallel jövő A SAS új technológiájának köszönhetően 18 óráról két és fél percre csökkentette egy marketing-adatbázis feldolgozási idejét 196 szerver, 1664 CPU mag Shared-nothing alapú memóriahasználat Több terabájtnyi memória A legtöbb szállító MPP architektúrát fejleszt
Jelenlegi trendek
Map-Reduce
MapReduce A Google által kifejlesztett elosztott adatfeldolgozási eljárás, amely két részből áll: MAP: A feladatot elemi szintre bontja, szétszórja a hálózatban, majd elemi szinten kiszámolja REDUCE: A részeredményeket begyűjti a hálózatról, majd összesíti
Feladat Példa MapReduce 1. Új tarifacsomag tesztelése kiválasztott telefonszámok korábbi hívásadatain Map Kiválasztja hívásrekordokat telefonszám és időintervallum alapján, majd telefonszám szinten elkészíti a számlaösszegeket Reduce Összegzi a telefonszám alapú eredményeket
Példa MapReduce 2. Telefonszám 0-3-ig Telefonszám 4-6-ig Teljes hívásrekord adatbázis telefonszám alapján szétosztva a tárolók között Telefonszám 7-9-ig
Példa MapReduce 2. MAP REDUCE Telefonszám 0-3-ig Kiválasztott telefonszámok részfeladatok Telefonszám 4-6-ig Eredmények Új számlázási adatok Telefonszám 7-9-ig
MapReduce A mit? helyett a hogyan? Független, elosztott végrehajtás A feladatokat az adatbázis-kezelő felszeleteli, és a szeleteket ott futtatja le, ahol a releváns adat található Tervezhető futási idő és erőforrások Felhőképes koncepció
MapReduce támogatás Bejelentés dátuma Adatbázis szállító 2008. Augusztus Aster Data Systems 2008. Augusztus Greenplum 2009. Július Microsoft (Azure) 2009. Augusztus Vertica 2009. Szeptember Teradata 2009. Október Oracle 2009. December Sybase
Myspace Adattárház Ügyfél: Myspace 120 millió aktív felhasználó Többszáz terabájtos DW 2-3 TB/nap új adat Riport és elemzési igények Megoldás: Aster Data Aster Data ncluster MPP adatbázis-szerver MapReduce alapú ETL BI és Ad-hoc elemzések közvetlenül az adattárházból
Hadoop
Mi a Hadoop? Bővíthető és hibatűrő megoldás nagy mennyiségű, elosztott számítási és adatfeldolgozási feladat elvégzéséhez hétköznapi PC-kből álló hálózaton Nyílt forráskód + Olcsó hardver = IT költségcsökkentés
Hol használják? AOL Facebook Fox Interactive Media IBM ImageShack Joost Last.fm LinkedIn Meebo Microsoft The New York Times Rackspace Twitter
Hadoop Ecosystem
Hadoop HIVE Hadoop DWH megoldása MapReduce feldolgozás HDFS tárolás Hive Query Language Alap SQL utasítások Nagyteljesítményű adattárház, BI illesztéssel
Yahoo-Hadoop Story Yahoo Search! optimalizálás 1 trilliárd link feldolgozása (1 000 000 000 000 000 000 000, billiószor milliárd) 15 Petabájt kapacitás 10.000 magos klaszter Eredmények: Hadoop használatával 66%-os teljesítmény növekedés az előző célszoftverhez képest Egy hétről három napra csökkent a futásidő
Összefoglalás
Hazai helyzet Jelenleg nem tudunk sem éles, sem pilot adattárházas felhasználásról Több cég foglalkozik a technológia tesztelésével, elemzésével Komoly befektetések nélkül könnyen kipróbálható, tesztelhető
Összefoglalás NoSQL létezik és erősödik a használata Különösen a skálázhatósági igények felső végén Ingyenes szoftverek és olcsó hardverigény Konvergencia: nagy terjesztők is felkarolják Fejlődés viszont nem áll meg A jövő kérdéses, de izgalmas!
Köszönjük a figyelmet! Földi Tamás tfoldi@starschema.net
Felhasznált képek / Used pictures Dia / Slide no. Forrás / Source 3-5, 12 Tim Anglade NoSQL for Fun and Profit (presentation) 7 Gartner - Magic Quadrant for Data Warehouse Database Management Systems (white paper) 15,16 Jason Davies - Non-relational databases and world domination (presentation) 19,32,33 Philippe Julio Hadoop Architecture (presentation) 28 Aster Data - MySpace.com Scales Analytics for All of Its Friends (white paper)