GlareDB / glaredb

GlareDB: An analytics DBMS for distributed data
https://glaredb.com
GNU Affero General Public License v3.0
700 stars 39 forks source link

[Epic] Support data source inserts #1143

Open scsmithr opened 1 year ago

scsmithr commented 1 year ago

Currently everything is read only.

To start, we can create the execution plans. Follow on work may be needed for if we want to mark data sources read-only, but this will likely coincide with some sort of permissions system.

Tasks

Data Sources

Questions

greyscaled commented 1 year ago

I think we hold off on permissions, or just error on inserts if we have credentials that don't have insert permissions. Will want to document this behavior in glaredb docs.

greyscaled commented 1 year ago

@vrongmeal might be working on postgres soon

greyscaled commented 1 year ago

We're holding off on this for now for other priorities. We can revisit, and start with Pg as POC.

We will likely wait for a request.

greyscaled commented 1 year ago

moving from 0.6.0 to https://github.com/GlareDB/glaredb/milestone/25

greyscaled commented 1 year ago

Question (as a user/dogfooder): I am using a Postgres data source that I explicitly want to be read-only. It's critical that I do not accidentally perform any mutations (insert, update, delete, drop, alter etc etc): I simply want to only select from this data source.

How can I best achieve that? And how might we consider this problem longer-term?

tychoish commented 8 months ago

I think we should handle insert-into-object store (e.g. globbed file datasources) as part of a different epic.

@vrongmeal and I have been talking about doing delta/iceberg as part of the current push on table-like data formats. in the near term.

This leaves bigquery and snowflake, mostly. I'm not sure exactly what the right answer is for bigquery (aside from just writing to files in GCS?) and snowflake, which we could probably do relatively soon.

Otherwise we're continuing to make progress here.

tychoish commented 8 months ago

Just for an update on scope:

These things shouldn't block completion of this epic, which means the remaining scope on this ticket is: