公司的一个小项目,大概有两个 TB 的数据,一共是有 3 个字段。需要做成一个 api 接口,对其中一个字段前 6 位进行批量的正则匹配查询。用什么数据库和架构可以做到准实时查询和响应,现在数据库是 Duckdb ,查询一次大概在 3 分钟左右,可以提供 2 ~ 3 台高配置( 24 核、128G 机器)。要求尽可能简单、性价比高。
![]() | 1 6HWcp545hm0RHi6G 351 天前 ES |
![]() | 2 dzdh 351 天前 |
![]() | 3 sagaxu 351 天前 放弃正则匹配 |
![]() | 4 lambdaq 351 天前 一个字段前 6 位正则匹配???? 这玩意应该没那么难吧。 |
5 wei2629 351 天前 正则本来就慢, 而且很难利用索引。 好的方式是 根据正则定向优化下。 看这个正则有没有规律,根据正则表达是 建立索引 。 |
6 hhhhhh123 351 天前 可以尝试加一个字段 (前 6 位)。 没面对过 TB 级 |
7 Jinnrry 351 天前 ES +1 但是你不能用默认的分词,你把你的前 6 位截取出来新建一个字段建立索引(或者你自己自定义一个分词器也行),原字段关闭掉索引 |