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

The SQLite database is hard to manage in production #565

Open
pietroalbini opened this issue Apr 6, 2021 · 1 comment
Open

The SQLite database is hard to manage in production #565

pietroalbini opened this issue Apr 6, 2021 · 1 comment

Comments

@pietroalbini
Copy link
Member

Crater currently relies on a single SQLite database for all its storage needs, but that's starting to be problematic in production:

  • The database keeps growing, as we store all the logs on it and we don't actually remove them once an experiment finishes. This causes the database to reach tens of gigabytes of size, which on an EBS volume slows down the performance of the DB.
  • The big and frequently accessed SQLite database prevents us from moving the Crater server on ECS, as storing the database on EFS would either be too expensive (when provisioning IOPS) or extremely slow (as queries would need to do network calls and I guess we would quickly run out of the burst IOPS).

The short term solution is to change Crater to proactively delete data (and possibly run VACUUM, even though that's been really slow in the past with our data size), but in the long term it'd be nice to migrate to PostgreSQL so that we can deploy Crater to ECS.

@Mark-Simulacrum
Copy link
Member

We now proactively delete logs, but we still have a fairly large SQLite database.

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

No branches or pull requests

2 participants