2012-03-30 3 views
2

내 HashMultiMap에 키 값 100 개 이상을 저장해야합니다 (키는 여러 값을 가질 수 있음).해시 맵 공간 및 성능 관련 문제

1) Berkeley DB

2) Tokyo Cabinet

3) H2

4) EhCache

5) 또는 anyothers : 사람이 하나가 빠르게 모두 저장 및 검색을위한 인 저를 도와 줄 수

또 다른 요점은 약 i의 성능입니다. 치명적인 인 - 메모리 해시지도? 약간의 안내가 도움이 될 것입니다. 감사.

NB : 이들 중 하나에 대한 정보도 유용합니다.

+0

키/값은 얼마입니까? 그들이 가지고있는 구조는 무엇입니까? –

+0

@JeffFoster, 키/값은 int입니다. – Arpssss

+0

@ JeffFoster, 더 구체적으로 http://stackoverflow.com/questions/9930347/multimap-space-issue-guava – Arpssss

답변

3

Redis을 권하고 싶습니다. 다른 것보다 데이터 구조 저장소가 더 많아서 (예 :지도 및 세트를 지원함) 시작하기위한 노력이 거의 필요하지 않습니다. 놀랍게도 은 사용하기가 간단하고 매우 Java API입니다.

먼저 키 그룹을 값 그룹과 연결할 수있는 here 함수를 살펴 보겠습니다.

+0

고마워요. experence에서 Redis의 성능은 메모리 내 해시 맵과 거의 동일합니까? – Arpssss

+0

상황에 따라 다릅니다. Redis의 성능에 문제가 없었습니다. 최선의 조언은 프로토 타입을 해킹하여 어떤 일이 발생하는지 직접 확인하는 것입니다. http://redis.io/topics/benchmarks를 참조하십시오. –

2

나는 faster than Kyoto Cabinet이라고 주장하기 때문에 leveldb을 보았습니다. 다른 흥미로운 라이브러리는 Kyoto CabinetJDBM3입니다.

저급 라이브러리 (관계형 쿼리 또는 SQL을 지원하지 않음)입니다. 일부는 트랜잭션 지원을 제공하지만 필요한 경우 확실하지 않습니다. 메모리 내 해시 맵은 더 빠릅니다.