python web的数据库框架

python web的数据库框架

前面说到两种数据库是各有优点各有所长的。对于python来说,大多数的数据库引擎都是有对应的数据包的。Flask框架并不限制使用哪一种数据库,因此是可以根据需要自由选择SQL抑或是NoSQL。

对于稍后的学习,由于我们的只是学习版的小程序,所以选择哪一种都是很好的,不会有什么性能影响。

常用的SQL数据库框架有:MySQL,cx_Oracle,Postgres,SQLite等

常见的NoSQL数据库框架有:Redis,MongoDB,CouchDB等。

当然,如果不想用传统的数据库框架,python还提供了数据库抽象层代码包,如SQLAlchemy和MongoEngine。使用这些抽象包可以直接处理高级的python对象,而不需要处理表等数据库实体。

python web的数据库框架

对于如此多的选择,在Flask项目中,我们在使用前应该考虑什么因素呢?

易用性:显然使用ORM抽象层明显是比直接操作数据库要更简单,可以使我们在不知不觉的情况下,把高层的面向对象操作转换成低层的数据库指令。如果易用第一,则选择ORM方式的。

性能:从来,任何事都是有代价的,ROM抽象层易用的同时,必定带来了额外的开销,虽然,多数情况下,这种开销使得效率降低很微小,但是某些情况却不是如此,另外,直接操作数据库底层,会有更高的控制自由度,利于优化,所以,当效率第一时,选择传统数据库框架比较好。


分享到:


相關文章: