SlideShare une entreprise Scribd logo
1  sur  46
Monday, February 4, 13
Ge#ng	
  Started	
  with	
  
                            Couchbase

                           Tugdual	
  “Tug”	
  Grall
                               Technical	
  Evangelist




         email:	
  tug@couchbase.com                     twi0er:	
  @tgrall
Monday, February 4, 13
Ge#ng	
  Started	
  with	
  
                            Couchbase

                           Tugdual	
  “Tug”	
  Grall
                               Technical	
  Evangelist




         email:	
  tug@couchbase.com                     twi0er:	
  @tgrall
Monday, February 4, 13
Couchbase	
  Server	
  Core	
  Principles

                                   Easy	
                                                 Consistent	
  High	
  
                                Scalability                       PE
                                                                       RF O R M A N C E    Performance
                       Grow	
  cluster	
  without	
                      Consistent	
  sub-­‐millisecond	
  
                    applica7on	
  changes,	
  without	
                read	
  and	
  write	
  response	
  7mes	
  
                    down7me	
  with	
  a	
  single	
  click            with	
  consistent	
  high	
  throughput



                                Always	
  On	
                  JSON
                                                              JSON JSO
                                                                                           Flexible	
  Data	
  
                                 24x365                                                       Model
                                                               JSON N
                                                               JSON




                    No	
  down7me	
  for	
  so>ware	
              JSON	
  document	
  model	
  with	
  no	
  
                        upgrades,	
  hardware	
                              fixed	
  schema.
                           maintenance,	
  etc.


Monday, February 4, 13
Couchbase	
  2.0	
  New	
  Features
                         JSON support            Indexing and
                                                   Querying




                 Incremental Map                Cross data center
                      Reduce                       replication




Monday, February 4, 13
Couchbase	
  Handles	
  Real	
  World	
  Scale




Monday, February 4, 13
8092
                   Couchbase	
  Server	
  2.0	
  Architecture
                                            11211                     11210
               Query	
  API                 Memcapable	
  	
  1.0     Memcapable	
  	
  2.0   Sub:tle

                                                Moxi
                     Query	
  Engine




                                                                                                    REST	
  management	
  API/Web	
  UI




                                                                                                                                                                                                                                                                                                    vBucket	
  state	
  and	
  replica7on	
  manager
                                                      Memcached




                                                                                                                                                                                                    Global	
  singleton	
  supervisor



                                                                                                                                                                                                                                          Rebalance	
  orchestrator
                                                                                                                                                                           Configura7on	
  manager




                                                                                                                                                                                                                                                                        Node	
  health	
  monitor
                                                                                                                                                      Process	
  monitor
                                              Couchbase	
  EP	
  Engine




                                                                                                                                          Heartbeat
                                       Data	
  Manager                                                                  Cluster	
  Manager
                                                                    storage	
  interface




                                       New	
  Persistence	
  Layer                                 hDp                                        on	
  each	
  node                                                                        one	
  per	
  cluster



                                                                                                                                                                   Erlang/OTP



                                                                                                   HTTP                                    Erlang	
  port	
  mapper                                                                                                   Distributed	
  Erlang
                                                                                                   8091                                    4369                                                                                                                       21100	
  -­‐	
  21199


Monday, February 4, 13
Couchbase	
  Server	
  2.0	
  Architecture
          8092                         11211                    11210
          Query	
  API                 Memcapable	
  	
  1.0    Memcapable	
  	
  2.0




                                            Moxi
                Query	
  Engine




                                                                                        REST	
  management	
  API/Web	
  UI




                                                                                                                                                                                                                                                                                        vBucket	
  state	
  and	
  replica7on	
  manager
                                               Object-­‐level	
  Cache




                                                                                                                                                                                         Global	
  singleton	
  supervisor
                                   RAM	
  Cache,	
  




                                                                                                                                                                                                                                Rebalance	
  orchestrator
                                                                                                                                                                Configura7on	
  manager




                                                                                                                                                                                                                                                            Node	
  health	
  monitor
                                                                                              Server/Cluster	
  




                                                                                                                                          Process	
  monitor
                                    Indexing	
  &	
  




                                                                                                                              Heartbeat
                                           Couchbase	
  EP	
  Engine
                                                                                             Management	
  &	
  
                                   Persistence	
               storage	
  interface
                                                                                             CommunicaYon
                                  Management                                                     (Erlang)
                                  New	
  (C	
  Persistence
                                       Disk	
  
                                                &	
  V8)
                                         Persistence	
  Layer                           hDp                                      on	
  each	
  node                                                                          one	
  per	
  cluster



                                                                                                                                                               Erlang/OTP


                       The Unreasonable Effectiveness of C by Damien Katz
                                                                                        HTTP                                       Erlang	
  port	
  mapper                                                                                                 Distributed	
  Erlang
                                                                                        8091                                       4369                                                                                                                     21100	
  -­‐	
  21199

Monday, February 4, 13
Open	
  Source	
  Project
                                               Apache	
  2.0




                hIps://github.com/couchbase/                   Gerrit: hIp://review.couchbase.org/
                hIps://github.com/couchbaselabs/




Monday, February 4, 13
Monday, February 4, 13
SETTING	
  UP	
  TO	
  DEVELOP



Monday, February 4, 13
Install	
  Couchbase	
  Server	
  2.0


                  Ubuntu

                  RedHat

                  Mac	
  OS	
  X

                  Windows

   or	
  build	
  from	
  sources




Monday, February 4, 13
Official	
  SDKs

                    Ruby




                           libcouchbase



                                                                   Clojure

                             Python

                                  www.couchbase.com/develop
                                                              Go


Monday, February 4, 13
Monday, February 4, 13
COUCHBASE	
  OPERATIONS



Monday, February 4, 13
Monday, February 4, 13
DEMONSTRATION



Monday, February 4, 13
Write	
  OperaJon
                                                                     Doc	
  1
                                      App	
  Server




                                                               3                    3
                                                             Managed	
  Cache 2
               To	
  other	
  node   Replica7on	
  
                                       Queue




                                                                                        Disk	
  Queue
                                                 Disk




                                                      Couchbase	
  Server	
  Node


Monday, February 4, 13
Write	
  OperaJon
                                      App	
  Server




                                                               3                    3
                                                             Managed	
  Cache 2
               To	
  other	
  node   Replica7on	
  
                                                                     Doc	
  1
                                       Queue




                                                                                        Disk	
  Queue
                                                 Disk




                                                      Couchbase	
  Server	
  Node


Monday, February 4, 13
Write	
  OperaJon
                                      App	
  Server




                                                               3                    3
                                                             Managed	
  Cache 2
               To	
  other	
  node   Replica7on	
  
                                           Doc	
  1                  Doc	
  1           Doc	
  1
                                       Queue




                                                                                        Disk	
  Queue
                                                 Disk




                                                      Couchbase	
  Server	
  Node


