We need to update the current internal approach of using a list of dicts as a database to a real database system by integrating DuckDB.
Goal:
- Store experiment history reliably with DuckDB.
- The logger should act as an interface between each experiment run and the DuckDB database.
Scope:
- Replace the in-memory list-of-dicts storage with DuckDB for tracking and persisting experiment history.
- Refactor the logger to interact with DuckDB, ensuring it still provides all existing logging functionalities via an updated database interface.
Acceptance Criteria:
- All experiment history is stored in DuckDB instead of a list of dicts.
- The logger exposes an interface compatible with current experiment code, but writing/reading to/from DuckDB.
- Migration script (if necessary) to port the current list-of-dicts experiment history to DuckDB format.
- Documentation updated to reflect the new architecture.
Benefits:
- Scalable, durable experiment history storage
- Easier querying and analysis of experiment results
- Cleaner logger/database separation
Follow-up tasks may include leveraging advanced DuckDB capabilities for statistics or results querying.
We need to update the current internal approach of using a list of dicts as a database to a real database system by integrating DuckDB.
Goal:
Scope:
Acceptance Criteria:
Benefits:
Follow-up tasks may include leveraging advanced DuckDB capabilities for statistics or results querying.