unum-cloud/UStore
Multi-Modal Database replacing MongoDB, Neo4J, and Elastic with 1 faster ACID solution, with NetworkX and Pandas interfaces, and bindings for C 99, C++ 17, Python 3, Java, GoLang 🗄️
해결하는 문제
UStore는 AI 및 시맨틱 검색을 위해 설계된 모듈형 멀티모달 트랜잭션 데이터베이스입니다. 문서용 MongoDB, 그래프용 Neo4J, 벡터용 Pinecone과 같이 여러 전문 데이터베이스를 각각 사용할 필요 없이, 다양한 데이터 유형을 고성능으로 처리할 수 있는 단일 ACID 트랜잭션 시스템을 제공하는 것을 목표로 합니다.
작동 원리
UStore는 CRUD 작업을 위한 제로 카피(zero-copy) 바이너리 인터페이스를 정의하는 '데이터베이스 구축' 툴킷 역할을 합니다. 스토리지 엔진과 상위 수준 언어 드라이버를 분리하여, 사용자가 동일한 API를 유지하면서 기본 엔진(RocksDB, LevelDB, UDisk, UCSet 등)을 교체할 수 있습니다. 다음과 같은 다양한 데이터 모달리티를 지원합니다.
- Blobs: 커널 바이패스(kernel-bypass) IO를 지원하는 UDisk와 같은 고성능 옵션을 갖춘 바이너리 대형 객체.
- Documents: JSON, MessagePack, BSON을 지원하며 RFC 표준을 사용하여 주소 지정 및 업데이트 가능.
- Graphs: 델타 코딩 및 배치 처리를 사용하여 대규모 워크로드에 최적화.
- Vectors: 양자화(8-bit int, 16-bit float) 및 다양한 거리 측정 지표를 지원하는 통합 벡터 검색.
대상 사용자
AI 애플리케이션, 시맨틱 검색 엔진, 고성능 데이터 시스템을 구축하는 개발자를 위해 설계되었습니다. 여러 개의 개별 데이터베이스 시스템을 관리하는 오버헤드 없이 다양한 데이터 유형(문서, 그래프, 벡터)을 저장할 수 있는 트랜잭션 데이터베이스가 필요한 사용자에게 적합합니다.
주요 특징
- 멀티모달: Blobs, 문서, 그래프, 벡터를 위한 단일 시스템.
- ACID 트랜잭션: 원자성(Atomicity), 일관성(Consistency), 격리성(Isolation), 지속성(Durability) 보장.
- 모듈형 엔진: RocksDB 및 고성능 UDisk(커널 바이패스)를 포함한 여러 백엔드 지원.
- 광범위한 언어 지원: Python, C, C++, GoLang, Java용 드라이버와 Apache Arrow Flight RPC 인터페이스 제공.
- AI 통합: Pandas 및 NetworkX API가 내장되어 있으며, USearch 및 UForm과 통합하여 벡터 검색 지원
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트