V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
c0lc
V2EX  ›  问与答

TB 数据实时查询的问题

  •  
  •   c0lc · 61 天前 · 952 次点击
    这是一个创建于 61 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司的一个小项目,大概有两个 TB 的数据,一共是有 3 个字段。需要做成一个 api 接口,对其中一个字段前 6 位进行批量的正则匹配查询。用什么数据库和架构可以做到准实时查询和响应,现在数据库是 Duckdb ,查询一次大概在 3 分钟左右,可以提供 2 ~ 3 台高配置( 24 核、128G 机器)。要求尽可能简单、性价比高。

    7 条回复    2024-10-25 17:42:10 +08:00
    xierqii
        1
    xierqii  
       61 天前
    ES
    dzdh
        2
    dzdh  
       61 天前
    sagaxu
        3
    sagaxu  
       61 天前
    放弃正则匹配
    lambdaq
        4
    lambdaq  
       61 天前
    一个字段前 6 位正则匹配????

    这玩意应该没那么难吧。
    wei2629
        5
    wei2629  
       61 天前
    正则本来就慢, 而且很难利用索引。 好的方式是 根据正则定向优化下。 看这个正则有没有规律,根据正则表达是 建立索引 。
    hhhhhh123
        6
    hhhhhh123  
       61 天前
    可以尝试加一个字段 (前 6 位)。 没面对过 TB 级
    Jinnrry
        7
    Jinnrry  
       61 天前
    ES +1

    但是你不能用默认的分词,你把你的前 6 位截取出来新建一个字段建立索引(或者你自己自定义一个分词器也行),原字段关闭掉索引
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3065 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 12:18 · PVG 20:18 · LAX 04:18 · JFK 07:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.