Right now we use Postgres to store the index but using an embedded database such as SQLite makes more sense because of the following reasons:
No Server Required: SQLite is an embedded database, meaning it runs in the same process as the indexer and doesn't require a separate server to be installed, configured, or managed.
Zero Configuration: Since SQLite is serverless, it requires no configuration files or startup processes.
Optimized for Read-Heavy Workloads: SQLite is highly efficient for read-heavy operations, which is typical in indexers that frequently read data to fulfill queries.
Single File Database: SQLite stores an entire database, including the schema, tables, indexes, and data, in a single file.
Small Footprint: SQLite has a very small code footprint which makes it ideal for us.
Tasks:
[ ] Add sqlite as a dependency
[ ] Install TypeOrm dependencies for SQLite
[ ] Uninstall Postgress dependencies
[ ] Update entity if required
[ ] Miscellaneous changes (updating configs, etc)
The data should be persisted in ~/.silent-pay-indexer/db
Right now we use Postgres to store the index but using an embedded database such as SQLite makes more sense because of the following reasons:
Tasks:
The data should be persisted in
~/.silent-pay-indexer/db