我想存储大量的时间序列(时间vs值)数据点。我宁愿使用MySQL。现在我打算将时间序列作为二进制Blob存储在MySQL中。这是最好的方法,最好的方法是什么。在MySQL中存储时间序列的最佳方式是什么?
回答
您应该将值存储为任何类型的他们(INT,布尔char),并且您的倍任一个日期,或int包含UNIX时间戳,任何适合您的应用程序更好。
不会导致缩放问题?在我的情况下,行数会大幅增加。 – sheki 2010-09-27 16:30:24
如果你想使用MySQL来以任何方式处理的信息,你应该把它保存为一个日期类型,数值类型。 我看到的唯一缩放问题(如果您只打算存储信息)是额外的磁盘大小。
由于汤姆和永旺说,如果你想要做的是什么数据,你应该存储在MySQL中的原生格式的数据( - >程序与SQL数据)。
另一方面,如果你不想处理这些数据,但只是存储/检索它,那么你正在将MySQL用作一个blob容器,其中每个blob都是一团糟或多个时间组/数据点,而且它不可能成为这项工作的最佳工具:这就是文件的设计目的。
你可以调查的混合方法,你可能存储数据的非结构化,但您存储时间戳作为离散值。换句话说,一个以您的时间戳为关键字的键/值存储。这应该打开了NoSQL解决方案合作的可能性,也许你会发现,他们更适合(例如,想想在Riak集群直接在数据库运行map/reduce jobs)
根据您的应用程序,使用空间数据MySQL的扩展可能是一个选项。然后,您可以使用空间索引来快速查询数据。 要表示一个时间序列,LineString类可能是最合适的选择。它代表了一系列可以用来存储时间和价值的元组。 Here它说:“在世界地图上,LineString对象可表示河流。” 创建线串很简单:
-- if you see a blob, use Convert(AsText(...) using 'utf8')
SELECT AsText(GeomFromText('LineString(1 1, 2 2, 3.5 3.9)'));
一些链接上手:
https://dev.mysql.com/doc/refman/5.1/en/spatial-extensions.html https://dev.mysql.com/doc/refman/5.1/en/populating-spatial-columns.html
- 1. 什么是在MySQL中存储持续时间的最佳方式
- 2. 在mysql中存储html代码的最佳方式是什么?
- 3. 在一个mysql列中存储键值列表的最佳方式是什么
- 4. 使用MySQL存储URL值的最佳方式是什么?
- 5. 在数据库中存储已用时间的最佳方式是什么
- 6. 存储时间序列数据的最佳开源解决方案是什么?
- 7. 什么是存储几十列配置值的最佳方式?
- 8. 什么是存储小指令列表的最佳方式?
- 9. 在PHP中存储类变量的最佳方式是什么?
- 10. 在Memcached中存储ActiveRecord对象的最佳方式是什么?
- 11. 什么是在博客中存储帖子的最佳方式
- 12. 在Mongo中存储/查询`last_read`的最佳方式是什么?
- 13. 在Docker中存储数据的最佳方式是什么?
- 14. 什么是在android中存储图像的最佳方式?
- 15. 在Xcode中存储资源的最佳方式是什么?
- 16. 在SQL中存储圣经的最佳方式是什么?
- 17. 在java程序运行之间存储数据的最佳方式是什么?
- 18. 什么是存储临时数据的最佳方式?
- 19. 在MySQL中保存KML的最佳方式是什么?
- 20. 在SQL中存储排序顺序的最佳方式是什么?
- 21. 在mysql数据库中存储html数据的最佳方式是什么?
- 22. 在mysql数据库中存储10个选项的最佳方式是什么?
- 23. 什么是在MySQL中存储纬度,经度位置的最佳方式?
- 24. 在MySQL表中存储历史价格表的最佳方式是什么?
- 25. 在MySQL中存储URL的最有效方式是什么?
- 26. 在App Engine Blob存储中存储图像的最佳方式是什么?
- 27. 在PHP中规范“时间”的最佳方式是什么?
- 28. 在Arduino上存储字符串的最佳方式是什么?
- 29. 在github上存储Symfony项目的最佳方式是什么?
- 30. 在Android中存储应用程序数据的最佳方式是什么?
接受一些答案您以前的问题,你会更容易得到,如果有更好的响应你做。 – fredley 2010-09-27 13:41:54