distribution and replication in basexfiles.basex.org/publications/xmlprague/2013/dirk-kirsten... ·...

13
Dirk Kirsten [email protected] BaseX User Meeting Pre-Conference Day, XML Prague 2013 Distribution and Replication in BaseX What to expect in the future

Upload: vokien

Post on 31-Jan-2018

220 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

Dirk Kirsten

[email protected]

BaseX User Meeting

Pre-Conference Day, XML Prague 2013

Distribution and Replication in BaseXWhat to expect in the future

Page 2: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

BaseX

Why do you need that?

● scale-out horizontally● easily (and cheaply) add more servers (commodity hardware)● manage large volumes of data● distribute the load faster execution→

● replication is de facto a must-have for any reliable application

● by scaling out and an increased number of servers failures become more likely and replication even more important

Page 3: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

BaseX

● Distribution:– Nothing, really...

● Replication:– Built-in Backup Tool

– rsync to copy files to other server

What can you do nowadays?

Page 4: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

BaseX

BaseX Distributed

BaseXd

BaseXd

BaseXd

BaseXd

BaseXd

XQuery

Cluster● routes read/write queries● balances data

Page 5: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

BaseX

BaseX Distributed

Page 6: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

BaseX

BaseX Distributed

Page 7: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

BaseX

BaseX Distributed

Page 8: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

BaseX

BaseX Distributed - config server

BaseXd

BaseXd

BaseXd

BaseXd

BaseXd

Cluster

C

C

C

Page 9: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

BaseX

BaseX Distributed - config server

BaseXd

BaseXd

BaseXd

BaseXd

BaseXd

Cluster

C

C

C

● x Nodes elect a new leader● 3 nodes have to server as config server otherwise just read-only→

● no rebalancing● documents can still be read or write

Page 10: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

BaseX

BaseX Distributed

for $doc in collection('webpage')

where starts-with(base-uri($doc), 'my-doc')

return $doc//p[@class = 'whatever']

Page 11: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

BaseX

BaseX Distributed

for $p in dist:query( ('webpage', 'webpage2'),

for $i in $coll

return $i/my/node/now

)

return $p/content/text()

Page 12: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

BaseX

Replication

BaseXd

BaseXd

BaseXdBaseXd

Cluster

C

C

C

BaseXd master

BaseXdslave

BaseXdslave

● traditional master/slave system● all writes are happening on the master● slaves automatically receive updates● failover management in case of failure of the master

Page 13: Distribution and Replication in BaseXfiles.basex.org/publications/xmlprague/2013/Dirk-Kirsten... · Dirk Kirsten dk@basex.org BaseX User Meeting Pre-Conference Day, XML Prague 2013

Any questions, suggestions or use cases?Now or write to [email protected]