QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:272558
用户头像

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

关注

评论 1 条评论

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

打破工业发展瓶颈,华为云赋能工业企业转型成效显著!

科技之光

Dubbo 3 之 Triple 流控反压原理解析

Apache Dubbo

Java 开源 微服务 gRPC dubbo

墨菲安全软件供应链安全产品v3.0正式公测之产品特性简介及用户升级说明

墨菲安全

软件成分分析 开源安全 墨菲安全 软件供应链安全

建木v2.6.2发布

Jianmu

开源 DevOps 持续集成 低代码 CI/CD

2022,我们追逐群星,也在追逐AIGC的无尽可能

脑极体

华为云CDN,助力安全企业下载服务,更好提升用户体验

路过的憨憨

打造全链数据营销服务,华为云助力车企业务增值

科技之光

华为云大数据-助力数据价值化,释放企业发展潜能

科技之光

数字化转型如何更方便?华为云大数据BI解决方案来了!

科技之光

Pg数据库日常维护操作指南

查拉图斯特拉说

数据库 postgresql PgSQL

华为云CDN提升网站响应速度,让下载快人一步

路过的憨憨

企业数字化转型难?华为云大数据BI帮你一站式上云

科技之光

启科量子部署工具 Runtime 正式开源

启科量子开发者官方号

部署 量子

AI for Science的上半场:人工智能如何重新定义科学研究新范式?

脑极体

公司刚来的阿里p8,看完我构建的springboot框架,甩给我一份文档

钟奕礼

程序员 Java 面试 Java、 java 编程

既要速度与激情,也要稳定和安全,华为云CDN让你速度和安全兼得

路过的憨憨

如何快速建立商业智能系统?华为云告诉您!

科技之光

云原生、20.3k Star......时序数据库 TDengine 的 2022 年精彩纷呈

TDengine

数据库 tdengine 开源 时序数据库

刷完200+大厂Java真题手册,成功拿到阿里,京东,美团的offer

钟奕礼

程序员 Java 面试 Java、 java 编程

蚂蚁金服Java研发岗二面:说说HashMap 中的容量与扩容实现

钟奕礼

程序员 Java 面试 Java、 java 编程

华为云CDN加速服务,引领企业数字化发展潮流!

路过的憨憨

【12.23-12.30】写作社区优秀技术博文回顾

InfoQ写作社区官方

热门活动

10 万字节Spring Boot +redis详细面试笔记(带完整目录)免费分享

钟奕礼

程序员 Java 面试 Java、 java 编程

存储无忧!华为云OBS为企业数据存储保驾护航

科技怪授

OBS

【华为云大数据BI】做好数据化管理,加快企业数字化转型的节奏

科技之光

「复享光学」用深度光谱技术推动光与电的变革

硬科技星球

这88道阿里高级岗面试题,刷掉了80%以上的Java程序员

钟奕礼

编程 程序员 Java 面试 Java、

备受企业青睐的华为云CDN优势到底在哪?

路过的憨憨

暴雪、迪士尼大佬用什么画画?RayLink远控软件助力解锁远程创作

RayLink远程工具

远程控制软件 远程办公软件 远控软件 RayLink

接口自动化测试不想写代码?这款工具强烈推荐

叶小柒

测试 Postman

我坦白→低代码功能我有,SQL练习题、数据可视化、数据填充助你高效

非喵鱼

sql 低代码 可视化 eCharts 数据库·

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