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.
Couchbase	
  for	
  Mobile
	
  
Larry	
  Liu	
  (刘栋) - 高级工程师
larry@couchbase.com
Couchbase	
  Lite	
  
唯一的移动平台专用
NoSQL数据库
移动互联网 -- 下一代技术平台	
  
1980
	
  

1990
	
  

2000
	
  

主机−绿色终端

个人电脑 客户端/服务
器 局域网/互联网

百万级
用户

亿级用户

千级应用

万级应用

2010
	
  
...
移动应用 - 下一代应用
多用户交互
• 群和社交应用
(脸书,微信,微博,
游戏,视频)

单个用户的交互
•  语音,短信
•  个人应用

	
  
Couchbase	
  	
  
Server	
  
	
  
	
  
与企业沟通...
JSON	
  Anywhere

JS N	


Couchbase	
  Server	
  

Sync Gateway

Lite

Server

JS N	


JS N	

•  设备上的JSON

•  传输中的JSON

开发...
马上开始
• 下载 Couchbase Lite
• 下载 Grocery Sync代码
• 复制Couchbase Lite到Grocery Syn
c应用的framework文件夹
• 运行
1.	
  下载	
  Couchbase	
  Lite
	
  
•  www.couchbase.com/communiCes/cn/couchbase-­‐lite
	
  
2.	
  下载	
  Grocery	
  Sync
	
  
•  github.com/couchbaselabs/Grocery-­‐Sync-­‐iOS
	
  
3. 复制Couchbase Lite

	


option

•  	
  
4. 运行
•  	
  
步骤
	
  
•  Couchbase Server URL: http://10.17.4.11:8091/index.html
•  同步URL:
http://10.17.4.11:4984/sync_gateway
•  启动sync...
现场演示
完整的移动互联网解决方案	
  
架构	
  
企业内部部署

云端部署
Couchbase	
  Server	
  
SERVER	
  1	
  
	
  
	
  

Sync	
  Gateway	
  

SERVER	
  2	
  
	
  
	
  

SER...
Couchbase	
  Lite	
  

唯一的移动设备NoSQL数据库
Couchbase	
  
Lite	
  	
  
iOS	
  

Couchbase	
  
Lite	
  	
  
Android	
  

Lite

•...
在Couchbase Lite时代之前…
	
  
•  在本地,可以使用SQLite或苹果 Core Data
­  有利于使用关系模型或非数据密集性的应用
­  不利于对更直观和灵活的数据存储感 趣的移动
开发者
•  同步和存储可以使用文...
Couchbase	
  Lite	
  
全功能列表
功能	
  

好处	
  

本地APIs

使用专

REST APIs

基于你的

JSON 支持

使用专为面向对象的移动应用设计的 活的数据模型,即时适应你
的应用程序需要并且...
为您服务
Couchbase	
  
Lite	
  	
  
iOS	
  

Couchbase	
  
Lite	
  	
  
Android	
  

Lite

­  使丰富数据密集型的本地应
用成为可能
­  使用JSON 数据,...
优点	
  
JSON
JSON JSO

JSON N
JSON

	
  	
  	
  	
  	
  JSON	
  Anywhere	
  

轻松同步	
  

	
  
	
  

• 在设备上使用灵活的JSON,
可以在不影响后...
Couchbase	
  Sync	
  Gateway
	
  
容易可靠的把数据同步到云端

•  功能
•  通过同步功能的API实现
动态同步
•  易于管理
•  无缝扩展

Sync Gateway

•  好处
  开发时间减少...
同步原理 	
  
采用通道来协作
•  对于每个文档,指定一组这个文档所属的通道
•  对于每个用户或设备,控制哪些通道是他们
有权使用的
•  只复制文档的子集到设备上
­  用户定义的过滤功能
­  只需要让用户知道一个文档是否需要被复制
•  可以对用户进...
数据流
Couchbase	
  Server	
  
Server	
  1	
  

Sync	
  Gateway	
  
Channel	


Channel	


Server	
  2	
  

