A C# vector database using TurboQuant from Google Research

(turboquant.relatude.com)

2 points | by rettepelo 3 hours ago ago

3 comments

  • gwbas1c 3 hours ago

    From https://github.com/Relatude/Relatude.DB

    > Relatude.DB is an open-source, C#-native database engine designed to provide a unified storage solution with everything you need to build the backend for your web applications.

    Seems ambitious...

    > The underlying storage is in its default configuration a binary append-only log file with an in-memory index system.

    Wow that won't scale.

    > The file format is binary and values are casted as best possible to the current schema on read.

    That will lead to unpredictable behavior after a lot of schema changes.

    ---

    I'd like to know more about the people making this database: Specifically, databases are hard to implement. What kind of experience do the people making this database have that demonstrates their experience in this kind of area?

    • rettepelo 2 hours ago

      Well, we are a Norwegian company that have been working on CMS systems for 25 years, and this is the data layer for our CMS that also is a general purpose framework for building web applications.

      We have several live products using this database, including mobile apps.

      This is of course, not a competitor to established databases, like Postgres, MS SQL server etc. It is an attempt at an "all in one system" for most .Net web applications. It is a simpler alternative to the conventional stack where you often have to combine several system to build the data layer you need. It has a built in ORM, image scaler, vector index, BM25 text search etc)

      It is: all you need for "most" projects in one Nuget package...

      (We are still developing on it every day, and do not consider it released yet ) Regarding scale, it will currently not scale to "Big Data" territory, that was never the intention. It is about saving you time as a developer on the "normal" projects where a limit of, lets say 10 mill objects, is ok. Having said that it is still early days, and the performance is so far very good and comparable to other more dedicated storage solutions.

      Feel free to ask other questions!

  • rettepelo 3 hours ago

    I'm developing a .Net C# database engine, that includes a vector index for semantic searches.

    This weekend I made a first attempt at implementing the new TurboQuant from Google: https://research.google/blog/turboquant-redefining-ai-effici...

    Here is a link to test it: https://turboquant.relatude.com/

    The memory usage is about 3x less compared to a simple array of floats. There are links to the source code.

    Any thoughts or feedback is welcome!