DBX
5-Tier 하이브리드 스토리지 아키텍처 기반 고성능 임베디드 데이터베이스. HTAP(하이브리드 트랜잭션/분석 처리) 워크로드를 위해 설계되었으며, 순수 Rust로 구현되었습니다.
주요 기능
🏗️ 아키텍처
- 5-Tier 하이브리드 스토리지 — Delta → Cache → WOS → Index → ROS
- HTAP 지원 — OLTP와 OLAP 워크로드 동시 처리
- MVCC 트랜잭션 — 가비지 컬렉션을 포함한 스냅샷 격리
- 컬럼형 캐시 — Apache Arrow 기반 분석 쿼리 최적화
🚀 성능
- SQLite 대비 29배 빠른 파일 GET 속도
- GPU 가속 — CUDA 기반 집계, 필터링, 조인
- SIMD 벡터화 — 최적화된 수치 연산
- 병렬 쿼리 — Rayon 기반 병렬 JOIN, Sort, Columnar Build
🔐 보안
- AES-256-GCM-SIV — 산업 표준 암호화
- ChaCha20-Poly1305 — 고속 모바일 암호화
- 키 교체 — 무중단 키 업데이트
🌐 다국어 바인딩
- Rust — 네이티브 API
- Python — PyO3 기반 바인딩
- C#/.NET — P/Invoke FFI
- C/C++ — 표준 C API
- Node.js — 네이티브 N-API 바인딩
빠른 시작 예제
use dbx_core::Database;
let db = Database::open_in_memory()?;
// CRUD
db.insert("users", b"user:1", b"Alice")?;
let val = db.get("users", b"user:1")?;
// SQL
let results = db.execute_sql("SELECT * FROM users WHERE age > 25")?;
// 트랜잭션
let tx = db.begin_transaction()?;
tx.insert("users", b"user:2", b"Bob")?;
tx.commit()?;
Table of contents
- 소개 (README)
- 시작하기
- 아키텍처
- 벤치마크
- 언어 바인딩 성능
- 패키지
- API 레퍼런스
- 변경 이력
- 예제
- Quick Start
- SQL Quick Start
- Encryption
- Compression
- Indexing
- WAL Recovery
- CRUD 작업
- SQL 레퍼런스
- 트랜잭션
- 저장소 계층
- GPU 가속
- 암호화
- 압축
- 인덱싱
- 언어 바인딩
- WAL 복구
- 초보자 튜토리얼
- 사용자 정의 함수 (UDF)
- 이벤트 훅 (EventHook)
- 스케줄러
- SQL 트리거
- 쿼리 플랜 캐시
- Stored Procedures
- 병렬 쿼리
- 스키마 버저닝
- 기능 플래그
- 데이터베이스 API
- SQL API
- 트랜잭션 API
- Roadmap
- 라이선스