通过分析Online Judge系统目前的数据处理需求, 结合MySQL、 MongoDB、 Redis三个数据库的不同特性, 实现Online Judge系统多数据库应用。MySQL数据库理论成熟、 冗余度低、 安全性高, 适合处理结构化数据和具有较高安全要求的数据; MongoDB数据库存储方式灵活, 适合处理非结构数据和扩展可能性大的数据; Redis是高性能的key-value内存数据库, 适合处理热点数据, 还可以与Celery结合, 实现生产者-消费者模式, 处理并发问题。在对Online Judge系统进行多数据库应用之后, 实验效果良好。
|