今日头条
由于受嵌入式设备资源的限制,SQLite凭借其轻小的优势在嵌入式系统的数据处理中独占鳌头,装机总量超过千亿台,远远超过大家熟悉的MySQL, Oracle等数据库。
但SQLite真的是嵌入式系统数据库选型的最优解吗?未必。
在边缘计算、物联网网关、嵌入式系统中,数据往往是各种传感器或设备采集的时序数据,这些数据具有如下鲜明的特点,1:数据是时序的,一定带有时间戳;2:数据是结构化的;3: 数据极少有更新或删除操作;4:数据产生源是唯一的;5:相对互联网应用,写多读少;6:用户关注的是一段时间的趋势,而不是某一特点时间点的值;7: 数据是有保留期限的;8:数据的查询分析一定是基于时间段和地理区域的;9:除存储查询外,还往往需要各种统计、插值和其他实时计算操作;10:数据流量平稳。
SQLite是关系型数据库,没有利用上述数据特点,因此在存储、查询数据的性能上严重不足,而且不提供插值、不提供流式计算、不提供数据生命周期管理、无账号、无远程登录等功能,也难实现边云协同。随着物联网、工业互联网的发展,SQLite的局限越来越明显。
我们如期推出ARM 32位版,为边缘计算、嵌入式场景下时序数据的存储、查询、分析与计算提供一强大的工具,以解决流行的SQLite在该场景下的诸多不足,并且100%开源。
TDengine是涛思数据团队针对物联网、工业互联网数据特点而开发的一数据处理平台,近期推出了ARM 32位版本,为边缘计算、嵌入式场景下时序数据的存储、查询、分析与计算提供一强大的工具,以解决流行的SQLite在该场景下的诸多不足,并且100%开源。与InfluxDB, OpenTSDB等其他专业时序数据库相比,除超强的插入、查询性能外,TDengine还具有几大优势,1:体量很小,安装包不到1.3M;2:占用的CPU、内存资源很少;3:数据压缩率高,占用的存储资源大幅减少。这几大优势让TDengine在资源紧张的嵌入式系统里如鱼得水。
在2019年7月TDengine宣布开源后,获得全球开发者的高度关注(GitHub Star超过1万,Fork数超过2.9k),很多开发者希望涛思数据提供ARM 32位版本,以代替他们现在使用的SQLite。今天,涛思数据团队不负众望,终于推出。
相比SQLite,TDengine具有哪些优势?
提供数据库远程登录功能:你可以使用TDengine shell程序从Windows、Linux系统通过网络直接访问数据库,与使用MySQL没有区别。
提供数据的生命周期管理:你可以设置数据保留时长,数据超过保留时长后,会被自动删除,这样不用担心硬盘塞满。
提供流式计算:通过连续查询的方式,可以对一个或多个数据流进行实时计算,包括数据降采样、插值、多个数据流的聚合等等。
提供数据订阅服务:云端或其他设备可以订阅嵌入式系统里存储于TDengine里的符合过滤条件的数据,不用自己再去实现断点续传,不用担心网络中断等系列问题,很容易实现边云协同。
支持更好的并发:TDengine的服务是单个持久性进程,对每个时间序列单独建表,支持很好的并发;而SQLite只提供数据库级的锁定,在并发的读写方面性能不是很好,数据库可能会被写操作独占,从而导致其它读写操作阻塞或出错。
全部0条评论
快来发表一下你的评论吧 !