Ioan Eugen Stan - Introducere HBase

11
Introducere: Apache HBase Ioan Eugen Stan Întâlnirea RLUG iulie 2011 Ioan Eugen Stan Întâlnirea RLUG iulie 2011

Transcript of Ioan Eugen Stan - Introducere HBase

Page 1: Ioan Eugen Stan -  Introducere HBase

Introducere: Apache HBase

Ioan Eugen StanÎntâlnirea RLUG iulie 2011

Ioan Eugen StanÎntâlnirea RLUG iulie 2011

Page 2: Ioan Eugen Stan -  Introducere HBase

Ce este Hbase...

● O bază de date distribuită construită peste HDFS (Hadoop FileSystem)

● Scalează liniar prin adăugarea de noi noduri● Nu este relațională (vezi NoSQL)● HBase = miliarde de rânduri X milioane de

coloane X mii de versiuni => Peta bytes de data

Page 3: Ioan Eugen Stan -  Introducere HBase

...și ce pate să facă pentru mine?

● Construită pentru: tabele foarte mari, incomplet (rar) populate distribuite în clustere realizate pe hardware „de serie” ca să:● stocheze în siguranță PetaBytes de date● permită operațiuni de citire/scriere în timp real● analiza și procesarea distribuită a datelor

Page 4: Ioan Eugen Stan -  Introducere HBase

Puțină arhitectură

● Compononte:● HbaseMaster

(inițializare, gestionează RegionServers)

● RegionServer (gestionează regiuni și răspund la cereri de citire/scriere)

● ZooKeeper (menține starea clusterului uniformă între noduri)

Page 5: Ioan Eugen Stan -  Introducere HBase

Distribuirea informației pe regiuni

Page 6: Ioan Eugen Stan -  Introducere HBase

Tabele, rânduri, coloane, celule

● Tabelele au mai multe rânduri● Rândurile sunt adresate unic prin cheie (șir de

octeți)● Rândurile sunt SORTATE după cheie● Rândurile au de obicei mai multe familii de

coloane● Fiecare familie poate avea MULTE coloane● Celulă = rând x coloană● Celulele sunt versionate

Page 7: Ioan Eugen Stan -  Introducere HBase

Explicație în imagini

RDBMS: Valorile nule ocupă spațiu.

HBase: Păstrează doar Informațiile necesare.

Page 8: Ioan Eugen Stan -  Introducere HBase

O configurație pentru un cluster de 800TB

Node Type Memory CPU

Master:running the NameNode, SecondaryNameNode, JobTracker and Hbase Master

24GB Dual quad-core, 2.0-2.5 GHz

Slave: runnning DataNodes, Task Trackers and Hbase RegionServers

24GB (and up) Dual quad-core, 2.0-2.5 GHz

Page 9: Ioan Eugen Stan -  Introducere HBase

Utilizare:

● Din HBase shell● Folosind API-ul nativ (Java)● Folosind MapReduce● Prin diverse interfețe: Avro, REST, Thrift.

Page 10: Ioan Eugen Stan -  Introducere HBase

Exemplu de utilizare HBase shell

base(main):021:0> put 'test', 'row1', 'data:1', 'value1'

1 row(s) in 0.0454 seconds

hbase(main):022:0> put 'test', 'row2', 'data:2', 'value2'

1 row(s) in 0.0035 seconds

hbase(main):023:0> put 'test', 'row3', 'data:3', 'value3'

1 row(s) in 0.0090 seconds

hbase(main):024:0> scan 'test'

ROW COLUMN+CELL

row1 column=data:1, timestamp=1240148026198, value=value1

row2 column=data:2, timestamp=1240148040035, value=value2

row3 column=data:3, timestamp=1240148047497, value=value3

3 row(s) in 0.0825 seconds

Page 11: Ioan Eugen Stan -  Introducere HBase

Gata!

Mulțumesc pentru atenție!Aștept întrebări aici sau la:[email protected]