Monday, February 4, 13
Basic	
  OperaJons


                                                                                      • Docs	
  distributed	
  evenly	
  across	
  servers	
  

                                                                                      • Each	
  server	
  stores	
  both	
  acYve	
  and	
  replica	
  
                SERVER	
  1                SERVER	
  2                  SERVER	
  3     docs
                                                                                         Only	
  one	
  doc	
  ac7ve	
  at	
  a	
  7me
                 ACTIVE                     ACTIVE                       ACTIVE
                                                                                      • Client	
  library	
  provides	
  app	
  with	
  simple	
  
            Doc	
  5     Doc           Doc	
  4    Doc              Doc	
  1    Doc
                                                                                        interface	
  to	
  database
            Doc	
  2     Doc           Doc	
  7    Doc              Doc	
  2    Doc   • Cluster	
  map	
  provides	
  map	
  
                                                                                        to	
  which	
  server	
  doc	
  is	
  on
            Doc	
  9     Doc           Doc	
  8    Doc              Doc	
  6    Doc      App	
  never	
  needs	
  to	
  know

                                                                                      • App	
  reads,	
  writes,	
  updates	
  docs

                                                                                      • MulYple	
  app	
  servers	
  can	
  access	
  same	
  
                                                                                        document	
  at	
  same	
  Yme




                               COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Basic	
  OperaJons


                                                                                      • Docs	
  distributed	
  evenly	
  across	
  servers	
  

                                                                                      • Each	
  server	
  stores	
  both	
  acYve	
  and	
  replica	
  
                SERVER	
  1                SERVER	
  2                  SERVER	
  3     docs
                                                                                         Only	
  one	
  doc	
  ac7ve	
  at	
  a	
  7me
                 ACTIVE                     ACTIVE                       ACTIVE
                                                                                      • Client	
  library	
  provides	
  app	
  with	
  simple	
  
            Doc	
  5     Doc           Doc	
  4    Doc              Doc	
  1    Doc
                                                                                        interface	
  to	
  database
            Doc	
  2     Doc           Doc	
  7    Doc              Doc	
  2    Doc   • Cluster	
  map	
  provides	
  map	
  
                                                                                        to	
  which	
  server	
  doc	
  is	
  on
            Doc	
  9     Doc           Doc	
  8    Doc              Doc	
  6    Doc      App	
  never	
  needs	
  to	
  know

                                                                                      • App	
  reads,	
  writes,	
  updates	
  docs
                 REPLICA                    REPLICA                      REPLICA
                                                                                      • MulYple	
  app	
  servers	
  can	
  access	
  same	
  
            Doc	
  4     Doc           Doc	
  6    Doc              Doc	
  7    Doc
                                                                                        document	
  at	
  same	
  Yme
            Doc	
  1     Doc           Doc	
  3    Doc              Doc	
  9    Doc


            Doc	
  8     Doc           Doc	
  2    Doc              Doc	
  5    Doc


                               COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Basic	
  OperaJons
                       APP	
  SERVER	
  1                                APP	
  SERVER	
  2


             COUCHBASE	
  Client	
  Library                       COUCHBASE	
  Client	
  Library
                 CLUSTER	
  MAP                                       CLUSTER	
  MAP

                                                                                                    • Docs	
  distributed	
  evenly	
  across	
  servers	
  

                                                                                                    • Each	
  server	
  stores	
  both	
  acYve	
  and	
  replica	
  
                SERVER	
  1                         SERVER	
  2                     SERVER	
  3       docs
                                                                                                       Only	
  one	
  doc	
  ac7ve	
  at	
  a	
  7me
                 ACTIVE                              ACTIVE                          ACTIVE
                                                                                                    • Client	
  library	
  provides	
  app	
  with	
  simple	
  
            Doc	
  5       Doc                  Doc	
  4    Doc                 Doc	
  1      Doc
                                                                                                      interface	
  to	
  database
            Doc	
  2        Doc                 Doc	
  7    Doc                 Doc	
  2      Doc   • Cluster	
  map	
  provides	
  map	
  
                                                                                                      to	
  which	
  server	
  doc	
  is	
  on
            Doc	
  9        Doc                 Doc	
  8    Doc                 Doc	
  6      Doc      App	
  never	
  needs	
  to	
  know

                                                                                                    • App	
  reads,	
  writes,	
  updates	
  docs
                 REPLICA                             REPLICA                         REPLICA
                                                                                                    • MulYple	
  app	
  servers	
  can	
  access	
  same	
  
            Doc	
  4       Doc                  Doc	
  6    Doc                 Doc	
  7      Doc
                                                                                                      document	
  at	
  same	
  Yme
            Doc	
  1       Doc                  Doc	
  3    Doc                 Doc	
  9      Doc


            Doc	
  8       Doc                  Doc	
  2    Doc                 Doc	
  5      Doc


                                        COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Basic	
  OperaJons
                       APP	
  SERVER	
  1                                APP	
  SERVER	
  2


             COUCHBASE	
  Client	
  Library                       COUCHBASE	
  Client	
  Library
                 CLUSTER	
  MAP                                       CLUSTER	
  MAP

                                                                                                    • Docs	
  distributed	
  evenly	
  across	
  servers	
  

                                                                                                    • Each	
  server	
  stores	
  both	
  acYve	
  and	
  replica	
  
                SERVER	
  1                         SERVER	
  2                     SERVER	
  3       docs
                 ACTIVE                              ACTIVE                          ACTIVE

            Doc	
  5       Doc                  Doc	
  4    Doc                 Doc	
  1      Doc

            Doc	
  2        Doc                 Doc	
  7    Doc                 Doc	
  2      Doc


            Doc	
  9        Doc                 Doc	
  8    Doc                 Doc	
  6      Doc


                 REPLICA                             REPLICA                         REPLICA

            Doc	
  4       Doc                  Doc	
  6    Doc                 Doc	
  7      Doc

            Doc	
  1       Doc                  Doc	
  3    Doc                 Doc	
  9      Doc


            Doc	
  8       Doc                  Doc	
  2    Doc                 Doc	
  5      Doc


                                        COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Basic	
  OperaJons
                       APP	
  SERVER	
  1                                APP	
  SERVER	
  2


             COUCHBASE	
  Client	
  Library                       COUCHBASE	
  Client	
  Library
                 CLUSTER	
  MAP                                       CLUSTER	
  MAP

                                                                                                    • Docs	
  distributed	
  evenly	
  across	
  servers	
  

                                                                                                    • Each	
  server	
  stores	
  both	
  acYve	
  and	
  replica	
  
                SERVER	
  1                         SERVER	
  2                     SERVER	
  3       docs
                                                                                                       Only	
  one	
  doc	
  ac7ve	
  at	
  a	
  7me
                 ACTIVE                              ACTIVE                          ACTIVE

            Doc	
  5       Doc                  Doc	
  4    Doc                 Doc	
  1      Doc

            Doc	
  2        Doc                 Doc	
  7    Doc                 Doc	
  2      Doc


            Doc	
  9        Doc                 Doc	
  8    Doc                 Doc	
  6      Doc


                 REPLICA                             REPLICA                         REPLICA

            Doc	
  4       Doc                  Doc	
  6    Doc                 Doc	
  7      Doc

            Doc	
  1       Doc                  Doc	
  3    Doc                 Doc	
  9      Doc


            Doc	
  8       Doc                  Doc	
  2    Doc                 Doc	
  5      Doc


                                        COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Basic	
  OperaJons
                       APP	
  SERVER	
  1                                APP	
  SERVER	
  2


             COUCHBASE	
  Client	
  Library                       COUCHBASE	
  Client	
  Library
                 CLUSTER	
  MAP                                       CLUSTER	
  MAP

                                                                                                    • Docs	
  distributed	
  evenly	
  across	
  servers	
  

                                                                                                    • Each	
  server	
  stores	
  both	
  acYve	
  and	
  replica	
  
                SERVER	
  1                         SERVER	
  2                     SERVER	
  3       docs
                                                                                                       Only	
  one	
  doc	
  ac7ve	
  at	
  a	
  7me
                 ACTIVE                              ACTIVE                          ACTIVE
                                                                                                    • Client	
  library	
  provides	
  app	
  with	
  simple	
  
            Doc	
  5       Doc                  Doc	
  4    Doc                 Doc	
  1      Doc
                                                                                                      interface	
  to	
  database
            Doc	
  2        Doc                 Doc	
  7    Doc                 Doc	
  2      Doc


            Doc	
  9        Doc                 Doc	
  8    Doc                 Doc	
  6      Doc


                 REPLICA                             REPLICA                         REPLICA

            Doc	
  4       Doc                  Doc	
  6    Doc                 Doc	
  7      Doc

            Doc	
  1       Doc                  Doc	
  3    Doc                 Doc	
  9      Doc


            Doc	
  8       Doc                  Doc	
  2    Doc                 Doc	
  5      Doc


                                        COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Basic	
  OperaJons
                       APP	
  SERVER	
  1                                APP	
  SERVER	
  2


             COUCHBASE	
  Client	
  Library                       COUCHBASE	
  Client	
  Library
                 CLUSTER	
  MAP                                       CLUSTER	
  MAP

                                                                                                    • Docs	
  distributed	
  evenly	
  across	
  servers	
  

                                                                                                    • Each	
  server	
  stores	
  both	
  acYve	
  and	
  replica	
  
                SERVER	
  1                         SERVER	
  2                     SERVER	
  3       docs
                                                                                                       Only	
  one	
  doc	
  ac7ve	
  at	
  a	
  7me
                 ACTIVE                              ACTIVE                          ACTIVE
                                                                                                    • Client	
  library	
  provides	
  app	
  with	
  simple	
  
            Doc	
  5       Doc                  Doc	
  4    Doc                 Doc	
  1      Doc
                                                                                                      interface	
  to	
  database
            Doc	
  2        Doc                 Doc	
  7    Doc                 Doc	
  2      Doc   • Cluster	
  map	
  provides	
  map	
  
                                                                                                      to	
  which	
  server	
  doc	
  is	
  on
            Doc	
  9        Doc                 Doc	
  8    Doc                 Doc	
  6      Doc


                 REPLICA                             REPLICA                         REPLICA

            Doc	
  4       Doc                  Doc	
  6    Doc                 Doc	
  7      Doc

            Doc	
  1       Doc                  Doc	
  3    Doc                 Doc	
  9      Doc


            Doc	
  8       Doc                  Doc	
  2    Doc                 Doc	
  5      Doc


                                        COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Basic	
  OperaJons
                       APP	
  SERVER	
  1                                APP	
  SERVER	
  2


             COUCHBASE	
  Client	
  Library                       COUCHBASE	
  Client	
  Library
                 CLUSTER	
  MAP                                       CLUSTER	
  MAP

                                                                                                    • Docs	
  distributed	
  evenly	
  across	
  servers	
  

                                                                                                    • Each	
  server	
  stores	
  both	
  acYve	
  and	
  replica	
  
                SERVER	
  1                         SERVER	
  2                     SERVER	
  3       docs
                                                                                                       Only	
  one	
  doc	
  ac7ve	
  at	
  a	
  7me
                 ACTIVE                              ACTIVE                          ACTIVE
                                                                                                    • Client	
  library	
  provides	
  app	
  with	
  simple	
  
            Doc	
  5       Doc                  Doc	
  4    Doc                 Doc	
  1      Doc
                                                                                                      interface	
  to	
  database
            Doc	
  2        Doc                 Doc	
  7    Doc                 Doc	
  2      Doc   • Cluster	
  map	
  provides	
  map	
  
                                                                                                      to	
  which	
  server	
  doc	
  is	
  on
            Doc	
  9        Doc                 Doc	
  8    Doc                 Doc	
  6      Doc      App	
  never	
  needs	
  to	
  know

                 REPLICA                             REPLICA                         REPLICA

            Doc	
  4       Doc                  Doc	
  6    Doc                 Doc	
  7      Doc

            Doc	
  1       Doc                  Doc	
  3    Doc                 Doc	
  9      Doc


            Doc	
  8       Doc                  Doc	
  2    Doc                 Doc	
  5      Doc


                                        COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Basic	
  OperaJons
                       APP	
  SERVER	
  1                                APP	
  SERVER	
  2


             COUCHBASE	
  Client	
  Library                       COUCHBASE	
  Client	
  Library
                 CLUSTER	
  MAP                                       CLUSTER	
  MAP

                                                                                                    • Docs	
  distributed	
  evenly	
  across	
  servers	
  

                                                                                                    • Each	
  server	
  stores	
  both	
  acYve	
  and	
  replica	
  
                SERVER	
  1                         SERVER	
  2                     SERVER	
  3       docs
                                                                                                       Only	
  one	
  doc	
  ac7ve	
  at	
  a	
  7me
                 ACTIVE                              ACTIVE                          ACTIVE
                                                                                                    • Client	
  library	
  provides	
  app	
  with	
  simple	
  
            Doc	
  5       Doc                  Doc	
  4    Doc                 Doc	
  1      Doc
                                                                                                      interface	
  to	
  database
            Doc	
  2        Doc                 Doc	
  7    Doc                 Doc	
  2      Doc   • Cluster	
  map	
  provides	
  map	
  
                                                                                                      to	
  which	
  server	
  doc	
  is	
  on
            Doc	
  9        Doc                 Doc	
  8    Doc                 Doc	
  6      Doc      App	
  never	
  needs	
  to	
  know

                                                                                                    • App	
  reads,	
  writes,	
  updates	
  docs
                 REPLICA                             REPLICA                         REPLICA

            Doc	
  4       Doc                  Doc	
  6    Doc                 Doc	
  7      Doc

            Doc	
  1       Doc                  Doc	
  3    Doc                 Doc	
  9      Doc


            Doc	
  8       Doc                  Doc	
  2    Doc                 Doc	
  5      Doc


                                        COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Basic	
  OperaJons
                       APP	
  SERVER	
  1                                APP	
  SERVER	
  2


             COUCHBASE	
  Client	
  Library                       COUCHBASE	
  Client	
  Library
                 CLUSTER	
  MAP                                       CLUSTER	
  MAP

                                                                                                    • Docs	
  distributed	
  evenly	
  across	
  servers	
  
                                  READ/WRITE/UPDATE
                                                                                                    • Each	
  server	
  stores	
  both	
  acYve	
  and	
  replica	
  
                SERVER	
  1                         SERVER	
  2                     SERVER	
  3       docs
                                                                                                       Only	
  one	
  doc	
  ac7ve	
  at	
  a	
  7me
                 ACTIVE                              ACTIVE                          ACTIVE
                                                                                                    • Client	
  library	
  provides	
  app	
  with	
  simple	
  
            Doc	
  5       Doc                  Doc	
  4    Doc                 Doc	
  1      Doc
                                                                                                      interface	
  to	
  database
            Doc	
  2        Doc                 Doc	
  7    Doc                 Doc	
  2      Doc   • Cluster	
  map	
  provides	
  map	
  
                                                                                                      to	
  which	
  server	
  doc	
  is	
  on
            Doc	
  9        Doc                 Doc	
  8    Doc                 Doc	
  6      Doc      App	
  never	
  needs	
  to	
  know

                                                                                                    • App	
  reads,	
  writes,	
  updates	
  docs
                 REPLICA                             REPLICA                         REPLICA
                                                                                                    • MulYple	
  app	
  servers	
  can	
  access	
  same	
  
            Doc	
  4       Doc                  Doc	
  6    Doc                 Doc	
  7      Doc
                                                                                                      document	
  at	
  same	
  Yme
            Doc	
  1       Doc                  Doc	
  3    Doc                 Doc	
  9      Doc


            Doc	
  8       Doc                  Doc	
  2    Doc                 Doc	
  5      Doc


                                        COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Basic	
  OperaJons
        • get	
  (key)
              – 	
  Retrieve	
  a	
  document
        • set	
  (key,	
  value)
              – 	
  Store	
  a	
  document,	
  overwrites	
  if	
  exists
        • add	
  (key,	
  value)
              – 	
  Store	
  a	
  document,	
  error/excep7on	
  if	
  exists
        • replace	
  (key,	
  value)
              – 	
  Store	
  a	
  document,	
  error/excep7on	
  if	
  doesn’t	
  exist
        • cas	
  (key,	
  value,	
  cas)
              – 	
  Compare	
  and	
  swap,	
  mutate	
  document	
  only	
  if	
  it	
  hasn’t	
  changed	
  while	
  
                execu7ng	
  this	
  opera7on



