【发布时间】:2017-09-22 08:24:03
【问题描述】:
我正在考虑使用 MySQL 来解决以下需求。这里先说明一下我的需求。
我有一些如下网络数据:
timestamp
router_ip
interface_id
src_ip
dst_ip
src_port
dst_port
src_mac
dst_mac
vlan
vxlan
protocol
cost
direction
size
我已经省略了一些列。所以我正在尝试创建一个包含很多列的表(比我在这里列出的更多。可能是 20 列?)
而且数据量非常非常大。例如,设备每 5 分钟生成 10 亿行。
因为数据太多了。我正在考虑将数据拆分为多台机器和多个表(可能是一个接口一个表)。而且我只打算保留最近 7 天的数据。
但桌子仍然可能非常大并且增长非常快。
当我查询数据时,我希望可以在几秒钟内返回结果。所以我想我必须创建索引。但是我可能会查询很多列,所以索引必须覆盖很多列。
现在的问题是我必须在一个增长也非常快的大表上创建一个大索引(覆盖很多列)。这是个好主意吗?
或者你有比mysql更好的建议吗?
【问题讨论】: