Support for Postgres as database #443

Closed
opened 2022-12-10 08:50:35 +00:00 by italypaleale · 1 comment

With garage 0.8, I see support for SQLite was added. Any chance you can consider adding Postgres too?

I agree with the docs that I would not use SQLite for garage, as it doesn't really do concurrency and it's sort-of frail. But, Postgres has exceptional performance and reliability.

With garage 0.8, I see support for SQLite was added. Any chance you can consider adding Postgres too? I agree with the docs that I would not use SQLite for garage, as it doesn't really do concurrency and it's sort-of frail. But, Postgres has exceptional performance and reliability.
Owner

Using Postgresql as a database storage in Garage would be suboptimal in many regards:

  • Garage is meant to be self-contained and uses only embedded database engines; using an external database server breaks this principle and adds more possible failure modes that have to be accounted for;
  • Garage's metadata storage is just key/value pairs, SQL is overkill for this and would lead to increased complexity but reduced performance;
  • Garage neads to access many key/value pairs very fast, and storing these in an external daemon would greatly impact its performance.

If you are targetting the best possible performance with Garage, I recommend you use the exceptionnal LMDB database as a storage back-end.

Using Postgresql as a database storage in Garage would be suboptimal in many regards: - Garage is meant to be self-contained and uses only embedded database engines; using an external database server breaks this principle and adds more possible failure modes that have to be accounted for; - Garage's metadata storage is just key/value pairs, SQL is overkill for this and would lead to increased complexity but reduced performance; - Garage neads to access many key/value pairs very fast, and storing these in an external daemon would greatly impact its performance. If you are targetting the best possible performance with Garage, I recommend you use the exceptionnal LMDB database as a storage back-end.
lx closed this issue 2022-12-10 09:22:56 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/garage#443
No description provided.