Monday, February 4, 13
Fail	
  Over	
  Node
                                         APP	
  SERVER	
  1                                         APP	
  SERVER	
  2

                                 COUCHBASE	
  Client	
  Library                                COUCHBASE	
  Client	
  Library

                                           CLUSTER	
  MAP                                            CLUSTER	
  MAP




               SERVER	
  1                            SERVER	
  2                SERVER	
  3                   SERVER	
  4          SERVER	
  5
                                                                                                                                                   • App	
  servers	
  accessing	
  docs
                ACTIVE                                 ACTIVE                     ACTIVE                        ACTIVE               ACTIVE

         Doc	
  5          Doc                    Doc	
  4    Doc            Doc	
  1    Doc               Doc	
  9      Doc    Doc	
  6     Doc   • Requests	
  to	
  Server	
  3	
  fail

         Doc	
  2          Doc                    Doc	
  7    Doc            Doc	
  2    Doc               Doc	
  8                          Doc
                                                                                                                                                   • Cluster	
  detects	
  server	
  failed
                                                                                                                                                       Promotes	
  replicas	
  of	
  docs	
  to	
  ac7ve
                                                                                                                                                       Updates	
  cluster	
  map

                                                                                                                                                   • Requests	
  for	
  docs	
  now	
  go	
  to	
  
                                                                                                                                                     appropriate	
  server
               REPLICA                                 REPLICA                    REPLICA                       REPLICA              REPLICA

         Doc	
  4          Doc                    Doc	
  6    Doc            Doc	
  7    Doc              Doc	
  5     Doc      Doc	
  8     Doc
                                                                                                                                                   • Typically	
  rebalance	
  
                                                                                                                                                     would	
  follow
         Doc	
  1          Doc                    Doc	
  3    Doc            Doc	
  9    Doc               Doc	
  2                          Doc




                                                                    COUCHBASE	
  SERVER	
  	
  CLUSTER


User	
  Configured	
  Replica	
  Count	
  =	
  1

 Monday, February 4, 13
Fail	
  Over	
  Node
                                         APP	
  SERVER	
  1                                         APP	
  SERVER	
  2

                                 COUCHBASE	
  Client	
  Library                                COUCHBASE	
  Client	
  Library

                                           CLUSTER	
  MAP                                            CLUSTER	
  MAP




               SERVER	
  1                            SERVER	
  2                SERVER	
  3                   SERVER	
  4          SERVER	
  5
                                                                                                                                                   • App	
  servers	
  accessing	
  docs
                ACTIVE                                 ACTIVE                     ACTIVE                        ACTIVE               ACTIVE

         Doc	
  5          Doc                    Doc	
  4    Doc            Doc	
  1    Doc               Doc	
  9      Doc    Doc	
  6     Doc   • Requests	
  to	
  Server	
  3	
  fail

         Doc	
  2          Doc                    Doc	
  7    Doc            Doc	
  2    Doc               Doc	
  8                          Doc
                                                                                                                                                   • Cluster	
  detects	
  server	
  failed
                                                                                                                                                       Promotes	
  replicas	
  of	
  docs	
  to	
  ac7ve
                                                                                                                                                       Updates	
  cluster	
  map

                                                                                                                                                   • Requests	
  for	
  docs	
  now	
  go	
  to	
  
                                                                                                                                                     appropriate	
  server
               REPLICA                                 REPLICA                    REPLICA                       REPLICA              REPLICA

         Doc	
  4          Doc                    Doc	
  6    Doc            Doc	
  7    Doc              Doc	
  5     Doc      Doc	
  8     Doc
                                                                                                                                                   • Typically	
  rebalance	
  
                                                                                                                                                     would	
  follow
         Doc	
  1          Doc                    Doc	
  3    Doc            Doc	
  9    Doc               Doc	
  2                          Doc




                                                                    COUCHBASE	
  SERVER	
  	
  CLUSTER


User	
  Configured	
  Replica	
  Count	
  =	
  1

 Monday, February 4, 13
Fail	
  Over	
  Node
                                         APP	
  SERVER	
  1                                         APP	
  SERVER	
  2

                                 COUCHBASE	
  Client	
  Library                                COUCHBASE	
  Client	
  Library

                                           CLUSTER	
  MAP                                            CLUSTER	
  MAP




               SERVER	
  1                            SERVER	
  2                SERVER	
  3                   SERVER	
  4          SERVER	
  5
                                                                                                                                                   • App	
  servers	
  accessing	
  docs
                ACTIVE                                 ACTIVE                     ACTIVE                        ACTIVE               ACTIVE

         Doc	
  5          Doc                    Doc	
  4    Doc            Doc	
  1    Doc               Doc	
  9      Doc    Doc	
  6     Doc   • Requests	
  to	
  Server	
  3	
  fail

         Doc	
  2          Doc                    Doc	
  7    Doc            Doc	
  2    Doc               Doc	
  8                          Doc




               REPLICA                                 REPLICA                    REPLICA                       REPLICA              REPLICA

         Doc	
  4          Doc                    Doc	
  6    Doc            Doc	
  7    Doc              Doc	
  5     Doc      Doc	
  8     Doc

         Doc	
  1          Doc                    Doc	
  3    Doc            Doc	
  9    Doc               Doc	
  2                          Doc




                                                                    COUCHBASE	
  SERVER	
  	
  CLUSTER


User	
  Configured	
  Replica	
  Count	
  =	
  1

 Monday, February 4, 13
Fail	
  Over	
  Node
                                         APP	
  SERVER	
  1                                         APP	
  SERVER	
  2

                                 COUCHBASE	
  Client	
  Library                                COUCHBASE	
  Client	
  Library

                                           CLUSTER	
  MAP                                            CLUSTER	
  MAP




               SERVER	
  1                            SERVER	
  2                SERVER	
  3                   SERVER	
  4          SERVER	
  5
                                                                                                                                                   • App	
  servers	
  accessing	
  docs
                ACTIVE                                 ACTIVE                     ACTIVE                        ACTIVE               ACTIVE

         Doc	
  5          Doc                    Doc	
  4    Doc            Doc	
  1    Doc               Doc	
  9      Doc    Doc	
  6     Doc   • Requests	
  to	
  Server	
  3	
  fail

         Doc	
  2          Doc                    Doc	
  7    Doc            Doc	
  2    Doc               Doc	
  8      Doc                 Doc
                                                                                                                                                   • Cluster	
  detects	
  server	
  failed
                                                                                                                                                       Promotes	
  replicas	
  of	
  docs	
  to	
  ac7ve
                                                                                                                                                       Updates	
  cluster	
  map
         Doc	
  1                                 Doc	
  3
                                                                                                                                                   • Requests	
  for	
  docs	
  now	
  go	
  to	
  
                                                                                                                                                     appropriate	
  server
               REPLICA                                 REPLICA                    REPLICA                       REPLICA              REPLICA

         Doc	
  4          Doc                    Doc	
  6    Doc            Doc	
  7    Doc              Doc	
  5              Doc	
  8     Doc
                                                                                                                                                   • Typically	
  rebalance	
  
                                                                                                                                                     would	
  follow
                           Doc                                Doc            Doc	
  9    Doc               Doc	
  2                          Doc




                                                                    COUCHBASE	
  SERVER	
  	
  CLUSTER


