Ich habe weder auf dem iPhone speziell verwendet, aber ich habe beide für verschiedene Projekte verwendet. Wie Sie bereits erwähnt haben, bietet SQLite eine SQL-Abfragesprache, mit der Sie viel flexibler nach Daten suchen und suchen können. Angenommen, Sie sind mit SQL vertraut, können Sie Ergebnisse einfach filtern, zusammenfassen und aggregieren.
Tokyo Cabinet bietet eine andere Art von Datenspeichersystem, da es ein Schlüssel-Wert-Speicher ist. Wie der Name schon sagt, dienen diese Systeme zum Speichern von (Schlüssel-, Wert-) Paaren. Im TC gespeicherte Daten müssen einen eindeutigen Schlüssel haben, auf den verwiesen werden kann, und es kann nur durch diesen Schlüssel referenziert werden. Die Schnittstelle für den Zugriff auf TC ist grundsätzlich value = get (key) und set (key, value).
Aus Abfrageperspektive entspricht der Zugriff auf TC in etwa der Verwendung von SQLite und lässt nur Primärschlüsselfelder und ein anderes Datenfeld zu.
Der Hauptvorteil von TC ist die Leistung. Ob und wie viel besser es wäre, hängt stark von der Arbeitsbelastung ab. Im Allgemeinen, wenn Sie nur einen Schlüssel-Wert-Speicher benötigen, sollten Sie mit TC gehen, aber wenn Sie eine SQL-Abfragesprache benötigen, dann SQLite ist es.
Es ist nicht wahr, dass TC nur einen Schlüssel-Wert-Speicher bietet; TCs Tabellendatenbank * unterstützt * einfache Abfragen. Sie sind äquivalent zu SELECT ... WHERE x y, wo der Operator Gleichheit sein kann, String-Präfix, String-Suffix, String regexp, numerisch größer als, numerisch kleiner als. Suchen Sie nach tcrdbqryaddcond in http://tokyocabinet.sourceforge.net/tyrantdoc/. –
mjs