Introduction à Couchbase Server 2.0 Tugdual Grall

Slides:



Advertisements
Similar presentations
A Ridiculously Easy & Seriously Powerful SQL Cloud Database Itamar Haber AVP Ops & Solutions.
Advertisements

Enterprise Web Architecture and Performance Shennon Shen & Scott Carey --- Plumtree Software Inc.
Technical Evangelist Tugdual “Tug” Grall BigData - NoSQL Hadoop - Couchbase.
BarcelonaJS / April 4th, 2013 Couchbase & Javascript MapReduce, Node.js, Angular Tugdual “Tug” Grall Technical Evangelist BarcelonaJS / April 4th, 2013.
Hydra Partners Meeting March 2012 Bill Branan DuraCloud Technical Lead.
Microsoft Ignite /16/2017 2:42 PM
© 2011 Citrusleaf. All rights reserved.1 A Real-Time NoSQL DB That Preserves ACID Citrusleaf Srini V. Srinivasan Brian Bulkowski VLDB, 09/01/11.
GGF Toronto Spitfire A Relational DB Service for the Grid Peter Z. Kunszt European DataGrid Data Management CERN Database Group.
Chapter 14 The Second Component: The Database.
WORKDAY TECHNOLOGY Stan Swete CTO - Workday 1.
NoSQL and NewSQL Justin DeBrabant CIS Advanced Systems - Fall 2013.
Nikolay Tomitov Technical Trainer SoftAcad.bg.  What are Amazon Web services (AWS) ?  What’s cool when developing with AWS ?  Architecture of AWS 
CMU SCS Carnegie Mellon Univ. Dept. of Computer Science /615 - DB Applications C. Faloutsos – A. Pavlo How to Scale a Database System.
An introduction to MongoDB Rácz Gábor ELTE IK, febr. 10.
PNUTS: YAHOO!’S HOSTED DATA SERVING PLATFORM FENGLI ZHANG.
Take An Internal Look at Hadoop Hairong Kuang Grid Team, Yahoo! Inc
A Study in NoSQL & Distributed Database Systems John Hawkins.
1 Yasin N. Silva Arizona State University This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
How WebMD Maintains Operational Flexibility with NoSQL Rajeev Borborah, Sr. Director, Engineering Matt Wilson – Director, Production Engineering – Consumer.
Distributed Data Stores – Facebook Presented by Ben Gooding University of Arkansas – April 21, 2015.
Cloud Computing for the Enterprise November 18th, This work is licensed under a Creative Commons.
Software Engineer, #MongoDBDays.
What is Architecture  Architecture is a subjective thing, a shared understanding of a system’s design by the expert developers on a project  In the.
© 2011 Cisco All rights reserved.Cisco Confidential 1 APP server Client library Memory (Managed Cache) Memory (Managed Cache) Queue to disk Disk NIC Replication.
High-Availability Linux.  Reliability  Availability  Serviceability.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
:: Conférence :: NoSQL / Scalabilite Etat de l’art Samuel BERTHE10 Mars 2014Epitech Nantes.
Panagiotis Antonopoulos Microsoft Corp Ioannis Konstantinou National Technical University of Athens Dimitrios Tsoumakos.
Meet with the AppEngine Márk Gergely eu.edge. What is AppEngine? It’s a tool, that lets you run your web applications on Google's infrastructure. –Google's.
MapReduce: Hadoop Implementation. Outline MapReduce overview Applications of MapReduce Hadoop overview.
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
Introduction to Hadoop and HDFS
f ACT s  Data intensive applications with Petabytes of data  Web pages billion web pages x 20KB = 400+ terabytes  One computer can read
CouchDB - Sai Divya Panditi - Priyanka Yechuri. Overview Introduction SQL vs CouchDB CouchDB Features CouchDB Core API Futon Security Application.
Windows 2000 Operating System -- Active Directory Service COSC 516 Yuan YAO 08/29/2000.
Moohanad Hassan Maedeh Pishvaei. Introduction Open Source Apache foundation project Relational DB: SQL Server CouchDB : JSON document-oriented DB (NoSQL)
IMDGs An essential part of your architecture. About me
ArcGIS Server for Administrators
App Dev with Documents, their Schemas and Relationships Tugdual Grall Technical Evangelist.
MapReduce and GFS. Introduction r To understand Google’s file system let us look at the sort of processing that needs to be done r We will look at MapReduce.
Fast Crash Recovery in RAMCloud. Motivation The role of DRAM has been increasing – Facebook used 150TB of DRAM For 200TB of disk storage However, there.
Distributed database system
GFS. Google r Servers are a mix of commodity machines and machines specifically designed for Google m Not necessarily the fastest m Purchases are based.
CS525: Big Data Analytics MapReduce Computing Paradigm & Apache Hadoop Open Source Fall 2013 Elke A. Rundensteiner 1.
Dynamo: Amazon’s Highly Available Key-value Store DAAS – Database as a service.
NoSQL Or Peles. What is NoSQL A collection of various technologies meant to work around RDBMS limitations (mostly performance) Not much of a definition...
REST By: Vishwanath Vineet.
Mick Badran Using Microsoft Service Fabric to build your next Solution with zero downtime – Lvl 300 CLD32 5.
An Introduction to Super-Scalability But first…
The Google File System Sanjay Ghemawat, Howard Gobioff, and Shun-Tak Leung Presenter: Chao-Han Tsai (Some slides adapted from the Google’s series lectures)
Cofax Scalability Document Version Scaling Cofax in General The scalability of Cofax is directly related to the system software, hardware and network.
BigData - NoSQL Hadoop - Couchbase
Distributed Cache Technology in Cloud Computing and its Application in the GIS Software Wang Qi Zhu Yitong Peng Cheng
An Open Source Project Commonly Used for Processing Big Data Sets
CS122B: Projects in Databases and Web Applications Winter 2017
MongoDB Er. Shiva K. Shrestha ME Computer, NCIT
Open Source distributed document DB for an enterprise
Experience in CMS with Analytic Tools for Data Flow and HLT Monitoring
Maximum Availability Architecture Enterprise Technology Centre.
Couchbase Server is a NoSQL Database with a SQL-Based Query Language
Introduction to NewSQL
Google Filesystem Some slides taken from Alan Sussman.
CS6604 Digital Libraries IDEAL Webpages Presented by
Arrested by the CAP Handling Data in Distributed Systems
Introduction to Apache
Overview of big data tools
THE GOOGLE FILE SYSTEM.
CloudAnt: Database as a Service (DBaaS)
NoSQL databases An introduction and comparison between Mongodb and Mysql document store.
Presentation transcript:

