在Python Web和Django开发过程中我们有必要根据不同的应用场景来选择非关系型的数据库(no-SQL)来提升网站性能。当我们的网站流量变得非常大时,从传统关系型数据库如MYSQL中读写数据会变得很消耗时间和计算资源。例如当MySQL单表数据达到5GB以上时,读写性能会有显著的下降,这时我们就需要考虑使用其它类型数据库来补充了。目前最流行的no-SQL数据库非MangoDB, Memcached和Redis莫属了。今天我们就来介绍下它们的区别及应用场景。
MangoDB
mongodb是文档型的非关系型no-SQL数据库,其优势在于查询功能比较强大,能存储海量数据。对于中小型网站而言,MySQL和其它关系型数据库完全能胜任,不需要使用MangoDB。对于大中型网站而言,MangoDB可以作为关系性数据库很好的补充。MongoDB由于侧重海量数据写入性能, 而非事务安全, 所以很适合存储业务系统中海量“低价值”的数据。对于事务要求很高的应用比如银行交易系统,MangoDB是不适用的。