从落地效果看,转转选择TDengine的三个理由
-
集群功能已经开源,支持横向扩展以及高可用 -
性能和成本之间的平衡达到最优化,运维难度显著降低 -
其超级表特别适合我们这个以域名为维度的监控方案
使用TDengine进行数据库建模
-
数据格式固定:配置好req_status_zone之后,日志文件就固定住了,但总的字段数是有限的,样例如下:
zone_name key max_active max_bw traffic requests active bandwidth
server_addr 192.168.187.164 2 432 17K 18 1 0
server_name 192.168.187.164 2 432 17K 18 1 0
server_url 192.168.187.164/ 1 0 0 8 0 0
server_url 192.168.187.164/index.html 1 0 11K 8 0 0
server_url 192.168.187.164/req-status 1 0 0 1 1 0
server_url 192.168.187.164/req_status 1 0 5680 1 0 0
-
数据极少需要更新或删除
-
属于服务访问的事实数据,只要不是脏数据,就不会删除
-
需要采集的数据标签不多,而且固定 -
单条数据量约在1KB -
保存6个月以上
TDengine 对每个数据采集点单独建表,但在实际应用中经常需要对不同的采集点数据进行聚合。为高效的进行聚合操作,TDengine 引入超级表(STable)的概念。超级表用来代表一特定类型的数据采集点,它是包含多张表的表集合,集合里每张表的模式(schema)完全一致,但每张表都带有自己的静态标签,标签可以有多个,可以随时增加、删除和修改。
-
超级表:以指标作为超级表 -
子表:每个域名做一个子表
-
标签tag:直接将标签信息作为超级表的标签列
-
列column:监控数据本身除去标签部分
落地实施和最终效果展示
-
数据写入
-
查询问题
-
容量规划
-
表数量 -
数据长度 -
副本数 -
表活跃度等
写在最后
-
对表名支持更友好:能够减少对特殊字符的屏蔽(据说在后续版本中会实现,这样就更贴近场景,省去了应用端的特殊处理)
-
支持更加丰富的SQL语句:能够针对少有的场景,提供更加灵活的SQL语句,便于做更加复杂的计算分析,这也是AIOps的进阶部分
-
灰度平滑升级:目前TDengine保持着2周一次的发版节奏,还是期望能够快速用上新的特性。但是每次停机升级又会是一个麻烦的事情,期待官方早日支持滚动升级
-
可实现自定义聚合方法:由于时间问题,没赶上官方的UDF特性。期望官方的UDF能够早日发布,好实现更加复杂的聚合计算 -
子表自动清理功能:由于域名会存在下线问题,目前的TTL策略只是针对数据而不是Table本身,淘汰子表还需要人工运维介入
本文分享自微信公众号 - TDengine(taosdata_news)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
深入剖析Redis客户端Jedis的特性和原理
一、开篇 Redis作为目前通用的缓存选型,因其高性能而倍受欢迎。Redis的2.x版本仅支持单机模式,从3.0版本开始引入集群模式。 Redis的Java生态的客户端当中包含Jedis、Redisson、Lettuce,不同的客户端具备不同的能力是使用方式,本文主要分析Jedis客户端。 Jedis客户端同时支持单机模式、分片模式、集群模式的访问模式,通过构建Jedis类对象实现单机模式下的数据访问,通过构建ShardedJedis类对象实现分片模式的数据访问,通过构建JedisCluster类对象实现集群模式下的数据访问。 Jedis客户端支持单命令和Pipeline方式访问Redis集群,通过Pipeline的方式能够提高集群访问的效率。 本文的整体分析基于Jedis的3.5.0版本进行分析,相关源码均参考此版本。 二、Jedis访问模式对比 Jedis客户端操作Redis主要分为三种模式,分表是单机模式、分片模式、集群模式。 单机模式主要是创建Jedis对象来操作单节点的Redis,只适用于访问单个Redis节点。 分片模式(ShardedJedis)主要是通过创建Sharde...
- 下一篇
CSS 盒子的边距塌陷
tip:为能更直观地学习,本文章已省略部分 css 样式代码。 我相信下面的情形大家在日常工作中常常碰到:在制作静态页面中,为了页面整体的协调与美观,我们想让子盒子 image-div 的上边沿距离父盒子 header-div 的上边沿有一定间距。 现页面效果: 目标页面效果: 为了达成上图的效果,我们首先就能想到给子盒子设置一个上外边距: <style> .image-div { /*子盒子*/ margin-top:25px; } </style> 让我们来看看结果如何呢? 结果和我们所预料的并不相同,子盒子 image-div 并没有和父盒子 header-div 的上边沿形成一定的间距。这两个盒子竟然一起往下移动了,多出了红框区域。 而这种现象,就是 CSS 中常遇到的“边距塌陷”问题中的一种。 边距塌陷 流内块级元素的 top 与 bottom 外边距有时会合并(塌陷)为单个外边距(合并后最大的外边距),这样的现象称之为外边距塌陷(margin collapsing)。 导致边距塌陷的原因是外边距,有以下四种情况计算情况: 如果都是正数,则取最大值 如...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8编译安装MySQL8.0.19
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长