Introduction à Couchbase Server 2.0 Tugdual Grall

{“about” : “me”} Tugdual “Tug” Grall Couchbase Technical Evangelist eXo CTO Oracle Developer/Product Manager Mainly Java/SOA Developer in consulting firms Tgrall NantesJUG co-founder Pet Project :

Agenda 1.Introduction to Couchbase Server 2.Cluster Management 3.Operation and Document Design 4.Introduction to Views and Queries 5.Cross Data Center Replication 6.Q&A Couchbase Developer Day Paris is this Friday!

Couchbase Server 2.0

Couchbase Server NoSQL Document Database

Couchbase Open Source Project Leading NoSQL database project focused on distributed database technology and surrounding ecosystem Supports both key-value and document-oriented use cases All components are available under the Apache 2.0 Public License Obtained as packaged software in both enterprise and community editions. Couchbase Open Source Project

Easy Scalability Consistent High Performance Always On 24x365 Grow cluster without application changes, without downtime with a single click Consistent sub-millisecond read and write response times with consistent high throughput No downtime for software upgrades, hardware maintenance, etc. Flexible Data Model JSON document model with no fixed schema. Couchbase Server

New in 2.0 JSON supportIndexing and Querying Cross data center replicationIncremental Map Reduce

Heartbeat Process monitor Global singleton supervisor Configuration manager on each node Rebalance orchestrator Node health monitor one per cluster vBucket state and replication manager http REST management API/Web UI HTTP 8091 Erlang port mapper 4369 Distributed Erlang Erlang/OTP storage interface Couchbase EP Engine Memcapable 2.0 Moxi Memcapable 1.0 Memcached New Persistence Layer 8092 Query API Query Engine Data ManagerCluster Manager Couchbase Server 2.0 Architecture

