-
Notifications
You must be signed in to change notification settings - Fork 63
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
Support multi-statement transactions #87
Comments
QuestionWhich use-case are you more interested in?
Atomicity
Because Data IngestThough transactions are one way of handling bulk ingest, this could also be addressed with better It's worth mentioning that a single PostgreSQL box does not scale well to many writers—no matter how many cores—due to existing issues with contention around buffer locking, etc. But because PhilosophyUltimately, |
The use case that has the most utility is a multi-statement transaction targeting the master and cascading to the child shards. However, the primary problem is that Anyone using a connection with autocommit disabled won't be compatible with any |
django and peewee use transactions by default as well and i am not even sure yet you are able to disable this behavior as it may be even a psycopg2 or psycopg2cffi thing. And i just rewrote the hole stack for postgres because mongodb sucks BADLY if you go over 100m rows. |
I think it would be easier to support multiple statements in 1 sql-string all targeting the same shard (all of them specifying the sharding column) at first. (my usecase) |
@jasonmp85 I have a use case for Multi-statement transactions targeting a single shard: I think voltdb is the only solution at the moment that scales like nosql and it is simple to implement. More info about ES+CQRS: |
Note in voltdb you have transactions only in 1 db-call (ex sending multiple sql-statements in 1 string) and not several strings like you can do with plain postgresql/mysql. Meaning, session is autocommit. |
@ddorian You are right about voltdb. Let's say it's possible to implement the optimistic lock in PL/pgSQL and pg_shard. I still have the problem that events_123 and optimistic_lock_123 tables are not on the same server. :-( |
Currently when attempting to execute a query within a transaction, the following output is produced:
Since transactions are not supported, and only single
INSERTS
are allowed, this makes data import incredibly slow. Further, this makespg_shard
completely unsuitable for use within a production environment where data integrity is important.The text was updated successfully, but these errors were encountered: