cloudant文档简介
来源:互联网 发布:淘宝专业版全屏海报 编辑:程序博客网 时间:2024/05/20 05:05
Cloudant文档学习
前言
最近在项目中,有应用到分布式数据库cloudant,同时负责数据库模块的内容,因此,打算熟读这个软件的文档。
简介
Cloudant是IBM的一款分布式数据库软件,Database-as-a-service(DBaaS)。以Apache CouchDB为基础开发的,多租户(Multi-tenant),独立(dedicated),安装(installed)的服务。
Cloudant除了独立使用之外,在IBM bluemix的平台上也可以作为一种服务被使用。
正文:
所有对数据库的请求都是通过网页,因此,能访问web,就能使用Cloudant。客户与数据库之间通信,使用的协议是HTTP。
Cloudant支持的HTTP请求方法:
- get:用url指定要请求的数据内容,包括静态数据,数据库,文档,配置信息,通常结果是以Json格式返回的。
- Head:获得没有一个没有回应的get请求的头部。
- Post:上传数据,上传文档,设置文档中的值,发送一些管理命令等。
- Put:创建特定的对象,包括创建新的数据库,文档,视图(views),设计文档(design docs)等。
- Delete:删除特定对象,例如,数据库,文档,视图,设计文档等。
- Copy:一个特殊的方法,用于复制文档,和对象等。
如果在URL中使用一个不被支持的请求,将会返回405错误代码,同时返回能接受的请求类型。
Json: 数据库中文档存储都是使用的Json数据格式进行编码,图像,视频,音频等被称为二进制大对象文件,能被当作附件存储在文档中。
分布式:Cloudant的API能确保用户与很多机器搭建起来的集群进行通信,一个集群中的机器必须确保是在相同的数据中心,但是可以是一个数据中心中的不同结点,不同结点为Cloudant的使用提供了高可靠性,高扩展性,高计算效率和高容错性。
Replication:是很多数据库都有的步骤,包括,Cloudant,CouchDB,PouchDB等。用于同步两个数据库的状态,以便他们内容是相同的。如果设置了continuous属性,源数据库内容一改变,目标数据库的内容也跟着改变。可用于不同数据库之间备份数据或共享数据等。
API
- 用户名和密码
cloudant提供了三种输入用户名和密码的方式:
在命令行以交互的方式。在命令中加入-u username,执行,命令行就会提示用户输入密码
在命令行中直接输入用户名和密码。在命令中嵌入
-u $ USERNAME : $ PASSWORD
,这样会将密码会直接显示中,比较危险。可以将这个参数写在配置文件中,然后为配置文件写一个别名,在命令中使用这个别名配置文件内容:
–user$USERNAME:$PASSWORD
–globoff
–proto “=https”设置别名:
alias acurl="curl -s --config <full_path_and_name_of_config_file>"
在url中放入用户名和密码。如果使用的是https请求,可以将用户名和密码放入url中。
... https:// $USERNAME : $PASSWORD@$USERNAME.cloudant.com ...
这样的方式,用户名和密码仍然是能被显示看到。另外一种方法,使用hash的方法,将用户名和密码进行编码,生成更加安全访问的url。
HTTP
Cloudant使用HTTP协议与外部进行通信,不同的环境和客户端程序都对http的头部有一些影响,最好用户能自己指定。请求和回应中的头部,不太相同,不同属性设置不同部分。同时http回应中,会显示不同的状态码,显示这一次通信的结果。
Authentication:
当操作数据库时,特别是要改变数据库时,需要对该用户进行认证。有两种认证方式:基本认证和cookie认证。
- 基本认证。指每次要操作数据库时都需要将用户名和密码放入http头部的Authentication字段。Authentication的值以Base开头,后面加,对用户名:密码
进行base64编码的结果。
- cookie认证。在一次会话开始的时候,以一定的格式发送用户名和密码,如果认证成功。服务器会在response中返回生成的cookie。一旦生成cookie之后,下次用户请求的时候,直接发送cookie,服务器识别cookie然后处理用户请求。用户注销之后,cookie也会失效。
生成cookie ,获得cookie,删除cookie
Authoritarian:
认证成功之后,需要对用户进行授权,是指用户能对数据库进行哪些操作。
查看有哪些用户,这些用户有哪些授权 https://$USERNAME.cloudant.com/_api/v2/db/$DATABASE/_security
- cloudant文档简介
- Cloudant NoSQL DB : Query 示例
- [文档] Memcache 原理简介
- 软件文档简介
- 文档视图框架简介
- 文档视图框架简介
- 软工文档简介
- Smack3.0.4文档简介
- 软件文档简介
- SUMO文档001:简介
- ElasticSearch文档简介
- Cloudant的安装和基本用法
- cloudant DB save,Not a JSON Object
- cloudant,nothing found on db path
- IBM Cloudant分布式NoSQL数据库介绍
- CouchDB/Cloudant多键查找view
- Django 1.10中文文档:文档简介
- 文档对象模型DOM简介
- 通过css注入实现的android webview的夜间模式
- HDU5773:The All-purpose Zero
- iOS开发摇一摇功能
- javascript-shift()、unshift()和pop()、push()
- RxJava实用指南
- cloudant文档简介
- 浅谈垃圾收集器与内存分配策略(引用计数算法)
- 神经网络模型选择与训练
- NoSuchMethodError的解决方法
- python爬虫(1):爬取糗百内容
- 欢迎使用CSDN-markdown编辑器
- android 开发的19个小工具
- POI导出EXCEL经典实现
- HDU - 1754 I Hate It(max型线段树)