Server	
  3	
  

S...
数据流	
  
Couchbase	
  Server	
  
Server	
  1	
  

Server	
  2	
  

Server	
  3	
  

↻	


JavaScript	
  Sync	
  Func@on	
  
...
数据流	
  
Couchbase	
  Server	
  
Server	
  1	
  

Server	
  2	
  

Server	
  3	
  

Store	
  Data	
  
Sync	
  Gateway	
  
C...
数据流	
  
Couchbase	
  Server	
  
Server	
  1	
  

Server	
  2	
  

Server	
  3	
  

TAP/UPR	
  
Sync	
  Gateway	
  
Channel...
数据流	
  
Couchbase	
  Server	
  
Server	
  1	
  

Server	
  2	
  

Sync	
  Gateway	
  
Channel	


Channel	


Server	
  3	
 ...
通道	
  A	
  

Doc	
  1	
  

通道	
  A	
  
Doc	
  2	
  
通道B	
  

Doc	
  2	
  

Doc	
  1	
  

Doc	
  2	
  

通道A	
  &	
  B	
  

...
Data

Data

数据路由
数据路由

Data

Data

Data
Data

Data

数据路由

Data
Data

Data

数据路由
数据路由

Data

Data

Data

Data
Data

Data

Data

数据路由
Couchbase	
  Server	
  
业界领先的NoSQL数据库

•  多种部署方案
­  内部部署
­  云端部署如Amazon
­  后台服务
•  Couchbase云

Server
案例
Infinite	
  Campus
	
  

课堂管理工具和内容分发平台
Infinite	
  Campus	
  
问题提出
•  课堂参与度不高
•  学生无法理解课堂资料
•  没有现成的,面向全体学生的多媒体的材料
Infinite	
  Campus	
  
挑战和难点
•  如何在学生们所喜爱的智能手机上使用移动
或Web应用进行教学
•  如何利用实时把受到反馈并利用反馈有效
的指导课堂
•  如何为学生在校内外提供丰富的材料和内容
Infinite	
  Campus	
  
解决方案
• 

教室可以通过智能手机和Web客
户端准备符合国家标准的材料

• 

教学内容分发到每个学生,并
得到实时反馈来指导教学

• 

内容可以用来做离线学习或作业
;学生脱机学习的进展...
移动教学
过去
教室,黑板,一刀切式的教学

现在
多媒体,自定进度,自适应,互动,随时随地
过去
大而古怪的机器,收据打印机,
现金抽屉

POS	
  

现在

简单,优雅的平板电脑,方正的按键,
电邮收据,触摸签名
花费管理	
  
过去
纸质的收据,手工表格输入,
纸质签名

现在
电邮相片收据,电子签名
只要5分钟!!!	


开始同步
原理浅探
•  架构
•  代码解析
应用程序运行时 (操作系统进程)

本地应用程序逻辑

同步

Couchbase	
  Lite	
  
存储
Couchbase	
  Lite	
  组件
应用程序	
  API	
  

同步引擎

查询引擎

Map/Reduce	
  
视图索引

键/值对JSON存储	
  
Sync	
  Gateway	
  组件
	
  
Sync	
  
REST	
  API	
  

认证

通道变化
追踪

同步函数

到客户端

冲突管理

Couchbase
智能客户
端
到	
  Couchbase	
  Ser...
代码解析
模型
	
  
List

	


	


Task

	


Task

	


Task
Docume
nt doc3

	


Docume
nt
doc23

	


Docume
nt
doc82

	

	


Docume
nt
...
JSON文档
	
  
同步功能
	
  
只需几行代码实现同步.	
  

可编程的同步

•  在Sync Gateway的
配置文件中运行
•  访问控制
•  通道路由
•  验证更新
Sync	
  Gateway:	
  App	
  Logic	
  &	
  Storage
	
  
应用逻辑和存储
	
  
Authen@ca@on	
  

	
  
