TDengine
文章平均质量分 78
TDengine涛思数据库相关知识原理及运维技巧
DBA大董
不会编程的DBA,
Oracle,MySQL,PostgreSQL,TDengine,Influxdb,时序数据库,关系数据库 全不精通。
展开
-
TDengine Invalid data format 问题定位
Invalid data format 看语义是数据类型不符,通常这个报错出现在使用行协议写入时。如果是批量数据写入,想定位是哪条语句的问题,需要查看客户端日志。原创 2024-08-08 10:49:31 · 292 阅读 · 0 评论 -
TDengine防火墙配置
TDengine 部署时建议禁用防火墙,对于有安全要求必须启用防火墙的的场景,可以只开放 TDengine 相关端口。原创 2024-06-13 11:24:10 · 1249 阅读 · 1 评论 -
TDengine高可用架构之TDengine+Keepalived
之前在《》提到过,TDengine通过多副本和多节点能够保证数据库集群的高可用。单对于应用端来说,如果使用原生连接方式(taosc)还好,当一个节点下线,应用不会受到影响;但如果使用了Restful/Websocket连接方式,而前端又没有部署负载均衡,那么必须调整应用程序,才能继续访问数据库。对此我们可以采用TDengine+Keepalived 架构,使用VIP保证在没有负载均衡的情况下数据库集群可用性。原创 2024-04-24 11:12:26 · 1459 阅读 · 0 评论 -
TDengine高可用探讨
高可用通常是指在单个组件出现故障时,整个系统仍可以对外提供服务。因此高可用主要还是针对一个系统而言,而非单独的一个组件(这点非常重要)。我们通常用一段时间内系统可用时间占比作为高可用的衡量指标。计算方式如下:MTBF(Mean Time Between Failure),系统平均正常运行时间MTTR(Mean Time to Repair),系统平均恢复时间可用性的计算公式: AVAILABILITY = MTBF / ( MTBF + MTTR ) × 100%原创 2024-04-23 09:43:14 · 1964 阅读 · 0 评论 -
TDengine taosAdapter启用HTTPS
HTTPS (Hypertext Transfer Protocol Secure ),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。原创 2024-04-12 14:22:25 · 2044 阅读 · 1 评论 -
TDengine too many open files
too many open files 是比较常见的报错,尤其使用TDengine 3.0 集群时,大概率会遇到。这个报错很简单,但要想顺利解决,却涉及到很多知识点。原创 2024-04-09 11:45:04 · 2921 阅读 · 0 评论 -
TDengine统计数据库占用空间
TDengine 目前只提供统计超级表占用空间的工具: - 2.x 版本使用 `select _block_dist() from STABLE_NAME` - 3.x 版本使用 `show table distributed STABLE_NAME`但以上的统计结果并不准确。如果想统计 DB 使用的空间,只能通过统计所属 vnode 占用空间进行统计。以下脚本可以实现自动统计所在节点所有数据库的大小。原创 2023-12-04 13:03:26 · 4300 阅读 · 4 评论 -
TDengine Restful Authorization 自定义Token
Restful 接口是 TDengine 最常用的接口,仅次于 JDBC。TDengine 支持 HTTP 和 HTTPS,但通常情况下,大家不想搞证书,又在内网环境中,采用 HTTP 方式比较多。但 HTTP 是明文传输,只要抓个包就知道账号密码了。因此需要对用户名和密码进行加密。原创 2023-11-17 21:36:41 · 4406 阅读 · 0 评论 -
TDengine 跨版本迁移实战
TDengine 3.0 已经退出了近一年,目前已经到了 3.2 版本。很遗憾的是 2.x 和 3.x 之间的数据文件不兼容。如果向从 2.x 升级到 3.x 只能选择数据迁移的方式。taosxtaosdump以下演示使用 Python 脚本跨版本迁移数据库,从 3.1 降级迁移到 2.6。原创 2023-11-15 13:14:25 · 5727 阅读 · 2 评论 -
#[量化投资-学习笔记018]Python+TDengine从零开始搭建量化分析平台-正态分布与收益率
正态分布(Normal Distribution)又叫高斯分布、常态分布。通常用来描述随机变量的概率分布。自然界的数据分布通常是符合正态分布规律的,比如说人的身高、体重。但是非自然界数据就不一定了。尤其是经过人为加工过的数据。金融领域大量使用正态分布来计算收益率和风险,虽然因为金融数据厚尾性而不断被人诟病,但是确实也没啥其他的统计方法。在上一章节,已经将回测的结果存入了数据库。本章节将对回测结果进行进一步分析。原创 2023-11-15 11:09:20 · 4435 阅读 · 0 评论 -
[量化投资-学习笔记017]Python+TDengine从零开始搭建量化分析平台-异常处理
一个完成的程序一定少不了对异常的处理,以及错误日志的输出。在之前章节的程序中对这两部分没有进行说明,以下用两个单独的章节进行介绍。原创 2023-11-14 08:40:07 · 4896 阅读 · 0 评论 -
[量化投资-学习笔记016]Python+TDengine从零开始搭建量化分析平台-日志输出
一个完成的程序一定少不了对异常的处理,以及错误日志的输出。在之前章节的程序中对这两部分没有进行说明,以下用两个单独的章节进行介绍。原创 2023-11-14 08:09:07 · 4437 阅读 · 0 评论 -
[量化投资-学习笔记014]Python+TDengine从零开始搭建量化分析平台-Python知识点汇总
以下内容总结了之前章节涉及到的 Python 知识点,看过之前的章节同学,就不用打开了。原创 2023-11-13 13:52:16 · 4579 阅读 · 0 评论 -
[量化投资-学习笔记015]Python+TDengine从零开始搭建量化分析平台-量化知识点汇总
之前的章节介绍了多个技术分析指标(MA、EMA、MACD、CCI、ATR、KDJ),以下进行一个简单的总结。看过之前章节的同学就可以不用打开了。原创 2023-11-13 13:21:09 · 4418 阅读 · 0 评论 -
[量化投资-学习笔记013]Python+TDengine从零开始搭建量化分析平台-策略回测进阶
在上一章节《策略回测》中采用轮询的方式对整个股票池进行了回测。虽然功能已经实现,但是效率确实不高。而且生成的结果也不方便统计。本次在上一章的基础上进行修改,实现两方面的改进:创建子表根据股票代码创建子表,因为之前已经有类似的表名称,可以借用一部分。导出表名和标签,并构建建表语句。导入建表语句函数简介多进程/线程处理结果写入TDengine程序主体MACD交易策略回测程序说明该程序用于进行MACD交易策略的回测。给定一组股票数据,程序会根据MACD指标的金叉和死叉信号进行买入和卖出操作原创 2023-11-12 14:33:52 · 4819 阅读 · 0 评论 -
[量化投资-学习笔记012]Python+TDengine从零开始搭建量化分析平台-策略回测
上一章节中,对平安银行这只股票,按照金死叉策略进行了回测。但通常我们的股票池中有许多股票,每完成一个交易策略都需要对整个股票池进行回测。下面使用简单的轮询,对整个股票池进行回测。以下是部分股票的收益展示。原创 2023-11-12 10:52:40 · 4637 阅读 · 0 评论 -
[量化投资-学习笔记011]Python+TDengine从零开始搭建量化分析平台-MACD金死叉策略回测
在上一章节中结束了如何根据 MACD 金死叉计算交易信号。本次将根据交易信号,模拟交易。更加历史数据对MACD金死叉交易策略进行回测,看一下收益如何。原创 2023-11-11 18:45:20 · 8912 阅读 · 0 评论 -
[量化投资-学习笔记010]Python+TDengine从零开始搭建量化分析平台-MACD金死叉
本次简单介绍 MACD 最常用的用法:金叉和死叉。金叉和死叉是MACD指标中的两个重要信号。金叉是指 MACD 快线(DIF)上穿慢线(DEA)的情况。死叉则是指 MACD 快线下穿慢线的情况。理论上,金叉代表看涨信号,而死叉则代表看跌信号。如果用程序实现就比较简单,就是两个变量的大小变换。macd_line从结果来看,胜率还不错。原创 2023-11-11 17:57:16 · 8318 阅读 · 0 评论 -
TDengine数据迁移之数据对比
数据完整性和一致性校验是迁移数据后的必要步骤,TDengine 数据迁移也是如此。但通常TDengine存储的都是海量数据,动辄几百亿条数据,如果像手工对比差异,工作量是非常巨大的。为保证兼容2.x和3.x,数据库查询采用 Restful 方式。以下脚本实现了对两个数据库记录数的对比。以上代码是 AI 修改过的,不保证能够执行成功。我将调试好的代码也上传了。原创 2023-11-10 18:29:35 · 4727 阅读 · 0 评论 -
[量化投资-学习笔记009]Python+TDengine从零开始搭建量化分析平台-KDJ
技术分析有点像烹饪,收盘价、最值、成交量等是食材;均值,移动平均,方差等是烹饪方法。随意组合一下就是一个技术指标。KDJ又称随机指标(随机这个名字起的很好)。KDJ的计算依据是最高价、最低价和收盘价。K、D、J 是图中的三条线。要计算 KDJ,需要先计算价差 RSV,RSV=((收盘价-最低价)/(最高价-收盘价))*1003 - D看到这个有没有有点眼熟,先求差值,然后做移动平均,然后再二次平均,最后再取差值。是哪个指标呢??答案揭晓:MACD。原创 2023-11-10 08:43:32 · 4455 阅读 · 0 评论 -
[量化投资-学习笔记008]Python+TDengine从零开始搭建量化分析平台-CCI和ATR
将这两个指标放在一起,一方面是因为这两个指标都属于摆动指数,可以反应市场的活跃度。另一方面是因为CCI和ATR与之前提到的EMAMACD布林带的三个指标的计算基础不同。之前的三个指标都是以收盘价作为计算基础,而CCI和ATR是以收盘价、最高价、最低价三个价格最为计算基础。下面分别进行介绍。原创 2023-11-09 09:27:32 · 8991 阅读 · 0 评论 -
[量化投资-学习笔记007]Python+TDengine从零开始搭建量化分析平台-布林带
布林带(Bollinger Bands)也称为布林通道、保力加通道,是由约翰·布林格(John Bollinger)发明的技术分析指标。布林通道通常被用来确认资产价格波动范围。布林通道是由三条平滑的曲线组成的趋势线图表,中线为均线,上/下线为中线±2个标准差。在上一个章节没有自己造轮子,直接使用 Pandas 函数计算 MACD,非常方便的实现了计算和绘图。本次使用更快捷的方式,直接上飞机:使用 AI 来写代码。我在上篇文章介绍了如何使用 DevChat 编写程序。原创 2023-11-08 16:10:05 · 5603 阅读 · 0 评论 -
利用AI快速跨过新手区:用DevChat编写Python程序-CSV导入TDengine
还在用百度搜索编程吗?直接上 AI,帮助小白快速跨过新手区。以下用一个物联网最常见的场景做示例演示如何利用 AI 快速编程。ChatGPT4 是目前最火的 AI 了,但是国内却用不了。不过现在新出的 DevChat 可以让大家尝鲜一番。以下介绍来自Bing AI 聊天的介绍:DevChat是一个开源平台,旨在帮助开发人员更有效地将人工智能集成到代码生成和文档编制中。它提供了一种非常实用和有效的方式,让开发人员与大型语言模型(LLM)进行交互和协作。原创 2023-11-08 12:44:25 · 16365 阅读 · 0 评论 -
[量化投资-学习笔记006]Python+TDengine从零开始搭建量化分析平台-MACD
在上一章节介绍了的计算,本节主要介绍均线的进化形态之一:MACDMACD (Moving Average Convergence / Divergence) 指数平滑移动平均线。MACD 是通过计算不同时间的 EMA 的差值俩判断价格趋势。MACD 包括 3 个值:长短期 EMA 差值:DIF = EMA(close,12)-EMA(close,26) (计算 12 日和 26 日 EMA 均线差值)信号线: DEA = EMA(DIF,9) (计算差值的 EMA 均线)原创 2023-11-06 15:07:40 · 12117 阅读 · 0 评论 -
[量化投资-学习笔记004]Python+TDengine从零开始搭建量化分析平台-EMA均线
在之前的文章中用 Python 直接计算的 MA 均线,但面对 EMA 我认怂了。这次直接使用 Pandas 库的函数,便捷又省事。并且用 Pandas 直接对之前 MA 均线进行改写。我一直同意:I would rather be vaguely right than precisely wrong.原创 2023-10-30 09:36:19 · 9323 阅读 · 0 评论 -
[量化投资-学习笔记003]Python+TDengine从零开始搭建量化分析平台-Grafana画K线图
Grafana 非常人性的提供离 K线图模块, 搭配TDengine 配置简单一键生成。原创 2023-10-26 09:05:11 · 6277 阅读 · 0 评论 -
[量化投资-学习笔记002]Python+TDengine从零开始搭建量化分析平台-MA均线的多种实现方式
MA 均线时最基本的技术指标,也是最简单,最不常用的(通常使用EMA、SMA)。以下用两种不同的计算方法和两种不同的画图方法进行展示和说明。MA 均线指标公式。原创 2023-10-25 16:46:09 · 6142 阅读 · 0 评论 -
[量化投资-学习笔记001]Python+TDengine从零开始搭建量化分析平台-数据存储
从零开始使用 Python 和 TDengine 搭建一个量化分析平台。使用Python进行量化分析,TDengine存储交易数据,Grafana辅助进行数据可视化。本文仅包括如何将CSV格式历史数据高效的写入到TD engine。原创 2023-10-24 12:19:50 · 6598 阅读 · 0 评论 -
TDengine小知识-数据文件命名规则
对于TDengine 时序数据库, 运维DBA 需要知道的数据文件命名规则,何时需要 compact数据文件?数据文件存储的哪些数据?数据文件在硬盘如何分布?原创 2023-10-20 10:55:24 · 6295 阅读 · 0 评论 -
TDengine函数大全-目录
TDengine函数大全 数学函数 字符串函数 聚合函数 选择函数 转换函数 时间函数 日期函数 系统函数 特有函数原创 2023-08-31 15:18:15 · 6480 阅读 · 0 评论 -
TDengine函数大全-系统函数
TDengine函数大全 系统函数 database client_version server_version server_status原创 2023-08-31 15:04:13 · 6548 阅读 · 0 评论 -
TDengine函数大全-时序库特有函数
TDengine 时序数据库特有函数 csum dreivative diff irate mavg twa原创 2023-08-31 15:02:24 · 7026 阅读 · 0 评论 -
TDengine函数大全-选择函数
TDengine函数 选择函数 top tail bottom unique first last last_row max min mode原创 2023-08-31 14:59:59 · 6869 阅读 · 0 评论 -
TDengine函数大全-聚合函数
TDengine函数 聚合函数 sum avg count spread stddev percentile elapsed原创 2023-08-31 14:57:42 · 6972 阅读 · 0 评论 -
TDengine函数大全-时间和日期函数
TDengine函数 时间函数 日期函数 now today timediff timezone原创 2023-08-31 14:55:37 · 9449 阅读 · 2 评论 -
TDengine函数大全-转换函数
TDengine函数 转换函数 cast to_iso8601 to_unixtimestamp to_json ISO8601 unixtime原创 2023-08-31 14:53:33 · 7310 阅读 · 0 评论 -
TDengine函数大全-字符串函数
TDengine 函数 字符串函数 char_length length concat concat_ws lower upper substr原创 2023-08-31 14:52:32 · 6867 阅读 · 0 评论 -
TDengine函数大全-数学函数
TDengine 函数 数学函数 abs acos asin atan sin cos log pow sqrt tan原创 2023-08-31 14:50:58 · 2125 阅读 · 0 评论 -
TDengine3.0 DBA常用的运维命令和SQL
TDengine 3.0 引入了 information_schema 和 performance_schema 两个临时表,这意味着之前很多能 SHOW 处理的信息必须通过 SQL 查询了,同时也使得查询更加方便。如果不会使用,就不能就抱怨 TDengine 坑多了。以下就是整理的运维中常用的 SQL。原创 2023-03-20 18:06:17 · 2462 阅读 · 1 评论 -
如何快速学习TDengine SQL语法
TDengine 是时序数据库,虽然一直号称支持SQL,但是如想把 MySQL、Oralce 的 SQL 直接拿来用,或用关系库的语法来写TDengine的语句 ,那只能....。最快学习TDengine SQL 语法的方法是什么原创 2023-02-08 12:04:01 · 1691 阅读 · 0 评论