paust-team / paust-db

GNU General Public License v3.0
6 stars 5 forks source link

Design row key with column-family on RocksDB #20

Closed code-to-gold closed 5 years ago

code-to-gold commented 5 years ago

Reference #17 #19


기존에는 timestamp, user key 기준으로 key를 설계 하였다면, data의 각 속성 기준 효율적인 쿼리가 가능하도록 설계. RocksDB의 특성을 활용하여 row key를 디자인 해야 함.

CF = column family

RocksDB 특성

User Scenario

설계 과정

code-to-gold commented 5 years ago

초기는 UID Table을 이용하기 보다, 단순 serialize해서 저장하는 것으로 prototype을 생성하는게 좋을듯

code-to-gold commented 5 years ago

@co1god 확인 부탁드려요 컨펌 후에 @kwjooo @dragon0170 이 작업 시작하면 될듯

1dennispark commented 5 years ago

저도 @code-to-gold 와 마찬가지의 생각입니다. 초기에는 UID 테이블보다 그냥 META CF를 통해 단순 serialize해서 저장하는 것을 추천합니다.

나중에 이 META CF의 조회가 병목이 될 것이라 예상하고 있어서요. 이 부분을 in-memory로 로드 후에 최적화 알고리즘을 통해 조회하는 것을 목적으로 하고 있습니다.

그래서 그 다음에 저 최적화 알고리즘에 따라 UID 테이블과 유사한 형태로 새로 디자인할 가능성이 있기 때문에 지금은 시도하지 않는 것을 추천드리는 바입니다.