Manu
Category: Vector Database Engines
Tags: vector-databases, cloud-native, vector-search, scalable
Source: Manu: A Cloud Native Vector Database Management System (VLDB 2022)
Description
Manu is a cloud-native, scalable vector database management system designed for efficient storage and retrieval of vector embeddings. It is built specifically to address the needs of modern vector data applications, such as recommendation systems, multimedia search, language processing, and more, by focusing on scalability, tunable consistency, elasticity, and high performance.
Features
Architecture & Design
- Cloud Native: Decoupled microservices architecture with four layers: access, coordinator, worker, and storage.
- Log-based Backbone: Core communication via write-ahead log (WAL) and binlog services, enabling loose coupling and independent scaling of components.
- Service-Oriented: Components (search, indexing, log archiving) can be scaled independently for resource isolation and elasticity.
- Fine-Grained Decoupling: Decouples functionalities at the component level (not just read/write), allowing for independent evolution and scaling.
- Support for Multiple Environments: Consistent APIs and deployment across personal computers, clusters, and cloud environments (supports S3, MinIO, Linux file system).
Data Model & Schema
- Collections: Analogous to tables, but without inter-collection relations (no joins).
- Entities: Support for various data types: vector, string, boolean, integer, float.
- Primary Key: Integer or string; auto-generated if not specified.
- Multiple Labels/Attributes: Support for multiple labels and numerical attributes per entity, mainly for filtering.
- Segments and Shards: Data is partitioned for scalability and efficient storage.
Consistency & Availability
- Tunable Consistency: Delta consistency model allows users to balance between strong and eventual consistency by specifying acceptable data staleness.
- High Availability: Component-level failure isolation and transparent failure recovery.
- High Performance: Hardware-aware implementations for CPU, GPU, and SSD.
- Elasticity: Fine-grained resource allocation, independent scaling of worker nodes.