我正在寻找一个NoSQL数据库来存储来自数千个防火墙设备的防火墙流量日志消息。我希望noSQL数据库可以通过内置的多数据中心支持实现100%的正常运行时间,Cassandra对我来说似乎是一个不错的选择。
我想在Cassandra中存储的防火墙日志消息看起来像那样
date = 2014-07-04 time = 14:26:59 type = traffic subtype = local level = notice vd = vdom1 srcip = 10.6.30.254 srcport = 54705 srcintf =" mgmt1" dstip = 10.6.30.1 dstport = 80 dstintf =" vdom1" sessionid = 350696 status = close policyid = 0 dstcountry ="保留" srccountry ="保留" trandisp = noop service = HTTP
当我尝试创建一个表(列族),其中多个列对应于上面的日志消息键值对。我发现很难定义表主键/复合键,因为可以在同一秒内生成类似于上面日志示例的数百条日志消息!
为了唯一地标识每一行,主键可能需要包含几乎所有的列.....这让我觉得很奇怪。
Cassandra真的很适合存储时间序列日志消息,或者我应该考虑像MongoDB这样的另一个NoSQL数据库?谢谢。
此致 RO