Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement full PG TAM #80

Open
dpxcc opened this issue Jan 14, 2025 · 2 comments
Open

Implement full PG TAM #80

dpxcc opened this issue Jan 14, 2025 · 2 comments
Assignees
Labels
Milestone

Comments

@dpxcc
Copy link
Contributor

dpxcc commented Jan 14, 2025

What feature are you requesting?

Implement full PG Table Access Method (TAM) for columnstore tables to enable reading/writing of columnstore tables within PG

Why are you requesting this feature?

In pg_mooncake v0.1.0, queries involving columnstore tables are fully pushed down to DuckDB. While this approach is often fine and performs better than executing the query in PG, there are limitations due to feature gaps. Although DuckDB is largely compatible with PG, it lacks support for several features, such as RCTEs, triggers, and others

What is your proposed implementation for this feature?

Develop a full PG TAM for columnstore tables, allowing PG to natively read and write these tables. Currently, most of the TAM routines for columnstore tables are not implemented

In this model, we build a storage layer with data files stored in an object store and metadata managed in PG with transactional support. Both PG and DuckDB can read from and write to this shared storage layer. At the planner stage, we use DuckDB as a speedy execution engine and push down as much computation to it as possible. Operators that cannot be executed in DuckDB seamlessly fall back to PostgreSQL, ensuring maximum compatibility

For the initial version, implement TAM in PG based on the already built shared storage layer, allowing queries to be executed entirely in either PostgreSQL or DuckDB. Fine-grained planning can be introduced as a follow-up task in the future

@dpxcc dpxcc added the feature label Jan 14, 2025
@dpxcc dpxcc added this to the 0.2.0 milestone Jan 14, 2025
@ritwizsinha
Copy link

@dpxcc please assign

@ritwizsinha
Copy link

This might be a bigger change and might take some time, please inform me if my progress is slow and this needs to be released earlier, I'll try to expedite

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants