zealinux
V2EX  ›  数据库

有没有内存数据库可以存矢量(比如 numpy 中的 ndarry)可以支持简单矢量运算

  •  
  •   zealinux · Aug 4, 2021 · 1952 views
    This topic created in 1751 days ago, the information mentioned may be changed or developed.

    想把特征值矢量全都存 DB,一般只是存一个进去,然后与之前的所有的矢量进行比较。 拿到比较结果就行。

    不想着全部取出来,拿到应用本地再计算。就想着在数据库层面做掉。

    如果这个内存数据库能支持 ndarry 就更好了。

    6 replies    2021-08-06 05:16:07 +08:00
    kilasuelika
        1
    kilasuelika  
       Aug 4, 2021 via Android
    不知道能不能把每个矢量作为 1 行存进数据库。
    这样每一列都是数值类型,直接比较。
    qieqie
        2
    qieqie  
       Aug 4, 2021
    Elasticsearch 的 dense_vector,ClickHouse 的 Array
    RangerWolf
        3
    RangerWolf  
       Aug 4, 2021
    https://milvus.io/
    据说很厉害
    codyfeng
        4
    codyfeng  
       Aug 5, 2021 via Android
    kdb 可能符合 lz 要求
    rainfd
        5
    rainfd  
       Aug 5, 2021
    milvus + 1
    dayeye2006199
        6
    dayeye2006199  
       Aug 6, 2021
    你要的计算功能可能是 ANN ( approximate nearest neighbor )。
    这个计算有比较多的实现
    例如[Faiss]( https://github.com/facebookresearch/faiss)
    [ANNOY]( https://github.com/spotify/annoy)

    但这些一般只管算,不管存。

    需要比较完整的数据库功能的,那就是楼上推荐的 Milvus,或者給 postgres 打插件,例如[pgvector]( https://github.com/ankane/pgvector)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5395 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 07:59 · PVG 15:59 · LAX 00:59 · JFK 03:59
    ♥ Do have faith in what you're doing.