Store is a generic interface exposed by DataHandlerContext at .store. It is used in the batch handler to persist data. Its concrete type is inferred from the Database argument of the run() processor method:
Database implementation supplied here defines the store and the way the processor persists its status. Squid SDK supports Database implementations for:
Support for more databases and analytics storage will be added in the future.
Custom Database
A custom implementation of the Database interface is the recommended solution for squids with multiple data sinks and/or for non-transactional or non-relational databases. In such a case, the inferred Store facade exposed to the handlers may provide multiple targets for persisting the data. Database.transact should handle potential edge-cases when writes to either of the data sinks fail.
In order to implement a custom data sink adapter, it suffices to implement the Database interface:
- persisting the indexing status
- opening and rolling back the transaction (if applicable)
- (Transactional) Postgres-based TypeormDatabase
- (Non-transactional) File-based database

