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 方法:GET、PUT、POST、DELETE,它們將分別用于檢索、更新、創建和刪除對象。
?
總結
- 上一篇: riak教程 java_在Erlang(
- 下一篇: keil4出现目标未被创建,keil 目