Riak
出處:http://www.oschina.net/p/riak
Riak是以 Erlang 編寫的一個(gè)高度可擴(kuò)展的分布式數(shù)據(jù)存儲(chǔ),Riak的實(shí)現(xiàn)是基于Amazon的Dynamo論文,Riak的設(shè)計(jì)目標(biāo)之一就是高可用。Riak支持多節(jié)點(diǎn)構(gòu)建的系統(tǒng),每次讀寫請(qǐng)求不需要集群內(nèi)所有節(jié)點(diǎn)參與也能勝任。提供一個(gè)靈活的 map/reduce 引擎,一個(gè)友好的 HTTP/JSON 查詢接口。
Riak 非常易于部署和擴(kuò)展。可以無(wú)縫地向群集添加額外的節(jié)點(diǎn)。link walking 之類的特性以及對(duì) Map/Reduce 的支持允許實(shí)現(xiàn)更加復(fù)雜的查詢。除了 HTTP API 外,Riak 還提供了一個(gè)原生 Erlang API 以及對(duì) Protocol Buffer 的支持。
目前有三種方式可以訪問(wèn) Riak:HTTP API(RESTful 界面)、Protocol Buffers 和一個(gè)原生 Erlang 界面。提供多個(gè)界面使您能夠選擇如何集成應(yīng)用程序。如果您使用 Erlang 編寫應(yīng)用程序,那么應(yīng)當(dāng)使用原生的 Erlang 界面,這樣就可以將二者緊密地集成在一起。其他一些因素也會(huì)影響界面的選擇,比如性能。例如,使用 Protocol Buffers 界面的客戶端的性能要比使用 HTTP API 的客戶端性能更高一些;從性能方面講,數(shù)據(jù)通信量變小,解析所有這些 HTTP 標(biāo)頭的開銷相對(duì)更高。然而,使用 HTTP API 的優(yōu)點(diǎn)是,如今的大部分開發(fā)人員(特別是 Web 開發(fā)人員)非常熟悉 RESTful 界面,再加上大多數(shù)編程語(yǔ)言都有內(nèi)置的原語(yǔ),支持通過(guò) HTTP 請(qǐng)求資源,例如,打開一個(gè) URL,因此不需要額外的軟件。在本文中,我們將重點(diǎn)介紹 HTTP API。
所有示例都將使用 curl 通過(guò) HTTP 界面與 Riak 交互。這樣做是為了更好地理解底層的 API。許多語(yǔ)言都提供了大量客戶端庫(kù),在開發(fā)使用 Riak 作為數(shù)據(jù)存儲(chǔ)的應(yīng)用程序時(shí),應(yīng)當(dāng)考慮使用這些客戶端庫(kù)。客戶端庫(kù)提供了與 Riak 連接的 API,可以輕松地與應(yīng)用程序集成;您不必親自編寫代碼來(lái)處理在使用 curl 時(shí)出現(xiàn)的響應(yīng)。
API 支持常見(jiàn)的 HTTP 方法:GET、PUT、POST、DELETE,它們將分別用于檢索、更新、創(chuàng)建和刪除對(duì)象。
?
總結(jié)
- 上一篇: riak教程 java_在Erlang(
- 下一篇: keil4出现目标未被创建,keil 目