iOS에서 키 값 저장소 데이터베이스를 찾고 있습니다. 그것은 sqlite를 기반으로해야하므로 YapDatabase이 좋은 선택 인 것 같습니다.YapDatabase는 단일 테이블을 사용하여 데이터를 저장합니다.
그러나 YapDatabase는 "The main database table is named "database""을 인용하기 위해 단일 테이블 만 사용합니다. CREATE TABLE "database2" ("rowid" INTEGER PRIMARY KEY, "collection" CHAR NOT NULL, "key" CHAR NOT NULL, "data" BLOB, "metadata" BLOB)
. 그래서 같은 열에 다른 유형의 객체를 저장하는 것에 대해 우려하고 있습니다.
예를 들어 채팅 앱에 YapDatabase를 사용하여 각 메시지를 |collection|key|object|metadata|
에 저장할 계획입니다. 각 메시지는 키로 사용되는 고유 한 ID를 가지며 메시지 내용은 일반적으로 객체로 사용되는 nstring이며 일부 다른 데이터와 함께 타임 스탬프는 메타 데이터로 사용됩니다. YapDatase 작성자가 here이라고 대답 한 것과 같습니다.
때때로 사진이 전송됩니다. 이미지는 작고, 일반적으로 몇 백 킬로바이트 정도입니다. 파일로 저장하고 싶지 않습니다. 블롭이 적절하다고 생각하기 때문에 이미지를 저장하는 것이 좋습니다.
그러나 YapDatabse를 사용하면 정상적인 텍스트 메시지와 동일한 테이블에 저장됩니다. 그렇다면 내 텍스트 메시지를 모두 찾은 것처럼 어떤 쿼리를 어떻게 할 수 있습니까?
내 관심사가 유효합니까 (다른 유형의 개체를 같은 열에 저장하는 것)? 분리 된 테이블에 저장해야합니까? 그렇다면 어떻게? 그렇지 않다면, 어떻게 내 모든 문자 메시지를 쉽게 찾을 수 있습니까?
키 - 값 저장소를 사용한다면 기본 테이블에 대해 전혀 염려 할 필요가 없다고 제안 했습니까? – Qiulang
아니요, 기본 테이블에 대해 걱정하지 않으려는 경우에만 키 - 값 저장소를 선택해야한다고 제안했습니다. –