有时,最好坚持你所熟悉的。对于无数需要将数据存储在传统关系数据库系统中的开发者、数据库管理员、分析师和其他人员来说,PostgreSQL 就是这样的系统。但是,随着对数据库的需求增长,支撑它们的基础软件也必须随之发展。
现代数据库需要在多个系统之间实现并发,用户期望数据能够快速、轻松且无故障地同步。要使用 PostgreSQL 实现这一点,需要教老狗一些新把戏。认识一下 TransLattice,这是一家专注于分布式 SQL 数据库的公司,最近收购了 StormDB,一家现代数据库技术的创新者。
为了给 Postgres 带来一些现代增强功能,TransLattice 今天宣布开源 Postgres-XL,它是基于从 StormDB 收购的技术。Postgres-XL 是一个集群化的并行 SQL 数据库,专为在线事务处理 (OLTP) 和大数据分析而设计。我与 TransLattice 的 CEO Frank Huerta 和首席架构师 Mason Sharp 进行了交谈,以更多地了解 Postgres-XL 及其对开源社区的意义。
请简单介绍一下 Postgres-XL 让你感到兴奋的地方以及它的由来。
对于 Postgres-XL,我们所做的工作是基于 StormDB 和 Postgres。Postgres 具有用于数据库并发的多版本并发控制模型。为了使数据库在系统集群中保持一致性,我们将该管理从核心数据库中分离出来,并使其成为一个额外的组件。这样,在整个集群范围内,您始终可以获得数据的一致视图,这样做还可以实现 OLTP 写入可扩展性,因此不仅是读取,而且我们可以在多个节点上扩展写入。此外,在数据节点级别,我们进行了一些更改,使它们可以相互交互。我们允许大规模并行处理 (MPP),其中查询可以并行化。因此,我们可以利用集群中的所有资源来更快地处理查询。
Postgres 是一个出色的通用数据库。还有其他数据库专注于写事务,或者人们使用 Hadoop 处理大量数据。Postgres-XL 利用了这种出色的通用功能并对其进行了扩展,使其可以处理混合工作负载环境中的各种工作负载。
有哪些示例类型的应用程序或用例可能会让人有兴趣使用 Postgres-XL?
正如我们之前强调的那样,它可以为大数据分析进行并行化,例如,金融服务,或者一家安全公司,该公司获取大量流量数据并希望找到一种分析方法。或者对于 OLTP 写入密集型工作负载,例如,我们正在与一家在线广告公司交谈,他们需要跟踪大量的展示次数和点击次数。在混合工作负载中,您可能会有不同类型的活动同时进行。
您还可以使用它来整合来自各种来源的数据,就像在操作数据存储中一样。由于具有 Postgres 的传承,实际上支持 JSON 数据类型,因此它正在做人们使用 NoSQL 数据库所做的常见事情。Postgres 实际上内置了该功能,因此我们可以利用它。类似地,我们可以为您提供跨多个服务器的键值存储,而不会牺牲一致性。
此外,利用 Postgres 的传承,还有 PostGIS,它增加了强大的地理空间功能。您也可以直接插入它;如果您有大量的 GPS 数据、大量的地理位置数据,那么处理所有这些数据可能需要大量的计算。现在,您可以利用集群中的多台服务器来更快地处理这些数据。
此外,我们在设计它时考虑到了,如果您有传统的硬件资源,并且不同的应用程序正在使用它,它们的工作负载在不同时间可能会有所不同,并且可能是突发性的,因此您可以拥有这个机器集群,其中有多个数据库分散在这些服务器上。同时,我们希望使其更安全一些,因此在默认的 Postgres 中,您可以了解其他数据库和用户的命名空间是什么。因此,我们锁定了它,以更好地支持多租户,并添加了额外的统计信息和跟踪功能,以了解所有数据库中正在发生的事情。这也使其可用作托管数据库解决方案。
为什么你们决定开源这项技术?
我们认为回馈社区非常重要,这个社区推动了我们在 TransLattice 所做的一切。无论如何,我们都将把这项技术中的一部分应用到我们的产品中。我们正在与合作伙伴合作,为这项技术提供服务,我们也将提供这些服务。
您是否希望这将成为一个社区项目,并且您将收到来自组织外部用户的提交?
是的,当然!已经有几家顶级的 Postgres 咨询公司表示,他们将为该项目做出贡献。我们也与更大的 Postgres 社区的成员进行了一些对话,看来会有人为它做出贡献。我们的根基在 Postgres,所以回馈代码是我们已经在做的事情。
2 条评论