최소화 해야할 것들의 우선 순위
1. db update 횟수
1. db update시 split여부
2. 전체 data sort
2. db lookup
2. data의 size를 최소화 한다.
data size를 최소화 하는 technique
1. url(string)보다는 url을 id로 변환한다.
2. 정수(id)의 경우 string보다는 binary를 이용한다.
db update split를 최소화 하는 technique
1. key가 string이라면 lexical order로 sort한다.
2. key가 unsigned int, unsigned long, unsigned long long int이라면
numerical order로 sort하고 big endian을 채택한다.
(lexical order와 동일해짐)
3. 1, 2번에 update된 db를 최대한 재활용하여 새로운 db를 만들 때,
기존 db의 structure를 가져온다.
(system 명령어로 db file을 copy 하여 key는 재활용하고 value만
initialize)
우리가 I/O에 사용할 수 있는 환경들.
1. file
장점 - 크기가 크다.
sequential data의 경우, 초기 loading시 db보다 빠르다.
(db도 결국은 file이므로)
단점 - 느리다. (중간 과정에서는 자주 쓰지 않는 것이 좋다.)
2. Memory
장점 - 속도가 가장 빠르다. random access가 된다.
단점 - 2G의 한계가 있다.
3. DB
file와 memory의 중간적 성격을 지니고 있다.
(실제로 file과 memory를 혼합해서 구현했다.)
크기도 크게 만들 수 있다.
댓글 없음:
댓글 쓰기