java的时间序列数据库?

时间:2011-01-11 08:20:53

标签: java database time-series opentsdb

我想用Java存储数百万个时间序列条目(长时间,双倍值)。 (我们的监控系统目前将每个条目存储在一个大型mySQL表中,但性能非常差。)

是否在java中实现了时间序列数据库?

4 个答案:

答案 0 :(得分:6)

我希望在这个帖子中看到其他建议。

答案 1 :(得分:3)

由于数据库设计错误,性能不佳。我使用的是mysql,表格有这个布局:

+-------------+--------------------------------------+------+-----+-------------------+-----------------------------+
| Field       | Type                                 | Null | Key | Default           | Extra                       |
+-------------+--------------------------------------+------+-----+-------------------+-----------------------------+
| fk_category | smallint(6)                          | NO   | PRI | NULL              |                             |
| method      | enum('min','max','avg','sum','none') | NO   | PRI | none              |                             |
| time        | timestamp                            | NO   | PRI | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| value       | float                                | NO   |     | NULL              |                             |
| accuracy    | tinyint(1)                           | NO   |     | 0                 |                             |
+-------------+--------------------------------------+------+-----+-------------------+-----------------------------+

我的错是一个不合理的指数。添加多列主键后,我的所有查询都很快:

+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| job   |          0 | PRIMARY  |            1 | fk_category | A         |          18 |     NULL | NULL   |      | BTREE      |         |               |
| job   |          0 | PRIMARY  |            2 | method      | A         |          18 |     NULL | NULL   |      | BTREE      |         |               |
| job   |          0 | PRIMARY  |            3 | time        | A         |   452509710 |     NULL | NULL   |      | BTREE      |         |               |
+-------+------------+----------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+

感谢您的回答!

答案 2 :(得分:1)

您可以查看KDB。它主要被金融公司用于获取市场时间序列数据。

答案 3 :(得分:0)

您需要对数据做什么以及什么时候?

如果您只是保存以后的值,纯文本文件可能会很好,然后上传到数据库。