2009-08-04 7 views
6

iPhone에서 Tokyo Cabinet을 사용하는 사람이 있습니까? 나는 그것과 SQLite3 사이에 실제 성능 차이가 있는지보고 싶다.도쿄 캐비닛 대 iPhone의 SQLite3

또한 SQLite 3에는 강력한 SQL 기능이 있습니다. 도쿄 캐비닛에는 모든 종류의 쿼리 언어가 있습니까?

모든 입력 사항을 주시면 감사하겠습니다.

답변

3

저는 아이폰에서 특별히 사용하지는 않았지만 두 가지 프로젝트를 모두 사용했습니다. 당신이 지적한 것처럼, SQLite는 SQL 쿼리 언어를 제공합니다. 즉, 데이터를 검색하고 찾을 수있는 유연성이 훨씬 뛰어납니다. SQL에 익숙하다면 결과를 쉽게 필터링, 연관 및 집계 할 수 있습니다.

Tokyo Cabinet은 키 - 값 저장소라는 점에서 다른 유형의 데이터 저장소 시스템을 제공합니다. 이름에서 알 수 있듯이이 시스템은 (키, 값) 쌍을 저장하기위한 시스템입니다. TC에 저장된 데이터는 참조 할 수있는 고유 한 키가 있어야하며 해당 키로 만 참조 할 수 있습니다. TC에 액세스하기위한 인터페이스는 기본적으로 value = get (key) 및 set (key, value)입니다.

쿼리 관점에서 볼 때 TC 액세스는 SQLite를 사용하고 기본 키 필드와 다른 데이터 필드 하나만 허용하는 것과 거의 같습니다.

TC의 주요 이점은 성능입니다. 그것이 얼마나 더 나은가는 작업 부하에 크게 의존합니다. 일반적으로 키 - 값 저장소가 필요한 경우에는 TC로 이동해야하지만 SQL 쿼리 언어가 필요한 경우 SQLite가 필요합니다.

+1

TC는 키 - 값 저장소 만 제공한다는 것은 사실이 아닙니다. TC의 테이블 데이터베이스 *는 간단한 쿼리를 지원합니다. 그것들은 SELECT ... WHERE x y 연산자가 동등, 문자열 접두사, 문자열 접미사, 문자열 정규식,보다 큰 숫자,보다 작은 숫자 일 수 있습니다. http://tokyocabinet.sourceforge.net/tyrantdoc/에서 tcrdbqryaddcond를 검색하십시오. – mjs

0

도쿄 내각 라이센스는 정적 연결을 허용하지 않으므로 iPhone 개발에 사용할 수 없습니다.

+1

LGPL은 정적 연결을 금지하지 않습니다. 사용자가 LGPL을 대체 할 수 있도록 허용해야합니다. 동적 연결은이를 수행하는 유일한 방법입니다. 또한 응용 프로그램 소스 코드 또는 개체 코드를 릴리스 할 수 있습니다. 이것들은 일부 개발자에게는 받아 들일 수없는 해결책이라는 것을 알지만, 나는 단지 명확히하고 싶었다. – mikerobi

2

BNRPersistence은 도쿄 내각을 기반으로하는 퍼시스턴스 오브 개체 라이브러리입니다. 저는 정말 멋진 솔루션이라고 생각합니다. 웹에서는 핵심 데이터와 도쿄 내각을 비교합니다.

관련 문제