This repository has been archived by the owner on May 3, 2021. It is now read-only.
Create the db tables with InnoDB storage engine #169
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since the integrity of the
photos_table
and the rest of the tables is vital for running Lychee I suggest moving to the InnoDB storage engine.Using MyISAM is contraindicated as it's not crash safe(one can lose data when the under
lying database crashes) and it only supports table level locking(backup will cause longer lock).
The InnoDB is a modern storage engine that uses doublewrite buffer and redo log to achieve durability and crash safety.
Changing the storage engine doesn't need any application code changes.
The existing tables can be converted with
ALTER TABLE x engine=InnoDB;
This is a locking operation, but it won't take longer than a couple of seconds for a table with 10.000 rows, somebody with a really large (1 million photos) deployment might want to use pt-osc if having a downtime is not possible.