写点什么

PostgreSQL 中的大容量空间探索时间序列数据存储

  • 2018-10-23
  • 本文字数:1456 字

    阅读完需:约 5 分钟

欧洲航天局科学数据中心(the European Space Agency Science Data Center,简称 ESDC)利用 TimescaleDB 扩展切换到用 PostgreSQL 来存储他们的数据。ESDC 的各种数据,包括结构化的、非结构化的和时间序列指标在内接近数百 TB,还有使用开源工具查询跨数据集的需求。

ESDC 收集来自他们每一个空间任务的海量数据(每天的量以 TB 计算),并把这些数据提供给包括普通公众在内的团队使用。包括空间任务和卫星的元数据,以及在空间任务执行期间生成的数据,这些数据都可以是结构化的,也可以是非结构化的。生成的数据包括地理空间和时间序列数据。因为需要能够使用现成的、开源工具来分析数据,所以在选择数据存储解决方案时,对数据集的交叉运用就成了一个需求项 。团队希望摆脱像 Oracle 和 Sybase 这样的传统系统。

因为 PostgreSQL 的成熟,以及对各种数据类型和非结构化数据的支持,ESDC 团队已经确定使用 PostgreSQL。除了这些例行要求外,ESDC 也需要存储和处理地理空间和时间序列数据。地理空间数据是那些附有位置信息的数据,比如行星在天空中的位置。这必须在不使用不同类型或数据源的不同数据存储的情况下完成。之所以决定迁移到 PostgreSQL,是因为它支持这种处理的扩展机制。PostgreSQL 针对 JSON 和全文本搜索有原生支持。 PostGIS pg_sphere q3c 扩展运行 ESDC 使用常规 SQL 来运行基于位置的查询以及更专业的分析。

对于像太阳轨道器项目(the Solar Orbiter project)这样的任务产生的时间序列数据,PostgreSQL 还必须高效且可扩展地存储它们。这对写入速度要求很低,因为收集到的数据存储在本地的卫星上,“用于每天的地面站通行期间的稍后下行链路”,并分批次插入数据库。但是,针对这个数据库的查询,必须支持结构化的数据类型、数据集之间的 ad-hoc 匹配和高达数百 TB 的大型数据集。

目前,还不清楚哪些特定的时间序列数据库得到了评估,但是,该团队没有选择其中任何一个,因为他们已经将 SQL 标准化为首选的查询语言,并把 PostgreSQL 作为平台,因为它满足了他们的其他要求。过去一些方法可以把时间序列数据存储在PostgreSQL 上。它最近的分区特性试图解决这样的问题:将大表索引保存在内存中,并在每次更新时将其写入磁盘,方法是将表分割成更小的分区。当按时间进行分区时,分区也可以用于存储时间序列数据,遵循着这些分区上的索引。ESDC 存储时间序列数据的时候,遇到了性能问题,于是转而使用名为 TimescaleDB 的扩展。

图片来源: https://blog.timescale.com/when-boring-is-awesome-building-a-scalable-time-series-database-on-postgresql-2900ea453ee2

TimescaleDB 使用名为 hypertable 的抽象来隐藏跨多个维度(如时间和空间)的分区。每个 hypertable 被分成“块(chunk)”,每个块对应一个特定的时间间隔。块的大小是一定的,因此,用于表索引的所有 B 树结构都能够在数据插入数据库期间驻留内存,类似于 PostgreSQL 进行分区的方式。索引是根据时间和分区关键字自动产生的。可以针对任意“维度”进行查询,就像其他时间序列数据库允许针对标签查询一样。

TimescaleDB 和其他分区工具(如 pg_partman )的区别之一是自动调整分区大小。尽管据报道,与基于PostgreSQL 10 分区的解决方案和 InfluxDB 相比,TimescaleDB 有更高的性能基准,但人们一直担心可维护性。在撰写本文时,TimescaleDB 的集群部署仍处于开发阶段。

TimescaleDB 是托管在 GitHub 上的开源软件。

阅读英文原文: High Volume Space Exploration Time-Series Data Storage in PostgreSQL   

感谢冬雨对本文的审校。

2018-10-23 05:272699
用户头像

发布了 199 篇内容, 共 90.0 次阅读, 收获喜欢 295 次。

关注

评论 1 条评论

发布
暂无评论
发现更多内容

读书笔记《一如既往》

酱紫的小白兔

Coremail私有云邮箱:筑牢企业数据安全防线

科技热闻

业务转型,你的团队该如何应对?

凌晞

团队管理 数字化业务转型IT路线图

【YashanDB知识库】outline固化执行计划

YashanDB

yashandb 崖山数据库

案例研究|为什么 CDG 会选择从 DataDog 迁移至观测云?

观测云

可观测性

天润融通,荣获2024中国AI应用层创新企业

天润融通

人工智能 天润融通

神仙级python入门教程(非常详细),从零基础入门到精通,建议收藏

没脾气

Python

What’s new in Apache/dubbo-getty 1.5.0

apache/dubbo-go

dubbo

Linux设备驱动系列(14) —— 使用全局工作队列

Linux内核拾遗

Linux内核 中断 工作队列

“专业敏捷教练课程” 7月6-7日 · CSP-SM认证上海线下面授周末班【晋升高阶享多重福利】

ShineScrum

敏捷教练 专业敏捷教练 敏捷教练认证

深度剖析集团型企业在新质生产力和数字化转型过程中面临的身份管理问题(二)

芯盾时代

iam 统一管理 统一身份 统一身份管理平台

Pika 主从数据同步状态指标 “repl_connect_status” 简介

apache/dubbo-go

redis Pika

跨越云端,华为云技术专家分享高效跨云迁移实践

华为云开发者联盟

云原生 华为云 数据迁移 华为云开发者联盟 企业号2024年6月PK榜

使用Python实现深度学习模型:序列到序列模型(Seq2Seq)

华为云开发者联盟

Python 人工智能 华为云 华为云开发者联盟 企业号2024年6月PK榜

ApsaraMQ Copilot for RocketMQ:消息数据集成链路的健康管家

阿里巴巴云原生

阿里云 RocketMQ 云原生

小游戏应该如何创建一个元服务项目

FN0

鸿蒙卡片 元服务

广东人仁康一项技术通过国家科技成果评价达到国际先进水平平

极客天地

GitHub爆火标星127k!这份字节Python背记手册到底有什么魔力?

没脾气

Python 程序员 自学编程 python教程 python自学

惊了!字节大佬总结的这份《零基础学python神级笔记全彩版》真的太强了

没脾气

Python 程序员 自学编程 架构师 自学python

透明LED显示屏的未来发展趋势

Dylan

媒体 科技 LED显示屏 led显示屏厂家 市场

前端生成海报图技术选型与问题解决

vivo互联网技术

html2canvas 海报图生成 painter

PostgreSQL中的大容量空间探索时间序列数据存储_DevOps & 平台工程_Hrishikesh Barua_InfoQ精选文章