Mastra 1.0 引入的 Composite Storage 允许为不同功能域配置独立的存储后端,取代了早期版本中单一存储的模式。开发者可以为 memory(记忆)、workflows(工作流)、scores(评估)等不同域指定最适合的数据库,如 Postgres、LibSQL、ClickHouse、MongoDB 等。
Mastra 提供多种官方存储适配器,包括 @mastra/pg(PostgreSQL)、@mastra/libsql(LibSQL/SQLite)、@mastra/mongo(MongoDB)等。每个适配器实现统一的存储接口,Composite Storage 通过 MastraCompositeStore 类管理多个适配器的协作。
Composite Storage 支持按表设置保留策略(retention: { maxAge })和多租户隔离(organizationId/projectId 作用域)。它还提供了安全、批量化、可恢复的 storage.prune() 方法用于数据清理。这种架构让成本、延迟和扩展性的权衡可以精确到具体功能域。