New Persistence Layer storage interface Couchbase EP Engine Memcapable 2.0 Moxi Memcapable 1.0 Object-level Cache Disk Persistence 8092 Query API Query Engine HTTP 8091 Erlang port mapper 4369 Distributed Erlang Heartbeat Process monitor Global singleton supervisor Configuration manager on each node Rebalance orchestrator Node health monitor one per cluster vBucket state and replication manager http REST management API/Web UI Erlang/OTP Server/Cluster Management & Communication (Erlang) RAM Cache, Indexing & Persistence Management (C & V8) The Unreasonable Effectiveness of C by Damien Katz Couchbase Server 2.0 Architecture

Single node - Couchbase Write Operation Managed Cache Disk Queue Disk Replication Queue App Server Couchbase Server Node Doc 1 To other node

GET Doc Single node - Couchbase Read Operation Disk Queue Replication Queue App Server Doc 1 Managed Cache Disk To other node Couchbase Server Node

COUCHBASE SERVER CLUSTER Basic Operation Docs distributed evenly across servers Each server stores both active and replica docs Only one server active at a time Client library provides app with simple interface to database Cluster map provides map to which server doc is on App never needs to know App reads, writes, updates docs Multiple app servers can access same document at same time User Configured Replica Count = 1 READ/WRITE/UPDATE ACTIVE Doc 5Doc 2Doc SERVER 1 ACTIVE Doc 4Doc 7Doc SERVER 2 Doc 8 ACTIVE Doc 1Doc 2Doc REPLICA Doc 4 Doc 1 Doc 8 Doc REPLICA Doc 6 Doc 3 Doc 2 Doc REPLICA Doc 7 Doc 9 Doc 5 Doc SERVER 3 Doc 6 APP SERVER 1 COUCHBASE Client Library CLUSTER MAP COUCHBASE Client Library CLUSTER MAP APP SERVER 2 Doc 9

Add Nodes to Cluster Two servers added One-click operation Docs automatically rebalanced across cluster Even distribution of docs Minimum doc movement Cluster map updated App database calls now distributed over larger number of servers REPLICA ACTIVE Doc 5Doc 2Doc Doc 4Doc 1Doc SERVER 1 REPLICA ACTIVE Doc 4Doc 7Doc Doc 6Doc 3Doc SERVER 2 REPLICA ACTIVE Doc 1Doc 2Doc Doc 7Doc 9Doc SERVER 3SERVER 4SERVER 5 REPLICA ACTIVE REPLICA ACTIVE DocDoc 8DocDoc 9DocDoc 2DocDoc 8DocDoc 5DocDoc 6 READ/WRITE/UPDATE APP SERVER 1 COUCHBASE Client Library CLUSTER MAP COUCHBASE Client Library CLUSTER MAP APP SERVER 2 COUCHBASE SERVER CLUSTER User Configured Replica Count = 1

Fail Over Node REPLICA ACTIVE Doc 5Doc 2Doc Doc 4Doc 1Doc SERVER 1 REPLICA ACTIVE Doc 4Doc 7Doc Doc 6Doc 3Doc SERVER 2 REPLICA ACTIVE Doc 1Doc 2Doc Doc 7Doc 9Doc SERVER 3SERVER 4SERVER 5 REPLICA ACTIVE REPLICA ACTIVE Doc 9Doc 8DocDoc 6Doc Doc 5DocDoc 2Doc 8Doc App servers accessing docs Requests to Server 3 fail Cluster detects server failed Promotes replicas of docs to active Updates cluster map Requests for docs now go to appropriate server Typically rebalance would follow DocDoc 1Doc 3 APP SERVER 1 COUCHBASE Client Library CLUSTER MAP COUCHBASE Client Library CLUSTER MAP APP SERVER 2 User Configured Replica Count = 1 COUCHBASE SERVER CLUSTER

