我试图弄清楚如何存储时间序列数据的广告平台,我正在工作。
基本上,我想知道一些存储数十亿行数据的策略/解决方案,这样我就可以轻松地搜索它(表上大约有6-8个索引),并根据查询获得快速计数。
我用mySQL引擎尝试了tokuDB,这看起来非常快,但当行数达到500万至80万行时,执行计数查询的速度非常慢。
我在研究一些noSQL替代方案,但由于我希望能够搜索这些数据,这可能不是最好的解决方案。我在用dynamoDB。我要把数据存储在很多地方,才能对所有的数据进行查询。
我要存储的是数据库中发生的每次点击AD时的一行。这个表会增长很快,特别是当这个站点变得很大的时候。
另一种解决方案是将每个广告客户的这些数据分开。这意味着每个广告商将有他们自己的表,在那里他们的所有数据进入。这意味着它将更小,计数查询将更快。我甚至可以把它分成广告商和月。
我的目标是让广告商能够以分页的方式搜索和显示他们所有的点击。如果他们愿意的话,他们应该能够在一个时间段之间获得数据,并通过大约5-8个其他索引进行过滤。
发布于 2014-04-06 16:33:35
你试过狮身人面像搜索(http://sphinxsearch.com/)吗?它是搜索引擎,但不只是搜索引擎。它可以非常快地通过组,订单,过滤器查询。Mysql应该适合使用每个表和每个主机切分的快速写入。
您可以将sphinx索引拆分为几个部分,并使用分布式搜索:
http://sphinxsearch.com/docs/2.2.2/distributed.html
分区是手动完成的。你应该
当searchd收到对分布式索引的查询时,它执行以下操作:
https://dba.stackexchange.com/questions/42365
复制相似问题