4 ms·
Show HN: Victor, a browser-optimized vector database written in Rust
Hey HN,
My friend Sam and I were bored one weekend, and wanted to make something self-contained but still useful. We ended up with Victor [0], a vector database designed to run in the browser. It’s written in Rust, which gives us access to things like super-fast and compact serialization and deserialization, but it’s compiled to WASM and uses web-sys to interact with the browser’s JS APIs to write the database contents to disk.
We worked hard on designing it in a way that makes sense for the browser. It uses the private origin file system [1] and stores the vectors in a compact format (one byte per vector dimension).
Since storage space is at a premium in the browser, we also provide built-in PCA to allow you to compress your vectors. It’s completely transparent to the user and automatically kicks in once a vector storage file exceeds 10mb. We’re trying to think of a better way to design this API, so let us know any ideas you have!
[0]: https://github.com/not-pizza/victor/ https://github.com/not-pizza/victor/
[1]: https://developer.mozilla.org/en-US/docs/Web/API/File_System_API/Origin_private_file_system https://developer.mozilla.org/en-US/docs/Web/API/File_System...
- deleted 3y ago[deleted]
- reverius42 3y agoWhat's your vector, Victor?
- Dowwie 3y agoRoger Murdoch has entered the chat
- gsuuon 3y agoLooks neat! Do you have any idea how much the compression degrades search results, if any?