mysql - 使用哪种策略来设计日志数据存储?

标签 mysql logging cassandra cluster-computing

我们想用关系数据库设计一个数据存储,保存请求消息(http/s,xmpp等)日志。为了生成日志,我们使用基于 Apache synapse esb 的解决方案。但是,由于我们只想存储日志并仅在维护问题时读取日志,因此读/写比率会很低。 (写入计数会很密集,因为系统会收到许多要记录的消息。)我们考虑使用 Cassandra,因为它具有分布式特性和集群功能。然而,对于 Cassandra 数据库模式,使用过滤器的搜索查询很困难,总是需要二级索引。

简而言之,我的问题是我们是应该尝试 mysql 的集群解决方案,还是使用具有合适模式设计的 Cassandra 来进行带有过滤器的搜索查询?

最佳答案

如果您希望对半结构化或非结构化数据进行实时分析,您可以使用 Cassandra + Hadoop 集群。由于 Cassandra wiki 本身建议使用 Datastax Brisk 版本,以用于此类架构。值得一试

另一方面,如果您希望对原始日志进行小型数据集的实时查询。前任。

从 raw_log_table where id='xxx' 中选择 useragent

那么你应该对你的行键列键设计做大量的研究。因为那决定了查询的复杂性。最好看看这里的人的案例研究 http://www.datastax.com/cassandrausers 1

问候, 泰米尔语

关于mysql - 使用哪种策略来设计日志数据存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7764024/

相关文章:

mysql - 将两个 SQL 查询合并为一个查询

node.js - NodeJS Winston DailyRotateFile 未写入

python - 禁用某些消息的格式

cassandra - Cassandra 读取修复何时阻止查询

database - Cassandra:请求未在 rpc_timeout 内完成

mysql - 最新变化 : ORDER BY timestamp DESC LIMIT 1 - Efficient?

mysql - ASP.NET MVC Razor,使用 url/profile/{username} 生成配置文件

mysql - 如何在 mysql 复制的情况下仅重新同步一个从属 MySQL 数据库

php - 记录用户事件的最佳实践是什么?

nosql - Cassandra:进行范围查询