duombazė. didelĖ ir judri
DESCRIPTION
Tado Makčinsko skaitytas pranešimas Agile Dienoje 2013 gegužės 9d. Pastoviai susiduriame su problemomis valdant ir administruojant duomenų bazes. NoSQL duomenų bazės dėl savo lankstumo padeda spręsti nemažai DB architektams ir administratoriams kylančių iššūkių. NoSQL padeda susidoroti su neprognozuojama plėtra, dideliais duomenų srautus, lengvai integruojasi su iteratyviu procesu, leidžia pamiršti skausmingą DB migravimo procesą. DB schemų projektavimas, toks kokį mes žinome šiandiena, jau praeityje?TRANSCRIPT
Duombazė
DIDELĖ ir j u d r i j u d r i
/urs/bin/whoami
Didelių duomenų technologinis architektas [email protected]
@mctadas
http://bit.ly/12a0hkB
Kur
siaubo istorija
http://bit.ly/15wOJfI
Reliacinė duomenų
bazė
ACID savybės
Neskaidoma (angl. ATOMICITY): Viskas arba nieko
Vientisa (angl. CONSISTENCY): Bet kuri transakcija perkelia
DB iš vienos vientisos būsenos į kitą nepažeisdama kitų savybių
Izoliuota (angl. ISOLATION): Operacijos negali prieiti prie
duomenų, kurie šiuos metu yra modifikuojami kitos dar nepasibaigusios transakcijos
Tvari (angl. DURABILITY): Galimybė atstatyti patvirtintas
transakcijos nutikus bet kokiam sistemos sutrikimui (transakcijų log’as)
DB schemų apjungimas
http://bit.ly/140wISs
Startuolis
Didelis neapibrėžtumas
Greiti ir dažni pokyčiai
Laukiamas eksponentinis augimas
Visuomet pasiekiamas servisas
http://bit.ly/YC4wr0
Sistemos poreikiai
Nepertraukiamas prieinamumas
Atsarginė sistema
Greitas duomenų prieinamumas
Užklausų balansavimas
Geografiškai jautrūs duomenys
NoSQL
Gidas į NoSQL
http://bit.ly/12OBIY9
Vientisumas
Prieinamumas
Toleruoja atskyrimą
Analitika Architektūra Programavimas Testavimas
Krioklinis metodas
Analitika Architektūra Programavimas Testavimas Analitika Architektūra Programavimas Testavimas
Agile procesas
Analitika Architektūra Programavimas Testavimas Analitika Architektūra Programavimas Testavimas
Agile procesas + Agile įrankiai
Mitas ar realybė
DB architektas
Pirmieji sprintai (db schema)
Lankstūs duomenų tipai
Iš anksto neapibrėžta schema
Key-Value duomenų surišimas
DB migravimas, praeitis
DB projektavimas paprastas
Lenglvas DB projektavimas
Lengvas DB plečiamumas
Pavojai skaidant DB (sharding)
Automatizuotas duomenų skaidymas
DB savininkas ir tvarka
Harmonija tarp kodo ir DB
Transakcijų kompromisas
Palaikomos transakcijos
Ką
pasirinkti
Reliacinė DB geras pasirinkimas
OLTP – programų aibė vykdanti ACID transakcijas. (geriausias kombinacija tarp duomenų kokybės ir greitaveikos)
Reikia užtikrinti duomenų teisingumą nepriklauso nuo
jais besinaudojančių sistemų.
Klausimus užduodami DB nėra žinomi (ad-hoc)
Sudėtingi duomenų tarpusavio sąryšiai
Yra poreikis palaikyti SQL
NoSQL DB geras pasirinkimas
Įvykiais paremtos transakcijos
Hierarchiniai objektai sistemoje
Paskirstyta sistema veikianti debesyje.
Masiškai įrašomi duomenys
Reikalinga lanksti schema ir lankstūs duomenų tipai
Greiti ir nepriklausomi nuo apkrovimo DB skaitymai
Dinaminis lentelių kūrimas
Programuotojų komanda atsakinga už duomenų DB
Hadoop geras pasirinkimas
Jeigu duomenys tampa per dideli paskaičiuoti ant vieno serverio (DWH)
Jeigu reikia išsaugoti TB-us įvairių duomenų su galimybe juose atlikti analizę ir reikia jus analizuoti laiko intervalais (angl. time series analysis)
Kiti klausimai