User	
  Configured	
  Replica	
  Count	
  =	
  1

 Monday, February 4, 13
Indexing	
  and	
  Querying
                       APP	
  SERVER	
  1                                      APP	
  SERVER	
  2

                  COUCHBASE	
  Client	
  Library                        COUCHBASE	
  Client	
  Library

                        CLUSTER	
  MAP                                        CLUSTER	
  MAP




             SERVER	
  1                                  SERVER	
  2                                          SERVER	
  3
            ACTIVE
                                                                                                                             • Indexing	
  work	
  is	
  distributed	
  amongst	
  
                                                          ACTIVE                                          ACTIVE
                                                                                                                               nodes
       Doc	
  5        Doc                          Doc	
  5     Doc                                Doc	
  5         Doc
                                                                                                                             • Large	
  data	
  set	
  possible
       Doc	
  2        Doc                          Doc	
  2     Doc                                Doc	
  2         Doc
                                                                                                                             • Parallelize	
  the	
  effort
       Doc	
  9        Doc                          Doc	
  9     Doc                                Doc	
  9         Doc     • Each	
  node	
  has	
  index	
  for	
  data	
  stored	
  on	
  it

           REPLICA                                       REPLICA                                         REPLICA             • Queries	
  combine	
  the	
  results	
  from	
  
                                                                                                                               required	
  nodes
      Doc	
  4        Doc                           Doc	
  4    Doc                                 Doc	
  4        Doc

      Doc	
  1        Doc                           Doc	
  1    Doc                                 Doc	
  1        Doc

      Doc	
  8        Doc                           Doc	
  8    Doc                                 Doc	
  8        Doc


                                         COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Indexing	
  and	
  Querying
                       APP	
  SERVER	
  1                                      APP	
  SERVER	
  2

                  COUCHBASE	
  Client	
  Library                        COUCHBASE	
  Client	
  Library

                        CLUSTER	
  MAP                                        CLUSTER	
  MAP




             SERVER	
  1                                  SERVER	
  2                                          SERVER	
  3
            ACTIVE
                                                                                                                             • Indexing	
  work	
  is	
  distributed	
  amongst	
  
                                                          ACTIVE                                          ACTIVE
                                                                                                                               nodes
       Doc	
  5        Doc                          Doc	
  5     Doc                                Doc	
  5         Doc
                                                                                                                             • Large	
  data	
  set	
  possible
       Doc	
  2        Doc                          Doc	
  2     Doc                                Doc	
  2         Doc
                                                                                                                             • Parallelize	
  the	
  effort
       Doc	
  9        Doc                          Doc	
  9     Doc                                Doc	
  9         Doc     • Each	
  node	
  has	
  index	
  for	
  data	
  stored	
  on	
  it

           REPLICA                                       REPLICA                                         REPLICA             • Queries	
  combine	
  the	
  results	
  from	
  
                                                                                                                               required	
  nodes
      Doc	
  4        Doc                           Doc	
  4    Doc                                 Doc	
  4        Doc

      Doc	
  1        Doc                           Doc	
  1    Doc                                 Doc	
  1        Doc

      Doc	
  8        Doc                           Doc	
  8    Doc                                 Doc	
  8        Doc


                                         COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Indexing	
  and	
  Querying
                       APP	
  SERVER	
  1                                      APP	
  SERVER	
  2

                  COUCHBASE	
  Client	
  Library                        COUCHBASE	
  Client	
  Library

                        CLUSTER	
  MAP                                        CLUSTER	
  MAP




             SERVER	
  1                                  SERVER	
  2                                          SERVER	
  3
            ACTIVE
                                                                                                                             • Indexing	
  work	
  is	
  distributed	
  amongst	
  
                                                          ACTIVE                                          ACTIVE
                                                                                                                               nodes
       Doc	
  5        Doc                          Doc	
  5     Doc                                Doc	
  5         Doc
                                                                                                                             • Large	
  data	
  set	
  possible
       Doc	
  2        Doc                          Doc	
  2     Doc                                Doc	
  2         Doc
                                                                                                                             • Parallelize	
  the	
  effort
       Doc	
  9        Doc                          Doc	
  9     Doc                                Doc	
  9         Doc     • Each	
  node	
  has	
  index	
  for	
  data	
  stored	
  on	
  it

           REPLICA                                       REPLICA                                         REPLICA             • Queries	
  combine	
  the	
  results	
  from	
  
                                                                                                                               required	
  nodes
      Doc	
  4        Doc                           Doc	
  4    Doc                                 Doc	
  4        Doc

      Doc	
  1        Doc                           Doc	
  1    Doc                                 Doc	
  1        Doc

      Doc	
  8        Doc                           Doc	
  8    Doc                                 Doc	
  8        Doc


                                         COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Indexing	
  and	
  Querying
                       APP	
  SERVER	
  1                                      APP	
  SERVER	
  2

                  COUCHBASE	
  Client	
  Library                        COUCHBASE	
  Client	
  Library

                        CLUSTER	
  MAP                                        CLUSTER	
  MAP


                                                                                           Query

             SERVER	
  1                                  SERVER	
  2                                          SERVER	
  3
            ACTIVE
                                                                                                                             • Indexing	
  work	
  is	
  distributed	
  amongst	
  
                                                          ACTIVE                                          ACTIVE
                                                                                                                               nodes
       Doc	
  5        Doc                          Doc	
  5     Doc                                Doc	
  5         Doc
                                                                                                                             • Large	
  data	
  set	
  possible
       Doc	
  2        Doc                          Doc	
  2     Doc                                Doc	
  2         Doc
                                                                                                                             • Parallelize	
  the	
  effort
       Doc	
  9        Doc                          Doc	
  9     Doc                                Doc	
  9         Doc     • Each	
  node	
  has	
  index	
  for	
  data	
  stored	
  on	
  it

           REPLICA                                       REPLICA                                         REPLICA             • Queries	
  combine	
  the	
  results	
  from	
  
                                                                                                                               required	
  nodes
      Doc	
  4        Doc                           Doc	
  4    Doc                                 Doc	
  4        Doc

      Doc	
  1        Doc                           Doc	
  1    Doc                                 Doc	
  1        Doc

      Doc	
  8        Doc                           Doc	
  8    Doc                                 Doc	
  8        Doc


                                         COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Indexing	
  and	
  Querying
                       APP	
  SERVER	
  1                                      APP	
  SERVER	
  2

                  COUCHBASE	
  Client	
  Library                        COUCHBASE	
  Client	
  Library

                        CLUSTER	
  MAP                                        CLUSTER	
  MAP




             SERVER	
  1                                  SERVER	
  2                                          SERVER	
  3
            ACTIVE
                                                                                                                             • Indexing	
  work	
  is	
  distributed	
  amongst	
  
                                                          ACTIVE                                          ACTIVE
                                                                                                                               nodes
       Doc	
  5        Doc                          Doc	
  5     Doc                                Doc	
  5         Doc
                                                                                                                             • Large	
  data	
  set	
  possible
       Doc	
  2        Doc                          Doc	
  2     Doc                                Doc	
  2         Doc
                                                                                                                             • Parallelize	
  the	
  effort
       Doc	
  9        Doc                          Doc	
  9     Doc                                Doc	
  9         Doc     • Each	
  node	
  has	
  index	
  for	
  data	
  stored	
  on	
  it

           REPLICA                                       REPLICA                                         REPLICA             • Queries	
  combine	
  the	
  results	
  from	
  
                                                                                                                               required	
  nodes
      Doc	
  4        Doc                           Doc	
  4    Doc                                 Doc	
  4        Doc

      Doc	
  1        Doc                           Doc	
  1    Doc                                 Doc	
  1        Doc

      Doc	
  8        Doc                           Doc	
  8    Doc                                 Doc	
  8        Doc


                                         COUCHBASE	
  SERVER	
  	
  CLUSTER




Monday, February 4, 13
Cross	
  Data	
  Center	
  ReplicaJon	
  (XDCR)
                    Couchbase	
  Cluster                                             Couchbase	
  Cluster
                   West	
  Coast	
  Data	
  Center                                 East	
  Coast	
  Data	
  Center
         SERVER	
  1            SERVER	
  2        SERVER	
  3       SERVER	
  1                SERVER	
  2          SERVER	
  3
       RAM	
  CACHE           RAM	
  CACHE       RAM	
  CACHE      RAM	
  CACHE               RAM	
  CACHE       RAM	
  CACHE
     Doc	
  1    Doc        Doc	
  1    Doc    Doc	
  1    Doc   Doc	
  1    Doc            Doc	
  1    Doc    Doc	
  1      Doc

     Doc	
  2    Doc        Doc	
  2    Doc    Doc	
  2    Doc   Doc	
  2    Doc            Doc	
  2    Doc    Doc	
  2      Doc

     Doc	
  6    Doc        Doc	
  6    Doc    Doc	
  6    Doc   Doc	
  6    Doc            Doc	
  6    Doc    Doc	
  6      Doc


       DISK                   DISK               DISK              DISK                       DISK               DISK
      Doc        Doc         Doc        Doc     Doc        Doc    Doc        Doc             Doc        Doc     Doc          Doc

      Doc        Doc         Doc        Doc     Doc        Doc    Doc        Doc             Doc        Doc     Doc          Doc

      Doc        Doc         Doc        Doc     Doc        Doc    Doc        Doc             Doc        Doc     Doc          Doc




