Btree 의 속도를 향상시키는 방법 ?
글쓴이: kicom95 / 작성시간: 월, 2005/01/17 - 10:05오전
안녕하세요
버클리 DB 아시죠 ? 전 이넘을 사용해서 프로그램을 개발중에 있습니다.
수십 만개의 키 까지는 별 속도의 문제가 없었으나
잦은 데이터 삽입과... 값의 변경이 내부 파일의 변화를 가져와서..
상당히 속도가 느려지고 있습니다. -_- ( 1G 정도 되거든요 )
( 현재는 저만 이사실을 아는데 쩝 )
버클리 DB 말고 다른 B Tree 라이브러리에 대해서 아시면
조언 부탁 드리지요 ^^
아니면 버클리의 성능 향상 방법 이라던지
미리 감사드립니다 ^^
Forums:
답변이 없으셔서 좀더 구체적으로 적어 봅니다.제가 지금 버클리 D
답변이 없으셔서 좀더 구체적으로 적어 봅니다.
제가 지금 버클리 DB 에 데이터를 집어 넣는 것은
크기가 고정적입니다 다시 말해 key 와 data 의 크기가 고정적이라는 것이지요
그리고 insert 한후에 빈번하게 data 에는 수정이 되는데요...
처음에 데이터를 집어 넣는 경우나 data 를 수정하는 경우에는 속도의
변화가 별로 없지만.... 차차 데이터를 많이 넣을 수록 급격히 속도가 많이
떨어집니다 T.T
Btree 로 구현된거 중에 삽입,삭제 정도만 구현된거면 되는데 ^^;;
좋은 소스 있으면 말씀 해주세요. 참조하게요
가자 해외로 ~ .. 돈 벌러.
sqlite 에 btree 관련된 모듈이 있습니다.http://www
sqlite 에 btree 관련된 모듈이 있습니다.
http://www.sqlite.org/
btree를 고집하시는 걸 보니 순차검색이나 정렬이 이루어 져야만 하는 건가용? 아니면 다른 더 좋은 방법도 있을듯 합니다..
=3=3
아래 싸이트에서 Getting Started .. C 문서를 보시기 바랍
아래 싸이트에서 Getting Started .. C 문서를 보시기 바랍니다.
http://www.sleepycat.com/supports/documentation.shtml
여기에 보면 DB가 커질 때에는 DB type을 BTree보다 Hash를 쓸 것을 권장하고 있습니다:
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
아울러, 위에서 보인 문서에 보시면 DB의 성능을 좋게 할 수 있는 여러
아울러, 위에서 보인 문서에 보시면 DB의 성능을 좋게 할 수 있는 여러 방법이 나와 있습니다.
먼저, secondary database를 보시고, 그 다음 cache size를 조정하는 단락을 읽어 보시기 바랍니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
Hash 는 우선 생각의 대상이 아니에요 -_- 속도를 위해서는
Hash 는 우선 생각의 대상이 아니에요 -_-
속도를 위해서는 이 방법이 최고 입니다.
우선 캐시 크기를 좀 많이 늘리는게 좋은 방법 같습니다.
db_stat 를 통하면 최적의 캐시 사이즈를 알수 있다는데...
사정상 구버젼을 써야 하므로... 잘 체크가 안되지만....
야튼 답변 감사 드립니다.
오늘 오전에 GTK 의 Btree 부분을 뜯어 볼려구 했는데...
sqllite 도 한번 고려 해봐야 겟습니다.
^^
참 secondary database 이는 보이지 않던데요 ^^
Secondary indices 를 말씀하시는 거지요 ?
가자 해외로 ~ .. 돈 벌러.
댓글 달기