문제

내가 필요로 아이디어를 구현하려(정말)고성능 메모리 데이터베이스/저장 메커니즘이 있습니다.에서의 범위를 저장하는 20,000+체로 각 개체 업데이트된 모든 5 도 초입니다. 내가 좋아하 FOSS 솔루션.

무엇이 내 최고의 옵션?여러분은 어떤 경험을 하셨나요??

나는 작업은 주로 자바에서만 필요한 데이터 저장 좋은 성능을 갖도록 데이터스토어 솔루션이 필요하지 않 java 중심이다.

또한 필요할 수 있는 쿼리는 이러한 물체가 나를 복원할 수 있는 객체의 모든 프로그램을 시작합니다.

도움이 되었습니까?

해결책

SQLite 오픈 소스 self-contained 지원하는 데이터베이스에 메모리 데이터베이스(다만에 연결할 :memory:).그것은 바인딩을 위해 많은 인기 있는 프로그래밍 언어입니다.그것은 전통적인 SQL-based 관계형 데이터베이스,하지만 당신은 실행되지 않는 별도의 서버만으로 그것을 사용 라이브러리에서 당신의 프로그램입니다.그것은 매우 빠르다.지 충분히 빠른,모르겠지만,그것을 가치가있을 수 있습니다 있습니다.

Java 드라이버.

다른 팁

당신은 당신 업데이트 20K 체는 모든 5 초거나 업데이트 중 하나 20K5 초마다?

어떤 종류의 개체?왜은 전통적인 RDBMS 충분하지 않은 적이 있습니까?

체크아웃 HSQLDBPrevayler.Prevayler 은 패러다임의 변화에서 전통적인 RDBMS-중 하나는 내가 사용(의 패러다임을,그것은,특히 Prevayler)프로젝트의 수고가 실제 장점이다.

따라 정확히 어떻게 당신이 필요가 쿼리,하지만 당신은 보 memcached?

http://www.danga.com/memcached/

다른 옵션을 포함할 수 있었다 MySQL 의 메모리 테이블, 이, 캐시 APC 를 사용하는 경우 PHP.

일부에 대해 자세히 프로젝트의 요구 사항에 도움이 될 것입니다.

메모리에 저장소?

1)단순 C'malloc'배열의 모든 구조의 것 인덱싱됩니다.

2)berkeleyDB: http://www.oracle.com/technology/products/berkeley-db/index.html.그것은 빠르기 때문에 당신을 구축 자신의 인덱스(보조 데이터베이스)및 없 SQL 표현을 평가합니다.

보서 제품의 일부는 여기에 나열된: http://en.wikipedia.org/wiki/In-memory_database

어떤 수준의 내구성을 해야 합니까?20,000 5 초마다 업데이트 것에 대부분의 IO 하드웨어의 관점에서 거래의 수를 쓰는 경우에 데이터를 다시 디스크 매니다.

면 당신이 감당할 수 있는 일부를 잃 업데이트를,당신은 아마 넘치는 그것을 디스크 매 100ms 문제없이 상당히 저렴한 하드웨어 데이터베이스와 OS 지원 하는 것입니다.

면 그것은 정말 인메모리 데이터베이스는 당신이 원하지 않는 플러시 디스크에 자주 하는 소리는 매우 간단하다.다는 소식을 들었어 H2 매우 좋지만,SQLite 작동할 수 있습니다.는 적절히 조정 MySQL 인스턴스의 수 또한 그것을 할 수 있습니다(하지만 더 복잡한)

연대기 지도순수한 자바 키-값 저장소

  • 그것은 정말로 높은 성능을 유지 1 백만 씁/에서 두 번째 하나의 스레드.그것은 신화하는 빠른 데이터베이스에 수 없 written in Java.
  • 완벽하게 저장하고 부하는 모든 직렬화 Java 체,제공하는 단순한 Map 인터페이스
  • LGPLv3

지 않기 때문에 많은"테이블의"완전한 SQL 데이터베이스가 될 수 있습 잔인 솔루션,인덱스&쿼리를 구현할 수 있습의 소수와 함께 고유한 키-값이 저장되는 수동으로 업데이트에 의해 바닐라 Java 코드입니다.연대기 지도 제공하는 메커니즘 이러한 업데이트를 동시에 고립 된에서 각각 다른 경우,당신은 그것을 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top