Monday, February 4, 13
Cross	
  Data	
  Center	
  ReplicaJon	
  (XDCR)
                    Couchbase	
  Cluster                                             Couchbase	
  Cluster
                   West	
  Coast	
  Data	
  Center                                 East	
  Coast	
  Data	
  Center
         SERVER	
  1            SERVER	
  2        SERVER	
  3       SERVER	
  1                SERVER	
  2          SERVER	
  3
       RAM	
  CACHE           RAM	
  CACHE       RAM	
  CACHE      RAM	
  CACHE               RAM	
  CACHE       RAM	
  CACHE
     Doc	
  1    Doc        Doc	
  1    Doc    Doc	
  1    Doc   Doc	
  1    Doc            Doc	
  1    Doc    Doc	
  1      Doc

     Doc	
  2    Doc        Doc	
  2    Doc    Doc	
  2    Doc   Doc	
  2    Doc            Doc	
  2    Doc    Doc	
  2      Doc

     Doc	
  6    Doc        Doc	
  6    Doc    Doc	
  6    Doc   Doc	
  6    Doc            Doc	
  6    Doc    Doc	
  6      Doc


       DISK                   DISK               DISK              DISK                       DISK               DISK
      Doc        Doc         Doc        Doc     Doc        Doc    Doc        Doc             Doc        Doc     Doc          Doc

      Doc        Doc         Doc        Doc     Doc        Doc    Doc        Doc             Doc        Doc     Doc          Doc

      Doc        Doc         Doc        Doc     Doc        Doc    Doc        Doc             Doc        Doc     Doc          Doc




Monday, February 4, 13
GeoCouch	
  R-­‐Tree	
  Index
         • Optimized for bulk loading of large data sets
         • Simplified query model (bounding box, nearest neighbor)




Monday, February 4, 13
ElasJc	
  Search	
  Adaptor
         • Elastic Search is good for ad-hoc queries and faceted browsing
         • Our adapter is aware of changing Couchbase topology
         • Indexed by Elastic Search after stored to disk in Couchbase




                                                     ElasYcSearch




Monday, February 4, 13
I’m	
  Excited	
  to	
  See	
  What	
  You	
  Build,
                                                 Q	
  &	
  A

        Couchbase	
  Docs                                 Contact	
  me	
  on	
  TwiDer
        www.couchbase.com/docs/index-­‐full.html          @tgrall

        Couchbase	
  Forums                               Contact	
  me	
  by	
  Email
        www.couchbase.com/forums                          tug@couchbase.com

        IRC                                               Learn	
  More	
  About	
  Design	
  PaDerns
        #couchbase                                        CouchbaseModels.com
        #libcouchbase
                                                          Seeng	
  up	
  for	
  Ruby	
  on	
  Rails
                                                          CouchbaseOnRails.com




Monday, February 4, 13
Monitoring




Monday, February 4, 13

Contenu connexe

Tendances

1006 Z2 Intro Complete
1006 Z2 Intro Complete1006 Z2 Intro Complete
1006 Z2 Intro CompleteHenning Blohm
 
SLES 11 SP2 PerformanceEvaluation for Linux on System z
SLES 11 SP2 PerformanceEvaluation for Linux on System zSLES 11 SP2 PerformanceEvaluation for Linux on System z
SLES 11 SP2 PerformanceEvaluation for Linux on System zIBM India Smarter Computing
 
L0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse PlatformL0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse PlatformTonny Madsen
 
Share Point 2010 Deployment
Share Point 2010 DeploymentShare Point 2010 Deployment
Share Point 2010 DeploymentKamol Sagwan
 
Approaches to Designing a High-Performance Switch Router
Approaches to Designing a High-Performance Switch RouterApproaches to Designing a High-Performance Switch Router
Approaches to Designing a High-Performance Switch RouterVishal Sharma, Ph.D.
 
Advanced mysql replication techniques
Advanced mysql replication techniquesAdvanced mysql replication techniques
Advanced mysql replication techniquesGiuseppe Maxia
 
Netgear ReadyNAS Comparison
Netgear ReadyNAS ComparisonNetgear ReadyNAS Comparison
Netgear ReadyNAS ComparisonAltaware, Inc.
 
Replication using golden gate 11g
Replication using golden gate 11gReplication using golden gate 11g
Replication using golden gate 11gGreg Turmel
 

Tendances (8)

1006 Z2 Intro Complete
1006 Z2 Intro Complete1006 Z2 Intro Complete
1006 Z2 Intro Complete
 
SLES 11 SP2 PerformanceEvaluation for Linux on System z
SLES 11 SP2 PerformanceEvaluation for Linux on System zSLES 11 SP2 PerformanceEvaluation for Linux on System z
SLES 11 SP2 PerformanceEvaluation for Linux on System z
 
L0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse PlatformL0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse Platform
 
Share Point 2010 Deployment
Share Point 2010 DeploymentShare Point 2010 Deployment
Share Point 2010 Deployment
 
Approaches to Designing a High-Performance Switch Router
Approaches to Designing a High-Performance Switch RouterApproaches to Designing a High-Performance Switch Router
Approaches to Designing a High-Performance Switch Router
 
Advanced mysql replication techniques
Advanced mysql replication techniquesAdvanced mysql replication techniques
Advanced mysql replication techniques
 
Netgear ReadyNAS Comparison
Netgear ReadyNAS ComparisonNetgear ReadyNAS Comparison
Netgear ReadyNAS Comparison
 
Replication using golden gate 11g
Replication using golden gate 11gReplication using golden gate 11g
Replication using golden gate 11g
 

En vedette

Obamacare markets debut as early hurdles may slow signups hCentive news
Obamacare markets debut as early hurdles may slow signups hCentive newsObamacare markets debut as early hurdles may slow signups hCentive news
Obamacare markets debut as early hurdles may slow signups hCentive newsAlisha North
 
Obamacare crashes onths in coming not easily repaired - hCentive news
Obamacare crashes  onths in coming not easily repaired - hCentive newsObamacare crashes  onths in coming not easily repaired - hCentive news
Obamacare crashes onths in coming not easily repaired - hCentive newsAlisha North
 
Health care law providing work for local companies - hCentive news
Health care law providing work for local companies - hCentive newsHealth care law providing work for local companies - hCentive news
Health care law providing work for local companies - hCentive newsAlisha North
 
Obamacare markets debut as early hurdles may slow signups - hCentive news
Obamacare markets debut as early hurdles may slow signups - hCentive newsObamacare markets debut as early hurdles may slow signups - hCentive news
Obamacare markets debut as early hurdles may slow signups - hCentive newsAlisha North
 
6 fields where obamacare is creating jobs- hCentive news
6 fields where obamacare is creating jobs- hCentive news6 fields where obamacare is creating jobs- hCentive news
6 fields where obamacare is creating jobs- hCentive newsAlisha North
 
Veg Oil Motoring
Veg Oil Motoring  Veg Oil Motoring
Veg Oil Motoring QW9
 
In obamacare, tech entrepreneur envisions a new expedia - hCentive news
In obamacare, tech entrepreneur envisions a new expedia - hCentive newsIn obamacare, tech entrepreneur envisions a new expedia - hCentive news
In obamacare, tech entrepreneur envisions a new expedia - hCentive newsAlisha North
 
Back end errors at u.s. health website jeopardize sign-up-hCentive news
Back end errors at u.s. health website jeopardize sign-up-hCentive newsBack end errors at u.s. health website jeopardize sign-up-hCentive news
Back end errors at u.s. health website jeopardize sign-up-hCentive newsAlisha North
 

En vedette (9)

Obamacare markets debut as early hurdles may slow signups hCentive news
Obamacare markets debut as early hurdles may slow signups hCentive newsObamacare markets debut as early hurdles may slow signups hCentive news
Obamacare markets debut as early hurdles may slow signups hCentive news
 
Obamacare crashes onths in coming not easily repaired - hCentive news
Obamacare crashes  onths in coming not easily repaired - hCentive newsObamacare crashes  onths in coming not easily repaired - hCentive news
Obamacare crashes onths in coming not easily repaired - hCentive news
 
Health care law providing work for local companies - hCentive news
Health care law providing work for local companies - hCentive newsHealth care law providing work for local companies - hCentive news
Health care law providing work for local companies - hCentive news
 
Obamacare markets debut as early hurdles may slow signups - hCentive news
Obamacare markets debut as early hurdles may slow signups - hCentive newsObamacare markets debut as early hurdles may slow signups - hCentive news
Obamacare markets debut as early hurdles may slow signups - hCentive news
 
6 fields where obamacare is creating jobs- hCentive news
6 fields where obamacare is creating jobs- hCentive news6 fields where obamacare is creating jobs- hCentive news
6 fields where obamacare is creating jobs- hCentive news
 
caricatura
caricaturacaricatura
caricatura
 
Veg Oil Motoring
Veg Oil Motoring  Veg Oil Motoring
Veg Oil Motoring
 
In obamacare, tech entrepreneur envisions a new expedia - hCentive news
In obamacare, tech entrepreneur envisions a new expedia - hCentive newsIn obamacare, tech entrepreneur envisions a new expedia - hCentive news
In obamacare, tech entrepreneur envisions a new expedia - hCentive news
 
Back end errors at u.s. health website jeopardize sign-up-hCentive news
Back end errors at u.s. health website jeopardize sign-up-hCentive newsBack end errors at u.s. health website jeopardize sign-up-hCentive news
Back end errors at u.s. health website jeopardize sign-up-hCentive news
 

Similaire à FOSDEM 2013 : Getting Started with Couchhbase Server 2.0

