NOSQL n aivus ir trumpas įvadas
description
Transcript of NOSQL n aivus ir trumpas įvadas
NOSQLNAIVUS IR TRUMPAS ĮVADAS
Ramas
Kas aš ?
11+met
ų
DURNAS PAVADINIMAS!
Nieko bendro su SQL kalbaDalis NoSQL bazių palaiko SQL
NoSQL yra buzzword‘asSkirtingos DBPrivalumai vs Trūkumai
NOSQL
KAM UŽKLIUVO TRADICINĖS RDB?
RDB yra nuostabios!PaprastosModel first, query later
RDB yra turtingos!Eko sistemaStandartai, sukauptos žinios
RDB yra patikimos!ACID transakcijosApribojimai ir griežtas duomenų modelis
KODĖL?
SVEIKATOS MINISTERIJA PERSPĖJA
AtomicityViskas arba nieko
ConsistencyIsolation
Lygiagrečiai = Nuosekliai
DurabilityNesikeičia laike
ACID
TRŪKUMAI
PrograminiaiPrieinamumo užtikrinimasGriežta schemaModelis neatitinka panaudojimo (ORM)
TechnikaVienas serveris, scale-up
GreitisKaina
RDB
6
BIGDATA BUZZZZZZZZ....KODĖL?
7
Duomenų kiekis
BIGDATA
Facebook, Linkedin, Netflix..Nedaro įspūdžioVidutinė apimtis – gigabaitai
Paprasti pavyzdžiaiNuobodūs!Optimizacija padedaNesureikšminamos problemos
PAVYZDŽIAI
NOT impressed
DAR ŽINOMA KAIP BREWERS TEOREMA
Paskirstytoje sistemoje......neįmanoma garantuoti:
Consistency
Availability
Partition tolerance
CAP TEOREMA
C P
A
Basically Available, Soft state, Eventually consistent 10
ALTERNATYVA !
BASE
ACID BASEStiprus nuoseklumas Toreluojamas nenuoseklumas
Izoliacija PasiekiamumasSutelktas dėmesys į “commitą" „Best effort“
Tranzakcija tranzakcijoje Apytikriai atsakymaiPrieinamumas Agresyvumas (optimizmas)
Konservatyvumas (pesimizmas) PaprastumasSudėtingas plėtimas (schema) Greitis
Lengvas vystymas
ACID VS BASE
11
DIDELĖ ŠEIMA
Dažniausiai:Lentelės nėra pagrindasNėra struktūrinės kalbos
Horizontaliai plačios:Paprastos operacijosReplikacija ir Šardai
Taikymas specifinis
NOSQL
12
ATEITIS?
Skirtingos kalbos – skirtingi tikslaiJavascriptYra ir priešingas judėjimas
Skirtingos DB?
POLIGLOTAI
Sesijų informacija
Finansiniai duomenys
Pirkinių krepšelis
Rekomendacijų sistema
Prekių katalogas
Įvairios ataskaitos Log‘ai Analizė
O DIEVE ...NOSQL TIPAI
Persistence
Distribution
Replication
Data model
Analytics support
Transaction support
Indexing
VISA TIESA APIE NOSQL VIENOJE SKAIDRĖJESPOILER ALERT!
$$ *
* Yra papildomų sąlygų
serializuota informacija
KEY/VALUE, DOCUMENT, COLUMN FAMILY, GRAPHNOSQL TIPAI
16
raktas
reikšmė
ESMINĖS SĄVYBĖS
Turint raktąOperacijos greitos...... ir paprastos
Nėra schemosDB neatsako už reikšmes
KompromisaiPrieinamumas > tikslumasPaprastas > turtingas
GRYNAS K/V
17
PAVYZDŽIAI
MemcachedTik atmintyjePademonstravo indeksavimo galią
Riak @ bashoVisada yra prieinamas
Voldemort @ linkedinPanaudojimas
„flash mob“ puslapiai
GRYNAS K/V
KEY/VALUE, DOCUMENT, COLUMN FAMILY, GRAPHNOSQL TIPAI
19
serializuota informacija
"streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021"
{ "firstName": "John", "lastName": "Smith", "age": 25,}...
20 20
DocumentKey/Value viduje kitos Key/Value
PAVYZDŽIAI
TaikymasCMS / CRM / Komentarai / Dokumentų sistemos
CouchDB @ apacheIš anksto žinomos užklausosMasterless replikosDuomenys akumuliuojasi, keičiasi nedažnai
MongoDB @ 10genDinamiškos užklausos + indeksaiVietoj MySQL/PostgreSQL„Jeigu norėjot CouchDB, bet duomenys keičiasi per dažnai“
DOCUMENT
DOCUMENT
serializuota informacija
KEY/VALUE, DOCUMENT, COLUMN FAMILY, GRAPHNOSQL TIPAI
23
raktas
stulpeliai su reikšmėmis
PRINCIPAICOLUMN FAMILY
Eilutes raktas
Stulpelio
raktas
Reikšmes
versijos.
.
(Eilutes raktas, stulpelio raktas, laikas) -> Reikšme. .
[Šeima:ID]
Taisykles / politika
.
PAVYZDŽIAI
HBase @ apacheBigTableMilžiniški duomenų kiekiaiDalis Hadoop eko-sistemosŽinučių sistemos analizė
Cassandra @ apacheBigTable + DynamoRašymo > skaitymoFinansai, bankininkystė, logaiCookie DB
COLUMN FAMILY
Consistency
Availability
ESMINĖS SĄVYBĖS
Ypatinga struktūraLabai tinka:
Socialiniams tinklamsViešam transportuiNavigacijaiTinklaiRekomendacijos
GRAPH
26
EVERYBODY‘S DOING IT. NOT!
Kas naudoja NoSQLStartupai
Kodėl sunku parduotiNo ACID = ne ne NE!Primityvi prieigaNoSQL = NoStandardsNemokamų pietų nebūna
KRITIKA
KĄ DAROM SU NOSQL
Kovojam su duomenų augimuIeškome alternatyvų
CitrusLeafIBM NetezzaHP VerticaSybase IQ
28
KĄ DAROM SU NOSQL
Naudojame NoSQLCassandraMongoDBCouchDBSQL LiteHadoop & HiveEvent store
Visgi neatsisakome RDBVS
29
REKOMENDACIJOS
Žinokite ko jums reikiaNepersistenkiteBūkite atsargūsEksperementuokite
Naudokite skirtingas technologijasKombinuokiteDebesų kompiuterijąPritaikykite sau
Nebijokite permainų!
30
31