涛思数据 · 2020年02月11日

如何做好嵌入式系统下的数据库选型?Battle SQLite,TDengine发布ARM版

春节之后,因为疫情,涛思数据团队全部居家远程办公。在我们每个人的情绪都被疫情左右了大半个月之后,终于在新年伊始,TDengine有了第一个好消息,按照计划,我们如期推出ARM 32位版,为边缘计算、嵌入式场景下时序数据的存储、查询、分析与计算提供一强大的工具,以解决流行的SQLite在该场景下的诸多不足,并且100%开源。希望这个好消息,能让你从低沉的情绪中短暂的抽离,和我们一样感到欣慰。

由于受嵌入式设备资源的限制,SQLite凭借其轻小的优势在嵌入式系统的数据处理中独占鳌头,装机总量超过千亿台,远远超过大家熟悉的MySQL, Oracle等数据库。

但边缘计算、物联网网关、嵌入式系统中,数据往往是各种传感器或设备采集的时序数据,这些数据具有如下鲜明的特点,1:数据是时序的,一定带有时间戳;2:数据是结构化的;3: 数据极少有更新或删除操作;4:数据产生源是唯一的;5:相对互联网应用,写多读少;6:用户关注的是一段时间的趋势,而不是某一特点时间点的值;7: 数据是有保留期限的;8:数据的查询分析一定是基于时间段和地理区域的;9:除存储查询外,还往往需要各种统计、插值和其他实时计算操作;10:数据流量平稳。

SQLite是关系型数据库,没有利用上述数据特点,因此在存储、查询数据的性能上严重不足,而且不提供插值、不提供流式计算、不提供数据生命周期管理、无账号、无远程登录等功能,也难实现边云协同。随着物联网、工业互联网的发展,SQLite的局限越来越明显。

TDengine是涛思数据团队针对物联网、工业互联网数据特点而开发的一数据处理平台。与InfluxDB, OpenTSDB等其他专业时序数据库相比,除超强的插入、查询性能外,TDengine还具有几大优势,1:体量很小,安装包不到1.3M;2:占用的CPU、内存资源很少;3:数据压缩率高,占用的存储资源大幅减少。这几大优势让TDengine在资源紧张的嵌入式系统里如鱼得水。

在2019年7月TDengine宣布开源后,获得全球开发者的高度关注(GitHub Star超过1万,Fork数超过2.9k),很多开发者希望涛思数据提供ARM 32位版本,以代替他们现在使用的SQLite。今天,涛思数据团队不负众望,终于推出。

相比SQLite,TDengine具有哪些优势?

  1. 提供数据库远程登录功能:你可以使用TDengine shell程序从Windows、Linux系统通过网络直接访问数据库,与使用MySQL没有区别
  2. 提供数据的生命周期管理:你可以设置数据保留时长,数据超过保留时长后,会被自动删除,这样不用担心硬盘塞满。
  3. 提供流式计算:通过连续查询的方式,可以对一个或多个数据流进行实时计算,包括数据降采样、插值、多个数据流的聚合等等。
  4. 提供数据订阅服务:云端或其他设备可以订阅嵌入式系统里存储于TDengine里的符合过滤条件的数据,不用自己再去实现断点续传,不用担心网络中断等系列问题,很容易实现边云协同。
  5. 支持更好的并发:TDengine的服务是单个持久性进程,对每个时间序列单独建表,支持很好的并发;而SQLite只提供数据库级的锁定,在并发的读写方面性能不是很好,数据库可能会被写操作独占,从而导致其它读写操作阻塞或出错。
  6. 本土开源,最好的技术支持:TDengine的研发团队在北京,是中国本土100%自主开发的底层软件,没有依赖任何第三方或其他开源软件,你将获得最好的技术支持。

免费开源,是否好,一试便知

TDengine ARM 32位版100%开源,请访问(www.github.com/taosdata/) 获取源代码,点击技术博客,了解详细的编译和安装步骤。从下载到运行成功,几秒钟搞定。

当然,如果你在不同的ARM CPU或其他OS上,按照官网的步骤进行编译操作时,可能会出现一些环境相关的问题,不要惊慌,我们的开源社区很活跃,请在TDengine的GitHub上递交相关Issue,涛思数据的研发同学以及遍布全球的贡献者会给予及时的帮助和反馈。

实践是检验真理的唯一标准,因此,到底好不好用,你试试就知道了。

如果你还想将TDengine跑在其他操作系统或CPU上,非常欢迎你脑洞大开地试一试,也欢迎与我们分享,毕竟曾经就有网友把TDengine成功跑在了国产CPU龙芯上。

推荐阅读
关注数
1
内容数
2
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息