23

FAL Labsには複数の東京製品と京都製品があります。

  • Tokyo Cabinet と Kyoto Cabinet はどちらも軽量のデータベース ライブラリです。
  • Tokyo Tyrant と Kyoto Tycoon はどちらも軽量データベース サーバーです。

東京と京都の製品の違いを誰か説明できますか?

4

4 に答える 4

14

東京内閣はより完全で安定していますが、京都はまだ新鮮すぎて (今日は 2010 年 12 月 8 日です)、いくつかの問題があります。C++ で書かれた京都は、東京 (C で書かれたもの) よりも (はるかに) シンプルですが、このシンプルさにはギャップがあります。京都のパフォーマンスは東京より少し劣りますが、スレッドの方がうまく機能します (少なくともドキュメントではそう約束されています)。

公式ドキュメントから:

<< 2007年、東京キャビネットはQDBMの後継として以下の目的で開発されました。それらは達成され、東京キャビネットは従来のDBM製品を置き換えることができました。

(...)

2009 年には、QDBM の後継として、京都キャビネットが開発されました。兄弟品(東京キャビネット)と比較して、以下のメリットを追求しました。ただし、少なくともシングルスレッド操作では、東京キャビネットのパフォーマンスは京都キャビネットよりも高くなっています。>>

私は両方を使用しましたが、京都に問題があったため、依然として東京の方が好きです:ファイルハッシュデータベースを使用する京都内閣データベースでは、ファイルサイズの増加をどのように回避できますか? 誰も私を助けることができませんでした。私はまだそれを解決する方法を知りません。

私の個人的な経験では、Kyoto の方がコンパイルとインストールが簡単で、使いやすいことがわかりました。私は、東京のライブラリの依存関係と、ネイティブ ライブラリを Java インターフェイスにリンクする際の問題に大きな問題を抱えていました。京都ではすべてがうまくいき、最初の試みでうまくいきました。しかし、前にも言ったように、Tokyo を使用すると、データベースをより制御できるように感じます。

于 2010-12-08T18:47:00.017 に答える
7

Tokyo Cabinet と Tyrant は LGPL であり、C で記述されています。Kyoto Cabinet と Tycoon は GPLv3 であり、C++ で記述されています。

Kyoto Tyrant はメモリ内の期限切れレコードをサポートしているため、memcached を置き換えることができます。

開発者は、京都* は東京* の後継者ではないと言いますが、それは単なるマーケティング戦略です。商用製品を開発するつもりがない場合は、Kyoto を使用してください。それはより新しく、より良いです。

また、開発者のブログ (日本語と英語の両方) を読み、ヘッダー ファイルを注意深く読むことをお勧めします (ライブラリを使用する場合)。

幸運を。

于 2010-11-15T12:30:55.220 に答える
2

私のユースケースに関する2つの最も重要な違いは、TCには「テーブルデータベース」がありますが、KCにはないということです。

はい、任意のデータを文字列にシリアル化してアイテム値として保存できますが、値で検索できないか、データセット全体を反復処理して各アイテムを逆シリアル化するか、車輪の再発明を行ってデータに手動でインデックスを付ける必要があります。

東京内閣のTDBは、ネストされたデータ(インデックス、数値と文字列の比較、さらには「フィールド」内の正規表現)に対して優れたクエリ機能を提供します。京都のものはただのKV店です。TCは、強力なドキュメント指向データベースでもあります。

于 2011-11-18T18:58:41.827 に答える
1

また、私が行ったテストによると、京都のプロトコルは HTTP ベースのみであり、よりオープンですが、東京のバイナリ プロトコルよりも低速です。

于 2012-05-07T16:12:32.607 に答える