orioledb pg 存储引擎

orioledb 是社区开发的一个新的pg 存储引擎,主要是为了解决现在pg 的一些问题,官方共享的一个ppt 还是值得学习的(以下链接中)
以下是一个简单的学习使用

orioledb 特性

  • 支持现代硬件,orioledb 更加适合sdd 以及nvarm ,可以更好的解决cpu瓶颈问题
  • 减少维护,orioledb 实现了undo log 以及page merge
  • 支持分布式,orioledb 实现了基于row 的write-ahead log 支持并行,同时log 架构是基于raft 的,可以实现主主多master 架构
  • 无buffer mapping 以及无锁的page 读
  • mvcc 基于了undo log 可以减少vacuum 的问题
  • 基于copy-on-write 的checkpoints 以及row 级的wal,可以更好的支持并行以及多主架构
  • 同时也支持压缩的

环境准备

  • docker-compose
 
version: '3'
services:
  app:
    image: orioledb/orioledb
    environment:
    - "POSTGRES_PASSWORD=dalong"
    ports:
    - "5432:5432"
  • 启动使用
docker-compose up -d
  • 使用
    因为orioledb 是做为了一个pg 扩展,使用使用起来比较方便
 
CREATE EXTENSION orioledb;
CREATE TABLE appdemo (
    id integer GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
    name text
) USING orioledb;

存储内置表效果

 

 

  • 注意事项
    如果需要自己编译的话,注意因为orioledb 并不是一个标准的pg 扩展,我们构建是需要打一些补丁的

说明

目前orioledb 还处于alpha 阶段,同时基于了pg license 发布(可能会调整。。。。),还是比较期待ga 的

参考资料

https://github.com/orioledb/orioledb
https://www.slideshare.net/AlexanderKorotkov/solving-postgresql-wicked-problems
https://github.com/orioledb/postgres
https://github.com/orioledb/orioledb/blob/main/doc/usage.md

posted on 2022-08-13 18:50  荣锋亮  阅读(351)  评论(0编辑  收藏  举报

导航