Riak

简介: 出处:http://www.oschina.net/p/riak Riak是以 Erlang 编写的一个高度可扩展的分布式数据存储,Riak的实现是基于Amazon的Dynamo论文,Riak的设计目标之一就是高可用。

出处:http://www.oschina.net/p/riak

Riak是以 Erlang 编写的一个高度可扩展的分布式数据存储,Riak的实现是基于Amazon的Dynamo论文,Riak的设计目标之一就是高可用。Riak支持多节点构建的系统,每次读写请求不需要集群内所有节点参与也能胜任。提供一个灵活的 map/reduce 引擎,一个友好的 HTTP/JSON 查询接口。

Riak 非常易于部署和扩展。可以无缝地向群集添加额外的节点。link walking 之类的特性以及对 Map/Reduce 的支持允许实现更加复杂的查询。除了 HTTP API 外,Riak 还提供了一个原生 Erlang API 以及对 Protocol Buffer 的支持。

目前有三种方式可以访问 Riak:HTTP API(RESTful 界面)、Protocol Buffers 和一个原生 Erlang 界面。提供多个界面使您能够选择如何集成应用程序。如果您使用 Erlang 编写应用程序,那么应当使用原生的 Erlang 界面,这样就可以将二者紧密地集成在一起。其他一些因素也会影响界面的选择,比如性能。例如,使用 Protocol Buffers 界面的客户端的性能要比使用 HTTP API 的客户端性能更高一些;从性能方面讲,数据通信量变小,解析所有这些 HTTP 标头的开销相对更高。然而,使用 HTTP API 的优点是,如今的大部分开发人员(特别是 Web 开发人员)非常熟悉 RESTful 界面,再加上大多数编程语言都有内置的原语,支持通过 HTTP 请求资源,例如,打开一个 URL,因此不需要额外的软件。在本文中,我们将重点介绍 HTTP API。

所有示例都将使用 curl 通过 HTTP 界面与 Riak 交互。这样做是为了更好地理解底层的 API。许多语言都提供了大量客户端库,在开发使用 Riak 作为数据存储的应用程序时,应当考虑使用这些客户端库。客户端库提供了与 Riak 连接的 API,可以轻松地与应用程序集成;您不必亲自编写代码来处理在使用 curl 时出现的响应。

API 支持常见的 HTTP 方法:GETPUTPOSTDELETE,它们将分别用于检索、更新、创建和删除对象。

 

相关文章
|
1月前
|
存储 缓存 NoSQL
|
11月前
|
存储 SQL JSON
「文档数据库之争」MongoDB和CouchDB的比较
「文档数据库之争」MongoDB和CouchDB的比较
|
11月前
|
存储 SQL 设计模式
NoSQL数据库详细介绍
NoSQL数据库详细介绍
208 0
NoSQL数据库详细介绍
|
SQL 存储 NoSQL
NoSQL数据库简单介绍
NoSQL是一个概念,泛指非关系型的数据库。有时称为"Not only SQL"不仅仅是SQL,包括但不限于键值存储数据库、文档型数据库、搜索引擎数据库、列存储数据库、图形数据库。
582 0
NoSQL数据库简单介绍
|
存储 分布式计算 NoSQL
NoSQL数据库盘点
Michael Stonebraker是数据库领域的布道者。他对此领域了解很深,并帮助开发了一些最流行的数据库系统,包括Postgres、Ingres和Vertica。StoneBraker近来提出NoSQL会被广泛接受。
147 0
|
存储 NoSQL 分布式数据库
NoSql数据库
随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,如:对数据库高并发读写的需求、对海量数据的高效率存储和访问的需求、对数据库的高可扩展性和高可用性的需求等等,下面我就跟大家几种常见的nosql数据库。
1788 0
|
存储 NoSQL 数据库
漫谈NoSQL数据库
NoSQL数据库 NoSQL 即 Not Only SQL是对非关系型数据库的泛称。NoSQL数据库不遵循传统关系型数钢库的ACID原则,并且他弃了磁度存储,转而走向了内存存储。 CAP定理 NoSQL数据库大多应用于分布式应用系统中相对于传统关系型数据库的ACID理论,NoSQL理论基础主要基于CAP原则(也叫CAP定理,见下图)。
2573 0
|
NoSQL 关系型数据库 大数据