当万物互联的理想一步步走向现实,物联 产业也开始面对一系列前所未有的挑战。其中,缺乏针对海量设备数据的处理工具是众多从业者面临的关键问题:互联 流行的大数据解决方案在物联 领域往往显得“水土不服”,在性能、成本、复杂性、灵活性等方面都很难满足行业期望。由于物联 大数据具备许多独有的特性,物联 产业亟需一种专为自身设计优化的大数据平台技术,解决不断增长的海量数据处理需求。
面对这一市场空白,涛思数据开发了自主可控的高性能、可伸缩、高可靠、零管理的物联 大数据平台TDengine,可广泛运用于物联 、车联 、工业互联 、IT运维等领域。通过一系列技术创新,TDengine取得了比通用大数据平台高出10倍以上的性能与更低的总体成本,解决了困扰物联 企业的一大难题。开源以来,TDengine在GitHub已收获14k Star和3.6k fork,得到了广泛的关注和好评,成为中国开源软件的榜样力量。
十倍性能的背后:TDengine的核心技术解析
相比现有的通用数据库技术,TDengine可以每秒处理数百万请求,性能提升10倍以上。本次活动开场,涛思数据创始人陶建辉为与会者深度解析了TDengine达到如此高性能背后所做的技术创新。
在写入流程方面,TDengine将每个传感器当作一个消息队列,在内存中先进先出,保证新采集的数据都在内存中。数据库则按时间段分区,可以快速定位读取历史数据。这样的模型还利于多级存储,通过时间段区分数据热度来降低存储成本。
TDengine 2.0 的集群设计思想与工作机制
2020年8月发布的TDengine 2.0是一次重大更新,引入了大量全新特性。陶老师的分享之后,涛思数据联合创始人关胜亮介绍了TDengine 2.0集群的设计思想与工作机制。
TDengine 2.0的关键特性是采用了FQDN(完全限定域名)来区分物理和数据节点。物理节点是独立的计算机,而数据节点是前者上的实例,包含许多虚拟节点。通过多个虚拟节点,TDengine可以将计算资源和数据分片在很多异构机器上。此外,特定虚拟节点还会充当管理节点。
TDengine的数据分片是基于虚拟节点(Vnode)的,每个表只进入一个虚拟节点,每个虚拟节点则包含多个表。新建虚拟节点时,系统会自动选择负载较低的物理机器创建节点。每个虚拟节点大约维持在一万表左右以实现最佳性能。管理节点则根据各虚拟节点的负载状况进行实时打分,并根据打分情况实施负载均衡。由于分片策略是在表建立时确定的,因此可能存在多个热点表同时进入单个虚拟节点的情况,造成节点过热,这是目前存在的设计缺陷。不过由于数据表数量较多,因此这种情况出现的几率较少。在数据负载均衡调整时,通过副本动态增加和减少可以持续提供服务,防止中断。
压缩算法方面,TDengine对于不同的数据类型采用不同的压缩算法,有三种压缩设置。首先是无压缩;然后是一级压缩,根据不同的数据类型进行压缩;二级压缩在不同的列进行压缩后,用通用的压缩算法进行压缩。TDengine使用的压缩算法包括DELTA-OF-DELTA、ZIG ZAG Encoding等。相比很多数据库来说,TDengine的列存储和二级压缩特性使其对于时序数据能有很大的压缩效率。
相信代码:开源软件CI/CD的经验谈
作为国内开源软件企业的佼佼者,涛思数据很早就形成了基于GitHub的完整CI/CD流程,在长期的实践中积累了丰富的经验。在本场活动的最后,研发工程师刘溢清向与会者介绍了涛思数据总结出的CI/CD最佳实践。
今天的软件产业呈现开源、全球化和高度协作的特征,同一款软件可能有很多来自世界各地的开发与贡献者。从 0.9^5=0.59 这一公式来看,如果开发过程中有5个环节,都只做到90分,那么整个流程的成绩就要下降到59分,这是非常显著的累积效应。为了消除不同开发人员的个体影响,软件开发流程应该高度信任CI/CD,确保流程质量不打折。
在涛思数据,平均每天需要处理8次推送请求,目前总共有858个测试用例,PR总量达2558。为了解决所有这些测试需求,涛思数据通过CI/CD解决了四大问题:
- 实时发现代码错误并 警,帮助开发人员快速修正错误;2. 无人工干预,减少人为错误的出现几率;3. 自动生成代码质量 告,帮助开发人员检查动态开发质量。静待代码质量则使用静态检查工具;4. 自动生成各模块版本标识。
在涛思数据,开发团队以GitHub为CI/CD的核心平台,并使用Travis和Appveyor分别负责Linux和Windows版本的测试。全量测试和交付由Jenkins完成。COVERALLS主要保证代码覆盖率。
通过这一套CI/CD体系,涛思数据获得了明显的生产力提升:1. 检查代码的时间成本下降到了过去的七分之一。2. case覆盖率提升两倍。3. 代码从提交到发布的速度比之前快六倍。
开源与创新的力量:TDengine与 区共赢未来
除了几位老师的高质量分享,本场活动还特别设置了两个颁奖环节。首先是涛思数据举办的Hive MQ插件开发竞赛,大赛旨在奖励大数据时代的前沿探索者,来自大连的谭雪峰荣获大奖。
自2017年成立以来,通过创新技术思想与开源包容的理念,涛思数据已经在物联 大数据领域打响了自己的知名度,获得了业内多方的赞誉和认可。如今,涛思数据得到了重量级资本的支持,正走在快速扩张的发展道路上。陶总也代表涛思数据发出 召,希望更多优秀人才加入涛思数据,在研发、测试、 区运营、商务、售前、售后技术支持等岗位发光发热,并携手广大 区贡献者一起,与涛思数据共赢精彩未来。
文章知识点与官方知识档案匹配,可进一步学习相关知识MySQL入门技能树数据库组成表31559 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!