Big Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big DataBig Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big DataTugdual Grall
 
Shared personalization service. How to scale to 15 k rps (Patrice Pelland)
Shared personalization service. How to scale to 15 k rps (Patrice Pelland)Shared personalization service. How to scale to 15 k rps (Patrice Pelland)
Shared personalization service. How to scale to 15 k rps (Patrice Pelland)Ontico
 
10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFish10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFishNuxeo
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanRack Lin
 
What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?Nuxeo
 
Couchbase b jmeetup
Couchbase b jmeetupCouchbase b jmeetup
Couchbase b jmeetupmysqlops
 
Panasas pNFS Status (September 2010)
Panasas pNFS Status (September 2010)Panasas pNFS Status (September 2010)
Panasas pNFS Status (September 2010)Panasas
 
Ese2008 Swordfish
Ese2008 SwordfishEse2008 Swordfish
Ese2008 Swordfishwwtyler
 
Making Portals Cool: The Compelling Advantages of a Portlet Bridge
Making Portals Cool: The Compelling Advantages of a Portlet BridgeMaking Portals Cool: The Compelling Advantages of a Portlet Bridge
Making Portals Cool: The Compelling Advantages of a Portlet BridgeWesley Hales
 
Build and Deploy on OpenShift
Build and Deploy on OpenShiftBuild and Deploy on OpenShift
Build and Deploy on OpenShiftXavier Coulon
 
Spark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopSpark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopArun Gupta
 
[NHN] 성공적인 소셜게임 런칭과 기술
[NHN] 성공적인 소셜게임 런칭과 기술[NHN] 성공적인 소셜게임 런칭과 기술
[NHN] 성공적인 소셜게임 런칭과 기술GAMENEXT Works
 
06-Event-Handlingadvansed
06-Event-Handlingadvansed06-Event-Handlingadvansed
06-Event-HandlingadvansedArjun Shanka
 
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)BIOVIA
 
Session 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky NoteSession 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky NoteISSGC Summer School
 
Net flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_finalNet flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_finalYeounhee Lee
 

Similaire à FOSDEM 2013 : Getting Started with Couchhbase Server 2.0 (20)

Big Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big DataBig Data Israel Meetup : Couchbase and Big Data
Big Data Israel Meetup : Couchbase and Big Data
 
DAC 2012
DAC 2012DAC 2012
DAC 2012
 
Shared personalization service. How to scale to 15 k rps (Patrice Pelland)
Shared personalization service. How to scale to 15 k rps (Patrice Pelland)Shared personalization service. How to scale to 15 k rps (Patrice Pelland)
Shared personalization service. How to scale to 15 k rps (Patrice Pelland)
 
Sail Fin Webinar Overview
Sail Fin Webinar OverviewSail Fin Webinar Overview
Sail Fin Webinar Overview
 
10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFish10 reasons why Nuxeo is using GlassFish
10 reasons why Nuxeo is using GlassFish
 
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 TaiwanPlugin-able POS Solutions by Javascript @HDM9 Taiwan
Plugin-able POS Solutions by Javascript @HDM9 Taiwan
 
What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?What’s new in Nuxeo 5.2?
What’s new in Nuxeo 5.2?
 
Couchbase b jmeetup
Couchbase b jmeetupCouchbase b jmeetup
Couchbase b jmeetup
 
Panasas pNFS Status (September 2010)
Panasas pNFS Status (September 2010)Panasas pNFS Status (September 2010)
Panasas pNFS Status (September 2010)
 
Ese2008 Swordfish
Ese2008 SwordfishEse2008 Swordfish
Ese2008 Swordfish
 
Making Portals Cool: The Compelling Advantages of a Portlet Bridge
Making Portals Cool: The Compelling Advantages of a Portlet BridgeMaking Portals Cool: The Compelling Advantages of a Portlet Bridge
Making Portals Cool: The Compelling Advantages of a Portlet Bridge
 
cosbench-openstack.pdf
cosbench-openstack.pdfcosbench-openstack.pdf
cosbench-openstack.pdf
 
Build and Deploy on OpenShift
Build and Deploy on OpenShiftBuild and Deploy on OpenShift
Build and Deploy on OpenShift
 
Spark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 WorkshopSpark IT 2011 - Java EE 6 Workshop
Spark IT 2011 - Java EE 6 Workshop
 
[NHN] 성공적인 소셜게임 런칭과 기술
[NHN] 성공적인 소셜게임 런칭과 기술[NHN] 성공적인 소셜게임 런칭과 기술
[NHN] 성공적인 소셜게임 런칭과 기술
 
06-Event-Handlingadvansed
06-Event-Handlingadvansed06-Event-Handlingadvansed
06-Event-Handlingadvansed
 
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)
(ATS3-PLAT06) Handling “Big Data” with Pipeline Pilot (MapReduce/NoSQL)
 
Session 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky NoteSession 49 Practical Semantic Sticky Note
Session 49 Practical Semantic Sticky Note
 
Introducing JSR-283
Introducing JSR-283Introducing JSR-283
Introducing JSR-283
 
Net flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_finalNet flowhadoop flocon2013_yhlee_final
Net flowhadoop flocon2013_yhlee_final
 

Plus de Tugdual Grall

Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkTugdual Grall
 
Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkTugdual Grall
 
Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1Tugdual Grall
 
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!Tugdual Grall
 
Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015Tugdual Grall
 
Introduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi WorkshopIntroduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi WorkshopTugdual Grall
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Tugdual Grall
 
Proud to be polyglot
Proud to be polyglotProud to be polyglot
Proud to be polyglotTugdual Grall
 
Drop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema DesignDrop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema DesignTugdual Grall
 
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6Tugdual Grall
 
Some cool features of MongoDB
Some cool features of MongoDBSome cool features of MongoDB
Some cool features of MongoDBTugdual Grall
 
Building Your First MongoDB Application
Building Your First MongoDB ApplicationBuilding Your First MongoDB Application
Building Your First MongoDB ApplicationTugdual Grall
 
Opensourceday 2014-iot
Opensourceday 2014-iotOpensourceday 2014-iot
Opensourceday 2014-iotTugdual Grall
 
Softshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with CouchbaseSoftshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with CouchbaseTugdual Grall
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseTugdual Grall
 
Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Tugdual Grall
 
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0Tugdual Grall
 

Plus de Tugdual Grall (20)

Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache Flink
 
Introduction to Streaming with Apache Flink
Introduction to Streaming with Apache FlinkIntroduction to Streaming with Apache Flink
Introduction to Streaming with Apache Flink
 
Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1Fast Cars, Big Data - How Streaming Can Help Formula 1
Fast Cars, Big Data - How Streaming Can Help Formula 1
 
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
Lambda Architecture: The Best Way to Build Scalable and Reliable Applications!
 
Big Data Journey
Big Data JourneyBig Data Journey
Big Data Journey
 
Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015Proud to be Polyglot - Riviera Dev 2015
Proud to be Polyglot - Riviera Dev 2015
 
Introduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi WorkshopIntroduction to NoSQL with MongoDB - SQLi Workshop
Introduction to NoSQL with MongoDB - SQLi Workshop
 
Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications Enabling Telco to Build and Run Modern Applications
Enabling Telco to Build and Run Modern Applications
 
MongoDB and Hadoop
MongoDB and HadoopMongoDB and Hadoop
MongoDB and Hadoop
 
Proud to be polyglot
Proud to be polyglotProud to be polyglot
Proud to be polyglot
 
Drop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema DesignDrop your table ! MongoDB Schema Design
Drop your table ! MongoDB Schema Design
 
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
Devoxx 2014 : Atelier MongoDB - Decouverte de MongoDB 2.6
 
Some cool features of MongoDB
Some cool features of MongoDBSome cool features of MongoDB
Some cool features of MongoDB
 
Building Your First MongoDB Application
Building Your First MongoDB ApplicationBuilding Your First MongoDB Application
Building Your First MongoDB Application
 
Opensourceday 2014-iot
Opensourceday 2014-iotOpensourceday 2014-iot
Opensourceday 2014-iot
 
Neotys conference
Neotys conferenceNeotys conference
Neotys conference
 
Softshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with CouchbaseSoftshake 2013: Introduction to NoSQL with Couchbase
Softshake 2013: Introduction to NoSQL with Couchbase
 
Introduction to NoSQL with Couchbase
Introduction to NoSQL with CouchbaseIntroduction to NoSQL with Couchbase
Introduction to NoSQL with Couchbase
 
Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?Why and How to integrate Hadoop and NoSQL?
Why and How to integrate Hadoop and NoSQL?
 
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
NoSQL Matters 2013 - Introduction to Map Reduce with Couchbase 2.0
 

Dernier

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 

