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抽象層易用的同時,必定帶來了額外的開銷,雖然,多數情況下,這種開銷使得效率降低很微小,但是某些情況卻不是如此,另外,直接操作數據庫底層,會有更高的控制自由度,利於優化,所以,當效率第一時,選擇傳統數據庫框架比較好。


分享到:


相關文章: