我期待爲CouchDB提供一些免費主機。授權部分非常簡單(用戶可以訪問1個數據庫),但我想知道是否有任何簡單的方法爲該數據庫/用戶分配空間配額。CouchDB上的多主機配額
3
A
回答
3
CouchDB本身不支持配額,因此您可能需要一些自定義配置。
您可以使用CouchDB的一小部分或相關託管軟件自己執行它,並使用CouchDB返回的使用情況信息。自1.2版以來,CouchDB不僅指示磁盤使用情況,還指出「數據」大小,不包括元數據和舊數據。
0
我通過將Linux inotify支持與只讀couchdb驗證功能結合在一起來解決此問題。
這樣,我把它的工作是這樣的:
我與顯示器寫了inotify的程序(蟒蛇,在我的情況)的所有訪問在/ var/lib中/ CouchDB的/ foo的每個文件。長椅。每次訪問都會一起進行批處理,直到達到時間窗口。
當窗口到達時,我在數據庫本身查詢沙發的「info」API,詢問數據庫的當前大小是多少。
如果數據庫在配額範圍內,我針對有問題的數據庫安裝驗證功能設計文檔,用於阻止新寫入並因此遵守配額。 (分配配額本身是對讀者的練習)。
注意:只有當a)附件被刪除時,CouchDB數據庫纔會收縮,並且b)您還記得壓縮數據庫。否則,如果沒有這兩個數據庫,數據庫的大小將只會隨着新文檔的添加而持續增長。如果你達到了足夠數量的刪除點,但用戶仍然用盡了配額,那麼你實在別無選擇,只能複製到一個新的數據庫並銷燬舊的數據庫。
- 如果數據庫文件DOES縮小(如上所述),則刪除驗證函數並允許對數據庫進行新的寫操作。
但是,至少,上述解決方案可以讓您放心,在下一段時間採取行動之前,永遠不會用完磁盤空間。
相關問題
- 1. Tomcat配置 - 多臺主機
- 2. 編譯多個主機上
- 3. 本地主機和真實主機上的配置成員
- 4. 主機上的asp.net配置錯誤
- 5. 主鍵和CouchDB
- 6. 本地主機上的多個虛擬主機進行開發
- 7. xdebug中的配置參數允許遠程機器上的多個主機
- 8. nginx多域虛擬主機配置
- 9. 標籤主機中的額外行
- 10. apache上的多個ssl虛擬主機
- 11. 一臺電腦上的多個主機
- 12. 共享主機上的多個web.config
- 13. 多臺主機上的並行rsync
- 14. 在centos7上爲多個虛擬主機配置apache
- 15. 在一個Dotcloud PHP服務上配置多個主機
- 16. Windows Azure上的配額
- 17. 在apache2上配置虛擬主機
- 18. 在tomcat上配置虛擬主機
- 19. 在Apache上配置虛擬主機
- 20. app_identity_service.GetAccessToken()需要比可用配額更多的配額
- 21. 磁盤配額已超出,但我的配額是多少?
- 22. 如何在opennebula上配置新的主機和虛擬機?
- 23. 很多服務器上的couchdb複製
- 24. 在ASP.NET 4.0主機上的主機.NET MVC 3網站主機
- 25. 同一主機上有多個節點?
- 26. 用ant-scp上傳到多主機
- 27. 在多宿主機器上部署webservices
- 28. 主機中任務的分配/分配
- 29. 在GCP中爲Google Apps腳本配額購買更多配額
- 30. 主機推薦對於「與外部代理的CouchDB」模型