2009-08-03 10 views
5

私はCouchDBのようなドキュメント指向データベースのアイデアが好きです。私はシンプルなアナログを探しています。CouchDBの組み込みアナログ、SQL Server用のsqliteと同じ

私の要件は、単に次のとおりです。スキーマレスデータの

  1. 持続性ストレージ。
  2. いくつかの簡単なインプロセスクエンリング;
  3. トランザクションとバージョン管理が有効です。
  4. ruby​​ API;
  5. map/reduceも持っていると良いです。
  6. 共有は私が必要としない何

をホスト上で動作するはずです(私は-PROCそれを使用します)REST/HTTPインターフェースです。また、私はすべてのスケーラビリティを必要としません。

+0

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

詳しい情報Iまだ検索中です...背景で... –

答えて

4

非常に簡単な解決策は、Rubyの標準ライブラリのPStoreです。あなたは簡単にハッシュ様構造を使用することができますので、あなたはあなたがしてPStoreの内容にアクセスすることができCouchDBの

  • でなければならず、

    1. PStoreの店舗ファイルにRubyのオブジェクト階層:それはほとんどすべての要件を満たす必要がありますシンプルなAPI
    2. それはトランザクションを持っていますが、何のバージョンでは、私の知る限り
    3. はい
    4. を知っているあなたは、あなたが必要とするすべてのファイルシステムへのアクセスであるRubyのマップを使用しないと機能
    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 
    

    クエリのすべての製品の価格の合計:このblog-post

  • +0

    ええ、これは私が必要としているようです。私は間違いなくこれを試みます。どうもありがとうございました! –

    +0

    これはPStoreを指摘するのに非常に感謝しています – krichard

    0

    あなたが好きなような音はBerkeley DBです。 map/reduceを除いて、あなたがリストしたものすべてを行います。

    関連する問題