首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >存储网络流量的数据库

存储网络流量的数据库
EN

Server Fault用户
提问于 2012-02-05 00:57:32
回答 2查看 1.2K关注 0票数 0

我正在开发一个软件来监控网络流量,我需要一个数据库服务器,它可以非常快地存储和查询数据包报头字段。我知道有一个.pcap文件格式,但它不适合我,因为我要存储大约10兆字节的流量每天。是否存在某种专门用于网络通信的数据库服务器?

EN

回答 2

Server Fault用户

回答已采纳

发布于 2012-02-05 01:04:39

在那卷书上,你问错了问题。你应该问的问题是:我需要用捕获的信息回答哪些问题?

这样你就可以回答存储引擎的问题了。你真的需要每个字节吗?你需要它的结构来回答特别的问题,还是回答一些非常有条理的,具体的问题?

你能把它分割成多台机器吗?还是你被限制在一个单一的系统中?

你是否需要同时读写--这将使你的IOPS增加一倍以上--还是在不同的时间完成?您需要实时索引,还是可以单独构建这些索引?你需要索引吗?关于什么的?

您说的是超过100 of /S的数据存储,但这是否反映了负载?你有急流,还是稳定状态?在接收和存储之间有延迟有关系吗?您是否必须按顺序提交,或者您是否可以将数据的无序可见性带到查询端?

无论如何,要尽可能地回答具体问题,请查看各种NetFlow存储和分析工具。对于这个问题,你很可能会得到一个一般性的答案。

票数 6
EN

Server Fault用户

发布于 2012-02-05 01:30:40

考虑到您正在谈论的捕获数据量,数据的来源几乎是完全无关的。

首先,您需要考虑如何通过网络将100 be /S的数据流到收集点(或者更好的是点,因为可能需要分布式系统来处理负载)。

然后,您需要考虑如何架构您的数据库,以处理这么多传入记录。如何将负载分散到多个磁盘?如果多个服务器试图同时提交数据,您将如何避免争用?当您写信给磁盘时,您需要多少冗余来解释磁盘失败的原因,以及如何确保您的系统能够在不删除任何数据的情况下从这样的故障中恢复?

然后,您需要考虑如何查询数据。在同一个数据库上运行一个查询,而该数据库正忙于将100 of /S的数据附加到其表中,这可能会导致争用问题。第二天你要做批处理吗?如果您需要实时分析,您将如何处理它造成的额外负载而不中断仍在进行的写入?

您不需要一个“专门的网络流量数据库服务器”,您需要一个专门的高写入量数据库系统。一旦你解决了这些挑战,找出存储你想要的数据所需要的确切模式,这几乎是一件事后的事情。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/356928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档