짧은 문자열 (50 자 이상)을 저장하고 빨리 찾아야합니다. 처음에는 SQLite를 사용하기를 원했습니다. 하나의 색인 된 TEXT 열이있는 단일 테이블을 만들었습니다. 모든 종류의 저수준 기술을 사용하여 10 초 만에 1 백만 개의 문자열로 데이터베이스를 채울 수있었습니다.키 - 값 데이터베이스
PC가 재부팅되면 10.000 행을 추가하는 데 30 초가 걸렸습니다.이 행은 10 초에 1M 행에 맞지 않습니다. 그 이유는 SQLite가 새로운 행을 추가하기 전에 기존 인덱스의 매우 큰 부분을 디스크에서 읽어야하기 때문입니다. 또 다른 문제점은 b- 트리 메커니즘 때문에 모든 문자열이 두 번 (일반 테이블에서 한 번, 인덱스 테이블에서 한 번) 저장되기 때문에 데이터베이스가 두 배로 커집니다.
간단한 대안이 있습니까? 예를 들어 해시 기반 조회를 사용합니까? 다양한 NoSQL 솔루션에 대해 알고 있지만 분산 된 저장소와 분산 된 저장소에 초점을 맞추고 있으며 단순한 임베드 된 '플랫 파일'데이터베이스가 필요합니까?
색인과 관련하여 얻지 못하겠습니까? 키와 값과 같은 값을 사용하고 있습니까? – jgauffin
임베디드 데이터베이스를 원하는 마녀 언어/플랫폼을 지정해야합니다. – jgauffin
인덱스와 값이 같은 값을 사용하면 인덱스가 전혀 쓸모가 없습니다. – jgauffin