LumoSQL - SQLite 기능 확장 및 대체용 스토리지 백엔드 프로젝트

1 day ago 7

  • SQLite에 보안, 프라이버시, 성능, 계측 기능을 추가하는 프로젝트로, 포크가 아닌 동적 소스 결합 방식을 채택해 업스트림과의 변화 추적이 쉬움
    • SQLite를 직접 대체하지 않고, 필요 기능만 개별적으로 SQLite에 적용 가능(점진적 도입/확장에 유리)
  • 플러그형 백엔드 엔진 : 기본 SQLite Btree, LMDB, Berkeley DB 백엔드 사용 가능하며, 향후 새로운 KVS(키-값 스토리지) 엔진도 실험적으로 추가 예정
  • 디스크 암호화(At-rest encryption), 속성 기반 암호화(ABE), 행 단위 암호화/보안(사용자별로 일부 행만 복호화 권한 부여) 등 최신 암호화 기술 도입
    • 기존 SQLite의 한계를 보완, GDPR 등 프라이버시 요구를 충족
  • 데이터 무결성 : 행 단위 체크섬(손상 감지/예방) 기능 제공
  • 강력한 벤치마킹 도구
    • 다양한 SQLite/LMDB/BDB 버전, 데이터 크기(DATASIZE) 옵션별로 조합 벤치마크 수행, 결과를 자동 DB에 저장
    • 각 벤치마크 run은 SHA3 해시로 영구 식별, 데이터 분석·재현성 용이
  • 유연한 빌드 시스템
    • not-forking Perl 툴 기반 빌드·조합·벤치마크 자동화, 결과 DB화
  • 오픈소스 MIT 라이선스로 NLNet Foundation 지원 하에 개발되며, Linux(x86, ARM, RISC-V) 및 BSD 지원
  • 아키텍처적 의의 및 역사
    • 기존의 SQLite 대체 백엔드는 하드포크가 많았으나, LumoSQL은 비포크, 동적 조합, 다중 백엔드를 주요 차별점으로 삼음
    • 2013년 Howard Chu의 LMDB 기반 포팅 실험이 시발점, 이후 SQLite 본연의 성능도 꾸준히 개선됨을 벤치마크로 입증
    • 향후 다양한 KVS 아키텍처 실험, 업스트림 반영 시도, 고급 보안/무결성/프라이버시 기능 실험 플랫폼 역할 확대

Read Entire Article