OrioleDB–解决一些PostgreSQL的问题

2022-02-25 22:19:46

OrioleDB是PostgreSQL的一个新存储引擎,为世界带来了数据库容量、功能和性能的现代方法#39;最受欢迎的数据库平台。

OrioleDB包含一个扩展,基于创新的table accessmethod框架和其他标准Postgres扩展接口。通过扩展和增强当前的表访问方法,OrioleDB为未来更强大的存储模型打开了大门,这些存储模型针对云和现代硬件架构进行了优化。

专为现代硬件设计。OrioleDB设计避免了包含数十个和数百个CPU核心的现代服务器上遗留的CPU瓶颈,优化了SSD和NVRAM等现代存储技术的使用。

减少了维护需求。OrioleDB实现了undo Log和page mergins的概念,消除了对专用垃圾收集过程的需求。此外,OrioleDB实现了默认的64位transactionidentifiers,从而消除了众所周知且痛苦的环绕问题。

设计用于分发。OrioleDB实现了一个行级写日志,支持并行应用。此日志体系结构针对基于一致性的复制进行了优化,允许实现主动-主动多主机。

无缓冲区映射和无锁页面读取。OrioleDBare中的内存页通过直接链接连接到存储页。这消除了对缓冲区内映射及其相关瓶颈的需求。此外,在OrioleDB内存中,页面读取不会';不涉及原子操作。总之,这些设计决策将Postgres的垂直可扩展性提升到了一个全新的水平。

MVCC基于撤销日志的概念。在OrioleDB中,元组的旧版本不会在主存储系统中导致膨胀,而是被逐出到包含撤消链的撤消日志中。页面级撤销记录允许系统轻松地尽快回收被删除元组占用的空间。与佩奇·梅金斯一起,这些机制在大多数情况下消除了膨胀。也不需要专门清理表,从而消除了系统性能恶化和数据库中断的一个重要而常见的原因。

写入时复制检查点和行级WAL。OrioleDB在写检查点上使用透视功能,可随时提供结构一致的数据快照。这对现代SSD非常友好,并允许进行Row级别的WAL记录。反过来,行级WAL日志记录很容易并行化(完成)、紧凑,并且适合活动activemultimaster(计划)。

OrioleDB现在具有公共alpha状态。建议用于实验、测试、基准测试等,但不建议用于生产。如果你对OrioleDB'感兴趣;s的生产效益,请联系我们。

$git克隆https://github.com/orioledb/orioledb$cd orioledb$make USE_PGXS=1$make USE_PGXS=1安装$make USE_PGXS=1安装检查

在开始使用OrioleDB之前,请将以下行添加到postgresql。conf是必需的。此更改需要重新启动PostgreSQL数据库服务器。

完成上述步骤后,就可以开始使用OrioleDB';这是桌子。有关详细信息,请参阅使用说明文件。