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
 
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号