时序数据库TSDB(Time Series DataBase)是WSN(Wireless Sensor Network)的基础,还在用Oracle搭建车联网或物联网系统的兄弟们,可以看看下面的内容换换思路。
遗憾的是找了半天几乎没有针对嵌入式平台的版本,或许依靠终端硬件性能的提升能直接跨过这一鸿沟。
数据结构定义
在OpenTSDB的定义中,每条数据记录有4部分组成[4]:metric,timestamp,value,tags。
在Druid的定义中,每条记录由2部分组成[3]:event,metrics。
metrics
从OpenTSDB的定义中[7]就能看出来,metric基本上就代表A-PUD的数据负载。
特殊需求
从操作接口来说,大部分的写操作都是追加式(Append)的,频率很高(ms级别),很少有删除数据的情况存在;而读操作也是按时序一块块读。因此在读写效率上和存储优化上有很多工作可以做。从应用角度来说,访问时效与时戳(TimeStamp)相关,散布在各地的1小时内数据可能要求1秒钟响应,1周前的历史数据允许1分钟的延迟。从系统架构来说,分布式存储是必须的,并且要解决分布式带来的数据融合(Fusion)问题。从数据特征来说,平稳数据的信息量少,异常数据的信息量大,一些信号特征(均值、方差、极值、中位数)需要在实时处理后在线存储,有些信号需要以可变分辨率(MultiResolution)存储,有些信号需要支持多粒度(Granularity)解析,甚至是重采样(ReSample)的能力。
资源网站
Druid 以MySQL作为后台数据库,具备在线分析处理(OLAP)功能,能够对实时数据进行查询,通过Broker节点进行交互式/多层次查询。以Connector方式提供不同数据应用扩展(R, Ruby, Python, node.js),目前最新版本是0.6.160。
Geras 位于剑桥一家叫1248公司开发的针对IoT的商业数据库,支持HTTPS, JSON, RESTful, SenML, MQTT, HyperCat。
InfluxDB 使用Go语言开发,以类SQL为查询语言,提供https读写接口,不依赖任何外部数据库(如Zookeeper、Hadoop、Redis等),目前最新版本是0.8.8。
KairosDB 基于Cassandra NoSQL开发,开发时间不到2年,开源但目前没有稳定版本。
KDB+ 貌似被墙:(
OneTick 法国2005年成立的一家公司开发的商业数据库,主要针对金融行业的应用,提出了CEP(Complex Event Processing)的概念。
OpenTSDB 以HBase作为后台数据库,通过优化Schema来压缩及加速数据存储。提供CLI接口(uid, mkmetric, import, query, fsck, scan, search, tsd)和http接口(get, post, put, delete),提供的Utility中包含统计工具[2],如:GnuPlot, R, SciPy。该项目开源,诞生于2010年,目前版本2.10。
SiteWhere 开源的M2M平台,基于MongoDB和HBase,使用Solr搜索引擎,提供REST服务接口。提供IDeviceManagement和IUserManagement接口以支持数据商店应用,当然还包括Spring Security验证授权。提供Arduino和Android平台软件库[5]。开源项目,目前版本1.0.0。
TempoDB 貌似开源[6],但主页上基本没什么东西。
Plazma Treasure Data公司提供的商业数据库,2014年成立。
Informix TimeSeries IBM公司2001年收购的数据库产品。
Presto 开源的分布式SQL查询引擎。
AxiBase 基于HDFS(Hadoop Distributed File System)的产品,提供各种看板Dashboard和自定义规则引擎。
参考链接
1. http://en.wikipedia.org/wiki/Time_series_database
2. http://opentsdb.net/docs/build/html/resources.html
3. http://druid.io/docs/0.6.160/Tutorial:-A-First-Look-at-Druid.html
4. http://opentsdb.net/docs/build/html/user_guide/writing.html
5. http://docs.sitewhere.org/current/hardware/
6. http://blog.tempoiq.com/client-libraries-on-github
7. http://opentsdb.net/docs/build/html/user_guide/query/timeseries.html
8. http://www.xaprb.com/blog/2014/06/08/time-series-database-requirements/
9. http://nosql-database.org
10. http://nosql.mypopescu.com/kb/nosql
转载请注明出处 blog.csdn.net/spacecraft
这张图信息量太大,得慢慢研究。