ToyDB는 Rust로 작성된 분산 SQL 데이터베이스입니다. 에릭 그린에이커(Erik Grinaker)가 만든 학습 프로젝트입니다. 에릭 그린에이커는 분산 DB로 유명한 코크로치DB를 만드는 회사에서 근무하는 분입니다. 업무에서도 데이터베이스를 만들고... 취미로도 데이터베이스를 만드시는 대단한 분이네요.
데이터베이스를 만드는 방법은 이미 알고 계시니 러스트 학습용으로 만든 디비 같습니다.
그런데 학습용 치고는 기능들이 막강하네요.
- 선형화 가능한 상태 머신 복제를 위한 래프트 기반 분산 합의 엔진
- MVCC 기반 스냅샷 격리 기능을 갖춘 ACID 호환 트랜잭션 엔진
- B+tree 및 로그 구조화 백엔드를 갖춘 플러그형 스토리지 엔진
- 휴리스틱 최적화 및 시간 이동을 지원하는 반복기 기반 쿼리 엔진
- 예측, 필터, 조인, 집계 및 트랜잭션을 포함한 SQL 인터페이스
러스트와 데이터베이스에 관심이 있으셨던 분이라면 한번 공부해보시는 것도 좋을 것 같습니다~
https://github.com/erikgrinaker/toydb