PatANN is a massively parallel, distributed, and scalable in-memory/on-disk vector database library for efficient nearest neighbor search across large-scale datasets by finding vector patterns.
Project description
PatANN - Pattern-Aware Vector Database / ANN
Overview
PatANN is a massively parallel, distributed, and scalable in-memory/on-disk vector database library for efficient nearest neighbor search across large-scale datasets by finding vector patterns.
PatANN leverages patterns for data partitioning similar to Google ScANN, implements disk-based I/O similar to DiskANN, and employs search techniques like HNSWlib, resulting in an algorithm that combines the best features to outperform existing approaches.
Status
Beta Version: Currently uploaded for benchmarking purposes. Complete documentation and updates are under development. Not for production use yet.
Platforms
- Beta Version: Restricted to Linux to prevent premature circulation of beta versions
- Production Releases (late Feb 2024)*: Will support all platforms that are supported by mesibo
Key Features
- Faster Index building and Searching
- Supports both in-memory and on-disk operations
- Dynamic sharding to partition and load balance across servers
- Refined search, filtering and pagination
- Unlimited scalability without pre-specified capacity
Algorithmic Approach
- Combines modified NSW (Navigable Small World) graph with a novel pattern based partitioning algorithm
- Preliminary results show phenomenal performance in building index and searching
- Potential slight variations in lower-end matching
- Detailed research paper forthcoming
Contributions
We are seeking help to:
- Run additional datasets. So far, all tested datasets (including self-generated) exhibit patterns that helps algorithm. We have yet to test datasets without clear patterns or with uniform distribution.
- Validate and improve the algorithm
Contact
For support / questions, please contact: support@mesibo.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file patann-0.0.48.tar.gz.
File metadata
- Download URL: patann-0.0.48.tar.gz
- Upload date:
- Size: 705.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
accdc477f9478adf7d36a868b828a3c94d869ddc1231f1f20ddc9f465e4b60b0
|
|
| MD5 |
7a6e29b070ed1798d9857ee47bee3f69
|
|
| BLAKE2b-256 |
319e73aec4d265956448933a725a092fce725bd416a5835ce2b952d719df2c20
|
File details
Details for the file patann-0.0.48-py3-none-any.whl.
File metadata
- Download URL: patann-0.0.48-py3-none-any.whl
- Upload date:
- Size: 711.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21c4bcc2d85b96bff2c8cabcca82a098208b1a367f1a33e96fcff3609af2e53a
|
|
| MD5 |
3bee0ada1bd08ce51171dd6a90945022
|
|
| BLAKE2b-256 |
28882c3beb79fc5f4e81cdaa576a3479106ff4447aa5a2ff8f4ae203743247e5
|