华为全闪存阵列 IBM云计算 Acronis 安克诺斯 安腾普 腾保数据
首页 > 数据库 > NoSQL > 正文

Riak介绍 一个分布式数据存储系统

2015-08-18 17:07来源:中国存储网
导读:Riak是一个高度可扩展的分布式数据存储,Riak支持多节点构建的系统,每次读写请求不需要集群内所有节点参与也能胜任。提供一个灵活的 map/reduce 引擎,一个友好的 HTTP/JSON 查询接口。

Riak是由技术公司basho开发的一个类Dynamo的分布式Key-Value系统, Riak是一个NoSQL数据库,采用了key-value的存储模式。其以分布式,水平扩展性,高容错性等特点著称。

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 时出现的响应。

这里推荐看一个最全的Riak介绍资料,共55页的一个英文ppt。

继续阅读
相关阅读
  • NoSQL数据库基础知识整理

    NoSQL是“Not Only SQL”的缩写。它的意义是:适用关系型数据库的时候就使用关系型数据库,不适用的时候也没有必要非使用关系型数据库不可,可以考虑使用更加合

  • NoSQL之MongoDB数据库篇

    MongoDB是一个基于分布式文件存储的数据库。名字来自humongous这个单词的中间部分,是由10gen开发并维护的,MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关

  • 微软 Azure推数据存储 进入NoSQL市场

    Azure还提供了许多来自其他供应商,包括来自MongoDB中,MongoLabs,Nodejitsu,Redis的和RavenHQ的其他NoSQL数据库。

  • 28个MongoDB NoSQL数据库的面试问答

    下面的MongoDB NoSQL面试问答。这些MongoDB NoSQL面试问答涵盖了NoSQL数据库基本的概念,复制(Replication),分片(Sharding),事务和锁,跟踪分析工具(Profiler),Nuances

产品推荐
头条阅读
栏目热点

Copyright @ 2006-2018 ChinaStor.COM 版权所有 京ICP备14047533号

中国存储网

存储第一站,存储门户,存储在线交流平台