2012-06-17 1 views
1

수천 (50,000) 개의 주제에 대한 데이터를 수신하는 응용 프로그램이 있습니다.noSQL DB가 적합합니다

각 데이터 튜플은 subjectId 및 텍스트 데이터로 구성됩니다.

내가 임베디드 자바 나에게 다음과 같은 기능을 제공합니다 데이터베이스를 찾고 있어요 :

  • 스토어를 데이터 빠르게 (초당 튜플의 수천).
  • subjectId에 대한 텍스트 데이터 조회를 제공하십시오.
  • (효율적인 방법 제공) X 일보다 오래된 데이터를 삭제합니다.
  • 는 자사의 키 - 값 DB를 제외하고,

가 이상적으로 버클리 JE 데이터베이스 내 요구 사항을 충족 할 것 Java 프로세스에 포함되어야하며, 내 데이터는 본질적으로 다중된다. 이것이 중복 데이터의 성능 문제가 될지 확실하지 않습니다.

이 단순 튜플 스키마에는 어떤 다른 내장 옵션이 있습니까?

+4

"No-SQL"이 처음부터 적절합니까? – PhD

+0

는 동양일지도 모른다 http://code.google.com/p/orient/ 당신이 찾고있는 무언가 일 것이다. – kofemann

+0

* "초당 수천 개의 튜플"* : 어떤 하드웨어에 있습니까? 특히 SSD 드라이브의 사용 여부에 관계없이이 요소에 영향을 줄 수 있습니다 ... – thkala

답변

0

데이터베이스에 색인을 생성하려면 문서 지향 데이터베이스가 필요합니다. 만약 당신이 키에 의해서만 조회 할 필요가 있다면, 자이로 또는 프로토콜 버퍼와 같은 것을 사용하여 데이터를 직접 직렬화 할 수 있습니다. 스키마로 갈 수 있다면 SQLite 나 Derby가 좋은 해결책이 될 수 있습니다. OrientDB 또는 Neo4j는 임베드 할 수있는 그래프 데이터베이스입니다. OrientDB는 성숙하지는 않지만 라이센스가 더 좋습니다. Cassandra는 임베디드 실행할 수있는 열 기반 저장소입니다. LevelDB 및 Bitcask는 데이터베이스 라이브러리입니다. 둘다 좋은 라이선스를 보유하고 있지만 다른 언어의 포트가 될 수 있으며 전체 기능 집합이 없을 수도 있습니다. 메모리에 전체 키를 설정할 수없는 경우 LevelDB를 사용하는 것이 더 좋습니다.

+0

이 정보를 제공해 주셔서 감사합니다. OrientDB와 Derby를 더 평가할 것입니다. –