사용자 정의 순서(User Defined Order)
LexoRank
- Bucket
- Rank 값을 저장하는 곳입니다.
- 0 -> 1 -> 2 -> 0 순으로 순환하는 3 개의 Bucket이 존재합니다.
- 1 개의 Bucket만 사용되며, Balancing을 하는 동안에만 2 개의 Bucket이 존재할 수 있습니다.
- Balancing
- Rank를 변경할 수 없는 경우가 발생한 경우, 전체 Rank를 다시 계산하는 것을 의미합니다.
- Marker Row
- Type 0: 가장 작은 Rank 값을 가진 Row
- Type 1
- Type 2: 가장 큰 Rank 값을 가진 Row
<bucket>|<rank>
형태로 저장합니다.- base36(JIRA):
0123456789abcdefghijklmnopqrstuvwxyz
- base64:
0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ^_abcdefghijklmnopqrstuvwxyz
- 소숫점 대신
:
문자를 사용합니다. - 숫자 범위
id | rank |
---|---|
1 | 0|000001: |
2 | 0|hzzzzz: |
3 | 0|i00000: |
4 | 0|zzzzzz: |
Linked List
TODO