Browse Source

雷达:InfluxDB和阿里InfluxDB比较

master
qdjjx 5 years ago
parent
commit
d45a91126c
2 changed files with 54 additions and 1 deletions
  1. 54
    1
      雷达/02工具.md
  2. BIN
      雷达/imgs/sxspec.png

+ 54
- 1
雷达/02工具.md View File

1
 # 关注
1
 # 关注
2
 
2
 
3
-> MyCat。开源分布式,实现MySQL协议服务器,数据库代理,可以使用MySQL原生协议与多个MySQL服务器通信,也可以使用JDBC与大多数束流数据库通信。将一个大表分割成N个小表,后端可支持MySQL, Sql Server, Oracle, DB2, PostGreSQL, MongoDB,作为企业级MySQL集群,替代昂贵的Oracle集群,融合了内存缓存,NoSQL,HDFS大数据,数据库中间件。适用于:读写分离主从切换、分库分表1000万-1000亿单表分片、多租户每个应用一个库、大规模报表统计、替代HBase进行大数据分析。不适用于:非分片字段查询、分页排序、Join表在不同的数据分布。
3
+> MyCat。开源分布式,实现MySQL协议服务器,数据库代理,可以使用MySQL原生协议与多个MySQL服务器通信,也可以使用JDBC与大多数束流数据库通信。将一个大表分割成N个小表,后端可支持MySQL, Sql Server, Oracle, DB2, PostGreSQL, MongoDB,作为企业级MySQL集群,替代昂贵的Oracle集群,融合了内存缓存,NoSQL,HDFS大数据,数据库中间件。适用于:读写分离主从切换、分库分表1000万-1000亿单表分片、多租户每个应用一个库、大规模报表统计、替代HBase进行大数据分析。**不适用于:非分片字段查询、分页排序、Join表在不同的数据分布**。
4
+
5
+> InfluxDB。开源的、MIT协议下的时序数据库。特点:High write throughput高写吞吐量,Aswsome read performance, query in realtime好的写性能100毫秒之内的查询,Better compression更好的压缩,Write can't block reads写不能阻塞读,Read can't block write读不能阻塞写,Write multiple ranges simultaneously同时对多个范围写,Hot backs热备份。
6
+> 
7
+> 原理大致是从系统、传感器、队列、数据库、网络等数据源获取数据,以文本的方式(`temperature,device=dev1,building=b1 intenal=80,external=18 1443782127`)通过HTTP方式交给InfluxDB,在这里temperature是meaturement,相当于数据库中的表,deivce和building是tag, internal和external是field,最后面的1443782127是时间戳可以是纳秒级。
8
+>
9
+>时间碎片,shards of time,is an underlying db effient to drop old data.
10
+>
11
+>Each seires and field to a uniqie ID,比如`temperature,device=dev1,building=b1#internal=80`对应一个ID=1,`tempeatrue,device=dev1,building=b1#external=18`对应一个ID=2,然后每个ID下有很多有关时间变化的数据,比如ID=1对应`(1443782126,80),(1443782127,85)`
12
+>
13
+>在内存方面,ID和时间戳组成成key,比如(1,1443782126),它的value是字段值,key space is ordered.
14
+>
15
+> **算法发展里程**:LSM Tred, Log-structured merge tree,日志结构合并树,高插入量文件的索引访问键值对,将数据保存在两个或多个单独的结构中,每个结构对其各自的底层存储介质进行优化,让多个数据结构分批同步,but delete is too expensive;Seperate LSM tree per block of time, too many open file handlers;Memory-mapped copy-on-write B+ tree, 写入吞吐量不高;最后采用了Time Structured Merge Tree, TSM tree。
16
+> >
17
+> **组件**。有三个主要组件。一个是WAL,write add log, 一开始放在memory index中,间歇性地flush到disk index,最终和memory映射上。内存中的数据包含Headers, Blocks, Index, Footer四部分;另一个是In memory cache,看作是memeory table;还有一个是Index Files,看作ssTalbe。
18
+> >
19
+> **关键术语**。Measurement相当于数据库中的表;tag sets, 在内存中的标签;Fields字段;Points表示一条记录由时间戳标签数据组成;Series包含measurement,tagset,每个时刻的Point,retension policy,时间戳;对tag可以进行分组,正则表达式;对field可以进行函数计算。
20
+
21
+> Grafana,时许数据可视化工具,在工业监控、气象监控、家居自动化等领域有着广泛应用。可以和InfluxDB搭配使用。
22
+
23
+> 阿里云TSDB for InfluxDB和自搭建Influx对比。
24
+
25
+比较的方面 | 自搭建InfluxDB |  阿里云TSDB for InfluxDB
26
+-|-|-
27
+可靠性 | 基于高效云盘的99.99%可靠 |  基于高效云盘的99.99%可靠 |
28
+服务可用性 | 可能会因为参数设置不当或瞬时压力造成进程终止,且需要自己单间进程恢复机制 | 提供完善的进程回复机制,更完善的内存管理机制,全自动Load Shedding应对瞬时冲击,具备磁盘即将写满的自动保护机制 |
29
+安全性 | 自行修复数据库漏洞 | 防DDos攻击,流量清洗,及时修复数据库漏洞|
30
+运维 | 需要专职对InfluxDB维护 | 提供图形化控制台|
31
+数据备份 | 自行实现 | 自动实现(待上线) |
32
+冷热数据分离 | 无法实现 | 自动实现(待上线) |
33
+扩展 | 单机免费,但扩展需要支付给美国公司,费用昂贵手续麻烦 | 支持无限扩展 |
34
+价格 | InfluxDB免费,购买三年云服务器的费用在5000元左右 | 按月付费 |
35
+
36
+**阿里云TSDB for InfluxDB价格估算**
37
+
38
+**估算时间线**:一个开关的一项数据,比如电流算一个时间线。如果要统计电流、电压、功率、电量、线温、漏电电流,一个开关有6条时间线。假设一个项目中有1000个开关需要6000条时间线。
39
+
40
+**估算每秒写入数据量**:在电流、电压、功率、电量、线温、漏电电流中,功率和电量需要按秒统计,电流、电压、线温、漏电电流按分钟统计。大部分情况下写入数据量=2*1000=2000条, 到整点分钟时写入数据量=6 * 1000=6000条。
41
+
42
+**阿里云的以下套餐适合:**
43
+![](./imgs/sxspec.png)
44
+
45
+**计算公式**。
46
+
47
+总费用=实例费用+存储空间费用=实例费用+存储空间大小*存储空间单价
48
+
49
+其中实例费用看作是计算资源的费用
50
+
51
+- 按月付费每月总费用=436元
52
+- 按小时付费每月总费用超过1000元
53
+
54
+> 每增加1000个开关,在时序数据库上每年的开销最多增加5000元左右。开关数量越多,越划算。
55
+
56
+
4
 
57
 
5
 # 评估
58
 # 评估
6
 
59
 

BIN
雷达/imgs/sxspec.png View File


Loading…
Cancel
Save