Nie korzystałem specjalnie z iPhone'a, ale użyłem obu do różnych projektów. Jak zauważyłeś, SQLite zapewnia język zapytań SQL, co oznacza, że masz większą elastyczność w wyszukiwaniu i znajdowaniu danych. Zakładając, że wygodnie posługujesz się SQL, będziesz mógł łatwo filtrować, odnosić i agregować wyniki.
Gabinet Tokyo oferuje inny typ systemu przechowywania danych, ponieważ jest to magazyn kluczy i wartości. Jak sama nazwa wskazuje, systemy te służą do przechowywania par (klucza, wartości). Dane przechowywane w TC muszą mieć unikalny klucz, do którego można się odwoływać, i można się do niego odwoływać wyłącznie za pomocą tego klucza. Interfejs dostępu do TC to w zasadzie wartość = get (klucz) i zestaw (klucz, wartość).
Z perspektywy zapytania uzyskanie dostępu do TC jest w przybliżeniu równoznaczne z użyciem SQLite i dopuszczeniem tylko pól klucza podstawowego i jednego innego pola danych.
Główną zaletą TC jest wydajność. Jeśli i o ile lepiej, będzie to zależeć w dużym stopniu od obciążenia pracą. Ogólnie, jeśli wszystko, czego potrzebujesz, to magazyn klucz-wartość, powinieneś iść z TC, ale jeśli potrzebujesz języka zapytań SQL, to jest to SQLite.
To nie prawda, że TC udostępnia tylko magazyn klucz-wartość; Baza danych tabeli TC * ma * obsługuje proste zapytania. Są one równoważne SELECT ... WHERE x y gdzie operator może być równy, przedrostek ciągu, przyrostek ciągu, wyrażenie regularne, numeryczny większy niż, numeryczny mniejszy niż. Wyszukaj tcrdbqryaddcond w http://tokyocabinet.sourceforge.net/tyrantdoc/. –
mjs