SlideShare a Scribd company logo
1 of 38
Download to read offline
Developing	
  with	
  
Couchbase	
  Mobile	
  
	
  David	
  Maier	
  
May	
  the	
  27th	
  ‘14	
  
Agenda	
  
About Couchbase	

Further Examples	

Questions?	

Introduction to Couchbase Mobile	

Demo
About	
  Couchbase	
  
Fastest growing NoSQL database company
 4x growth in 2013;Widely recognized as industry leader	

Worldwide operations with  150 employees
75 in engineering; more than doubling every year	

Support offices in US (multiple), UK, India, Japan, China (soon) 	

	

Leader in scalability  high performance	

Easily  reliable scale your app; Get consistent low latency  high throughput	

Only NoSQL vendor with mobile database + sync 	

Recognized as most innovative NoSQL vendor	

	

Provide KV  document database for web  mobile apps	

Flexible, schemaless JSON data model; 100% open source	

Mission critical deployments at large enterprises 
internet companies	

 400 customers; 10,000 paid production nodes deployed; worldwide customer base	

Couchbase, Inc. Confidential
Market	
  Adop9on	
  
 400 customers;  10,000 production nodes
deployed	

Internet
Companies	

 Enterprises
Overview	
  
Couchbase offers a full range of
Data Management solutions	

High
Availability
Cache	

Key
Value	

Docum
ent	

Mobile
device	

SSN: 400 658 9993	

Pass: ******	

Pass: ******
Couchbase	
  Server	
  Is	
  The	
  Complete	
  
Solu9on	
  
One click scalability and no
app changes.	

Sub millisecond latency with high
throughput for reads and writes.	

Maintenance, upgrades and
cluster resizing all online
without application downtime	

JSON document model with no
fixed schema.	

✔	

✔	

✔	

✔	

Consistent High
Performance	

Flexible
Data Model	

Easy
Scalability	

Always On
24x7x365
Introduc9on	
  to	
  Couchbase	
  Mobile	
  
The	
  Next	
  Wave	
  of	
  Mobile	
  Apps	
  
…will	
  be	
  ALWAYS	
  available	
  
Data	
  
Data	
  
JSON	
  Anywhere	
  	
  
Couchbase	
  Server	
  
•  JSON	
  on	
  the	
  wire	
  
­  No	
  need	
  for	
  data	
  
transforma;on	
  
•  JSON	
  in	
  the	
  cloud	
  
­  Flexible	
  data	
  model	
  
­  High	
  performance	
  
­  Easy	
  scalability	
  
ServerSync GatewayLite
JS N	

JS N	

JS N	

•  JSON	
  on	
  the	
  device	
  
­  Developers	
  
increasingly	
  prefer	
  
NoSQL	
  database	
  
Architecture	
  
	
  
	
  
SERVER	
  3	
  	
  
	
  
SERVER	
  1	
   	
  
	
  
SERVER	
  2	
  
Couchbase	
  Server	
  
	
  
	
  
Channel	

Sync	
  Gateway	
  
Channel	

	
  
	
  
Channel	

Sync	
  Gateway	
  
Channel	

Couchbase	
  Lite	
  for	
  iOS	
  and	
  Android	
  
On Premise	

 In the cloud
Couchbase	
  Lite	
  
The	
  only	
  NoSQL	
  Database	
  for	
  Mobile	
  Devices	
  
•  Features	
  
­  Ultra-­‐lightweight,	
  secure	
  JSON	
  
database	
  	
  
­  Na;ve	
  support	
  for	
  iOS,	
  Android	
  
and	
  REST/HTML5	
  
­  Full	
  document,	
  index	
  and	
  
querying	
  and	
  sync	
  capabili;es	
  
­  Powerful	
  conflict	
  resolu;on	
  
Lite
Couchbase	
  
Lite	
  	
  
Android	
  
Couchbase	
  
Lite	
  	
  
iOS	
  
Couchbase	
  Lite	
  
Full	
  Feature	
  List	
  
Features	
   Benefits	
  
Na9ve	
  APIs	
  	
   Manage	
  your	
  mobile	
  database	
  using	
  APIs	
  op;mized	
  specifically	
  
for	
  iOS	
  and	
  Android	
  
REST	
  APIs	
   REST	
  APIs	
  provide	
  an	
  alterna;ve	
  access	
  method	
  based	
  on	
  your	
  
development	
  needs	
  
JSON	
  support	
  	
   Use	
  a	
  flexible	
  data	
  model	
  designed	
  for	
  mobile	
  object-­‐oriented	
  
apps.	
  Adapt	
  to	
  your	
  applica;on	
  needs	
  with	
  immediacy	
  and	
  
