2016-12-05 51 views
1

我已經更改了服務器映像的配置。我已經用新配置啓動了一臺服務器。我可以使用mlcp副本將所有數據從一臺服務器移植到另一臺服務器(請參閱前面的類似腳本)。我相信在交易發生時我不能允許編輯數據。這是從複製開始,到新服務器重新連接時,我無法在舊服務器上編輯數據。一旦複製開始發生,我只能讀取數據。是否有可能通過mlcp不斷更新MarkLogic服務器,而無需停機或停機時間最短?

是否可以使用mlcp推送更新?我可以在服務器上進行編輯,而數據正在傳輸,並且仍然保持數據的一致性?

# moves all data in databases from a server to another server 
# usage: ./copy.sh someServer.com anotherServer.com 
from=$1 
to=$2 

# input security database first so that the users are added 
mlcp.sh copy -mode local -input_host $from -input_port 8000 \ 
    -input_username admin -input_password password \ 
    -input_database Security \ 
    -output_database Security \ 
    -output_host $to -output_port 8000 -output_username admin \ 
    -output_password password 

mlcp.sh copy -mode local -input_host $from -input_port 8000 \ 
    -input_username admin -input_password password \ 
    -input_database Documents \ 
    -output_database Documents \ 
    -output_host $to -output_port 8000 -output_username admin \ 
    -output_password password 

回答

3

MLCP提供snapshot標誌,以確保整個運行給出了一致的結果:

-snapshot <true,false>    Whether to use a consistent 
            timestamp to fetch data from the 
            source database 

應該都exportcopy工作。

關於推送更新:您可以重複MLCP copy,但在停電期間工作可能更容易;您不允許系統更新的時期。您可以通過在源端將森林置於只讀模式來強制執行該操作。

或者,您也可以考慮數據庫複製。瞭解更多關於這本指南:

http://docs.marklogic.com/guide/database-replication

HTH!

+0

我同意喬丹要求的東西似乎是數據庫複製 –

相關問題