Dernier (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 

FOSDEM 2013 : Getting Started with Couchhbase Server 2.0

  • 2. Ge#ng  Started  with   Couchbase Tugdual  “Tug”  Grall Technical  Evangelist email:  tug@couchbase.com twi0er:  @tgrall Monday, February 4, 13
  • 3. Ge#ng  Started  with   Couchbase Tugdual  “Tug”  Grall Technical  Evangelist email:  tug@couchbase.com twi0er:  @tgrall Monday, February 4, 13
  • 4. Couchbase  Server  Core  Principles Easy   Consistent  High   Scalability PE RF O R M A N C E Performance Grow  cluster  without   Consistent  sub-­‐millisecond   applica7on  changes,  without   read  and  write  response  7mes   down7me  with  a  single  click with  consistent  high  throughput Always  On   JSON JSON JSO Flexible  Data   24x365 Model JSON N JSON No  down7me  for  so>ware   JSON  document  model  with  no   upgrades,  hardware   fixed  schema. maintenance,  etc. Monday, February 4, 13
  • 5. Couchbase  2.0  New  Features JSON support Indexing and Querying Incremental Map Cross data center Reduce replication Monday, February 4, 13
  • 6. Couchbase  Handles  Real  World  Scale Monday, February 4, 13
  • 7. 8092 Couchbase  Server  2.0  Architecture 11211 11210 Query  API Memcapable    1.0 Memcapable    2.0 Sub:tle Moxi Query  Engine REST  management  API/Web  UI vBucket  state  and  replica7on  manager Memcached Global  singleton  supervisor Rebalance  orchestrator Configura7on  manager Node  health  monitor Process  monitor Couchbase  EP  Engine Heartbeat Data  Manager Cluster  Manager storage  interface New  Persistence  Layer hDp on  each  node one  per  cluster Erlang/OTP HTTP Erlang  port  mapper Distributed  Erlang 8091 4369 21100  -­‐  21199 Monday, February 4, 13
  • 8. Couchbase  Server  2.0  Architecture 8092 11211 11210 Query  API Memcapable    1.0 Memcapable    2.0 Moxi Query  Engine REST  management  API/Web  UI vBucket  state  and  replica7on  manager Object-­‐level  Cache Global  singleton  supervisor RAM  Cache,   Rebalance  orchestrator Configura7on  manager Node  health  monitor Server/Cluster   Process  monitor Indexing  &   Heartbeat Couchbase  EP  Engine Management  &   Persistence   storage  interface CommunicaYon Management (Erlang) New  (C  Persistence Disk   &  V8) Persistence  Layer hDp on  each  node one  per  cluster Erlang/OTP The Unreasonable Effectiveness of C by Damien Katz HTTP Erlang  port  mapper Distributed  Erlang 8091 4369 21100  -­‐  21199 Monday, February 4, 13
  • 9. Open  Source  Project Apache  2.0 hIps://github.com/couchbase/ Gerrit: hIp://review.couchbase.org/ hIps://github.com/couchbaselabs/ Monday, February 4, 13
  • 11. SETTING  UP  TO  DEVELOP Monday, February 4, 13
  • 12. Install  Couchbase  Server  2.0 Ubuntu RedHat Mac  OS  X Windows or  build  from  sources Monday, February 4, 13
  • 13. Official  SDKs Ruby libcouchbase Clojure Python www.couchbase.com/develop Go Monday, February 4, 13
  • 18. Write  OperaJon Doc  1 App  Server 3 3 Managed  Cache 2 To  other  node Replica7on   Queue Disk  Queue Disk Couchbase  Server  Node Monday, February 4, 13
  • 19. Write  OperaJon App  Server 3 3 Managed  Cache 2 To  other  node Replica7on   Doc  1 Queue Disk  Queue Disk Couchbase  Server  Node Monday, February 4, 13
  • 20. Write  OperaJon App  Server 3 3 Managed  Cache 2 To  other  node Replica7on   Doc  1 Doc  1 Doc  1 Queue Disk  Queue Disk Couchbase  Server  Node Monday, February 4, 13
  • 21. Basic  OperaJons • Docs  distributed  evenly  across  servers   • Each  server  stores  both  acYve  and  replica   SERVER  1 SERVER  2 SERVER  3 docs Only  one  doc  ac7ve  at  a  7me ACTIVE ACTIVE ACTIVE • Client  library  provides  app  with  simple   Doc  5 Doc Doc  4 Doc Doc  1 Doc interface  to  database Doc  2 Doc Doc  7 Doc Doc  2 Doc • Cluster  map  provides  map   to  which  server  doc  is  on Doc  9 Doc Doc  8 Doc Doc  6 Doc App  never  needs  to  know • App  reads,  writes,  updates  docs • MulYple  app  servers  can  access  same   document  at  same  Yme COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 22. Basic  OperaJons • Docs  distributed  evenly  across  servers   • Each  server  stores  both  acYve  and  replica   SERVER  1 SERVER  2 SERVER  3 docs Only  one  doc  ac7ve  at  a  7me ACTIVE ACTIVE ACTIVE • Client  library  provides  app  with  simple   Doc  5 Doc Doc  4 Doc Doc  1 Doc interface  to  database Doc  2 Doc Doc  7 Doc Doc  2 Doc • Cluster  map  provides  map   to  which  server  doc  is  on Doc  9 Doc Doc  8 Doc Doc  6 Doc App  never  needs  to  know • App  reads,  writes,  updates  docs REPLICA REPLICA REPLICA • MulYple  app  servers  can  access  same   Doc  4 Doc Doc  6 Doc Doc  7 Doc document  at  same  Yme Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  8 Doc Doc  2 Doc Doc  5 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 23. Basic  OperaJons APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP • Docs  distributed  evenly  across  servers   • Each  server  stores  both  acYve  and  replica   SERVER  1 SERVER  2 SERVER  3 docs Only  one  doc  ac7ve  at  a  7me ACTIVE ACTIVE ACTIVE • Client  library  provides  app  with  simple   Doc  5 Doc Doc  4 Doc Doc  1 Doc interface  to  database Doc  2 Doc Doc  7 Doc Doc  2 Doc • Cluster  map  provides  map   to  which  server  doc  is  on Doc  9 Doc Doc  8 Doc Doc  6 Doc App  never  needs  to  know • App  reads,  writes,  updates  docs REPLICA REPLICA REPLICA • MulYple  app  servers  can  access  same   Doc  4 Doc Doc  6 Doc Doc  7 Doc document  at  same  Yme Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  8 Doc Doc  2 Doc Doc  5 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 24. Basic  OperaJons APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP • Docs  distributed  evenly  across  servers   • Each  server  stores  both  acYve  and  replica   SERVER  1 SERVER  2 SERVER  3 docs ACTIVE ACTIVE ACTIVE Doc  5 Doc Doc  4 Doc Doc  1 Doc Doc  2 Doc Doc  7 Doc Doc  2 Doc Doc  9 Doc Doc  8 Doc Doc  6 Doc REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  8 Doc Doc  2 Doc Doc  5 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 25. Basic  OperaJons APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP • Docs  distributed  evenly  across  servers   • Each  server  stores  both  acYve  and  replica   SERVER  1 SERVER  2 SERVER  3 docs Only  one  doc  ac7ve  at  a  7me ACTIVE ACTIVE ACTIVE Doc  5 Doc Doc  4 Doc Doc  1 Doc Doc  2 Doc Doc  7 Doc Doc  2 Doc Doc  9 Doc Doc  8 Doc Doc  6 Doc REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  8 Doc Doc  2 Doc Doc  5 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 26. Basic  OperaJons APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP • Docs  distributed  evenly  across  servers   • Each  server  stores  both  acYve  and  replica   SERVER  1 SERVER  2 SERVER  3 docs Only  one  doc  ac7ve  at  a  7me ACTIVE ACTIVE ACTIVE • Client  library  provides  app  with  simple   Doc  5 Doc Doc  4 Doc Doc  1 Doc interface  to  database Doc  2 Doc Doc  7 Doc Doc  2 Doc Doc  9 Doc Doc  8 Doc Doc  6 Doc REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  8 Doc Doc  2 Doc Doc  5 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 27. Basic  OperaJons APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP • Docs  distributed  evenly  across  servers   • Each  server  stores  both  acYve  and  replica   SERVER  1 SERVER  2 SERVER  3 docs Only  one  doc  ac7ve  at  a  7me ACTIVE ACTIVE ACTIVE • Client  library  provides  app  with  simple   Doc  5 Doc Doc  4 Doc Doc  1 Doc interface  to  database Doc  2 Doc Doc  7 Doc Doc  2 Doc • Cluster  map  provides  map   to  which  server  doc  is  on Doc  9 Doc Doc  8 Doc Doc  6 Doc REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  8 Doc Doc  2 Doc Doc  5 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 28. Basic  OperaJons APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP • Docs  distributed  evenly  across  servers   • Each  server  stores  both  acYve  and  replica   SERVER  1 SERVER  2 SERVER  3 docs Only  one  doc  ac7ve  at  a  7me ACTIVE ACTIVE ACTIVE • Client  library  provides  app  with  simple   Doc  5 Doc Doc  4 Doc Doc  1 Doc interface  to  database Doc  2 Doc Doc  7 Doc Doc  2 Doc • Cluster  map  provides  map   to  which  server  doc  is  on Doc  9 Doc Doc  8 Doc Doc  6 Doc App  never  needs  to  know REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  8 Doc Doc  2 Doc Doc  5 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 29. Basic  OperaJons APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP • Docs  distributed  evenly  across  servers   • Each  server  stores  both  acYve  and  replica   SERVER  1 SERVER  2 SERVER  3 docs Only  one  doc  ac7ve  at  a  7me ACTIVE ACTIVE ACTIVE • Client  library  provides  app  with  simple   Doc  5 Doc Doc  4 Doc Doc  1 Doc interface  to  database Doc  2 Doc Doc  7 Doc Doc  2 Doc • Cluster  map  provides  map   to  which  server  doc  is  on Doc  9 Doc Doc  8 Doc Doc  6 Doc App  never  needs  to  know • App  reads,  writes,  updates  docs REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  8 Doc Doc  2 Doc Doc  5 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 30. Basic  OperaJons APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP • Docs  distributed  evenly  across  servers   READ/WRITE/UPDATE • Each  server  stores  both  acYve  and  replica   SERVER  1 SERVER  2 SERVER  3 docs Only  one  doc  ac7ve  at  a  7me ACTIVE ACTIVE ACTIVE • Client  library  provides  app  with  simple   Doc  5 Doc Doc  4 Doc Doc  1 Doc interface  to  database Doc  2 Doc Doc  7 Doc Doc  2 Doc • Cluster  map  provides  map   to  which  server  doc  is  on Doc  9 Doc Doc  8 Doc Doc  6 Doc App  never  needs  to  know • App  reads,  writes,  updates  docs REPLICA REPLICA REPLICA • MulYple  app  servers  can  access  same   Doc  4 Doc Doc  6 Doc Doc  7 Doc document  at  same  Yme Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  8 Doc Doc  2 Doc Doc  5 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 31. Basic  OperaJons • get  (key) –  Retrieve  a  document • set  (key,  value) –  Store  a  document,  overwrites  if  exists • add  (key,  value) –  Store  a  document,  error/excep7on  if  exists • replace  (key,  value) –  Store  a  document,  error/excep7on  if  doesn’t  exist • cas  (key,  value,  cas) –  Compare  and  swap,  mutate  document  only  if  it  hasn’t  changed  while   execu7ng  this  opera7on Monday, February 4, 13
  • 32. Fail  Over  Node APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP SERVER  1 SERVER  2 SERVER  3 SERVER  4 SERVER  5 • App  servers  accessing  docs ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE Doc  5 Doc Doc  4 Doc Doc  1 Doc Doc  9 Doc Doc  6 Doc • Requests  to  Server  3  fail Doc  2 Doc Doc  7 Doc Doc  2 Doc Doc  8 Doc • Cluster  detects  server  failed Promotes  replicas  of  docs  to  ac7ve Updates  cluster  map • Requests  for  docs  now  go  to   appropriate  server REPLICA REPLICA REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  5 Doc Doc  8 Doc • Typically  rebalance   would  follow Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  2 Doc COUCHBASE  SERVER    CLUSTER User  Configured  Replica  Count  =  1 Monday, February 4, 13
  • 33. Fail  Over  Node APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP SERVER  1 SERVER  2 SERVER  3 SERVER  4 SERVER  5 • App  servers  accessing  docs ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE Doc  5 Doc Doc  4 Doc Doc  1 Doc Doc  9 Doc Doc  6 Doc • Requests  to  Server  3  fail Doc  2 Doc Doc  7 Doc Doc  2 Doc Doc  8 Doc • Cluster  detects  server  failed Promotes  replicas  of  docs  to  ac7ve Updates  cluster  map • Requests  for  docs  now  go  to   appropriate  server REPLICA REPLICA REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  5 Doc Doc  8 Doc • Typically  rebalance   would  follow Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  2 Doc COUCHBASE  SERVER    CLUSTER User  Configured  Replica  Count  =  1 Monday, February 4, 13
  • 34. Fail  Over  Node APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP SERVER  1 SERVER  2 SERVER  3 SERVER  4 SERVER  5 • App  servers  accessing  docs ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE Doc  5 Doc Doc  4 Doc Doc  1 Doc Doc  9 Doc Doc  6 Doc • Requests  to  Server  3  fail Doc  2 Doc Doc  7 Doc Doc  2 Doc Doc  8 Doc REPLICA REPLICA REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  5 Doc Doc  8 Doc Doc  1 Doc Doc  3 Doc Doc  9 Doc Doc  2 Doc COUCHBASE  SERVER    CLUSTER User  Configured  Replica  Count  =  1 Monday, February 4, 13
  • 35. Fail  Over  Node APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP SERVER  1 SERVER  2 SERVER  3 SERVER  4 SERVER  5 • App  servers  accessing  docs ACTIVE ACTIVE ACTIVE ACTIVE ACTIVE Doc  5 Doc Doc  4 Doc Doc  1 Doc Doc  9 Doc Doc  6 Doc • Requests  to  Server  3  fail Doc  2 Doc Doc  7 Doc Doc  2 Doc Doc  8 Doc Doc • Cluster  detects  server  failed Promotes  replicas  of  docs  to  ac7ve Updates  cluster  map Doc  1 Doc  3 • Requests  for  docs  now  go  to   appropriate  server REPLICA REPLICA REPLICA REPLICA REPLICA Doc  4 Doc Doc  6 Doc Doc  7 Doc Doc  5 Doc  8 Doc • Typically  rebalance   would  follow Doc Doc Doc  9 Doc Doc  2 Doc COUCHBASE  SERVER    CLUSTER User  Configured  Replica  Count  =  1 Monday, February 4, 13
  • 36. Indexing  and  Querying APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP SERVER  1 SERVER  2 SERVER  3 ACTIVE • Indexing  work  is  distributed  amongst   ACTIVE ACTIVE nodes Doc  5 Doc Doc  5 Doc Doc  5 Doc • Large  data  set  possible Doc  2 Doc Doc  2 Doc Doc  2 Doc • Parallelize  the  effort Doc  9 Doc Doc  9 Doc Doc  9 Doc • Each  node  has  index  for  data  stored  on  it REPLICA REPLICA REPLICA • Queries  combine  the  results  from   required  nodes Doc  4 Doc Doc  4 Doc Doc  4 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  8 Doc Doc  8 Doc Doc  8 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 37. Indexing  and  Querying APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP SERVER  1 SERVER  2 SERVER  3 ACTIVE • Indexing  work  is  distributed  amongst   ACTIVE ACTIVE nodes Doc  5 Doc Doc  5 Doc Doc  5 Doc • Large  data  set  possible Doc  2 Doc Doc  2 Doc Doc  2 Doc • Parallelize  the  effort Doc  9 Doc Doc  9 Doc Doc  9 Doc • Each  node  has  index  for  data  stored  on  it REPLICA REPLICA REPLICA • Queries  combine  the  results  from   required  nodes Doc  4 Doc Doc  4 Doc Doc  4 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  8 Doc Doc  8 Doc Doc  8 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 38. Indexing  and  Querying APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP SERVER  1 SERVER  2 SERVER  3 ACTIVE • Indexing  work  is  distributed  amongst   ACTIVE ACTIVE nodes Doc  5 Doc Doc  5 Doc Doc  5 Doc • Large  data  set  possible Doc  2 Doc Doc  2 Doc Doc  2 Doc • Parallelize  the  effort Doc  9 Doc Doc  9 Doc Doc  9 Doc • Each  node  has  index  for  data  stored  on  it REPLICA REPLICA REPLICA • Queries  combine  the  results  from   required  nodes Doc  4 Doc Doc  4 Doc Doc  4 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  8 Doc Doc  8 Doc Doc  8 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 39. Indexing  and  Querying APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP Query SERVER  1 SERVER  2 SERVER  3 ACTIVE • Indexing  work  is  distributed  amongst   ACTIVE ACTIVE nodes Doc  5 Doc Doc  5 Doc Doc  5 Doc • Large  data  set  possible Doc  2 Doc Doc  2 Doc Doc  2 Doc • Parallelize  the  effort Doc  9 Doc Doc  9 Doc Doc  9 Doc • Each  node  has  index  for  data  stored  on  it REPLICA REPLICA REPLICA • Queries  combine  the  results  from   required  nodes Doc  4 Doc Doc  4 Doc Doc  4 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  8 Doc Doc  8 Doc Doc  8 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 40. Indexing  and  Querying APP  SERVER  1 APP  SERVER  2 COUCHBASE  Client  Library COUCHBASE  Client  Library CLUSTER  MAP CLUSTER  MAP SERVER  1 SERVER  2 SERVER  3 ACTIVE • Indexing  work  is  distributed  amongst   ACTIVE ACTIVE nodes Doc  5 Doc Doc  5 Doc Doc  5 Doc • Large  data  set  possible Doc  2 Doc Doc  2 Doc Doc  2 Doc • Parallelize  the  effort Doc  9 Doc Doc  9 Doc Doc  9 Doc • Each  node  has  index  for  data  stored  on  it REPLICA REPLICA REPLICA • Queries  combine  the  results  from   required  nodes Doc  4 Doc Doc  4 Doc Doc  4 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  8 Doc Doc  8 Doc Doc  8 Doc COUCHBASE  SERVER    CLUSTER Monday, February 4, 13
  • 41. Cross  Data  Center  ReplicaJon  (XDCR) Couchbase  Cluster Couchbase  Cluster West  Coast  Data  Center East  Coast  Data  Center SERVER  1 SERVER  2 SERVER  3 SERVER  1 SERVER  2 SERVER  3 RAM  CACHE RAM  CACHE RAM  CACHE RAM  CACHE RAM  CACHE RAM  CACHE Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  2 Doc Doc  2 Doc Doc  2 Doc Doc  2 Doc Doc  2 Doc Doc  2 Doc Doc  6 Doc Doc  6 Doc Doc  6 Doc Doc  6 Doc Doc  6 Doc Doc  6 Doc DISK DISK DISK DISK DISK DISK Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Monday, February 4, 13
  • 42. Cross  Data  Center  ReplicaJon  (XDCR) Couchbase  Cluster Couchbase  Cluster West  Coast  Data  Center East  Coast  Data  Center SERVER  1 SERVER  2 SERVER  3 SERVER  1 SERVER  2 SERVER  3 RAM  CACHE RAM  CACHE RAM  CACHE RAM  CACHE RAM  CACHE RAM  CACHE Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  1 Doc Doc  2 Doc Doc  2 Doc Doc  2 Doc Doc  2 Doc Doc  2 Doc Doc  2 Doc Doc  6 Doc Doc  6 Doc Doc  6 Doc Doc  6 Doc Doc  6 Doc Doc  6 Doc DISK DISK DISK DISK DISK DISK Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Doc Monday, February 4, 13
  • 43. GeoCouch  R-­‐Tree  Index • Optimized for bulk loading of large data sets • Simplified query model (bounding box, nearest neighbor) Monday, February 4, 13
  • 44. ElasJc  Search  Adaptor • Elastic Search is good for ad-hoc queries and faceted browsing • Our adapter is aware of changing Couchbase topology • Indexed by Elastic Search after stored to disk in Couchbase ElasYcSearch Monday, February 4, 13
  • 45. I’m  Excited  to  See  What  You  Build, Q  &  A Couchbase  Docs Contact  me  on  TwiDer www.couchbase.com/docs/index-­‐full.html @tgrall Couchbase  Forums Contact  me  by  Email www.couchbase.com/forums tug@couchbase.com IRC Learn  More  About  Design  PaDerns #couchbase CouchbaseModels.com #libcouchbase Seeng  up  for  Ruby  on  Rails CouchbaseOnRails.com Monday, February 4, 13