如何在MySQL系统中实现时间序列采样器?
我想记录MySQL表的列中值的增长率。
实现以给定时间间隔自动将值写入另一个表的子程序的最快方法是什么? 存储过程/触发器/函数的组合?
I want to record the growth rate of values in columns of MySQL table.
What is the quickest way to implement a sub-program that automatically writes the values to another table at given-time intervals?
combination of stored procs / triggers / functions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我有一个每天获取超过 200 万行详细信息的表。
我有一个触发器将汇总数据写入另一个表。我通过转换原始日期时间将数据汇总为 5 分钟的“桶”,每天生成约 35 万行。
一周后,我有一个 cronjob,将 5 分钟的存储桶滚动到每小时的存储桶,甚至进一步将存储量减少到每天约 80K 行。
我们使用摘要数据进行报告并进行更长时间的存储。
这是穷人的 RRD 结构。
希望有帮助。
I have a table that gets over 2 million detailed rows/day.
I have a trigger that writes summary data to another table. I summarize the data into 5-minute "buckets" by converting the original datetime, yielding about 350K rows/day.
After a week, I have a cronjob that rolls the 5-minute buckets into hourly buckets, even further reducing storage to about 80K rows/day.
We use the summary data for reporting and also for longer storage.
It's a poor-man's RRD structure.
Hope that helps.