タグ

KyotoCabinetに関するkshimo69のブックマーク (3)

  • 開発メモ: MapReduce on Kyoto Cabinet

    Googleで実用化されHadoopで流行しているところの分散処理フレームワークMapReduceをKyoto Cabinetにおいても実現してみた。その解説。 ローカルなMapReduce MapReduceは多数のマシンが連携して分散処理を行うためのフレームワークなので、プロセス組み込みDBMであって分散など全く関係ない世界に生きているKCでMapReduceを実行して意味があるのだろうか。答えは、「あんまりない」である。それにもかかわらず実装したのは、何となく話題性がありそうだからってのが最大の理由なのだが、もうひとつ理由がある。 スクリプト言語で集計処理をやろうとすると、めっちゃメモリうしCPUパワーを使うわりに遅いからである。1000万件のソートってだけでスクリプト言語だと結構辛いからね。そこで、MapReduceフレームワークをC++で実装してmapとreduceだけをスクリ

  • Kyoto Cabinet 1.0登場、C++以外の主要言語に対応 | エンタープライズ | マイコミジャーナル

    Kyoto Cabinet: a straightforward implementation of DBM Kyoto Cabinetの初の安定版リリースとなるKyoto Cabinet 1.0が公開された。Kyoto CabinetC++で開発されたキーバリュー型のデータベース。GPL3のもとで提供されている。高い並列性と移植性があり、利便性が高い。ハッシュデータベース使用時はO(1)、ツリーデータベース使用時はO(log N)の計算時間量を実現。マルチスレッドセーフでレコード単位/ページ単位での読み書きロックが可能。Kyoto Cabinet 1.0における主な特徴は次のとおり。 更新能力100万qps以上 レコードあたりのフットプリントがハッシュデータベースで8-16バイト、ツリーデータベースで2-4バイトと軽量 自動リカバリ機能 自動/手動トランザクション機能 C, Java

  • Kyoto Cabinet 1.0.0リリース! - mixi engineer blog

    夏が近づくとウキウキしてくるmikioです。昨日ついにリリースされたKyoto Cabinet 1.0について今回は報告します。 1.0の位置づけ コミュニティ毎や製品毎にバージョン番号割り当ての方針は異なるわけですが、私の個人的なポリシーでは、1.0には特別な意味があります。すなわち、0.xのバージョンはbeta版的な位置づけで、「実サービスに使うのはちょっと待った方がいいですよ」ということを意味します。一方で、1.xはstable版的な位置づけで、「よろしければ実サービスでも使ってみてください」ということを意味します。私がstable版に設定する原則を以下に列挙します。 安定稼働を至上命題とする(バグがあればその修正を最優先する) APIを変更しない(変更するとしても後方互換性を維持する) DBファイルのフォーマットを変更しない(変更するとしても後方互換性を維持する) なるべく機能追加

    Kyoto Cabinet 1.0.0リリース! - mixi engineer blog
  • 1