许多新手不太清楚数千万数据的OLAP场景。为了帮助大家解决这个问题,下面小编就为大家详细讲解一下。有这种需求的人可以从中学习,希望你能有所收获。
前段时间我接手了一个棘手的项目。
6000万股市数据聚合场景。
从10: 00到10: 10,用户发起查询、分析、然后聚合,最后呈现给用户的时间不超过2秒。
因为聚合维度很多,所以可以分为时间维度和指标维度。指标维度超过10个。
当mongo从10到1010使用时,大约有2000万个数据被首先抛出。没有索引,几乎没有产生任何结果。
如果每个维度都使用索引,成本太高,最后mongo被果断放弃。
00-1010使用mysql,数据是碎片化的,并且非常细粒度,它已经准备好用空间换取时间。
数据冗余主要是基于时间维度,对几个主要时间段和时间点提前做好数据准备。
其他维度很难计算。
想法是好的,考试的结果对我来说相当残酷。
1.硬计算耗时太长。
2.非主时间维度跨度太细,并非都是前置数据。
2010年10月至10月,采用elasticsearch,准备了5台服务器。准备了五个es集群来应对OLAP的情况。
导入5000万数据后,开始测试。
时间维度的其他单个维度在1秒以内。
时间维度的其他维度(3以内)在3秒以内。
阅读以上内容对你有帮助吗?如果您想了解更多相关知识或阅读更多相关文章,请关注行业资讯频道,感谢您的支持。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/37461.html