function(doc,	
  oldDoc)	
  {	
 ...
集成	
  
	
  Couchbase	
  Lite的合作伙伴

Couchbase	
  Lite	
  Plugin	
  for	
  PhoneGap	
  
hPp://plugins.cordova.io/#/com.couch...
开始体验

mobile.couchbase.com/cn
	
  
应用实例
• hXps://github.com/couchbaselabs/Grocery-­‐Sync-­‐iOS
	
  
hXps://github.com/couc...
Q&A?
	
  

中国Couchbase	
  
Introduction to Couchbase (Chinese)
Upcoming SlideShare
Loading in …5
×

Introduction to Couchbase (Chinese)

1,758 views

Published on

  • Be the first to comment

Introduction to Couchbase (Chinese)

  1. 1. Couchbase  for  Mobile   Larry  Liu  (刘栋) - 高级工程师 larry@couchbase.com
  2. 2. Couchbase  Lite   唯一的移动平台专用 NoSQL数据库
  3. 3. 移动互联网 -- 下一代技术平台   1980   1990   2000   主机−绿色终端 个人电脑 客户端/服务 器 局域网/互联网 百万级 用户 亿级用户 千级应用 万级应用 2010   2020+   云,移动设备和应用, 无数其他的东西 十亿级用户 百万级应用
  4. 4. 移动应用 - 下一代应用 多用户交互 • 群和社交应用 (脸书,微信,微博, 游戏,视频) 单个用户的交互 •  语音,短信 •  个人应用   Couchbase     Server       与企业沟通 医院的本地 传感应用
  5. 5. JSON  Anywhere JS N Couchbase  Server   Sync Gateway Lite Server JS N JS N •  设备上的JSON •  传输中的JSON 开发者越来越喜欢 NoSQL数据库 不需要数据转换 •  云端的JSON 活的数据模型 高性能 以扩展性
  6. 6. 马上开始 • 下载 Couchbase Lite • 下载 Grocery Sync代码 • 复制Couchbase Lite到Grocery Syn c应用的framework文件夹 • 运行
  7. 7. 1.  下载  Couchbase  Lite   •  www.couchbase.com/communiCes/cn/couchbase-­‐lite  
  8. 8. 2.  下载  Grocery  Sync   •  github.com/couchbaselabs/Grocery-­‐Sync-­‐iOS  
  9. 9. 3. 复制Couchbase Lite option •   
  10. 10. 4. 运行 •   
  11. 11. 步骤   •  Couchbase Server URL: http://10.17.4.11:8091/index.html •  同步URL: http://10.17.4.11:4984/sync_gateway •  启动sync_gateway: ./sync_gateway -url http://10.17.4.11:8091 & •  开通GUEST权限: curl -X PUT localhost:4985/sync_gateway/_user/GUEST --data '{"disabled":false, "admin_channels":["public"]}' •  检查数据 curl http://localhost:4985/sync_gateway/_all_docs •  检查键 curl http://localhost:4985/sync_gateway/1444EC46-B921-4070-B0FCBA37E426C7C7
  12. 12. 现场演示
  13. 13. 完整的移动互联网解决方案  
  14. 14. 架构   企业内部部署 云端部署 Couchbase  Server   SERVER  1       Sync  Gateway   SERVER  2       SERVER  3       Sync  Gateway       Channel     Channel Channel Channel Couchbase  Lite  运行在 iOS  和 Android  上
  15. 15. Couchbase  Lite   唯一的移动设备NoSQL数据库 Couchbase   Lite     iOS   Couchbase   Lite     Android   Lite • 特色 ­  超轻量,安全的JSON数据库 ­  原生支持iOS,Android, REST API ­  完整的文档管理,索引,查询 ,和同步功能 ­  强大的冲突管理
  16. 16. 在Couchbase Lite时代之前…   •  在本地,可以使用SQLite或苹果 Core Data ­  有利于使用关系模型或非数据密集性的应用 ­  不利于对更直观和灵活的数据存储感 趣的移动 开发者 •  同步和存储可以使用文件分享服务 ­  这些服务不是数据库,不能提供数据库所具有功能 •  或者可以使用MBaaS ­  不能提供离线体验。 我们仍然在一个偶尔连接的 世界,一个好的应用必须考虑离线体验
  17. 17. Couchbase  Lite   全功能列表 功能   好处   本地APIs 使用专 REST APIs 基于你的 JSON 支持 使用专为面向对象的移动应用设计的 活的数据模型,即时适应你 的应用程序需要并且对应用程序不造成影响 易于同步 通过通道进行数据路由 只须几行代码就可以同步就绪;使 发者可以更专注于应用开发, 而不是同步 通过REST接口支持的点对点服务,使附近的设备即使离线也能 沟 通 使用户得到所需的数据来获得集中 联的体验 变化源 为 支持JSON的索引和查询 使用强大的二级索引来查询 验证插件 利用现有的第三方验证服务例如脸书,不需要自己 支持设备和云端的附件 对二进制数据,例如图片和大文件,进行与JSON文档不同的管理, 以获得不同的,更快的同步 通过REST接口支持点对点 为iOS和Android优化的API管理移动数据库 发需求, REST APIs 提供了一种替代的访问方法 发者提供数据变化的可视化和通知 设备上的数据 发
  18. 18. 为您服务 Couchbase   Lite     iOS   Couchbase   Lite     Android   Lite ­  使丰富数据密集型的本地应 用成为可能 ­  使用JSON 数据, 发变的更快 ­  使交互应用反映速度更快 ­  无论在线还是离线,应用总 是可用
  19. 19. 优点   JSON JSON JSO JSON N JSON          JSON  Anywhere   轻松同步       • 在设备上使用灵活的JSON, 可以在不影响后台的同时,修 改本地数据结构,并与本地数 据工作 • 毫不费力地使本地的更新, 制或协作共享同步到云端的数 据库 • 随着数据和同步的增长,水平 并可靠的扩展数据层
  20. 20. Couchbase  Sync  Gateway   容易可靠的把数据同步到云端 •  功能 •  通过同步功能的API实现 动态同步 •  易于管理 •  无缝扩展 Sync Gateway •  好处   开发时间减少90%   可扩展到支持上百万的用 户
  21. 21. 同步原理  
  22. 22. 采用通道来协作 •  对于每个文档,指定一组这个文档所属的通道 •  对于每个用户或设备,控制哪些通道是他们 有权使用的 •  只复制文档的子集到设备上 ­  用户定义的过滤功能 ­  只需要让用户知道一个文档是否需要被复制 •  可以对用户进行验证  
  23. 23. 数据流 Couchbase  Server   Server  1   Sync  Gateway   Channel Channel Server  2   Server  3   Sync  Gateway   Channel Channel Sync  Push   Couchbase  Lite  for  iOS  and  Android  
  24. 24. 数据流   Couchbase  Server   Server  1   Server  2   Server  3   ↻ JavaScript  Sync  Func@on   Sync  Gateway   Channel Channel Sync  Gateway   Channel Channel Couchbase  Lite  for  iOS  and  Android  
  25. 25. 数据流   Couchbase  Server   Server  1   Server  2   Server  3   Store  Data   Sync  Gateway   Channel Channel Sync  Gateway   Channel Channel Couchbase  Lite  for  iOS  and  Android  
  26. 26. 数据流   Couchbase  Server   Server  1   Server  2   Server  3   TAP/UPR   Sync  Gateway   Channel Channel Sync  Gateway   Channel Channel Couchbase  Lite  for  iOS  and  Android  
  27. 27. 数据流   Couchbase  Server   Server  1   Server  2   Sync  Gateway   Channel Channel Server  3   Sync  Gateway   Channel Channel HTTP  Changes   Couchbase  Lite  for  iOS  and  Android  
  28. 28. 通道  A   Doc  1   通道  A   Doc  2   通道B   Doc  2   Doc  1   Doc  2   通道A  &  B   通道B  
  29. 29. Data Data 数据路由
  30. 30. 数据路由 Data Data Data
  31. 31. Data Data 数据路由 Data
  32. 32. Data Data 数据路由
  33. 33. 数据路由 Data Data Data Data
  34. 34. Data Data Data 数据路由
  35. 35. Couchbase  Server   业界领先的NoSQL数据库 •  多种部署方案 ­  内部部署 ­  云端部署如Amazon ­  后台服务 •  Couchbase云 Server
  36. 36. 案例
  37. 37. Infinite  Campus   课堂管理工具和内容分发平台
  38. 38. Infinite  Campus   问题提出 •  课堂参与度不高 •  学生无法理解课堂资料 •  没有现成的,面向全体学生的多媒体的材料
  39. 39. Infinite  Campus   挑战和难点 •  如何在学生们所喜爱的智能手机上使用移动 或Web应用进行教学 •  如何利用实时把受到反馈并利用反馈有效 的指导课堂 •  如何为学生在校内外提供丰富的材料和内容
  40. 40. Infinite  Campus   解决方案 •  教室可以通过智能手机和Web客 户端准备符合国家标准的材料 •  教学内容分发到每个学生,并 得到实时反馈来指导教学 •  内容可以用来做离线学习或作业 ;学生脱机学习的进展可以同步到 Couchbase Server。学生一旦 连线,就可以受到教室的评估。
  41. 41. 移动教学 过去 教室,黑板,一刀切式的教学 现在 多媒体,自定进度,自适应,互动,随时随地
  42. 42. 过去 大而古怪的机器,收据打印机, 现金抽屉 POS   现在 简单,优雅的平板电脑,方正的按键, 电邮收据,触摸签名
  43. 43. 花费管理   过去 纸质的收据,手工表格输入, 纸质签名 现在 电邮相片收据,电子签名
  44. 44. 只要5分钟!!! 开始同步
  45. 45. 原理浅探 •  架构 •  代码解析
  46. 46. 应用程序运行时 (操作系统进程) 本地应用程序逻辑 同步 Couchbase  Lite   存储
  47. 47. Couchbase  Lite  组件 应用程序  API   同步引擎 查询引擎 Map/Reduce   视图索引 键/值对JSON存储  
  48. 48. Sync  Gateway  组件   Sync   REST  API   认证 通道变化 追踪 同步函数 到客户端 冲突管理 Couchbase 智能客户 端 到  Couchbase  Server   第三方认证服 务  
  49. 49. 代码解析
  50. 50. 模型   List Task Task Task Docume nt doc3 Docume nt doc23 Docume nt doc82 Docume nt doc99
  51. 51. JSON文档  
  52. 52. 同步功能   只需几行代码实现同步.   可编程的同步 •  在Sync Gateway的 配置文件中运行 •  访问控制 •  通道路由 •  验证更新
  53. 53. Sync  Gateway:  App  Logic  &  Storage   应用逻辑和存储   Authen@ca@on     function(doc,  oldDoc)  {   …   requireUser(oldDoc.owner);   …   channel(doc.channel);   …   access(doc.members,  doc.roomID);   }   App’s  Sync   Func@on   Revision/ Conflict   Management   rev 3a rev 1 rev 2 rev 3b Couchbase   Smart  Client   to  Couchbase  Server  
  54. 54. 集成    Couchbase  Lite的合作伙伴 Couchbase  Lite  Plugin  for  PhoneGap   hPp://plugins.cordova.io/#/com.couchbase.lite.phonegap   Couchbase  Lite  for  Xamarin   hPp://components.xamarin.com/view/couchbase-­‐lite/   Couchbase  Lite  Titanium   hPps://marketplace.appcelerator.com/apps/6706?1396013098  
  55. 55. 开始体验 mobile.couchbase.com/cn   应用实例 • hXps://github.com/couchbaselabs/Grocery-­‐Sync-­‐iOS   hXps://github.com/couchbaselabs/ToDoLite-­‐iOS   Couchbase  Cloud   hXp://www.couchbasecloud.com  
  56. 56. Q&A?   中国Couchbase  

×