我正在使用Flask來製作一個小型webapp來管理一個小組項目,在這個網站上我需要管理參加者以及會議報告。我沒有時間進入SQLAlchemy,所以我需要知道將CSV用作數據庫可能是什麼壞事。使用CSV作爲Web應用程序的數據庫有問題嗎?
0
A
回答
1
3
只是不這樣做。
與CSV問題是...
一個,併發不可能:這意味着,當兩個人在同一時間訪問您的應用程序,也沒有辦法,以確保他們不」互相干擾,互相改變數據。使用CSV文件作爲後端時無法解決此問題。
b,速度:每當您對CSV文件進行更改時,都需要重新載入或多或少的整個文件。解析文件消耗了內存和時間。
數據庫是爲了解決這個問題。
但是我同意你不需要爲小應用程序學習SQLAlchemy。
您應該考慮輕量級替代品。
您在尋找的是ORM - 對象關係映射 - 誰將Python代碼轉換爲SQL併爲您管理SQL數據庫。
PeeweeORM和PonyORM。兩者都易於使用,並將所有SQL翻譯成Python,反之亦然。兩者都是免費供個人使用的,但如果您將Pony用於商業目的,則需要花錢。我強烈推薦PeeweeORM。您可以開始使用SQLite作爲Peewee的後端,或者如果您的應用程序變得更大,則可以輕鬆插入MySQL或PostGreSQL。
0
我認爲只要你從中抽象出來就沒有問題。即確保你在你寫的內容和你如何實現我之間有一個清晰的分隔。這會讓代碼膨脹一點,但它會確保您可以在幾天內交換CSV存儲。
I.e.假裝你可以保存你的數據,就好像你將它保存在內存中一樣。不要在你的應用程序中寫入「openCSVFile」。使用initPersistence()。不要寫「csvFile.appendRecord()」。使用「persister.saveNewReport()」。如果你真的認識到CSV是一個瓶頸,你可以寫一個新的persister插件。
還有一些額外的好處,比如你不必在測試中使用模擬庫來提高速度。你只是提供另一個持卡人。
相關問題
- 1. 可能的Web應用程序數據庫性能問題
- 2. Flex Web應用程序可以訪問sqlite數據庫嗎?
- 3. 離線iPad Web應用程序 - 數據庫/ WordPress問題
- 4. PostgreSQL與JDBC或Hibernate的Web應用程序使用CSV數據
- 5. 使用.mdf數據庫的C#應用程序部署問題
- 6. Web應用程序:路徑有問題?
- 7. 如何開發使用Hadoop作爲數據庫的ASP.NET Web應用程序?
- 8. 使用django web應用程序將csv文件導入到mysql數據庫
- 9. 數據庫設計web應用程序
- 10. Web應用程序數據庫
- 11. Web應用程序數據庫ECONNRESET
- 12. 在應用程序中使用現有的sqlite數據庫的問題
- 13. Ruby:使用csv作爲數據庫
- 14. 使用Excel作爲Android應用程序的數據庫
- 15. 使用Redis作爲Rails應用程序中的主數據庫
- 16. 從web應用程序調用應用程序時的問題
- 17. Web應用程序:管理用戶訪問數據庫
- 18. 有用的Java Web應用程序庫
- 19. ui5應用程序中附件的問題,Notes數據庫作爲後端
- 20. Visual Studio應用程序的數據庫訪問問題
- 21. 如何使用Firebase實時數據庫的Web應用程序
- 22. 如何保存數據庫使用jsp的web應用程序
- 23. 同時訪問Web應用程序中的數據庫
- 24. 如何爲Web應用程序和Android應用程序創建雲數據庫
- 25. NetBeans中的Web應用程序問題
- 26. Web應用程序架構的問題
- 27. Web應用程序的問題
- 28. 實體框架作爲Web應用程序速度問題
- 29. 使用valgrind下的framewave庫運行程序有問題嗎?
- 30. 從Web應用程序連接到SQL數據庫的問題(Win7 x64主機)
沒有併發性,慢/很難更新行,不能做查詢? – Fabricator