Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Introduction to CouchDB

Joan Touzet
November 17, 2014

Introduction to CouchDB

What makes CouchDB different from all other databases? Find out in this talk.

Joan Touzet

November 17, 2014
Tweet

More Decks by Joan Touzet

Other Decks in Technology

Transcript

  1. CouchDB
    Apache
    Introduction to

    View full-size slide

  2. WHAT SETS
    COUCHDB
    APART FROM
    OTHER
    DATABASES?

    View full-size slide

  3. A database:
    The single
    origin of truth

    View full-size slide

  4. Then NoSQL
    happened

    View full-size slide

  5. What makes
    CouchDB
    special?

    View full-size slide

  6. CouchDB is
    more
    like
    git
    than
    Postgres

    View full-size slide

  7. master
    secondary

    View full-size slide

  8. master
    …2ndary 2ndary 2ndary…

    View full-size slide

  9. master master

    View full-size slide

  10. master master
    master…

    View full-size slide

  11. CouchDB is not
    just a database
    It is a protocol

    View full-size slide

  12. The Couch
    Replication
    Protocol

    View full-size slide

  13. A database in
    your browser

    View full-size slide

  14. TouchDB
    Couchbase Mobile

    View full-size slide

  15. 1969-1997 (ish)
    27

    View full-size slide

  16. Offline was the default.
    28

    View full-size slide

  17. Online was slow, expensive, rare.
    29

    View full-size slide

  18. Online was slow, expensive, rare.
    30

    View full-size slide

  19. Design pattern: Store and Forward
    Plan 55-A message
    switching systems
    31

    View full-size slide

  20. Design pattern: Store and Forward
    Unix to Unix Copy (UUCP)
    Network News Transfer
    Protocol (NNTP)
    Simple Mail Transport Protocol
    (SMTP)
    32

    View full-size slide

  21. JSON
    DOCUMENTS

    View full-size slide

  22. BONUS MATERIAL

    View full-size slide


  23. Conflict resolution
    by example
    A B

    View full-size slide



  24. Conflict resolution
    by example
    A B

    View full-size slide


  25. Conflict resolution
    by example
    A B
    ❦ ✿
    ̇

    View full-size slide


  26. ̇
    Conflict resolution
    by example
    A B
    ̇

    View full-size slide


  27. ̇
    Conflict resolution
    by example
    A B
    ̇

    View full-size slide