2012-04-23 143 views
1

我有一個要求,當主數據庫和索引存儲磁盤已滿時,請保持RavenDB數據庫運行。我知道我可以配置提供一個驅動器的存儲與配置選項 - 烏鴉/ IndexStoragePathRavenDB磁盤存儲

但我需要設計的時候這個磁盤已滿的角落情況。在這種情況下使用的通常模式是什麼。一種方法是停止所有訪問,同時關閉服務並以編程方式更新配置文件,然後啓動服務 - 但這有點危險。

我知道分片和這個問題是不相關的,假設分片是啓用,我有多個分片,我想增加每個分片的存儲增加一個新的驅動器。有沒有一個優雅的解決方案呢?

回答

0

user544550, 在磁盤已滿的情況下,RavenDB將繼續運行,但會拒絕接受進一步的寫入。 索引也會失敗,並最終將索引標記爲永久失敗。

你的實際情況是什麼? 請注意,在RavenDB中,索引往往比實際數據大小要小得多,所以磁盤空間利用的主要原因實際上是主數據庫,而不是索引。

+0

對不起,我的問題是針對主數據庫和索引存儲。只是爲了澄清實際情況 - 我有一臺帶有N的設備(我們希望減少由於許可成本)ravenDB虛擬機的實例,不再有(由於Virtual Server Constraint)。所有虛擬機存儲(VHD)都使用NAS進行配置,因此我可以對存儲擴展很多,與擴展RavenDB實例的數量以擴展存儲空間不同。 – NiladriBose 2012-04-23 14:28:29

+0

我以前的評論的編輯版本 - 很抱歉,我的問題是針對主數據庫和索引存儲。只是爲了澄清實際情況 - 我有一臺帶有N的設備(我們希望減少由於許可成本)ravenDB虛擬機的實例,不再有(由於Virtual Server Constraint)。所有VM存儲(VHD)都使用NAS進行配置,因此我可以輕鬆便宜地擴展存儲,而不是擴大RavenDB實例的數量以擴展存儲。所以在這一點上,我想垂直縮放每個RavenDb。 – NiladriBose 2012-04-23 14:39:06

+0

換句話說,我知道最好的做法是水平加載(分片)而不是垂直加載數據。 – NiladriBose 2012-04-23 14:39:43