2009-08-04 7 views
6

iPhoneで東京キャビネットを使っている人はいますか?私はそれとSQLite3との間に現実世界のパフォーマンスの違いがあるかどうかを調べることに興味があります。東京キャビネットvs iPhoneのSQLite3

また、SQLite 3は表現力豊かなSQLを備えていますが、東京キャビネットにはどのような種類のクエリ言語もありますか?

すべての入力は、ありがとう、感謝します。

答えて

3

私は特にiPhoneで使っていませんが、私は両方のプロジェクトで両方を使っています。あなたが指摘したように、SQLiteはSQLクエリ言語を提供しています。つまり、データを検索して見つけ出す方法にはるかに柔軟性があります。 SQLに慣れていると仮定すると、結果を簡単にフィルタリング、関連付け、集計することができます。

東京キャビネットは、キーバリューストアであるという点で、さまざまなタイプのデータストレージシステムを提供します。名前が示すように、これらのシステムは(キー、値)ペアを格納するためのものです。 TCに格納されたデータは、参照可能な一意のキーを持たなければならず、そのキーによってのみ参照することができます。 TCにアクセスするためのインタフェースは、基本的にvalue = get(key)とset(key、value)です。

クエリの観点からは、TCにアクセスすることはSQLiteを使用し、主キーフィールドと他の1つのデータフィールドのみを許可することとほぼ同じです。

TCの主な利点はパフォーマンスです。それがどれほど優れているかは、ワークロードに大きく依存します。一般的に、必要なものがキーストアであれば、TCと一緒に行くべきですが、SQLクエリ言語が必要な場合はSQLiteです。

+1

TCはキー値ストアのみを提供しているというわけではありません。 TCのテーブルデータベース*は簡単なクエリをサポートしています。 SELECT ... WHERE x y演算子は、等価、文字列接頭辞、文字列接尾辞、文字列regexp、より大きい数値、より小さい数値などとすることができます。 http://tokyocabinet.sourceforge.net/tyrantdoc/でtcrdbqryaddcondを検索してください。 – mjs

0

東京キャビネットライセンスでは静的リンクができませんので、iPhone開発には使用できません。

+1

LGPLは静的リンクを禁止していません。ユーザーがLGPLを置き換えることができるようにする必要があります。動的リンクは、これを達成するための1つの方法です。また、アプリケーションのソースコードまたはオブジェクトコードをリリースすることもできます。私はこれがいくつかの開発者にとって容認できない解決策であることを認識していますが、私はただ明確にしたかっただけです。 – mikerobi

2

BNRPersistenceは、東京キャビネット上に構築されたパーシスタンスオブジェクトライブラリです。私はその素晴らしいソリューションだと思います。ウェブでは、コアデータと東京キャビネットの比較があります。

関連する問題