10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

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

关注

评论 1 条评论

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

LP流动性质押挖矿分红dapp系统开发合约定制

开发微hkkf5566

毕业回馈!Apache Doris 社区所有贡献者来领礼品啦!

SelectDB

数据库 数据湖 开源项目 apache doris 社区活动

A/B测试助力游戏业务增长

字节跳动数据平台

游戏开发 游戏 ab测试 游戏运营

AIOps落地五大原则(二):价值路线

BizSeer必示科技

覆盖接入2w+交通监测设备,EMQ为深圳市打造交通全要素数字化新引擎

EMQ映云科技

物联网 IoT 智慧交通 实践案例 6月月更

轻松实现微信滑动返回页面效果 | 社区征文

Changing Lin

android 安卓 自定义view 初夏征文

封装业务流程,解决复杂重复的审批流程配置

明道云

数商云X日本高化学,共同打造跨境化学品B2B平台新范式

数商云

数字化转型 b2b

我的远程办公经验 | 社区征文

坚果

初夏征文

2022淘宝天猫618背后的技术秘密

阿里巴巴大淘宝技术

异步容灾,AntDB的业务不间断数据恢复方案

亚信AntDB数据库

数据库 高可用 容灾 数据恢复

父亲节特辑丨童年经典蓝精灵之百变蓝爸爸数字藏品,限量发售!

百度开发者中心

力扣每日一练之数组中篇Day2

京与旧铺

6月月更

云上弹性高性能计算,支持生命科学产业高速发展、降本增效

阿里云弹性计算

HPC 高性能计算 生命科学 药物设计

从华为WeAutomate数字机器人论坛,看政企领域的“政务新智理”

王吉伟频道

RPA 数字化转型 华为WeAutomate 政务新智理 数字政府

钱大妈基于 Flink 的实时风控实践

Apache Flink

大数据 flink 编程 流计算 实时计算

自适应批作业调度器:为 Flink 批作业自动推导并行度

Apache Flink

大数据 flink 编程 流计算 实时计算

解密抖音春节红包背后的技术设计与实践

JackJiang

架构设计 短视频 社交产品

2021年4季度全国网络零售发展指数同比增长0.6%

易观分析

网络零售

客户案例|观测云助力合思信息升级新一代可观测平台

观测云

CRM快速开发平台:破解管理困局

力软低代码开发平台

链上智能合约Dapp系统开发部署搭建

薇電13242772558

区块链 智能合约

对讲功能在远程办公中的应用 | 社区征文

Changing Lin

初夏征文

8种桌面IDE CodeArts智能代码补全类型

华为云开发者联盟

云计算 代码 华为云

重新认识WorkPlus,不止IM即时通讯,是企业移动应用管理专家

BeeWorks

东方甄选双语直播火爆出圈,新东方转型初见端倪

易观分析

农业发展

前后端如何并行开发,云端mock了解一下

Liam

前端 前端开发 Mock Mock 服务 前端工具

2022华为全球校园AI算法精英大赛即将升级启航,等你来战,开拓未来边界

最新动态

如何把企业内部碎片信息系统化?

小炮

云原生多云管理利器 -- cluster-api 之 ControlPlane

Daocloud 道客

Kubernetes 云原生 多云管理 cluster-api ControlPlane

多任务视频推荐方案,百度工程师实战经验分享

百度开发者中心

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