PostgreSQL列存扩展pg_mooncake使用教程

PostgreSQL列存扩展pg_mooncake使用教程

pg_mooncake Columnstore Table in Postgres pg_mooncake 项目地址: https://gitcode.com/gh_mirrors/pg/pg_mooncake

1. 项目介绍

pg_mooncake 是一个为PostgreSQL数据库设计的列存储扩展。它通过引入列存储和向量化执行(DuckDB)来加速PostgreSQL中的数据分析。列存储表可以存储为本地文件系统或云存储中的Iceberg或Delta Lake表。pg_mooncake 扩展由Mooncake Labs维护,并在Neon Postgres上可用。

2. 项目快速启动

2.1 使用Docker启动

首先,拉取Docker镜像:

docker pull mooncakelabs/pg_mooncake

然后,运行服务器容器:

docker run --name mooncake-demo -e POSTGRES_HOST_AUTH_METHOD=trust -d mooncakelabs/pg_mooncake

接下来,运行客户端容器连接服务器:

docker run -it --rm --link mooncake-demo:postgres mooncakelabs/pg_mooncake psql -h postgres -U postgres

2.2 从源代码编译启动

从GitHub克隆项目:

git clone --recurse-submodules https://github.com/Mooncake-Labs/pg_mooncake.git

编译并安装:

make release -j $(nproc)
make install

2.3 在Neon Postgres上使用

创建一个Neon项目,并启用beta扩展:

SET neon.allow_unstable_extensions = 'true';

3. 应用案例和最佳实践

3.1 创建列存储表

启用pg_mooncake扩展:

CREATE EXTENSION pg_mooncake;

创建一个列存储表:

CREATE TABLE user_activity (
    user_id BIGINT,
    activity_type TEXT,
    activity_timestamp TIMESTAMP,
    duration INT
) USING columnstore;

插入数据:

INSERT INTO user_activity VALUES
(1, 'login', '2024-01-01 08:00:00', 120),
(2, 'page_view', '2024-01-01 08:05:00', 30),
(3, 'logout', '2024-01-01 08:30:00', 60),
(4, 'error', '2024-01-01 08:13:00', 60);

查询数据:

SELECT * FROM user_activity;

3.2 使用云存储

默认情况下,列存储表数据存储在本地文件系统。可以通过配置mooncake.default_bucket来使用S3或R2云存储。

4. 典型生态项目

  • PostgreSQL: pg_mooncake 依赖于PostgreSQL数据库。
  • DuckDB: 用于向量化执行。
  • Iceberg: 用于列存储表的存储格式之一。
  • Delta Lake: 另一种用于列存储表的存储格式。

以上就是pg_mooncake的基本使用教程,希望对你有所帮助。

pg_mooncake Columnstore Table in Postgres pg_mooncake 项目地址: https://gitcode.com/gh_mirrors/pg/pg_mooncake

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

穆璋垒Estelle

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值