Demo Time

Operation & Document Design

Basic Store & Retrieve Operations get(key) Retrieve a document set(key, value) Store a document or replace if it exists add(key, value) Store a document and fail if it exists replace(key, value) Replace a document and fail if it does not exist

Lots of other Operations Atomic Counters (increment, decrement) Append/Prepend CAS (Compare and Set) ­Optimistic Locking “Get with Lock” ­Write Lock on Objects Bulk Operations ­Saves network overhead Stats View operations

Couchbase 2.0 Bonus Points: JSON JSON is a lightweight format to represent document structure in a language-independent manner. If JSON documents are stored, the View engine can be used. Allows to build secondary indexes on your datasets. Makes it possible to ask questions like “Give me all user documents by lastname”.

Flexible Data Model No need to worry about the database when changing your application Records can have different structures, there is no fixed schema Allows painless data model changes for rapid application development { “ID”: 1, “FIRST”: “Dipti”, “LAST”: “Borkar”, “ZIP”: “94040”, “CITY”: “MV”, “STATE”: “CA” } JSON

Aggregate View of Data

Store and Retrieve Aggregates Easier to Distribute Data More Flexibility Reduced Latency order::1001 { uid: ji22jd, customer: Ann, line_items: [ { sku: , quan: 3, unit_price: 48.0 }, { sku: , quan: 1, unit_price: 39.0 }, { sku: , quan: 1, unit_price: 51.0 } ], payment: { type: Amex, expiry: 04/2001, last5: } }

Demo Time

Official SDKs Community SDKs Python Ruby Go Clojure

Indexing and Querying

Indexing and Querying – The basics Define materialized views on JSON documents and then query across the data set Using views you can define Primary indexes Simple secondary indexes (most common use case) Complex secondary, tertiary and composite indexes Aggregations (reduction) Indexes are eventually indexed Queries are eventually consistent Built using Map/Reduce technology Map and Reduce functions are written in Javascript

COUCHBASE SERVER CLUSTER Indexing and Querying User Configured Replica Count = 1 ACTIVE Doc 5Doc 2Doc SERVER 1 REPLICA Doc 4 Doc 1 Doc 8 Doc APP SERVER 1 COUCHBASE Client Library CLUSTER MAP COUCHBASE Client Library CLUSTER MAP APP SERVER 2 Doc 9 Indexing work is distributed amongst nodes Large data set possible Parallelize the effort Each node has index for data stored on it Queries combine the results from required nodes ACTIVE Doc 5Doc 2Doc SERVER 2 REPLICA Doc 4 Doc 1 Doc 8 Doc Doc 9 ACTIVE Doc 5Doc 2Doc SERVER 3 REPLICA Doc 4 Doc 1 Doc 8 Doc Doc 9 Query

Demo Time

Cross Data Center Replication (XDCR)

Cross Data Center Replication – The basics Replicate your Couchbase data across clusters Clusters may be spread across geos Configured on a per-bucket (per-database) basis Supports unidirectional and bidirectional operation Application can read and write from both clusters ­Active – Active replication Replication throughput scales out linearly Different from intra-cluster replication

Cross Data Center Replication (XDCR) COUCHBASE SERVER CLUSTER US ACTIVE DocDoc 2 SERVER 1 Doc 9 SERVER 2 SERVER 3 RAM Doc ACTIVE Doc RAM ACTIVE Doc RAM DISK Doc DISK Doc DISK COUCHBASE SERVER CLUSTER EMEA ACTIVE DocDoc 2 SERVER 1 Doc 9 SERVER 2 SERVER 3 RAM Doc ACTIVE Doc RAM ACTIVE Doc RAM DISK Doc DISK Doc DISK

Couchbase Handles Real World Scale

Q & A

Couchbase DeveloperDays Paris ­This Friday ! ­Presentations & Labs ­Information ­Use the promo code TUG

Thank Get Couchbase Server at