컴퓨터/DB

KyotoCabinet 테스트 결과

Subi Lee 2016. 4. 28.
반응형


 KyotoCabinet은 TokyoCabinet->KyotoCabinet->KyotoTycoon 계보로 이어지는 embedded 형태의 key-value db인데


tokyoCabinet과는 달리 자체적으로 multi-thread를 지원하고

좀 더 다양한 데이터 관리 타입을 지원한다.


최근에 이걸 쓸 일이 있어서 성능 테스트를 좀 해봤는데


환경은

  • CPU I7-2700K (3.5Ghz)
  • HDD (SSD -850pro- 로도 해봤는데 의외로 속도차이가 거의 없다?)
  • HashDB ( persistent type )


classpersistencealgorithmcomplexitysequencelock unit
ProtoHashDBvolatilehash tableO(1)undefinedwhole (rwlock)
ProtoTreeDBvolatilered black treeO(log N)lexical orderwhole (rwlock)
StashDBvolatilehash tableO(1)undefinedrecord (rwlock)
CacheDBvolatilehash tableO(1)undefinedrecord (mutex)
GrassDBvolatileB+ treeO(log N)custom orderpage (rwlock)
HashDBpersistenthash tableO(1)undefinedrecord (rwlock)
TreeDBpersistentB+ treeO(log N)custom orderpage (rwlock)
DirDBpersistentundefinedundefinedundefinedrecord (rwlock)
ForestDBpersistentB+ treeO(log N)custom orderpage (rwlock)
TextDBpersistentplain textundefinedstored orderrecord (rwlock)


 24 thread 정도에서 1.1k 정도의 데이터를 읽기/쓰기를 반복한 결과

 대충 406000 count/s 정도 성능

 journal을 WAL을 사용하는 sqlite3이 3000~4000 c/s 인 것에 비하면 상당히 빠른 속도.

 CacheDb도 한번 테스트해 보았는데 1660000 c/s 라는 어마어마한 성능이 나왔다.


 


반응형

댓글