重构DatabaseEngine