我们正在考虑建立一个数据仓库系统来加载我们的网络服务器生成的网络访问日志。这个想法是实时加载数据。
我们希望向用户展示数据的折线图,并让用户能够使用维度进行深入挖掘。
问题是如何平衡和设计系统,以便;
(1) 数据可以实时获取并呈现给用户(<2秒),
(2) 数据可以按小时和每天汇总,并且
(2) 大量数据仍然可以存储在仓库中,并且
我们当前的数据速率大约为每秒约 10 次访问,这为我们每天提供约 800k 行。我对 MySQL 和简单星型模式的简单测试表明,当我们有超过 800 万行时,我的查询开始花费超过 2 秒的时间。
是否有可能从像这样的“简单”数据仓库中获得实时查询性能,并且仍然可以存储大量数据(能够永远不会丢弃任何数据会很好)
有没有办法将数据聚合到更高分辨率的表格中?
我有一种感觉,这并不是一个真正的新问题(虽然我已经用谷歌搜索了很多)。也许有人可以给这样的数据仓库解决方案加分吗?想到的一个是Splunk。
可能是我抓得太多了。
更新
我的架构看起来像这样;
方面:
- 客户端(IP 地址)
- 服务器
- 网址
事实;
- 时间戳(以秒为单位)
- 传输的字节数