Slide 1

Slide 1 text

The database for offline-first applications http://rcouch.org Erlang Paris - June 2015

Slide 2

Slide 2 text

• A CouchDB flavour • View changes and view-based replication • Easy to extend • Correctness • Performant About

Slide 3

Slide 3 text

https://github.com/rcouch/rcouch/wiki/rcouch-hooks

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

why Erlang?

Slide 6

Slide 6 text

• Building complex system is easy • Resilience • Concurrency A good ADN

Slide 7

Slide 7 text

P P P P Processes are solated

Slide 8

Slide 8 text

P P P P Failure The system continue to work

Slide 9

Slide 9 text

P P P P Supervise & Recover Detect failures and relauch

Slide 10

Slide 10 text

a good citizen

Slide 11

Slide 11 text

• View engine, couchapps in JS… • Or any language. • A language using the Erlang VM is quite easy • 2.0 will have support of LFE, LUA, Elixir A good ADN

Slide 12

Slide 12 text

A good ADN function(doc) { emit(doc._id, null); }

Slide 13

Slide 13 text

• View engine, couchapps in JS… • Or any language. • A language using the Erlang VM is quite easy • 2.0 will have support of LFE, LUA, Elixir A good ADN

Slide 14

Slide 14 text

• In rcouch a language is viewed as a process • Input/Output protocole • building elixir: rebar(3) plugin • same for other languages • shipped in a release or loaded How: M/R & COUCHAPPS

Slide 15

Slide 15 text

TO THE NEXT STEP

Slide 16

Slide 16 text

KEEP THE COUCH

Slide 17

Slide 17 text

• Cluster Of Unreliable Commodity Hardware • Decentralised • works in condition when we can’t achieve the “quorum” A good ADN

Slide 18

Slide 18 text

? @benoitc