li[le	
  impact	
  
Easy	
  sync	
  with	
  Couchbase	
  Sync	
  Gateway	
   Get	
  sync-­‐ready	
  in	
  less	
  than	
  a	
  few	
  lines	
  of	
  code.	
  Focus	
  on	
  
applica;on	
  development,	
  not	
  syncing	
  
Peer	
  to	
  peer	
  support	
  via	
  REST	
  APIs	
  
	
  	
  
Communicate	
  with	
  nearby	
  devices,	
  even	
  offline,	
  with	
  our	
  REST	
  
API-­‐enabled	
  P2P	
  support	
  
Data	
  rou9ng	
  via	
  channels	
  	
   Get	
  users	
  only	
  the	
  data	
  they	
  need	
  for	
  a	
  focused,	
  relevant	
  app	
  
experience	
  
Changes	
  Feed	
  	
  
	
  	
  
Provides	
  developers	
  visibility	
  and	
  no;fica;on	
  into	
  data	
  
changes	
  	
  
Indexing	
  and	
  querying	
  for	
  JSON	
   Use	
  powerful	
  secondary	
  indexes	
  to	
  query	
  your	
  data	
  on	
  the	
  
device	
  
Authen9ca9on	
  plug-­‐ins	
   Use	
  popular	
  exis;ng	
  third-­‐party	
  authen;ca;on	
  services	
  like	
  
Facebook	
  and	
  Mozilla	
  Persona	
  instead	
  of	
  wri;ng	
  your	
  own	
  
ATachment	
  support	
  on	
  device	
  and	
  in	
  the	
  cloud	
   Manage	
  binary	
  data,	
  like	
  photos	
  and	
  large	
  files,	
  separately	
  
from	
  your	
  JSON	
  documents	
  for	
  op;onal,	
  speedier	
  sync	
  
What	
  you	
  get	
  
Lite
Couchbase	
  
Lite	
  	
  
Android	
  
Couchbase	
  
Lite	
  	
  
iOS	
  
­  Enable	
  new	
  class	
  of	
  rich	
  data	
  
intensive	
  local	
  applica;ons	
  	
  
­  Rapid	
  development	
  using	
  
na;ve	
  JSON	
  data	
  
­  Highly	
  responsive	
  interac;ve	
  
applica;ons	
  
­  Always	
  available	
  -­‐	
  	
  online	
  or	
  
offline	
  
Couchbase	
  Sync	
  Gateway	
  
Easy,	
  Reliable	
  Data	
  Sync	
  to	
  the	
  Cloud	
  
•  Features	
  
•  Dynamic	
  sync	
  capabili;es	
  via	
  
Sync	
  Func;on	
  APIs	
  
•  Easy	
  Administra;on	
  
•  Seamless	
  scaleout	
  
•  Benefits	
  
­  10x	
  reduc;on	
  in	
  development	
  
;me	
  
­  Scales	
  to	
  support	
  millions	
  of	
  
users	
  
Sync Gateway
Collaborate	
  using	
  Channels	
  
•  For	
  each	
  document,	
  you	
  specify	
  a	
  set	
  of	
  
channels	
  it	
  belongs	
  to	
  	
  
­  E.G	
  doc.channels	
  :	
  [	
  “food”,	
  “sports”	
  ]	
  
•  For	
  each	
  user	
  or	
  device,	
  you	
  control	
  which	
  
channels	
  they	
  can	
  access	
  
•  Replicate	
  only	
  a	
  subset	
  of	
  documents	
  down	
  to	
  
the	
  device	
  
­  User-­‐defined	
  filter	
  func;ons	
  	
  
­  Simply	
  lets	
  you	
  know	
  whether	
  a	
  document	
  should	
  be	
  replicated	
  
•  And	
  you	
  can	
  authen9cate	
  users	
  	
  
	
  
Sync Gateway!
Data!Data!
Sync Gateway!
Data!
Data!
Data!
Sync Gateway!
Data!
Data!Data!
Sync Gateway!
Data!Data!
Sync Gateway!
Data!
Data!
Data!Data!
Sync Gateway!Data!
Data!Data!
What	
  you	
  get	
  
Easy	
  Sync	
  
•  Effortlessly	
  sync	
  local	
  data	
  with	
  a	
  
database	
  in	
  the	
  cloud	
  for	
  updates,	
  
replica;on	
  or	
  collabora;ve	
  
sharing.	
  
•  In	
  addi;on,	
  scale	
  your	
  data	
  ;er	
  
horizontally	
  and	
  reliably	
  as	
  your	
  
data	
  and	
  sync	
  needs	
  grow.	
  	
  
JSON
JSON
JSON
JSONJSON
	
  	
  	
  	
  	
  JSON	
  Anywhere	
  
	
  
	
  
•  Flexible	
  JSON	
  on	
  device	
  lets	
  you	
  
work	
  with	
  local	
  data	
  	
  modify	
  your	
  
data	
  structure	
  on	
  the	
  fly	
  without	
  
impac;ng	
  your	
  back-­‐end.	
  
•  Your	
  users	
  can	
  count	
  on	
  having	
  an	
  
amazing	
  app	
  experience	
  with	
  a	
  fast	
  
and	
  unbreakable	
  local	
  database	
  	
  	
  
Integra9ons	
  
Couchbase	
  Lite	
  Plug-­‐in	
  for	
  PhoneGap	
  
•  Support	
  for	
  HTML5	
  developers	
  
•  Develop	
  once	
  in	
  JavaScript	
  and	
  deploy	
  
on	
  iOS	
  	
  Android	
  
•  Available	
  on	
  GitHub,	
  Cordova	
  Plugin	
  
Registry,	
  and	
  coming	
  soon	
  to	
  
build.phonegap.com	
  
	
  
h[ps://github.com/couchbaselabs/Couchbase-­‐Lite-­‐PhoneGap-­‐Plugin	
  
h[p://plugins.cordova.io/#/com.couchbase.lite.phonegap	
  
Integra9ons	
  
Couchbase	
  Lite	
  for	
  Xamarin	
  
•  Partnered	
  to	
  support	
  C#	
  community	
  
•  Available	
  on	
  Developer	
  Center	
  
•  Includes	
  sample	
  applica;on	
  to	
  help	
  
developers	
  get	
  started	
  today	
  
h[p://components.xamarin.com/view/couchbase-­‐lite/	
  
Get	
  Started	
  
mobile.couchbase.com	
  
Sample	
  App	
  
hTps://github.com/couchbaselabs/TodoLite-­‐iOS	
  
Addi9onal	
  Resources	
  
Webinar	
  Series:	
  www.couchbase.com/webinars	
  
­  Developing	
  with	
  Couchbase	
  Lite	
  iOS	
  
­  Developing	
  with	
  Couchbase	
  Lite	
  Android	
  
­  Couchbase	
  Lite	
  Under	
  the	
  Hood	
  
	
  
Community	
  Forum	
  
hTps://groups.google.com/forum/#!forum/mobile-­‐couchbase	
  
Demo	
  
Demo	
  App	
  Overview	
  
•  Task	
  Model	
  
­  User	
  Id	
  
­  Crea;on	
  Time	
  
­  Title	
  
•  Task	
  Service	
  
­  Add	
  Task	
  
­  Get	
  Task	
  
­  Get	
  Tasklist	
  
•  Replica9on	
  
­  Bidirec;onal	
  Setup	
  
­  Con;nuous	
  
­  Change	
  Listener	
  for	
  
Monitoring	
  
	
  
•  Handle	
  Data	
  Changes	
  
­  Database	
  Change	
  Listener	
  
­  Valida;on	
  
•  Layout	
  
­  EditText	
  for	
  the	
  Task	
  Title	
  
­  GridView	
  for	
  the	
  Tasklist	
  
­  Bu[on	
  to	
  add	
  a	
  Task	
  
	
  
Demo	
  App	
  Overview	
  
•  Sync	
  Gateway	
  
­  Configura;on	
  
­  Guest	
  Access	
  
­  Sync	
  Func;on	
  
	
  
•  Couchbase	
  Server	
  
­  Bucket	
  Setup	
  
­  Stored	
  Sync	
  Info	
  
Further	
  Examples	
  
Couchbase	
  Lite	
  Views	
  
com.couchbase.lite.View	
  viewItemsByDate	
  
=	
  database.getView(String.format(%s/
%s,	
  designDocName,	
  byDateViewName));	
  
	
  
viewItemsByDate.setMap(new	
  Mapper()	
  {	
  
	
  	
  	
  	
  @Override	
  
	
  	
  	
  	
  public	
  void	
  map(MapString,	
  Object	
  
document,	
  Emi[er	
  emi[er)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  Object	
  createdAt	
  =	
  
document.get(created_at);	
  
	
  	
  	
  	
  	
  	
  	
  	
  if	
  (createdAt	
  !=	
  null)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  emi[er.emit(createdAt.toString(),	
  
document);	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  }	
  
},	
  1.0);	
  
com.couchbase.lite.View	
  view	
  =	
  database.getView(byDate);	
  
Query	
  query	
  =	
  view.createQuery();	
  
query.setLimit(10);	
  
query.setDescending(true);	
  
	
  
try	
  {	
  
	
  	
  	
  	
  QueryEnumerator	
  rowEnum	
  =	
  query.run();	
  
	
  	
  	
  	
  for	
  (IteratorQueryRow	
  it	
  =	
  rowEnum;	
  it.hasNext();)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  QueryRow	
  row	
  =	
  it.next();	
  
	
  	
  	
  	
  	
  	
  	
  	
  Log.d(Document	
  ID:,	
  row.getDocumentId());	
  
	
  
	
  	
  	
  	
  }	
  
}	
  catch	
  (CouchbaseLiteExcep;on	
  e)	
  {	
  
	
  	
  	
  	
  e.printStackTrace();	
  
}	
  
	
  
	
  
Crea9ng	
  Views	
   Querying	
  Views	
  
Filtered	
  Replica9ons	
  
database.setFilter(sharedItems,	
  new	
  
Replica;onFilter()	
  {	
  
	
  	
  	
  	
  @Override	
  
	
  	
  	
  	
  public	
  boolean	
  filter(SavedRevision	
  
revision,	
  MapString,	
  Object	
  params)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  return	
  ((Boolean)	
  
revision.getProper;es().get(shared)).
booleanValue();	
  
	
  	
  	
  	
  }	
  
});	
  
push.setFilter	
  =	
  sharedItems;	
  
	
  
	
  
	
  
Crea9ng	
  a	
  Push	
  Filter	
  Func9on	
   Adding	
  the	
  Filter	
  by	
  Name	
  
Sync	
  Gateway	
  Authen9ca9on	
  	
  
String	
  url	
  =	
  
“h[ps://
frank:s33kr1t@sync.example.com/
database/”;	
  
private	
  void	
  addFacebookAuthoriza;on(Replica;on	
  
replica;on)	
  {	
  
	
  	
  	
  	
  //	
  start	
  Facebook	
  Login	
  
	
  	
  	
  	
  Session.openAc;veSession(this,	
  true,	
  new	
  
Session.StatusCallback()	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  //	
  callback	
  when	
  session	
  changes	
  state	
  
	
  	
  	
  	
  	
  	
  	
  	
  @Override	
  
	
  	
  	
  	
  	
  	
  	
  	
  public	
  void	
  call(Session	
  session,	
  SessionState	
  state,	
  
Excep;on	
  excep;on)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if	
  (excep;on	
  !=	
  null	
  ||	
  !session.isOpened())	
  	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  return;	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  //	
  make	
  request	
  to	
  the	
  Facebook	
  /me	
  API	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Request.executeMeRequestAsync(session,	
  new	
  
Request.GraphUserCallback()	
  {	
  
	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
Basic	
   Facebook	
  
Sync	
  Gateway	
  Authen9ca9on	
  	
  
	
  //	
  callback	
  azer	
  Facebook	
  Graph	
  API	
  response	
  with	
  
user	
  object	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  @Override	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  public	
  void	
  onCompleted(GraphUser	
  user,	
  
Response	
  response)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  if	
  (user	
  !=	
  null)	
  {	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  String	
  email	
  =	
  (String)	
  
user.getProperty(email);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  FacebookAuthorizer	
  authorizer	
  =	
  new	
  
FacebookAuthorizer(email);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
authorizer.registerAccessToken(session.getAccessToken
(),	
  email,	
  replica;on.getRemoteUrl());	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  replica;on.setAuthorizer(authorizer);	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  });	
  
	
  	
  	
  	
  	
  	
  	
  	
  }	
  
	
  	
  	
  	
  });	
  
}	
  
	
  
	
  
	
  
	
  
Facebook	
  (cont.)	
  
Sync	
  Func9on	
  Examples	
  	
  
//Default	
  
func;on	
  (doc)	
  {	
  
	
  	
  channel(doc.channels);	
  
}	
  
	
  
//Valida9on	
  
func;on	
  (doc)	
  {	
  
	
  	
  throw	
  ({forbidden	
  :	
  read	
  only!})	
  
}	
  
	
  
	
  
	
  
//Channel	
  mapping	
  
func;on	
  (doc,	
  oldDoc)	
  {	
  
	
  	
  if	
  (doc.published)	
  {	
  
	
  	
  	
  	
  channel	
  (public);	
  
	
  	
  }	
  	
  
}	
  
//Access	
  Control	
  
func;on	
  (doc,	
  oldDoc)	
  {	
  
	
  	
  access	
  (doc.members,	
  doc.channel_name);	
  
	
  	
  channel	
  (doc.channel_name)	
  
}	
  
	
  
Ques9ons?	
  
Thank	
  you!	
  
mobile.couchbase.com	
  

More Related Content

What's hot

AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...Amazon Web Services
 
What‘s new in Office 365
What‘s new in Office 365What‘s new in Office 365
What‘s new in Office 365SPC Adriatics
 
Office 365 UK User Group London 4th September 2012
Office 365 UK User Group London 4th September 2012Office 365 UK User Group London 4th September 2012
Office 365 UK User Group London 4th September 2012Office 365 UK User Group
 
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...Amazon Web Services
 
Migration to Microsoft Online Services from Exchange and Non-Microsoft Platforms
Migration to Microsoft Online Services from Exchange and Non-Microsoft PlatformsMigration to Microsoft Online Services from Exchange and Non-Microsoft Platforms
Migration to Microsoft Online Services from Exchange and Non-Microsoft PlatformsBitTitan
 
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp
 
Seeding The Cloud
Seeding The CloudSeeding The Cloud
Seeding The CloudTed Leung
 
LinkedIn Data Infrastructure (QCon London 2012)
LinkedIn Data Infrastructure (QCon London 2012)LinkedIn Data Infrastructure (QCon London 2012)
LinkedIn Data Infrastructure (QCon London 2012)Sid Anand
 
IBM Connections Design To #NOTFAIL
IBM Connections Design To #NOTFAILIBM Connections Design To #NOTFAIL
IBM Connections Design To #NOTFAILGabriella Davis
 
SharePoint 2016 - nextgenportal
SharePoint 2016 - nextgenportalSharePoint 2016 - nextgenportal
SharePoint 2016 - nextgenportal2SeeU
 
Migrating to office 365
Migrating to office 365Migrating to office 365
Migrating to office 365Alan Richards
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101Chris Schalk
 
Configuring SharePoint 2013 for BI scenarios
Configuring SharePoint 2013 for BI scenariosConfiguring SharePoint 2013 for BI scenarios
Configuring SharePoint 2013 for BI scenariosSPC Adriatics
 
Database Freedom: Database Week SF
Database Freedom: Database Week SFDatabase Freedom: Database Week SF
Database Freedom: Database Week SFAmazon Web Services
 
List of Top Local Databases used for react native app developement in 2022
List of Top Local Databases used for react native app developement in 2022					List of Top Local Databases used for react native app developement in 2022
List of Top Local Databases used for react native app developement in 2022 Shelly Megan
 
Ibm bluemix
Ibm bluemix Ibm bluemix
Ibm bluemix Narendra
 
Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...
Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...
Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...SPTechCon
 
Mainframe Modernization with Precisely and Microsoft Azure
Mainframe Modernization with Precisely and Microsoft AzureMainframe Modernization with Precisely and Microsoft Azure
Mainframe Modernization with Precisely and Microsoft AzurePrecisely
 

What's hot (20)

AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
AWS re:Invent 2016: Relational and NoSQL Databases on AWS: NBC, MarkLogic, an...
 
What‘s new in Office 365
What‘s new in Office 365What‘s new in Office 365
What‘s new in Office 365
 
Office 365 UK User Group London 4th September 2012
Office 365 UK User Group London 4th September 2012Office 365 UK User Group London 4th September 2012
Office 365 UK User Group London 4th September 2012
 
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
AWS re:Invent 2016: Enterprise Fundamentals: Design Your Account and VPC Arch...
 
Migration to Microsoft Online Services from Exchange and Non-Microsoft Platforms
Migration to Microsoft Online Services from Exchange and Non-Microsoft PlatformsMigration to Microsoft Online Services from Exchange and Non-Microsoft Platforms
Migration to Microsoft Online Services from Exchange and Non-Microsoft Platforms
 
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data LakeITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
ITCamp 2019 - Andy Cross - Machine Learning with ML.NET and Azure Data Lake
 
Database Freedom | AWS Floor28
Database Freedom | AWS Floor28Database Freedom | AWS Floor28
Database Freedom | AWS Floor28
 
Machine Learning Pitch Deck
Machine Learning Pitch DeckMachine Learning Pitch Deck
Machine Learning Pitch Deck
 
Seeding The Cloud
Seeding The CloudSeeding The Cloud
Seeding The Cloud
 
LinkedIn Data Infrastructure (QCon London 2012)
LinkedIn Data Infrastructure (QCon London 2012)LinkedIn Data Infrastructure (QCon London 2012)
LinkedIn Data Infrastructure (QCon London 2012)
 
IBM Connections Design To #NOTFAIL
IBM Connections Design To #NOTFAILIBM Connections Design To #NOTFAIL
IBM Connections Design To #NOTFAIL
 
SharePoint 2016 - nextgenportal
SharePoint 2016 - nextgenportalSharePoint 2016 - nextgenportal
SharePoint 2016 - nextgenportal
 
Migrating to office 365
Migrating to office 365Migrating to office 365
Migrating to office 365
 
Google App Engine for Business 101
Google App Engine for Business 101Google App Engine for Business 101
Google App Engine for Business 101
 
Configuring SharePoint 2013 for BI scenarios
Configuring SharePoint 2013 for BI scenariosConfiguring SharePoint 2013 for BI scenarios
Configuring SharePoint 2013 for BI scenarios
 
Database Freedom: Database Week SF
Database Freedom: Database Week SFDatabase Freedom: Database Week SF
Database Freedom: Database Week SF
 
List of Top Local Databases used for react native app developement in 2022
List of Top Local Databases used for react native app developement in 2022					List of Top Local Databases used for react native app developement in 2022
List of Top Local Databases used for react native app developement in 2022
 
Ibm bluemix
Ibm bluemix Ibm bluemix
Ibm bluemix
 
Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...
Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...
Part II: SharePoint 2013 Administration by Todd Klindt and Shane Young - SPTe...
 
Mainframe Modernization with Precisely and Microsoft Azure
Mainframe Modernization with Precisely and Microsoft AzureMainframe Modernization with Precisely and Microsoft Azure
Mainframe Modernization with Precisely and Microsoft Azure
 

Similar to Couchbase Mobile on Android

Billions of Messages in Real Time: Why Paypal & LinkedIn Trust an Engagement ...
Billions of Messages in Real Time: Why Paypal & LinkedIn Trust an Engagement ...Billions of Messages in Real Time: Why Paypal & LinkedIn Trust an Engagement ...
Billions of Messages in Real Time: Why Paypal & LinkedIn Trust an Engagement ...confluent
 
Couchbase overview033113long
Couchbase overview033113longCouchbase overview033113long
Couchbase overview033113longJeff Harris
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft AzureDavid Chou
 
The Best Local Database for React Native Application Development .pdf
The Best Local Database for React Native Application Development .pdfThe Best Local Database for React Native Application Development .pdf
The Best Local Database for React Native Application Development .pdfTechugo
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure
 
Cloud Made Easy - August 2017
Cloud Made Easy - August 2017Cloud Made Easy - August 2017
Cloud Made Easy - August 2017Franco Ucci
 
Benefits of the Azure cloud
Benefits of the Azure cloudBenefits of the Azure cloud
Benefits of the Azure cloudJames Serra
 
Delivering the power of data using Spring Cloud DataFlow and DataStax Enterpr...
Delivering the power of data using Spring Cloud DataFlow and DataStax Enterpr...Delivering the power of data using Spring Cloud DataFlow and DataStax Enterpr...
Delivering the power of data using Spring Cloud DataFlow and DataStax Enterpr...VMware Tanzu
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickOPITZ CONSULTING Deutschland
 
BPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveBPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveOPITZ CONSULTING Deutschland
 
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part20812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2Raul Chong
 
Microsoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D KeshariaMicrosoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D KeshariaHARMAN Services
 
Benefits of the Azure Cloud
Benefits of the Azure CloudBenefits of the Azure Cloud
Benefits of the Azure CloudCaserta
 
A Guide to Modern BPM Data Integration
A Guide to Modern BPM Data IntegrationA Guide to Modern BPM Data Integration
A Guide to Modern BPM Data IntegrationEric D. Schabell
 
BizSpark migreren naar de cloud
BizSpark migreren naar de cloudBizSpark migreren naar de cloud
BizSpark migreren naar de cloudDelta-N
 
Azure Discover Event Silicon Valley
Azure Discover Event Silicon ValleyAzure Discover Event Silicon Valley
Azure Discover Event Silicon ValleyWes Yanaga
 
Retour d’expérience sur Couchbase par James Nocentini
Retour d’expérience sur Couchbase par James NocentiniRetour d’expérience sur Couchbase par James Nocentini
Retour d’expérience sur Couchbase par James NocentiniCocoaHeads France
 

Similar to Couchbase Mobile on Android (20)

Billions of Messages in Real Time: Why Paypal & LinkedIn Trust an Engagement ...
Billions of Messages in Real Time: Why Paypal & LinkedIn Trust an Engagement ...Billions of Messages in Real Time: Why Paypal & LinkedIn Trust an Engagement ...
Billions of Messages in Real Time: Why Paypal & LinkedIn Trust an Engagement ...
 
Couchbase overview033113long
Couchbase overview033113longCouchbase overview033113long
Couchbase overview033113long
 
Microsoft Azure
Microsoft AzureMicrosoft Azure
Microsoft Azure
 
The Best Local Database for React Native Application Development .pdf
The Best Local Database for React Native Application Development .pdfThe Best Local Database for React Native Application Development .pdf
The Best Local Database for React Native Application Development .pdf
 
Microsoft Azure Overview Infographic
Microsoft Azure Overview InfographicMicrosoft Azure Overview Infographic
Microsoft Azure Overview Infographic
 
Cloud Made Easy - August 2017
Cloud Made Easy - August 2017Cloud Made Easy - August 2017
Cloud Made Easy - August 2017
 
M meijer paas - tech-days 2015
M meijer   paas - tech-days 2015M meijer   paas - tech-days 2015
M meijer paas - tech-days 2015
 
Benefits of the Azure cloud
Benefits of the Azure cloudBenefits of the Azure cloud
Benefits of the Azure cloud
 
Delivering the power of data using Spring Cloud DataFlow and DataStax Enterpr...
Delivering the power of data using Spring Cloud DataFlow and DataStax Enterpr...Delivering the power of data using Spring Cloud DataFlow and DataStax Enterpr...
Delivering the power of data using Spring Cloud DataFlow and DataStax Enterpr...
 
BPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein ArchitekturüberblickBPM und SOA machen mobil - Ein Architekturüberblick
BPM und SOA machen mobil - Ein Architekturüberblick
 
BPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspectiveBPM and SOA are going mobile - An architectural perspective
BPM and SOA are going mobile - An architectural perspective
 
IBM - Introduction to Cloudant
IBM - Introduction to CloudantIBM - Introduction to Cloudant
IBM - Introduction to Cloudant
 
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part20812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
0812 2014 01_toronto-smac meetup_i_os_cloudant_worklight_part2
 
Microsoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D KeshariaMicrosoft Azure Explained - Hitesh D Kesharia
Microsoft Azure Explained - Hitesh D Kesharia
 
Benefits of the Azure Cloud
Benefits of the Azure CloudBenefits of the Azure Cloud
Benefits of the Azure Cloud
 
Introduction to Windows Azure
Introduction to Windows AzureIntroduction to Windows Azure
Introduction to Windows Azure
 
A Guide to Modern BPM Data Integration
A Guide to Modern BPM Data IntegrationA Guide to Modern BPM Data Integration
A Guide to Modern BPM Data Integration
 
BizSpark migreren naar de cloud
BizSpark migreren naar de cloudBizSpark migreren naar de cloud
BizSpark migreren naar de cloud
 
Azure Discover Event Silicon Valley
Azure Discover Event Silicon ValleyAzure Discover Event Silicon Valley
Azure Discover Event Silicon Valley
 
Retour d’expérience sur Couchbase par James Nocentini
Retour d’expérience sur Couchbase par James NocentiniRetour d’expérience sur Couchbase par James Nocentini
Retour d’expérience sur Couchbase par James Nocentini
 

More from Philipp Fehre

node.js and native code extensions by example
node.js and native code extensions by examplenode.js and native code extensions by example
node.js and native code extensions by examplePhilipp Fehre
 
Jruby a Pi and a database
Jruby a Pi and a databaseJruby a Pi and a database
Jruby a Pi and a databasePhilipp Fehre
 
Node.js and couchbase Full Stack JSON - Munich NoSQL
Node.js and couchbase   Full Stack JSON - Munich NoSQLNode.js and couchbase   Full Stack JSON - Munich NoSQL
Node.js and couchbase Full Stack JSON - Munich NoSQLPhilipp Fehre
 
You got schema in my json
You got schema in my jsonYou got schema in my json
You got schema in my jsonPhilipp Fehre
 
What is new in Riak 2.0
What is new in Riak 2.0What is new in Riak 2.0
What is new in Riak 2.0Philipp Fehre
 
Ember background basics
Ember background basicsEmber background basics
Ember background basicsPhilipp Fehre
 
Ember learn from Riak Control
Ember learn from Riak ControlEmber learn from Riak Control
Ember learn from Riak ControlPhilipp Fehre
 
Something about node basics
Something about node basicsSomething about node basics
Something about node basicsPhilipp Fehre
 
A little more advanced node
A little more advanced nodeA little more advanced node
A little more advanced nodePhilipp Fehre
 
Something about node in the realworld
Something about node in the realworldSomething about node in the realworld
Something about node in the realworldPhilipp Fehre
 
Riak Intro at Munich Node.js
Riak Intro at Munich Node.jsRiak Intro at Munich Node.js
Riak Intro at Munich Node.jsPhilipp Fehre
 
PUT Knowledge BUCKET Brain KEY Riak
PUT Knowledge BUCKET Brain KEY RiakPUT Knowledge BUCKET Brain KEY Riak
PUT Knowledge BUCKET Brain KEY RiakPhilipp Fehre
 
Campfire bot lightning talk
Campfire bot lightning talkCampfire bot lightning talk
Campfire bot lightning talkPhilipp Fehre
 
Lighting fast rails with zeus
Lighting fast rails with zeusLighting fast rails with zeus
Lighting fast rails with zeusPhilipp Fehre
 
JavaScript frontend testing from failure to good to great
JavaScript frontend testing from failure to good to greatJavaScript frontend testing from failure to good to great
JavaScript frontend testing from failure to good to greatPhilipp Fehre
 

More from Philipp Fehre (19)

node.js and native code extensions by example
node.js and native code extensions by examplenode.js and native code extensions by example
node.js and native code extensions by example
 
Jruby a Pi and a database
Jruby a Pi and a databaseJruby a Pi and a database
Jruby a Pi and a database
 
From 0 to syncing
From 0 to syncingFrom 0 to syncing
From 0 to syncing
 
Node.js and couchbase Full Stack JSON - Munich NoSQL
Node.js and couchbase   Full Stack JSON - Munich NoSQLNode.js and couchbase   Full Stack JSON - Munich NoSQL
Node.js and couchbase Full Stack JSON - Munich NoSQL
 
You got schema in my json
You got schema in my jsonYou got schema in my json
You got schema in my json
 
What is new in Riak 2.0
What is new in Riak 2.0What is new in Riak 2.0
What is new in Riak 2.0
 
Ember background basics
Ember background basicsEmber background basics
Ember background basics
 
Ember learn from Riak Control
Ember learn from Riak ControlEmber learn from Riak Control
Ember learn from Riak Control
 
Testing tdd jasmine
Testing tdd jasmineTesting tdd jasmine
Testing tdd jasmine
 
Testing tdd dom
Testing tdd domTesting tdd dom
Testing tdd dom
 
Something about node basics
Something about node basicsSomething about node basics
Something about node basics
 
A little more advanced node
A little more advanced nodeA little more advanced node
A little more advanced node
 
Something about node in the realworld
Something about node in the realworldSomething about node in the realworld
Something about node in the realworld
 
Riak Intro at Munich Node.js
Riak Intro at Munich Node.jsRiak Intro at Munich Node.js
Riak Intro at Munich Node.js
 
PUT Knowledge BUCKET Brain KEY Riak
PUT Knowledge BUCKET Brain KEY RiakPUT Knowledge BUCKET Brain KEY Riak
PUT Knowledge BUCKET Brain KEY Riak
 
Campfire bot lightning talk
Campfire bot lightning talkCampfire bot lightning talk
Campfire bot lightning talk
 
Lighting fast rails with zeus
Lighting fast rails with zeusLighting fast rails with zeus
Lighting fast rails with zeus
 
JavaScript frontend testing from failure to good to great
JavaScript frontend testing from failure to good to greatJavaScript frontend testing from failure to good to great
JavaScript frontend testing from failure to good to great
 
Network with node
Network with nodeNetwork with node
Network with node
 

Recently uploaded

Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learningmisbanausheenparvam
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Dr.Costas Sachpazis
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxAsutosh Ranjan
 

Recently uploaded (20)

Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
chaitra-1.pptx fake news detection using machine learning
chaitra-1.pptx  fake news detection using machine learningchaitra-1.pptx  fake news detection using machine learning
chaitra-1.pptx fake news detection using machine learning
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
Sheet Pile Wall Design and Construction: A Practical Guide for Civil Engineer...
 
Coefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptxCoefficient of Thermal Expansion and their Importance.pptx
Coefficient of Thermal Expansion and their Importance.pptx
 

Couchbase Mobile on Android

  • 1. Developing  with   Couchbase  Mobile    David  Maier   May  the  27th  ‘14  
  • 2. Agenda   About Couchbase Further Examples Questions? Introduction to Couchbase Mobile Demo
  • 4. Fastest growing NoSQL database company 4x growth in 2013;Widely recognized as industry leader Worldwide operations with 150 employees 75 in engineering; more than doubling every year Support offices in US (multiple), UK, India, Japan, China (soon) Leader in scalability high performance Easily reliable scale your app; Get consistent low latency high throughput Only NoSQL vendor with mobile database + sync Recognized as most innovative NoSQL vendor Provide KV document database for web mobile apps Flexible, schemaless JSON data model; 100% open source Mission critical deployments at large enterprises internet companies 400 customers; 10,000 paid production nodes deployed; worldwide customer base Couchbase, Inc. Confidential
  • 5. Market  Adop9on   400 customers; 10,000 production nodes deployed Internet Companies Enterprises
  • 6. Overview   Couchbase offers a full range of Data Management solutions High Availability Cache Key Value Docum ent Mobile device SSN: 400 658 9993 Pass: ****** Pass: ******
  • 7. Couchbase  Server  Is  The  Complete   Solu9on   One click scalability and no app changes. Sub millisecond latency with high throughput for reads and writes. Maintenance, upgrades and cluster resizing all online without application downtime JSON document model with no fixed schema. ✔ ✔ ✔ ✔ Consistent High Performance Flexible Data Model Easy Scalability Always On 24x7x365
  • 9. The  Next  Wave  of  Mobile  Apps   …will  be  ALWAYS  available   Data   Data  
  • 10. JSON  Anywhere     Couchbase  Server   •  JSON  on  the  wire   ­  No  need  for  data   transforma;on   •  JSON  in  the  cloud   ­  Flexible  data  model   ­  High  performance   ­  Easy  scalability   ServerSync GatewayLite JS N JS N JS N •  JSON  on  the  device   ­  Developers   increasingly  prefer   NoSQL  database  
  • 11. Architecture       SERVER  3       SERVER  1       SERVER  2   Couchbase  Server       Channel Sync  Gateway   Channel     Channel Sync  Gateway   Channel Couchbase  Lite  for  iOS  and  Android   On Premise In the cloud
  • 12. Couchbase  Lite   The  only  NoSQL  Database  for  Mobile  Devices   •  Features   ­  Ultra-­‐lightweight,  secure  JSON   database     ­  Na;ve  support  for  iOS,  Android   and  REST/HTML5   ­  Full  document,  index  and   querying  and  sync  capabili;es   ­  Powerful  conflict  resolu;on   Lite Couchbase   Lite     Android   Couchbase   Lite     iOS  
  • 13. Couchbase  Lite   Full  Feature  List   Features   Benefits   Na9ve  APIs     Manage  your  mobile  database  using  APIs  op;mized  specifically   for  iOS  and  Android   REST  APIs   REST  APIs  provide  an  alterna;ve  access  method  based  on  your   development  needs   JSON  support     Use  a  flexible  data  model  designed  for  mobile  object-­‐oriented   apps.  Adapt  to  your  applica;on  needs  with  immediacy  and   li[le  impact   Easy  sync  with  Couchbase  Sync  Gateway   Get  sync-­‐ready  in  less  than  a  few  lines  of  code.  Focus  on   applica;on  development,  not  syncing   Peer  to  peer  support  via  REST  APIs       Communicate  with  nearby  devices,  even  offline,  with  our  REST   API-­‐enabled  P2P  support   Data  rou9ng  via  channels     Get  users  only  the  data  they  need  for  a  focused,  relevant  app   experience   Changes  Feed         Provides  developers  visibility  and  no;fica;on  into  data   changes     Indexing  and  querying  for  JSON   Use  powerful  secondary  indexes  to  query  your  data  on  the   device   Authen9ca9on  plug-­‐ins   Use  popular  exis;ng  third-­‐party  authen;ca;on  services  like   Facebook  and  Mozilla  Persona  instead  of  wri;ng  your  own   ATachment  support  on  device  and  in  the  cloud   Manage  binary  data,  like  photos  and  large  files,  separately   from  your  JSON  documents  for  op;onal,  speedier  sync  
  • 14. What  you  get   Lite Couchbase   Lite     Android   Couchbase   Lite     iOS   ­  Enable  new  class  of  rich  data   intensive  local  applica;ons     ­  Rapid  development  using   na;ve  JSON  data   ­  Highly  responsive  interac;ve   applica;ons   ­  Always  available  -­‐    online  or   offline  
  • 15. Couchbase  Sync  Gateway   Easy,  Reliable  Data  Sync  to  the  Cloud   •  Features   •  Dynamic  sync  capabili;es  via   Sync  Func;on  APIs   •  Easy  Administra;on   •  Seamless  scaleout   •  Benefits   ­  10x  reduc;on  in  development   ;me   ­  Scales  to  support  millions  of   users   Sync Gateway
  • 16. Collaborate  using  Channels   •  For  each  document,  you  specify  a  set  of   channels  it  belongs  to     ­  E.G  doc.channels  :  [  “food”,  “sports”  ]   •  For  each  user  or  device,  you  control  which   channels  they  can  access   •  Replicate  only  a  subset  of  documents  down  to   the  device   ­  User-­‐defined  filter  func;ons     ­  Simply  lets  you  know  whether  a  document  should  be  replicated   •  And  you  can  authen9cate  users      
  • 23. What  you  get   Easy  Sync   •  Effortlessly  sync  local  data  with  a   database  in  the  cloud  for  updates,   replica;on  or  collabora;ve   sharing.   •  In  addi;on,  scale  your  data  ;er   horizontally  and  reliably  as  your   data  and  sync  needs  grow.     JSON JSON JSON JSONJSON          JSON  Anywhere       •  Flexible  JSON  on  device  lets  you   work  with  local  data    modify  your   data  structure  on  the  fly  without   impac;ng  your  back-­‐end.   •  Your  users  can  count  on  having  an   amazing  app  experience  with  a  fast   and  unbreakable  local  database      
  • 24. Integra9ons   Couchbase  Lite  Plug-­‐in  for  PhoneGap   •  Support  for  HTML5  developers   •  Develop  once  in  JavaScript  and  deploy   on  iOS    Android   •  Available  on  GitHub,  Cordova  Plugin   Registry,  and  coming  soon  to   build.phonegap.com     h[ps://github.com/couchbaselabs/Couchbase-­‐Lite-­‐PhoneGap-­‐Plugin   h[p://plugins.cordova.io/#/com.couchbase.lite.phonegap  
  • 25. Integra9ons   Couchbase  Lite  for  Xamarin   •  Partnered  to  support  C#  community   •  Available  on  Developer  Center   •  Includes  sample  applica;on  to  help   developers  get  started  today   h[p://components.xamarin.com/view/couchbase-­‐lite/  
  • 26. Get  Started   mobile.couchbase.com   Sample  App   hTps://github.com/couchbaselabs/TodoLite-­‐iOS  
  • 27. Addi9onal  Resources   Webinar  Series:  www.couchbase.com/webinars   ­  Developing  with  Couchbase  Lite  iOS   ­  Developing  with  Couchbase  Lite  Android   ­  Couchbase  Lite  Under  the  Hood     Community  Forum   hTps://groups.google.com/forum/#!forum/mobile-­‐couchbase  
  • 29. Demo  App  Overview   •  Task  Model   ­  User  Id   ­  Crea;on  Time   ­  Title   •  Task  Service   ­  Add  Task   ­  Get  Task   ­  Get  Tasklist   •  Replica9on   ­  Bidirec;onal  Setup   ­  Con;nuous   ­  Change  Listener  for   Monitoring     •  Handle  Data  Changes   ­  Database  Change  Listener   ­  Valida;on   •  Layout   ­  EditText  for  the  Task  Title   ­  GridView  for  the  Tasklist   ­  Bu[on  to  add  a  Task    
  • 30. Demo  App  Overview   •  Sync  Gateway   ­  Configura;on   ­  Guest  Access   ­  Sync  Func;on     •  Couchbase  Server   ­  Bucket  Setup   ­  Stored  Sync  Info  
  • 32. Couchbase  Lite  Views   com.couchbase.lite.View  viewItemsByDate   =  database.getView(String.format(%s/ %s,  designDocName,  byDateViewName));     viewItemsByDate.setMap(new  Mapper()  {          @Override          public  void  map(MapString,  Object   document,  Emi[er  emi[er)  {                  Object  createdAt  =   document.get(created_at);                  if  (createdAt  !=  null)  {                          emi[er.emit(createdAt.toString(),   document);                  }          }   },  1.0);   com.couchbase.lite.View  view  =  database.getView(byDate);   Query  query  =  view.createQuery();   query.setLimit(10);   query.setDescending(true);     try  {          QueryEnumerator  rowEnum  =  query.run();          for  (IteratorQueryRow  it  =  rowEnum;  it.hasNext();)  {                  QueryRow  row  =  it.next();                  Log.d(Document  ID:,  row.getDocumentId());            }   }  catch  (CouchbaseLiteExcep;on  e)  {          e.printStackTrace();   }       Crea9ng  Views   Querying  Views  
  • 33. Filtered  Replica9ons   database.setFilter(sharedItems,  new   Replica;onFilter()  {          @Override          public  boolean  filter(SavedRevision   revision,  MapString,  Object  params)  {                  return  ((Boolean)   revision.getProper;es().get(shared)). booleanValue();          }   });   push.setFilter  =  sharedItems;         Crea9ng  a  Push  Filter  Func9on   Adding  the  Filter  by  Name  
  • 34. Sync  Gateway  Authen9ca9on     String  url  =   “h[ps:// frank:s33kr1t@sync.example.com/ database/”;   private  void  addFacebookAuthoriza;on(Replica;on   replica;on)  {          //  start  Facebook  Login          Session.openAc;veSession(this,  true,  new   Session.StatusCallback()  {                  //  callback  when  session  changes  state                  @Override                  public  void  call(Session  session,  SessionState  state,   Excep;on  excep;on)  {                          if  (excep;on  !=  null  ||  !session.isOpened())    {                                  return;                          }                          //  make  request  to  the  Facebook  /me  API                          Request.executeMeRequestAsync(session,  new   Request.GraphUserCallback()  {                                 Basic   Facebook  
  • 35. Sync  Gateway  Authen9ca9on      //  callback  azer  Facebook  Graph  API  response  with   user  object                                  @Override                                  public  void  onCompleted(GraphUser  user,   Response  response)  {                                          if  (user  !=  null)  {                                                  String  email  =  (String)   user.getProperty(email);                                                  FacebookAuthorizer  authorizer  =  new   FacebookAuthorizer(email);                                                   authorizer.registerAccessToken(session.getAccessToken (),  email,  replica;on.getRemoteUrl());                                                  replica;on.setAuthorizer(authorizer);                                          }                                  }                          });                  }          });   }           Facebook  (cont.)  
  • 36. Sync  Func9on  Examples     //Default   func;on  (doc)  {      channel(doc.channels);   }     //Valida9on   func;on  (doc)  {      throw  ({forbidden  :  read  only!})   }         //Channel  mapping   func;on  (doc,  oldDoc)  {      if  (doc.published)  {          channel  (public);      }     }   //Access  Control   func;on  (doc,  oldDoc)  {      access  (doc.members,  doc.channel_name);      channel  (doc.channel_name)   }