簡體   English   中英

CouchDB的嵌入式模擬,與SQL Server的sqlite相同

[英]Embedded analog of CouchDB, same as sqlite for SQL Server

我喜歡像CouchDB這樣的面向文檔的數據庫。 我正在尋找簡單的模擬。

我的要求就是:

  1. 持久存儲模式較少的數據;
  2. 一些簡單的進程中查詢;
  3. 很高興有交易和版本;
  4. ruby API;
  5. map / reduce也很好;
  6. 應該在共享主機上工作

我不需要的是REST / HTTP接口(我將在進程中使用它)。 此外,我不需要所有可擴展性的東西。

一個非常簡單的解決方案是來自Ruby標准庫的PStore 它幾乎可以滿足您的所有要求:

  1. PStore將Ruby對象層次結構存儲在文件中,因此您可以輕松使用類似Hash的結構,您將在CouchDB中使用
  2. 您可以使用簡單的API訪問PStore的內容
  3. 它有交易,但據我所知沒有版本
  4. 您可以使用Ruby的map和inject函數
  5. 您所需要的只是訪問文件系統

例:

將數據插入商店:

require 'pstore'
store = PStore.new("/tmp/store")
store.transaction do
  store["products"] = [{:name => "Test", :price => 100}
                       {:name => "Bla", :price => 120}
                       {:name => "Oink", :price => 300}]
end

查詢所有產品的價格總和:

store.transaction do
  store['products'].map {|p| p[:price]}.inject {|sum, p| sum + p}
end

博客文章中的更多信息

聽起來你需要Berkeley DB 除了map / reduce之外,它會列出你列出的所有內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM