SlideShare a Scribd company logo
S P E A K E R
演 讲
IoTDB的前世今生
与技术细节揭秘
2019-01-04
黄向东
清华大学 软件学院
大数据系统软件国家工程实验室
目录/Contens
1.工业场景下的时序数据库需求
2.从Cassandra到IoTDB
3. IoTDB的单机千万点写入性能实现
工业场景下的时序
数据库需求
第四次工业革命来袭,大数据成为关键生产资料
德国工业4.0 美国工业互联网
数据的整合分析和使用是关
键能力
先进的数据分析能力
是关键要素
中国工业互联网
工业互联网本质:
数据+模型
机器设备数据
产业链跨界数据
环境气象 地理
工业
大数据
工业信息化数据
图纸
视频模型
文档
机器设备产生的时序数据构成了工业大数据的主体
穿戴设备无人驾驶
在设备远程运维、数字画像、健康评估、故障预测、备件调度、生产工艺控制与改进等多方面有着重要的应用前景
时间序列数据普遍存在
Network
MQ Database
queryinsertion
save data
locally
Network
analysis
CPU
数据赋能工业
工业场景下时间序列采集与应用
Network
MQ Database
queryinsertion
save data
locally
Network
analysis
How to Manage Time Series Data
大规模时序数据的特点
占用空间极大
数据总吞吐量大
产生速度快且不间断
时序数据存储的需求
【全时全量】
保证数据全时全量存储
【高效写入】
保证数据库可以承受高吞吐写入
【紧凑存储】
对数据进行有效压缩减少磁盘空间占用
超过20,000个风机
一个风机约有120~510传感器
采集频率从0.00167 Hz 到 50Hz 不等
需求与挑战:提升工业时序数据利用率,从有效存储开始
需求与挑战:支撑复杂工业场景,克服领域技术难点
§ 场景1:由于网络延迟、设备故障等原因数
据无法完全保序到达
§ 场景2:由于设备故障、损坏等原因,在进
行分析等操作前需要对错误数据进行修正
§ 场景3:清理过时数据或无效、无用数据
时序数据数据乱序操作的需求
数据库需要支持时间序列数据的乱序写入
数据库需要支持时间序列数据的批量更新
数据库需要支持时间序列数据的清理删除
排口有大量取值异常
的采样点,例如PH
值超过10,000
该排口连续164天缺
失上报PH值
• 单表列数上限
• MySQL InnoDB 为1017列
• 单表行数不易过多
• 小于1000万行
• 水平、垂直分表;分库
关
系
数
据
库
键
值
数
据
库
• 可管理海量条时间序列
• 查询受限
• 按时间维度的查询
• 按值维度的查询
• 多序列的时间对齐查询
基于关系数据库
基于PG开发的插件
•时序数据自动分区
•查询计划做优化
•定制并行查询
随着导入时间的增加
导入速率不断下降
基于键值数据库
基于Hbase/Cassandra
•时序分区键
•定时任务构建索引
压缩不友好,查询不友好
原生时序数据库
基于LSM机制的时序库
•专属文件结构
•专属查询优化
一些工业场景下
性能下降
时
序
数
据
库
时序数据管理 (超高性能、超多序列)
时序数据分析(需求一)
早高峰(7-9点)增加上行发车班次,减少下行发车班次
晚高峰(17-21点)增加下行发车班次,减少上行发车班次
其他时间段运营班次存在压缩空间
多序列对齐比较
时序数据分析(需求二)
中等风没满转
超大风满转
大风满转
超低风0转
低风低转速(稳定)
低风低转速(下降)
时间序列HMM分割算法
时间序列分割
准确计算各站点人流量
准确计算各状态下的统计值
时序数据分析(需求三)
时序数据降采样
内存 数据量
[1, 2, 0, 5.1, 3, …., 9, 1]
高维向量 算法效率
Motif 频繁时序模式挖掘
时序数据分析(需求四)
时序数据分析(性能)
批量使用历史数据,漫长的ETL
Database
insertion
analysis
• 查询友好
• 写入友好
• 分析友好
ETL
KairosDB:导出每辆车每天3000种的数据:1小时
气象大数据系统:大量时间花费在数据获取上
需求与挑战:面向工业应用场景,提升数据处理能力
模式匹配
聚合查询数据
十亿点数数十毫秒查询
查询延迟低、时效高
TB 级数据百毫秒查询
指定查询过滤条件
按时间、设备、传感器类型等过滤
序列对齐查询
多序列按时间维度对齐
序列填充查询
空值填充
时序分割
数字水印
Say No to ETL
高通量写入 高效压缩
从Cassandra到IoTDB
故事从2012年说起…
三一重工,20万设备在线,采集了三年数据,Oracle吃不消
d1:s1:
1560900000
d1:s1:
1561000000
d1:s2:
1560900000
D2:s2:
1561000000
01:1 02:1 10:1
01:1 02:1 10:1
01:1 02:1 10:1
01:1 02:1 10:1
5台Cassandra,撑起一片天。
性能一般般。。。
2015年,基于Cassandra研发分布式时序数据库
d1:s1:
1560900000
d1:s1:
1561000000
d1:s2:
1560900000
D2:s2:
1561000000
01:1 02:1 10:1
01:1 02:1 10:1
01:1 02:1 10:1
01:1 02:1 10:1
客户机 查询/写入引擎 Cassandra
受制于人
撸起袖子加油干
高效存储数据 实时读写数据 分布式HTAP
面向工业互联网的高性能轻量级时序数据库
清 华数为 工 业 互 联 网 时序数据库
Apache IoTDB
– 工业领域千万条量级时间序列管
– 单节点万亿数据点管理
– 单节点数十TB级时间序列数据管理
– 支持Hadoop、Spark、Matlab、
Grafana等多种生态
中国高校唯一Apache基金会项目
Apache IoTDB的功能特点
扩展的时间序列操作
多种服务形式
终端
本地控制器
数据中心
灵活部署
开箱即用
支持数据实时写入/写出
支持便捷友好的分析
收集
存储
处理学习
应用
覆盖数据全生命周期 与现有生态系统集成高效的数据持久化
• 高速写入
• 每秒3000万点(单机)
• 高压缩比
• 1.37bits/点 [1]
• 有损和无损压缩
• 支持百万时间序列
丰富/低延迟的数据查询
• 快速过滤数据
• TB级数据百毫秒
查询
• 聚合查询数据
• 十亿点数十毫秒
查询
• 时序分段
• 时序表达
• 子序列匹配
• 时频转换
• 可视化
• MatLab
• Spark
• MapReduce
• Grafana
• Kafka
产品形态:灵活适配“云-网-端”计算环境
终端
部署在嵌入式终端设备的时
序“数据文件”
为时序数据而生的zip文件
支持高性能写入,高压缩比
存储,支持简单查询
场控
部署在工控机等边缘计算设
备的时序“数据库”
高效丰富的时间序列查询引
擎
提供增删改查,以及聚合查
询时序对齐等高级功能
数据中心
部署在云端数据中心的
时序“数据仓库”
与大数据分析框架无缝集成
支持时序数据处理,挖掘分
析与机器学习
Visualization
(Manual data explore)
Analysis with Matlab
(small data set)
Integration with other systems
Big data analysis
26
技术架构
国际领先技术
- 高效聚合索引
(CKIM 2016)
- 时序模式检测
(WAIM 2018)
- 子序列匹配
(ICDE 2019)
- …
20
IoTDB的单机千万点
写入性能
简单理解IoTDB数据Schema
Storage Group,
Device,
Measurement/Metric,
<Time,Value>
内存表
存储每个设备的各个测点的一部分数据
•Map<Device, Map<Metric, WritableMemChunk>>
•WritableMemChunk是免Java基本数据类型封箱的链表[1]
装箱性能差异:1个数量级
数据写入
d1,s1, t1, v
d1,s1, t3, v
d1,s1, t2, v
d1,s1, t4, v
d1,s1, t_, v
内存数据
d1 d2
s1 s1 s2
t1, v
t3, v
t2, v
t4, v
t1, v
t2, v
t1, v
t2, v
Disk
cleaned
memory
存在大量乱序数据
乱序时长从0-300分钟不等
30分钟以内乱序数据较多
•WritableMemChunk容忍一定的乱序,且不排序
•过于陈旧的数据,则放入溢出数据对应的内存表中
*一些系统在内存中采用Btree结构
•刷入磁盘时或者服务于查询时,将数据拷贝并排序
•CopyOnRead
d2,s1, t1, v
d2,s1, t2, v
d2,s2, t1, v
d2,s2, t2, v
原始数据
刷写磁盘
d1
d2
d3
d4
存储组1
StorageGroup Processor
数据文件 数据文件 数据文件
DataFile Processor
+ workingDFP : DFP
正在接受数据写入的DFP
+ closingDFPs : List<DFP>
已经不再接受数据写入的DFP
正在排队等待刷写磁盘和关闭文件
+ dataFiles: List<DataFile>
所有的文件集合
• 读写操作的并发安全
• closing队列的清理
• dataFiles的同步维护
+ workingMTable : MemTable
正在接受数据写入的内存表
+ flushingMTabless : List<>
已经不再接受数据写入的内存表
正在排队等待刷写磁盘
可能会关闭掉文件
读写操作的并发安全
刷写磁盘
MC M M
MC M
M M M M
F1
F2
F3
ThreadPool
并行与串行协同工作
多
线
程
并
行
单文
件所
有M
任务
串行
保序
执行
WritableMemChunk 增大任务调度并行度
1 排序
2 编码
3 IO
1 2 3 1 2 3 1 2 3
1
2
3
1
2
3
1
2
3
数据文件:现有文件格式的问题
Apache Parquet
Time1 Value1
p领域语义
Ø 时间列总是被读取
(otherwise the time dimension is missing)
Ø 数据总是按时间排序
Ø 统计信息的意义很重大
(max/min time/value, for accelerating query)
p空值问题
Ø Parquet 需要存储空值来保证按行返回结果
Ø Parquet has to add R and D fields for supporting nesting, which is
meaningless for time series data.
Time2 Value2
时间序列数据通用文件格式
数据文件 TsFile
Chunk Group
……
Chunk
FileMetaData
Page
Metadata
Times
Values
Page 1
Chunk 1
Chunk m
Chunk
Metadata
Page n
Chunk Group
Chunk Group
Metadata
Page
…
• 元信息成为微索引
• 时间列被重复存储
数据文件 TsFile
ChunkGroup Footer
Chunk
Header
Chunk data Chunk data Chunk data
marker
Chunk
Header
marker
Chunk
Header
marker
TsDeviceMetadata(
d1)
marker
TsFileMetaData(d1,d2)
String: 12 bytes
Magic
TsDeviceMetadata(
d2)
ChunkGroup Footer
Chunk
Header
Chunk data Chunk data Chunk data
marker
Chunk
Header
marker
Chunk
Header
marker
marker
marker
TsFileMetada
ta Size
String: 12 bytes
Magic
d1
d2
数据文件 TsFile
ChunkGroup Footer
Chunk
Header
Chunk data Chunk data Chunk data
marker
Chunk
Header
marker
Chunk
Header
marker
TsDeviceMetadata(
d1)
marker
TsFileMetaData(d1,d2)
String: 12 bytes
Magic
TsDeviceMetadata(
d2)
ChunkGroup Footer
Chunk
Header
Chunk data Chunk data Chunk data
marker
Chunk
Header
marker
Chunk
Header
marker
marker
marker
TsFileMetada
ta Size
String: 12 bytes
Magic
d1
d2
自解释
自修复
向量化读取
编码
128, 136, 144, 152, 160, …
8, 8, 8, 8 à 1st difference is constant.
0, 0, 0 à 2nd difference is 1-bit storage needed!
128, 135, 143, 154, 163, …
7, 8, 11, 9 à 1st difference is not constant
1, 3, -2 à 2nd difference is 2-bit storage needed!
Unified support of fixed frequency times series
or irregular frequency time series
TS2Diff encoding – Optimized for timestamps Bitmap encoding – for enum-type values
RLE encoding - for consecutively repeated
values
BitPacking encoding - for squeezing out
wasteful bits when storing switch values
Gorilla encoding
高压缩与高吞吐
Raw data:
- 12 Bytes per point
- 112 GB totally
高效查询
IoTDB典型应用:某地铁运维监控
…
144 列车
13台 KairosDB
13台 Cassandra
3200 测点/500 ms/列车
一台
IoTDB实例
300 列车
3200 测点/200 ms/列车
升级
更
少
硬
件
,
更
高
性
能
144
列车
300
列车
500
毫秒采样
200
毫秒采样
13
台服务器
1
台服务器
仅1台IoTDB实现
日增4140亿
数据点管理
THANK
YOU!

More Related Content

What's hot

Understanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersUnderstanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginners
Carlos Sierra
 
NEW LAUNCH! Intro to Amazon Athena. Analyze data in S3, using SQL
NEW LAUNCH! Intro to Amazon Athena. Analyze data in S3, using SQLNEW LAUNCH! Intro to Amazon Athena. Analyze data in S3, using SQL
NEW LAUNCH! Intro to Amazon Athena. Analyze data in S3, using SQL
Amazon Web Services
 
Apache Druid 101
Apache Druid 101Apache Druid 101
Apache Druid 101
Data Con LA
 
Oracle to Postgres Migration - part 1
Oracle to Postgres Migration - part 1Oracle to Postgres Migration - part 1
Oracle to Postgres Migration - part 1
PgTraining
 
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...Ludovico Caldara
 
Need for Time series Database
Need for Time series DatabaseNeed for Time series Database
Need for Time series Database
Pramit Choudhary
 
Troubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contentionTroubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contention
Tanel Poder
 
Troubleshooting tips and tricks for Oracle Database Oct 2020
Troubleshooting tips and tricks for Oracle Database Oct 2020Troubleshooting tips and tricks for Oracle Database Oct 2020
Troubleshooting tips and tricks for Oracle Database Oct 2020
Sandesh Rao
 
Scaling Redis To 1M Ops/Sec: Jane Paek
Scaling Redis To 1M Ops/Sec: Jane PaekScaling Redis To 1M Ops/Sec: Jane Paek
Scaling Redis To 1M Ops/Sec: Jane Paek
Redis Labs
 
Data Lake - Multitenancy Best Practices
Data Lake - Multitenancy Best PracticesData Lake - Multitenancy Best Practices
Data Lake - Multitenancy Best Practices
CitiusTech
 
InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...
InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...
InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...
InfluxData
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuningSimon Huang
 
Storing time series data with Apache Cassandra
Storing time series data with Apache CassandraStoring time series data with Apache Cassandra
Storing time series data with Apache Cassandra
Patrick McFadin
 
Change Data Feed in Delta
Change Data Feed in DeltaChange Data Feed in Delta
Change Data Feed in Delta
Databricks
 
Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2
Databricks
 
Introduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OKIntroduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OK
Kriangkrai Chaonithi
 
How to find what is making your Oracle database slow
How to find what is making your Oracle database slowHow to find what is making your Oracle database slow
How to find what is making your Oracle database slow
SolarWinds
 
Autonomous Database Explained
Autonomous Database ExplainedAutonomous Database Explained
Autonomous Database Explained
Neagu Alexandru Cristian
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Glen Hawkins
 
Oracle Database in-Memory Overivew
Oracle Database in-Memory OverivewOracle Database in-Memory Overivew
Oracle Database in-Memory Overivew
Maria Colgan
 

What's hot (20)

Understanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginnersUnderstanding SQL Trace, TKPROF and Execution Plan for beginners
Understanding SQL Trace, TKPROF and Execution Plan for beginners
 
NEW LAUNCH! Intro to Amazon Athena. Analyze data in S3, using SQL
NEW LAUNCH! Intro to Amazon Athena. Analyze data in S3, using SQLNEW LAUNCH! Intro to Amazon Athena. Analyze data in S3, using SQL
NEW LAUNCH! Intro to Amazon Athena. Analyze data in S3, using SQL
 
Apache Druid 101
Apache Druid 101Apache Druid 101
Apache Druid 101
 
Oracle to Postgres Migration - part 1
Oracle to Postgres Migration - part 1Oracle to Postgres Migration - part 1
Oracle to Postgres Migration - part 1
 
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...
Oracle RAC, Data Guard, and Pluggable Databases: When MAA Meets Multitenant (...
 
Need for Time series Database
Need for Time series DatabaseNeed for Time series Database
Need for Time series Database
 
Troubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contentionTroubleshooting Complex Performance issues - Oracle SEG$ contention
Troubleshooting Complex Performance issues - Oracle SEG$ contention
 
Troubleshooting tips and tricks for Oracle Database Oct 2020
Troubleshooting tips and tricks for Oracle Database Oct 2020Troubleshooting tips and tricks for Oracle Database Oct 2020
Troubleshooting tips and tricks for Oracle Database Oct 2020
 
Scaling Redis To 1M Ops/Sec: Jane Paek
Scaling Redis To 1M Ops/Sec: Jane PaekScaling Redis To 1M Ops/Sec: Jane Paek
Scaling Redis To 1M Ops/Sec: Jane Paek
 
Data Lake - Multitenancy Best Practices
Data Lake - Multitenancy Best PracticesData Lake - Multitenancy Best Practices
Data Lake - Multitenancy Best Practices
 
InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...
InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...
InfluxDB IOx Tech Talks: Query Engine Design and the Rust-Based DataFusion in...
 
Oracle db performance tuning
Oracle db performance tuningOracle db performance tuning
Oracle db performance tuning
 
Storing time series data with Apache Cassandra
Storing time series data with Apache CassandraStoring time series data with Apache Cassandra
Storing time series data with Apache Cassandra
 
Change Data Feed in Delta
Change Data Feed in DeltaChange Data Feed in Delta
Change Data Feed in Delta
 
Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2Data Lakehouse Symposium | Day 1 | Part 2
Data Lakehouse Symposium | Day 1 | Part 2
 
Introduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OKIntroduction to Data Engineer and Data Pipeline at Credit OK
Introduction to Data Engineer and Data Pipeline at Credit OK
 
How to find what is making your Oracle database slow
How to find what is making your Oracle database slowHow to find what is making your Oracle database slow
How to find what is making your Oracle database slow
 
Autonomous Database Explained
Autonomous Database ExplainedAutonomous Database Explained
Autonomous Database Explained
 
Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive Oracle Active Data Guard: Best Practices and New Features Deep Dive
Oracle Active Data Guard: Best Practices and New Features Deep Dive
 
Oracle Database in-Memory Overivew
Oracle Database in-Memory OverivewOracle Database in-Memory Overivew
Oracle Database in-Memory Overivew
 

Similar to Apache IoTDB 的前世今生与部分技术细节 2020-01

Apache IoTDB 工业互联网时序数据库 meetup-2019.12
Apache IoTDB 工业互联网时序数据库 meetup-2019.12Apache IoTDB 工业互联网时序数据库 meetup-2019.12
Apache IoTDB 工业互联网时序数据库 meetup-2019.12
jixuan1989
 
Delta Lake Architecture: Delta Lake + Apache Spark Structured Streaming
Delta Lake Architecture: Delta Lake + Apache Spark Structured StreamingDelta Lake Architecture: Delta Lake + Apache Spark Structured Streaming
Delta Lake Architecture: Delta Lake + Apache Spark Structured Streaming
Xiao Li
 
软件工程
软件工程软件工程
软件工程
bill0077
 
逻辑数据编织 – 构建先进的现代企业数据架构
逻辑数据编织 – 构建先进的现代企业数据架构逻辑数据编织 – 构建先进的现代企业数据架构
逻辑数据编织 – 构建先进的现代企业数据架构
Denodo
 
Build 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon dataBuild 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon data
boxu42
 
海量统计数据的分布式MySQL集群——MyFOX
海量统计数据的分布式MySQL集群——MyFOX海量统计数据的分布式MySQL集群——MyFOX
海量统计数据的分布式MySQL集群——MyFOXaleafs
 
What is data engineer?資料工程師是什麼?
What is data engineer?資料工程師是什麼?What is data engineer?資料工程師是什麼?
What is data engineer?資料工程師是什麼?
Anna Yen
 
Selling sybase hds solution for banking
Selling sybase hds solution for bankingSelling sybase hds solution for banking
Selling sybase hds solution for bankingfocusbi
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf
markmind
 
基于Apache IoTDB的时序数据开源解决方案2020-1-4
基于Apache IoTDB的时序数据开源解决方案2020-1-4基于Apache IoTDB的时序数据开源解决方案2020-1-4
基于Apache IoTDB的时序数据开源解决方案2020-1-4
jixuan1989
 
CDP方案介绍
CDP方案介绍CDP方案介绍
CDP方案介绍
acqua young
 
Chap12 嵌入式系统开发模式
Chap12 嵌入式系统开发模式Chap12 嵌入式系统开发模式
Chap12 嵌入式系统开发模式
Allen Galler
 
Intro to Python - BMI Case Practice
Intro to Python - BMI Case PracticeIntro to Python - BMI Case Practice
Intro to Python - BMI Case Practice
Ryan Chung
 
選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲
Herman Wu
 
Trinity BDM - 橋接傳統與未來
Trinity BDM - 橋接傳統與未來Trinity BDM - 橋接傳統與未來
Trinity BDM - 橋接傳統與未來
Etu Solution
 
20140326联动优势数据访问层DAL架构和实践7(刘胜)工行交流
20140326联动优势数据访问层DAL架构和实践7(刘胜)工行交流20140326联动优势数据访问层DAL架构和实践7(刘胜)工行交流
20140326联动优势数据访问层DAL架构和实践7(刘胜)工行交流
liu sheng
 
Dtcc ibm big data platform 2012-final_cn
Dtcc ibm big data platform 2012-final_cnDtcc ibm big data platform 2012-final_cn
Dtcc ibm big data platform 2012-final_cnyp_fangdong
 

Similar to Apache IoTDB 的前世今生与部分技术细节 2020-01 (20)

Apache IoTDB 工业互联网时序数据库 meetup-2019.12
Apache IoTDB 工业互联网时序数据库 meetup-2019.12Apache IoTDB 工业互联网时序数据库 meetup-2019.12
Apache IoTDB 工业互联网时序数据库 meetup-2019.12
 
Delta Lake Architecture: Delta Lake + Apache Spark Structured Streaming
Delta Lake Architecture: Delta Lake + Apache Spark Structured StreamingDelta Lake Architecture: Delta Lake + Apache Spark Structured Streaming
Delta Lake Architecture: Delta Lake + Apache Spark Structured Streaming
 
软件工程
软件工程软件工程
软件工程
 
逻辑数据编织 – 构建先进的现代企业数据架构
逻辑数据编织 – 构建先进的现代企业数据架构逻辑数据编织 – 构建先进的现代企业数据架构
逻辑数据编织 – 构建先进的现代企业数据架构
 
Build 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon dataBuild 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon data
 
海量统计数据的分布式MySQL集群——MyFOX
海量统计数据的分布式MySQL集群——MyFOX海量统计数据的分布式MySQL集群——MyFOX
海量统计数据的分布式MySQL集群——MyFOX
 
What is data engineer?資料工程師是什麼?
What is data engineer?資料工程師是什麼?What is data engineer?資料工程師是什麼?
What is data engineer?資料工程師是什麼?
 
Selling sybase hds solution for banking
Selling sybase hds solution for bankingSelling sybase hds solution for banking
Selling sybase hds solution for banking
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf
 
基于Apache IoTDB的时序数据开源解决方案2020-1-4
基于Apache IoTDB的时序数据开源解决方案2020-1-4基于Apache IoTDB的时序数据开源解决方案2020-1-4
基于Apache IoTDB的时序数据开源解决方案2020-1-4
 
CDP方案介绍
CDP方案介绍CDP方案介绍
CDP方案介绍
 
Chap12 嵌入式系统开发模式
Chap12 嵌入式系统开发模式Chap12 嵌入式系统开发模式
Chap12 嵌入式系统开发模式
 
Altibase介绍
Altibase介绍Altibase介绍
Altibase介绍
 
Intro to Python - BMI Case Practice
Intro to Python - BMI Case PracticeIntro to Python - BMI Case Practice
Intro to Python - BMI Case Practice
 
選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲
 
Trinity BDM - 橋接傳統與未來
Trinity BDM - 橋接傳統與未來Trinity BDM - 橋接傳統與未來
Trinity BDM - 橋接傳統與未來
 
20140326联动优势数据访问层DAL架构和实践7(刘胜)工行交流
20140326联动优势数据访问层DAL架构和实践7(刘胜)工行交流20140326联动优势数据访问层DAL架构和实践7(刘胜)工行交流
20140326联动优势数据访问层DAL架构和实践7(刘胜)工行交流
 
Dtcc ibm big data platform 2012-final_cn
Dtcc ibm big data platform 2012-final_cnDtcc ibm big data platform 2012-final_cn
Dtcc ibm big data platform 2012-final_cn
 
Emc keynote 1130 1200
Emc keynote 1130 1200Emc keynote 1130 1200
Emc keynote 1130 1200
 
Cdc@ganji.com
Cdc@ganji.comCdc@ganji.com
Cdc@ganji.com
 

More from jixuan1989

The practice of enjoying apache
The practice of enjoying apacheThe practice of enjoying apache
The practice of enjoying apache
jixuan1989
 
From a student to an apache committer practice of apache io tdb
From a student to an apache committer  practice of apache io tdbFrom a student to an apache committer  practice of apache io tdb
From a student to an apache committer practice of apache io tdb
jixuan1989
 
Practice of building apache sharding sphere iincubator community
Practice of building apache sharding sphere iincubator communityPractice of building apache sharding sphere iincubator community
Practice of building apache sharding sphere iincubator community
jixuan1989
 
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...
jixuan1989
 
Craig The apache Way
Craig The apache Way Craig The apache Way
Craig The apache Way
jixuan1989
 
Apache IOTDB: a Time Series Database for Industrial IoT
Apache IOTDB: a Time Series Database for Industrial IoTApache IOTDB: a Time Series Database for Industrial IoT
Apache IOTDB: a Time Series Database for Industrial IoT
jixuan1989
 

More from jixuan1989 (6)

The practice of enjoying apache
The practice of enjoying apacheThe practice of enjoying apache
The practice of enjoying apache
 
From a student to an apache committer practice of apache io tdb
From a student to an apache committer  practice of apache io tdbFrom a student to an apache committer  practice of apache io tdb
From a student to an apache committer practice of apache io tdb
 
Practice of building apache sharding sphere iincubator community
Practice of building apache sharding sphere iincubator communityPractice of building apache sharding sphere iincubator community
Practice of building apache sharding sphere iincubator community
 
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...
Willem Ning Jiang: Getting Started: How to join an Open Source project Apache...
 
Craig The apache Way
Craig The apache Way Craig The apache Way
Craig The apache Way
 
Apache IOTDB: a Time Series Database for Industrial IoT
Apache IOTDB: a Time Series Database for Industrial IoTApache IOTDB: a Time Series Database for Industrial IoT
Apache IOTDB: a Time Series Database for Industrial IoT
 

Apache IoTDB 的前世今生与部分技术细节 2020-01