Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
NoSQL NoLimits
Ravi Mayuram, SVP Products & Engineering
©2015 Couchbase Inc. 2
THE DIGITAL ECONOMY
IS BUILT ONWEB, MOBILE, & IOT APPS
©2015 Couchbase Inc. 3
ENTER NoSQL
NEW APPLICATIONS DEMAND A NEW DATABASE
©2015 Couchbase Inc. 4
COUCHBASE SERVER
THE NoSQL PERFORMANCE LEADER
©2015 Couchbase Inc.
SCALABILITY
PROGRAMMABILITY
Couchbase
Server 3.0
NoSQL LANDSCAPE
Couchbase
Server 4.0
©2015 Couchbase Inc.
N1QL
N1QL = JSON + SQL
INTRODUCING N1QL
FLEXIBLE DATA MODEL AND RICH QUERY
©2015 Couchbase Inc.
FLEXIBLE DATA MODEL
RICH APPLICATION AND FLEXIBLE DATA MODEL
©2015 Couchbase Inc.
N1QL EXTENDS SQL
SQL IS POWERFUL
WHERE
Author = ‘Twain’
route.from = ‘LAX’ Cost BETWEEN 100 AND 500
U...
©2015 Couchbase Inc. 9
KEEP IT EASY FOR DEVELOPERS
WRITE APPLICATION LOGIC
Code in the language you love – Using the frame...
©2015 Couchbase Inc. 10
OPEN COUCHBASETOTHE SQL ECO-SYSTEM
EASILY ACCESS DATA IN COUCHBASE
©2015 Couchbase Inc. 11
HOW DOYOU MAKE APPS RESPONSIVE
SECONDARY INDEX
PERFORMANCE & SCALABILITY
©2015 Couchbase Inc. 12
OUR ANSWERTO PERFORMANCE PROBLEM:
FORESTDB
B+TREE FORESTDB
K1 P1 … … Kd Pd
K1 V1 K2 V2 … … Kf Vf
K...
©2015 Couchbase Inc. 13
FORESTDB PERFORMANCE
0
5000
10000
15000
20000
25000
1 2 4 8 16
Operationspersecond
# reader thread...
©2015 Couchbase Inc. 14
AWESOME STORAGE IS NOT ENOUGH
IT IS A MATTER OF SCALE
©2015 Couchbase Inc.
ISOLATE DATABASE WORKLOADS
INDEPENTLY ASSIGN HARDWARETOWORKLOAD
SCALE UP AND SCALE OUT
MULTI-DIMENSIO...
©2015 Couchbase Inc.
DEMO
©2015 Couchbase Inc.
LOGINTO APP / USER CREATION
Travel Application:
Available today at: couchbase.com/beta
Uses Couchbase...
©2015 Couchbase Inc. 18
WHAT AREWE BUILDING?
©2015 Couchbase Inc. 19
WHAT AREWE BUILDING?
airline_24
{
"id": "24",
"type": "airline",
"iata": "AA",
"callsign": "Americ...
©2015 Couchbase Inc. 20
COMBINE ROUTEWITH AIRLINE
airline_24
{
"id": "24",
"type": "airline",
"iata": "AA",
"callsign": "A...
©2015 Couchbase Inc. 21
COMBINE ROUTEWITH AIRLINE
airline_24
{
"id": "24",
"type": "airline",
"iata": "AA",
"callsign": "A...
©2015 Couchbase Inc. 22
UNNEST
route_5966
{
"id": "5966",
"type": "route",
"airlineid": "airline_24",
"from": ”LAX",
"to":...
©2015 Couchbase Inc.
RETURN FLIGHTS FOR A PARTICULAR DAY
4. Foreach in “schedule”:
a. Does it match requested day?Y/N
b. D...
©2015 Couchbase Inc.
RETURN FLIGHTS FOR A PARTICULAR DAY
route_5966
{
"id": "5966",
"type": "route",
"airlineid": "airline...
©2015 Couchbase Inc.
N1QL MAKES IT EASIER + FASTERTO DEVELOP
MULTI-DIMENSIONAL SCALING
SAME BLAZINGLY FAST PERFORMANCE
WHA...
©2015 Couchbase Inc.
RAVI’STOP CONNECT SESSIONS
INTRODUCING N1QL: GERALD SANGUDI
DEEP DIVE INTO SECONDARY INDEXING: JOHN L...
NEXT GENERATION DATABASE
FOR THE DIGITAL ECONOMY
NEXT GENERATION DATABASE
FOR THE DIGITAL ECONOMY
TOGETHER!
Thank you.
Upcoming SlideShare
Loading in …5
×

Opening Keynote: NoSQL NoLimits: Couchbase Connect 2015

2,527 views

Published on

Hear and see how Couchbase Server 4.0 breaks the limits of NoSQL with two major innovations: N1QL (“nickel”), the first comprehensive query language that extends SQL for JSON; and Multi-Dimensional Scaling, a new architecture that lets you isolate and independently scale Query, Index, and Data services. The result: Blazing performance, unlimited scaling, and query without compromise – plus a whole new level of developer agility. See Couchbase Server 4.0 in action.

Published in: Technology
  • Be the first to comment

Opening Keynote: NoSQL NoLimits: Couchbase Connect 2015

  1. 1. NoSQL NoLimits Ravi Mayuram, SVP Products & Engineering
  2. 2. ©2015 Couchbase Inc. 2 THE DIGITAL ECONOMY IS BUILT ONWEB, MOBILE, & IOT APPS
  3. 3. ©2015 Couchbase Inc. 3 ENTER NoSQL NEW APPLICATIONS DEMAND A NEW DATABASE
  4. 4. ©2015 Couchbase Inc. 4 COUCHBASE SERVER THE NoSQL PERFORMANCE LEADER
  5. 5. ©2015 Couchbase Inc. SCALABILITY PROGRAMMABILITY Couchbase Server 3.0 NoSQL LANDSCAPE Couchbase Server 4.0
  6. 6. ©2015 Couchbase Inc. N1QL N1QL = JSON + SQL INTRODUCING N1QL FLEXIBLE DATA MODEL AND RICH QUERY
  7. 7. ©2015 Couchbase Inc. FLEXIBLE DATA MODEL RICH APPLICATION AND FLEXIBLE DATA MODEL
  8. 8. ©2015 Couchbase Inc. N1QL EXTENDS SQL SQL IS POWERFUL WHERE Author = ‘Twain’ route.from = ‘LAX’ Cost BETWEEN 100 AND 500 UNNESTSELECT >= JOIN
  9. 9. ©2015 Couchbase Inc. 9 KEEP IT EASY FOR DEVELOPERS WRITE APPLICATION LOGIC Code in the language you love – Using the framework you love
  10. 10. ©2015 Couchbase Inc. 10 OPEN COUCHBASETOTHE SQL ECO-SYSTEM EASILY ACCESS DATA IN COUCHBASE
  11. 11. ©2015 Couchbase Inc. 11 HOW DOYOU MAKE APPS RESPONSIVE SECONDARY INDEX PERFORMANCE & SCALABILITY
  12. 12. ©2015 Couchbase Inc. 12 OUR ANSWERTO PERFORMANCE PROBLEM: FORESTDB B+TREE FORESTDB K1 P1 … … Kd Pd K1 V1 K2 V2 … … Kf Vf Kj Pj … … Kl Pl K1 P1 … … Kj Pj K1 P1 … … Kf Pf Kj Pj … … Kn Pn Kj Vj Kk Vk … … Kn Vn
  13. 13. ©2015 Couchbase Inc. 13 FORESTDB PERFORMANCE 0 5000 10000 15000 20000 25000 1 2 4 8 16 Operationspersecond # reader threads MixedWorkloads (R:W = 8:2) ForestDB WT B-tree WT LSM 2x ~ 8x FASTER
  14. 14. ©2015 Couchbase Inc. 14 AWESOME STORAGE IS NOT ENOUGH IT IS A MATTER OF SCALE
  15. 15. ©2015 Couchbase Inc. ISOLATE DATABASE WORKLOADS INDEPENTLY ASSIGN HARDWARETOWORKLOAD SCALE UP AND SCALE OUT MULTI-DIMENSIONAL SCALING
  16. 16. ©2015 Couchbase Inc. DEMO
  17. 17. ©2015 Couchbase Inc. LOGINTO APP / USER CREATION Travel Application: Available today at: couchbase.com/beta Uses Couchbase 4.0 and N1QL Built in Node.js and Angular TRY IT NOW!
  18. 18. ©2015 Couchbase Inc. 18 WHAT AREWE BUILDING?
  19. 19. ©2015 Couchbase Inc. 19 WHAT AREWE BUILDING? airline_24 { "id": "24", "type": "airline", "iata": "AA", "callsign": "American Airlines", ] } route_5966 { "id": "5966", "type": "route", "airlineid": "airline_24", "from": ”LAX", "to": ”SFO", "stops": "0", "schedule": [ … ] }
  20. 20. ©2015 Couchbase Inc. 20 COMBINE ROUTEWITH AIRLINE airline_24 { "id": "24", "type": "airline", "iata": "AA", "callsign": "American Airlines", ] } route_5966 { "id": "5966", "type": "route", "airlineid": "airline_24", "from": ”LAX", "to": ”SFO", "stops": "0", "schedule": [ … ] } 1. Read route_5966 document from Couchbase 2. Parse JSON 3. Pull out “airlineid” field 4. Read airline_24 document from Couchbase 5. Parse JSON 6. Pull out “callsign” 7. Display airline name 8. Throw away 2 objects
  21. 21. ©2015 Couchbase Inc. 21 COMBINE ROUTEWITH AIRLINE airline_24 { "id": "24", "type": "airline", "iata": "AA", "callsign": "American Airlines", ] } route_5966 { "id": "5966", "type": "route", "airlineid": "airline_24", "from": ”LAX", "to": ”SFO", "stops": "0", "schedule": [ … ] } With Couchbase 4.0 and N1QL: SELECT airline.callsign, route.from, route.to FROM `travel-db` route JOIN `travel-db` airline ON KEYS route.airlineid WHERE route.from=`LAX` AND route.to=`SFO`
  22. 22. ©2015 Couchbase Inc. 22 UNNEST route_5966 { "id": "5966", "type": "route", "airlineid": "airline_24", "from": ”LAX", "to": ”SFO", "stops": "0", "schedule": [ {"day": 1, "utc": "06:58:00", "flight": "AA348"}, {"day": 1, "utc": "09:30:00", "flight": "AA868"}, {"day": 1, "utc": "20:47:00", "flight": "AA483"}, {"day": 1, "utc": "06:58:00", "flight": "AA348"}, {"day": 2, "utc": "09:30:00", "flight": "AA868"}, {"day": 2, "utc": "20:47:00", "flight": "AA483"}, {"day": 3, "utc": "06:58:00", "flight": "AA348"}, {"day": 3, "utc": "09:30:00", "flight": "AA868"}, {"day": 3, "utc": "20:47:00", "flight": "AA483"}, ... ] }
  23. 23. ©2015 Couchbase Inc. RETURN FLIGHTS FOR A PARTICULAR DAY 4. Foreach in “schedule”: a. Does it match requested day?Y/N b. Does it match requested day?Y/N c. Does it match requested day?Y/N d. Does it match requested day?Y/N e. Does it match requested day?Y/N f. Does it match requested day?Y/N g. Does it match requested day?Y/N 5. Display matching day, route and airline names 6. Throw away objects For each requested route: 1. Read in “route” document from Couchbase: a. Instantiate object b. Handle errors c. Manage memory 2. Parse JSON: a. Map transcoder b. Manage versioning c. Handle missing values 3. Read in “schedule” object a. Instantiate object b. Handle errors c. Manage memory
  24. 24. ©2015 Couchbase Inc. RETURN FLIGHTS FOR A PARTICULAR DAY route_5966 { "id": "5966", "type": "route", "airlineid": "airline_24", "from": ”LAX", "to": ”SFO", "stops": "0", "schedule": [ {"day": 1, "utc": "06:58:00", "flight": "AA348"}, {"day": 1, "utc": "09:30:00", "flight": "AA868"}, {"day": 1, "utc": "20:47:00", "flight": "AA483"}, {"day": 1, "utc": "06:58:00", "flight": "AA348"}, {"day": 2, "utc": "09:30:00", "flight": "AA868"}, {"day": 2, "utc": "20:47:00", "flight": "AA483"}, SELECT airline.callsign, schedule.flight, schedule.utc, route.from, route.to FROM `travel-sample` route UNNEST route.schedule schedule JOIN `travel-sample` airline ON KEYS route.airlineid WHERE route.from=`LAX` AND route.to=`SFO` AND schedule.day= `1`
  25. 25. ©2015 Couchbase Inc. N1QL MAKES IT EASIER + FASTERTO DEVELOP MULTI-DIMENSIONAL SCALING SAME BLAZINGLY FAST PERFORMANCE WHATYOU SAW
  26. 26. ©2015 Couchbase Inc. RAVI’STOP CONNECT SESSIONS INTRODUCING N1QL: GERALD SANGUDI DEEP DIVE INTO SECONDARY INDEXING: JOHN LIANG NEXT GENERATION STORAGE ENGINE:CHIYOUNG SEO SPARK WITH COUCHBASE: MICHAEL NITSCHINGER INTRODUCTION TO COUCHBASE MOBILE:WAYNE CARTER SECURINGYOUR COUCHBASE ENVIRONMENT: DON PINTO
  27. 27. NEXT GENERATION DATABASE FOR THE DIGITAL ECONOMY
  28. 28. NEXT GENERATION DATABASE FOR THE DIGITAL ECONOMY TOGETHER!
  29. 29. Thank you.

×