가장 높은 성능의 데이터베이스에 저장 메커니즘
-
20-08-2019 - |
문제
내가 필요로 아이디어를 구현하려(정말)고성능 메모리 데이터베이스/저장 메커니즘이 있습니다.에서의 범위를 저장하는 20,000+체로 각 개체 업데이트된 모든 5 도 초입니다. 내가 좋아하 FOSS 솔루션.
무엇이 내 최고의 옵션?여러분은 어떤 경험을 하셨나요??
나는 작업은 주로 자바에서만 필요한 데이터 저장 좋은 성능을 갖도록 데이터스토어 솔루션이 필요하지 않 java 중심이다.
또한 필요할 수 있는 쿼리는 이러한 물체가 나를 복원할 수 있는 객체의 모든 프로그램을 시작합니다.
다른 팁
당신은 당신 업데이트 20K 체는 모든 5 초거나 업데이트 중 하나 20K5 초마다?
어떤 종류의 개체?왜은 전통적인 RDBMS 충분하지 않은 적이 있습니까?
따라 정확히 어떻게 당신이 필요가 쿼리,하지만 당신은 보 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 코드입니다.연대기 지도 제공하는 메커니즘 이러한 업데이트를 동시에 고립 된에서 각각 다른 경우,당신은 그것을 필요합니다.