Databases in hadoop

29
Databases in Hadoop Steven Goris, Joni Verzelen, Lies Haemels

Transcript of Databases in hadoop

Databases in

HadoopSteven Goris, Joni Verzelen, Lies Haemels

Korte inhoud

● HBase

● Accumulo

● Giraph

Data opslaan op HBASE vs HDFS

HBASE

● Lage latency

● Snelle random lees- en schrijfoperaties

● Geeft snel toegang tot één enkele rij

HDFS

● Gemaakt voor batch processing

● Snelle sequentiële lees- en schrijfoperaties

HBase

Belangrijkste features

● Column family store

o Linear & modular scalability

o Automatic sharding & replication

o Versioning

● Automatic failover

● Werkt met HDFS als filesystem

● Hadoop integratie

Column family store

● Schema-less

● Scalability

● Cellen met lege waarden kunnen weggelaten worden

● family -- column name = key -- value

● Tabellen worden opgeslagen per column family

o ↳hierdoor moet bij queries op familie niet alles

worden gescand

o Kolommen kunnen één keer voorkomen per familie

● Families zorgen ervoor dat er verder gedenormaliseerd

kan worden dan in klassieke SQL

Column family storeOpslagformaat

Versioning

standaard worden 3 versies

bijgehouden,

geïdentificieerd met een

timestamp

Column family storeResultaat

rowid User:

name

User:

e-mail

Social:

friend

Social:

friend

Social:

classmate

u1 Ricky [email protected] u10 u13

u2 Sam u10 u15

Opmerking: dubbele kolommen niet mogelijk in HBASE

➜ bij het toevoegen van een al bestaande kolom wordt de bestaande waarde

vervangen

Column family storeToepassing sales

HBase in HUE

Insert new row

HBase in HUE

Rows:

HBase in HUE

● Column family storeo Per rij de kolommen en de celdata zelf

o Rows kunnen verschillen in kolommen

o Elke kolom heeft een familie

One row:

HBase architecture

Namenodes

• Houdt mappenstructuur van files bij

• Zegt waar op de cluster de files staan

HStore

Beperkt aantal regions/

RegionServer (~100) om

werkgeheugen te sparen

(~2MB/family/region zonder

data)

HStore

HStore HStore

HStore HStore

HStore HStore

StartupMaster assigns regions to

regionservers

HStore HStore

HStore HStore

HStore HStore

HStore HStore

Automatic sharding

Regions worden gesplitst en

herverdeeld door de master

als ze te groot worden

Load balancing

HStore HStore

HStore HStore

Hearthbeat

HStore HStore

HStore HStore

Failove

r

Hearthbeat

Master reassigns

regions to other

regionserver

Accumulo features

● Afkomstig van NSA

● Column family store

● Realtime analytics

● ACL (acces control list) op elke rijo Included in HBase 0.98

● User database voor authenticatieo Hbase: Kerberos (protocol using secret-key

cryptografie)

● Auto sharding

Accumulo: nadelen

● Geen replicatie

● Maximum één master (SPOF)

Apache Giraph

● Graph processing tool

● Map-only job in hadoop

● Alle berekeningen gebeuren in memory

Graph processing

● vertices en edges

● WWW, Facebook, Twitter, wegennetwerk

● werkt iteratief

PageRank

1. iedere vertice begint met dezelfde

PageRank

1

2

3

PageRank

2. elke vertice stuurt een evenredig deel van

zijn PageRank naar zijn buren

PageRank

3. elke vertex telt de waardes die hij binnen

krijgt op, en dit wordt zijn nieuwe waarde

1

1,5

0,5

PageRank

n. dit wordt herhaald tot dat de wijzigingen

aan de PageRank zo klein is dat het niet meer

uitmaakt

PageRank met MapReduce

● sorteert bij elke iteratie al de vertexes

● schrijft elke iteratie weg naar de harde schijf

● en leest ze dan weer in...

PageRank met Giraph

● alles gebeurt op de mappers

Wie doet wat?