有沒有一種方法可以將真實數據庫(SQLite,Mysql甚至某些非關係數據庫)用作開發數據存儲,而不是提供的內存/文件數據存儲。我看到幾個項目,GAE-SQLite(似乎沒有工作)和一個關於使用遠程api訪問生產數據存儲的提示(對於大型數據集仍然很慢)。更快的應用程序引擎開發數據存儲替代
回答
MongoDB非常適合這種情況。你將需要:
- MongoDB的存根:http://github.com/mongodb/mongo-appengine-connector
- 的MongoDB:http://www.mongodb.org/display/DOCS/Downloads
- 一些代碼來設置它像:
代碼:
import datastore_mongo_stub
os.environ['APPLICATION_ID'] = 'test'
datastore = datastore_mongo_stub.DatastoreMongoStub(
os.environ['APPLICATION_ID'], 'woot', '', require_indexes=False)
apiproxy_stub_map.apiproxy.RegisterStub('datastore_v3', datastore)
但是,如果你我正在尋找真正的更快的開發(就像我一樣),數據存儲實際上不是問題是單線程的Web服務器。 I tried to replace it with spawning但這太難了。你也可以嘗試設置TyphoonAE,這將模擬帶有開放選擇的appengine堆棧。
請注意,如果您執行其中的任何操作,您可能會失去當前工具提供的某些確切行爲,這意味着如果部署您可能會得到您沒有預料到的結果。換一種說法;確保你知道你在做什麼:-)
Koen感謝,這是我所尋找的最接近的東西,不幸的是管理控制檯是沒用的,因爲Schema內省沒有實現,我正在尋找一個可以用來查看的GUI工具至少有數據 – 2010-01-22 19:25:32
好的,還有一些其他的指針,有一個人創建了一個SQLite存根:http://blog.appenginefan.com/search/label/SQLite。我很確定他是否完成了它,但是也許你可以讓它工作,對於SQLLite應該有足夠的GUI瀏覽器,但要記住,數據模型並不是非常可瀏覽的,因爲它模仿了一個鍵值存儲,然後我又做了一個新的appengine發展和從未真正需要的數據一個瀏覽器,但也許這是一種風格的東西。祝你好運:-) – 2010-01-22 20:35:10
哦,並考慮到這個問題,databrowser應該使用任何存根,因爲它使用正常的數據存儲區api。所以,如果它不能立即使用,它不應該很難解決。 – 2010-01-22 20:36:53
bdbdatastore是一個替代數據存儲後端,它比內置於開發服務器的數據存儲後端更好,儘管在處理大型應用程序時數據存儲遠遠不是開發服務器的唯一問題。
不幸的是,它很不合時宜,我試圖將補丁應用到SDK 1.3,但補丁相當大在沒有理解所有底層代碼的情況下修復這個問題 – 2010-01-22 04:42:40
Google App Engine SDK for Python現在捆綁了對SQLite的支持。有關更多信息,請參閱official docs。
- 1. 如何處理數據存儲索引應用程序引擎?
- 2. 谷歌應用程序引擎數據存儲多維數組
- 3. 貯藏RSS pubdate的在應用程序引擎數據存儲
- 4. 谷歌應用程序引擎存儲
- 5. 在谷歌應用程序引擎中使用數據存儲
- 6. 谷歌應用程序引擎dev_appserver 1.9刷新數據存儲
- 7. 應用程序引擎數據存儲區不一致?
- 8. 谷歌應用程序引擎(JAVA) - 在數據存儲
- 9. 應用程序引擎JPA數據存儲刪除實體
- 10. 如何將數據存儲在谷歌應用程序引擎
- 11. 谷歌應用程序引擎只作爲數據庫存儲
- 12. 谷歌應用程序引擎數據存儲工作奇怪
- 13. 谷歌應用程序引擎 - 數據存儲 - GQL查詢
- 14. 谷歌應用程序引擎從數據存儲刷新後
- 15. 谷歌應用程序引擎Python數據存儲
- 16. 谷歌應用程序引擎數據存儲
- 17. 谷歌應用程序引擎:在數據存儲
- 18. 谷歌應用程序引擎數據存儲查詢
- 19. 應用引擎數據存儲實現
- 20. 應用程序引擎上的故障安全數據存儲更新
- 21. Google應用程序引擎數據存儲 - 聚合函數和組合的任何替代方法?
- 22. 從谷歌應用程序引擎數據存儲刪除和更新
- 23. 開發服務器上的應用引擎數據存儲區統計信息
- 24. 爲什麼是MyISAM存儲引擎比InnoDB存儲引擎更快
- 25. 用於小型C#桌面應用程序的數據庫引擎替代品
- 26. 在Google應用引擎數據存儲區中保存數據
- 27. 應用程序開發中的數據永久存儲
- 28. 如何查看谷歌應用程序引擎數據存儲上的應用程序數據?
- 29. 谷歌應用程序引擎的Python - 使用數據存儲區
- 30. UnicodeEncodeError谷歌應用引擎數據存儲到BigQuery過程
爲什麼?你會獲得什麼優勢? – 2010-01-22 02:13:47
開發更簡單,SDK附帶的開發數據存儲實施起來太慢,即使只有幾百個實體也是如此。 – 2010-01-22 03:33:57
除了我下面的回答,我沒有遇到你提到的大量實體的顯着減速。 – 2010-01-22 09:59:00