首页 > 解决方案 > 在一个大的简单的 id 表上读取的最快解决方案(非关系)

问题描述

我们在 adtech 中,我们需要在一个非常简单的 id 匹配表中找到更快的解决方案(并且 CPU/RAM 消耗最便宜)来读取/写入(到数十甚至数百 K IOPS):

我们也对表模式有疑问:

每个合作伙伴一条线路

internal_id (uuid v4) partner_id (int) external_id (TEXT, 不控制长度)
923a01d3-c480-4a80-92f1-4e11dfba6ed3 24 XzaV1lVbLoEAAFJkOQkAAAC5&1111
923a01d3-c480-4a80-92f1-4e11dfba6ed3 35 4420763609654968920
04643add-bc2b-4ade-be71-c1a2ad3d4a41 24 X-hgv2QiDJM4LUrlMLuTtwAA&1114
04643add-bc2b-4ade-be71-c1a2ad3d4a41 35 244500741791779031
... ... ...

或者

每个合作伙伴一栏

internal_id (uuid v4) partner_24 (TEXT, 不控制长度) partner_35 (TEXT,不控制长度)
923a01d3-c480-4a80-92f1-4e11dfba6ed3 XzaV1lVbLoEAAFJkOQkAAAC5&1111 4420763609654968920
4c1aeb2a-0773-4c7e-a025-e3c10c662358 X-hgv2QiDJM4LUrlMLuTtwAA&1114 244500741791779031
... ... ...

规模非常大(数十亿的 internal_id),每天都在变大。

我们不需要 100% 的数据准确性,我们只搜索读取的速度,写入可以是异步的或具有小的延迟。

标签: linuxdatabase

解决方案


您是否尝试过 Redis 或 memcached?内存中的 hashmap 可能更快,但分布式查找更难实现


推荐阅读