|
|
|
|
|
by jokethrowaway
704 days ago
|
|
Have you tried it in production?
It's absolute mayhem. Deadlocks were common; it uses a system of retries if the transaction fails; we had to disable transactions completely. Next step is either writing a writer queue manually or migrating to postgres. For now we fly without transaction and fix the occasional concurrency issues. |
|
Deadlocks are an application issue. If you built your application the same way with Postgres you would have the same problem. Automatic retries of failed transactions with specific error codes are a driver feature you can tune or turn off if you'd like. The same is true for some Postgres drivers.
If you're seeing frequent deadlocks, your transactions are too large. If you model your data differently, deadlocks can be eliminated completely (and this advice applies regardless of the database you're using). I would recommend you engage a third party to review your data access patterns before you migrate and experience the same issues with Postgres.