日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)同步到MongoDB?(數(shù)據(jù)庫(kù)同步到momgodb)

在今天的數(shù)據(jù)驅(qū)動(dòng)的時(shí)代,數(shù)據(jù)的管理和處理變得越來(lái)越重要,因?yàn)閿?shù)據(jù)是現(xiàn)代企業(yè)成功的關(guān)鍵。因此,越來(lái)越多的企業(yè)傾向于使用數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)和管理其業(yè)務(wù)數(shù)據(jù)。然而,隨著業(yè)務(wù)的發(fā)展,這些數(shù)據(jù)庫(kù)存儲(chǔ)的數(shù)據(jù)數(shù)量也變得越來(lái)越龐大,以至于傳統(tǒng)的數(shù)據(jù)庫(kù)管理方法已經(jīng)無(wú)法滿(mǎn)足大規(guī)模數(shù)據(jù)的存儲(chǔ)和管理需求。這時(shí),NoSQL數(shù)據(jù)庫(kù)的出現(xiàn)成為了一個(gè)非常有效的解決方案。MongoDB是一種流行的NoSQL數(shù)據(jù)庫(kù),其具有高可擴(kuò)展性、高性能和良好的數(shù)據(jù)處理能力。因此,我們可以考慮將企業(yè)中的傳統(tǒng)數(shù)據(jù)庫(kù)同步到MongoDB,以減輕傳統(tǒng)數(shù)據(jù)庫(kù)的壓力,并更好地管理業(yè)務(wù)數(shù)據(jù)。

創(chuàng)新互聯(lián)公司成立十多年來(lái),這條路我們正越走越好,積累了技術(shù)與客戶(hù)資源,形成了良好的口碑。為客戶(hù)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)、域名申請(qǐng)、網(wǎng)絡(luò)營(yíng)銷(xiāo)、VI設(shè)計(jì)、網(wǎng)站改版、漏洞修補(bǔ)等服務(wù)。網(wǎng)站是否美觀(guān)、功能強(qiáng)大、用戶(hù)體驗(yàn)好、性?xún)r(jià)比高、打開(kāi)快等等,這些對(duì)于網(wǎng)站建設(shè)都非常重要,創(chuàng)新互聯(lián)公司通過(guò)對(duì)建站技術(shù)性的掌握、對(duì)創(chuàng)意設(shè)計(jì)的研究為客戶(hù)提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶(hù),共同發(fā)展進(jìn)步。

本文將介紹如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)同步到MongoDB。人們可以使用不同的技術(shù)和工具來(lái)實(shí)現(xiàn)這個(gè)過(guò)程,本文將著重介紹其中更流行的技術(shù)和工具,包括MongoDB的兩種驅(qū)動(dòng)程序、Kafka、Flume和Logstash等。

一、使用MongoDB驅(qū)動(dòng)程序

一個(gè)直接的方法是使用MongoDB的驅(qū)動(dòng)程序去從傳統(tǒng)數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)并將其同步到MongoDB中。MongoDB支持多種語(yǔ)言,包括Java、C++、Python等,因此我們可以使用適合自己編程的語(yǔ)言去實(shí)現(xiàn)驅(qū)動(dòng)程序。

1. Java 驅(qū)動(dòng)程序

如果您在使用Java編程語(yǔ)言,則您可以使用Java驅(qū)動(dòng)程序。需要下載MongoDB驅(qū)動(dòng)程序,并將其配置到Java類(lèi)路徑中。一旦配置完成,就可以使用以下代碼從傳統(tǒng)數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)并將其同步到MongoDB中:

“`

import com.mongodb.MongoClient;

import com.mongodb.client.MongoDatabase;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import org.bson.Document;

public class SyncData {

public static void mn( String args[] ) {

//Connect MongoDB

MongoClient mongoClient = new MongoClient( “l(fā)ocalhost” , 27017 );

//Connect traditional database

Connection connection = DriverManager.getConnection(“url”, “username”, “password”);

//Query data from traditional database

Statement stmt = connection.createStatement();

String sql = “SELECT * FROM table_name”;

ResultSet rs = stmt.executeQuery(sql);

//Insert the queried data to MongoDB

MongoDatabase db = mongoClient.getDatabase(“database_name”);

while (rs.next()) {

Document document = new Document();

document.put(“column_1”, rs.getString(“column_1”));

document.put(“column_2”, rs.getString(“column_2”));

db.getCollection(“collection_name”).insertOne(document);

}

//Close resources

rs.close();

stmt.close();

connection.close();

}

}

“`

2. Python 驅(qū)動(dòng)程序

如果您在使用Python編程語(yǔ)言,則您可以使用Python驅(qū)動(dòng)程序。需要下載Python驅(qū)動(dòng)程序,并將其安裝到Python環(huán)境中。一旦安裝完成,就可以使用以下代碼從傳統(tǒng)數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)并將其同步到MongoDB中:

“`

from pymongo import MongoClient

import pymysql

import pymongo

# Connect MongoDB

client = MongoClient(‘localhost’, 27017)

# Connect traditional database

conn = pymysql.connect(host=’hostname’, user=’username’, password=’password’, db=’database_name’)

cursor = conn.cursor()

# Query data from traditional database

cursor.execute(‘SELECT * FROM table_name’)

results = cursor.fetchall()

# Insert the queried data to MongoDB

db = client[‘database_name’]

collection = db[‘collection_name’]

for row in results:

data_dict = {}

data_dict[‘column_1’] = row[0]

data_dict[‘column_2’] = row[1]

collection.insert_one(data_dict)

# Close resources

cursor.close()

conn.close()

“`

二、使用數(shù)據(jù)管道

使用驅(qū)動(dòng)程序是一種直接的方式,但對(duì)于大規(guī)模數(shù)據(jù)同步和處理,常常需要使用數(shù)據(jù)管道。數(shù)據(jù)管道可以將源數(shù)據(jù)流水上傳輸?shù)侥繕?biāo)數(shù)據(jù)中。本文將介紹幾個(gè)常見(jiàn)的數(shù)據(jù)管道,以幫助讀者了解如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)同步到MongoDB。

1. 使用Kafka

Kafka是一個(gè)分布式的流數(shù)據(jù)平臺(tái),最初由LinkedIn開(kāi)發(fā)。它支持?jǐn)?shù)據(jù)管道,可以將大規(guī)模的數(shù)據(jù)從源系統(tǒng)發(fā)送到目標(biāo)系統(tǒng)。Kafka采用發(fā)布-訂閱模式,可以緩解數(shù)據(jù)流的壓力并提高數(shù)據(jù)處理的吞吐量。

為了將數(shù)據(jù)從傳統(tǒng)數(shù)據(jù)庫(kù)同步到MongoDB中,我們需要以下步驟:

– 從傳統(tǒng)數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)流。

– 將數(shù)據(jù)寫(xiě)入Kafka topic中。

– 使用Kafka Connect將數(shù)據(jù)流中的數(shù)據(jù)傳輸?shù)組ongoDB中。

2. 使用Flume

Flume是Apache的一個(gè)分布式、可靠的、可用于處理海量數(shù)據(jù)的數(shù)據(jù)管理系統(tǒng)。它可以處理、聚合和傳輸大量數(shù)據(jù)。使用Flume將數(shù)據(jù)從傳統(tǒng)數(shù)據(jù)庫(kù)同步到MongoDB中,我們需要以下步驟:

– 從傳統(tǒng)數(shù)據(jù)庫(kù)中獲取數(shù)據(jù)流。

– 將數(shù)據(jù)寫(xiě)入Flume channel中。

– 將Flume channel中的數(shù)據(jù)傳輸?shù)組ongoDB中。

3. 使用Logstash

Logstash是一個(gè)開(kāi)源工具,用于收集、聚合和傳輸數(shù)據(jù)從各種位置。它可以從傳統(tǒng)數(shù)據(jù)庫(kù)中收集數(shù)據(jù)并將其傳輸?shù)組ongoDB中。使用Logstash將數(shù)據(jù)從傳統(tǒng)數(shù)據(jù)庫(kù)同步到MongoDB中,我們需要以下步驟:

– 使用JDBC插件連接傳統(tǒng)數(shù)據(jù)庫(kù)。

– 配置Elasticsearch輸出插件以將數(shù)據(jù)傳輸?shù)組ongoDB中。

本文介紹了如何將傳統(tǒng)數(shù)據(jù)庫(kù)同步到MongoDB中。我們可以使用MongoDB的驅(qū)動(dòng)程序或者數(shù)據(jù)管道,包括Kafka,F(xiàn)lume和Logstash等,來(lái)實(shí)現(xiàn)這個(gè)過(guò)程。對(duì)于大規(guī)模數(shù)據(jù)同步和處理,常常需要使用數(shù)據(jù)管道。它們可以將源數(shù)據(jù)流水上傳輸?shù)侥繕?biāo)數(shù)據(jù)中,緩解數(shù)據(jù)流的壓力并提高數(shù)據(jù)處理的吞吐量。本文將幫助讀者更好地理解如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)同步到MongoDB,并為互聯(lián)網(wǎng)+、大數(shù)據(jù)等領(lǐng)域的開(kāi)發(fā)者提供有益的參考。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗(yàn)豐富以策略為先導(dǎo)10多年以來(lái)專(zhuān)注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),響應(yīng)式網(wǎng)站制作,設(shè)計(jì)師量身打造品牌風(fēng)格,熱線(xiàn):028-86922220

怎么實(shí)現(xiàn)兩個(gè)數(shù)據(jù)庫(kù)的同步

問(wèn)題一定要描述具體一些,數(shù)據(jù)庫(kù)種類(lèi)那么多,數(shù)據(jù)同步,隨便一列都一堆:

1、MySQL同步數(shù)據(jù)到Oracle

2、MySQL同步數(shù)據(jù)到PostgreSQL

3、MySQL同步數(shù)據(jù)到SQL Server

4、MySQL同步數(shù)據(jù)到MongoDB

5、MySQL同步數(shù)據(jù)到DB2

6、Oracle同步數(shù)據(jù)到MySQL

7、Oracle同步數(shù)據(jù)到PostgreSQL

8、Oracle同步數(shù)據(jù)到SQL Server

9、Oracle同步數(shù)據(jù)到MongoDB

10、Oracle同步數(shù)據(jù)到孝掘DB2

11、SQL Server同步數(shù)據(jù)巧昌核到MySQL

12、SQL Server同步數(shù)據(jù)到Oracle

13、SQL Server同步數(shù)據(jù)到PostgreSQL

14、SQL Server同步數(shù)據(jù)到DB2

15、……

如果僅僅是數(shù)據(jù)匯聚方迅稿面的數(shù)據(jù)同步,可以用TreeSoft ,其他還有阿里的DataX等。

同步兩個(gè)SQLServer數(shù)據(jù)庫(kù)

如何同步兩個(gè)sqlserver數(shù)據(jù)庫(kù)的內(nèi)容?程序代碼可以有版本管理cvs進(jìn)行同步管理,可是數(shù)據(jù)庫(kù)同步就非常麻煩,只能自己改了一個(gè)后再去改另一個(gè),如果忘記了更改另一個(gè)經(jīng)常造成兩個(gè)數(shù)據(jù)庫(kù)的結(jié)構(gòu)或內(nèi)容上不一致.各位有什么好的方法嗎?

一、分發(fā)與復(fù)制

用強(qiáng)制訂閱實(shí)現(xiàn)數(shù)據(jù)庫(kù)同步操作. 大量和批量的數(shù)據(jù)可以用數(shù)據(jù)庫(kù)的同步機(jī)制處理:

//

說(shuō)明:

為方便操作,所有操作均在發(fā)布服務(wù)器(分發(fā)服務(wù)器)上操作,并使用推模式

在客戶(hù)機(jī)器使用強(qiáng)制訂閱方式。

二、測(cè)試通過(guò)

1:環(huán)境

服務(wù)器環(huán)境:

機(jī)器名稱(chēng): zehuadb

操作系統(tǒng):windows 2023 server

數(shù)據(jù)庫(kù)版本:sql 2023 server 個(gè)人版

客戶(hù)端

機(jī)器名稱(chēng):zlp

操作系統(tǒng):windows 2023 server

數(shù)據(jù)庫(kù)版本:sql 2023 server 個(gè)人版

2:建用戶(hù)帳號(hào)

在服務(wù)器端建立域用戶(hù)帳號(hào)

我的電腦管理->本地用戶(hù)和組->用戶(hù)->建立

username:zlp

userpwd:zlp

3:重新啟動(dòng)服務(wù)器mssqlserver

我的電腦->控制面版->管理工具->服務(wù)->mssqlserver 服務(wù)

(更改為:域用戶(hù)帳號(hào),我們新建的zlp用戶(hù) .\zlp,密碼:zlp)

4:安裝分發(fā)服務(wù)器

a:配置分發(fā)服務(wù)器

工具->復(fù)制->配置發(fā)布、訂閱服務(wù)器和分發(fā)->下一步->下一步(所有的均采用默認(rèn)配置)

b:配置發(fā)布服務(wù)器

工具->復(fù)制->創(chuàng)建和管理發(fā)布->選擇要發(fā)布的數(shù)據(jù)庫(kù)(sz)->下一步->

快照

發(fā)布->下一步->選擇要發(fā)布的內(nèi)容->下一步->下一步->下一步->完成

c:強(qiáng)制配置訂閱服務(wù)器(推模式,拉模式與此雷同)

工具->復(fù)制->配置發(fā)布、訂閱服務(wù)器和分發(fā)->訂閱服務(wù)器->新建->

sql server

數(shù)據(jù)庫(kù)->輸入客戶(hù)端服務(wù)器名稱(chēng)(zlp)->使用sql server 身份驗(yàn)證(sa,空密碼)->確定->應(yīng)用->確定

d:初始化訂閱

復(fù)制監(jiān)視器->發(fā)布服務(wù)器(zehuadb)->雙擊訂閱->強(qiáng)制新建->下一步->選擇啟用的訂閱服務(wù)器->zlp->下一步->下一步->下一步->下一步->完成

5:測(cè)試配置是否成功

復(fù)制監(jiān)視器->發(fā)布衿?zehuadb)->雙擊sz:sz->點(diǎn)狀態(tài)->點(diǎn)立即運(yùn)行代理程序

查看:

復(fù)制監(jiān)視器->發(fā)布服務(wù)器(zehuadb)->sz:sz->選擇zlp:sz(類(lèi)型強(qiáng)制)->鼠標(biāo)右鍵->啟動(dòng)同步處理

如果沒(méi)有錯(cuò)誤歲毀數(shù)標(biāo)志(紅色叉),恭喜您配置成功

6:測(cè)試數(shù)據(jù)

在服務(wù)器執(zhí)行:

選擇一個(gè)表,執(zhí)行如下sql:insert into wq_newsgroup_s select ‘測(cè)試成功’乎首,5

復(fù)制監(jiān)視器->發(fā)布服務(wù)余斗器(zehuadb)->sz:sz->快照->啟動(dòng)代理程序 ->zlp:sz(強(qiáng)制)->啟動(dòng)同步處理

去查看同步的 wq_newsgroup_s 是否插入了一條新的記錄

測(cè)試完畢,通過(guò)。

7:修改數(shù)據(jù)庫(kù)的同步時(shí)間,一般選擇夜晚執(zhí)行數(shù)據(jù)庫(kù)同步處理

(具體操作略) :d

/*

注意說(shuō)明:

服務(wù)器一端不能以(local)進(jìn)行數(shù)據(jù)的發(fā)布與分發(fā),需要先刪除注冊(cè),然后新建注冊(cè)本地計(jì)算機(jī)名稱(chēng)

卸載方式:工具->復(fù)制->禁止發(fā)布->是在”zehuadb”上靜止發(fā)布,卸載所有的數(shù)據(jù)庫(kù)同步配置服務(wù)器

注意:發(fā)布服務(wù)器、分發(fā)服務(wù)器中的sqlserveragent服務(wù)必須啟動(dòng)

采用推模式: “d:\microsoft sql server\mssql\repldata\unc” 目錄文件可以不設(shè)置共享

拉模式:則需要共享~!

*/

少量數(shù)據(jù)庫(kù)同步可以采用

觸發(fā)器

實(shí)現(xiàn),同步單表即可。

三、配置過(guò)程中可能出現(xiàn)的問(wèn)題

在sql server 2023里設(shè)置和使用數(shù)據(jù)庫(kù)復(fù)制之前,應(yīng)先檢查相關(guān)的幾臺(tái)sql server服務(wù)器下面幾點(diǎn)是否滿(mǎn)足:

1、mssqlserver和sqlserveragent服務(wù)是否是以域用戶(hù)身份啟動(dòng)并運(yùn)行的(.\administrator用戶(hù)也是可以的)

如果登錄用的是本地系統(tǒng)帳戶(hù)local,將不具備網(wǎng)絡(luò)功能,會(huì)產(chǎn)生以下錯(cuò)誤:

進(jìn)程未能連接到distributor ‘@server name’

(如果您的服務(wù)器已經(jīng)用了sql server全文檢索服務(wù), 請(qǐng)不要修改mssqlserver和sqlserveragent服務(wù)的local啟動(dòng)。

會(huì)照成全文檢索服務(wù)不能用。請(qǐng)換另外一臺(tái)機(jī)器來(lái)做sql server 2023里復(fù)制中的分發(fā)服務(wù)器。)

修改服務(wù)啟動(dòng)的登錄用戶(hù),需要重新啟動(dòng)mssqlserver和sqlserveragent服務(wù)才能生效。

2、檢查相關(guān)的幾臺(tái)sql server服務(wù)器是否改過(guò)名稱(chēng)(需要srvid=0的本地機(jī)器上srvname和datasource一樣)

在查詢(xún)分析器里執(zhí)行:

use master

select srvid,srvname,datasource from sysservers

如果沒(méi)有srvid=0或者srvid=0(也就是本機(jī)器)但srvname和datasource不一樣, 需要按如下方法修改:

use master

go

— 設(shè)置兩個(gè)變量

declare @serverproperty_servername  varchar(100),

@servername    varchar(100)

— 取得windows nt 服務(wù)器和與指定的 sql server 實(shí)例關(guān)聯(lián)的實(shí)例信息

select @serverproperty_servername = convert(varchar(100), serverproperty(‘servername’))

— 返回運(yùn)行 microsoft sql server 的本地服務(wù)器名稱(chēng)

select @servername = convert(varchar(100), @@servername)

— 顯示獲取的這兩個(gè)參數(shù)

select @serverproperty_servername,@servername

–如果@serverproperty_servername和@servername不同(因?yàn)槟愀倪^(guò)計(jì)算機(jī)名字),再運(yùn)行下面的

–刪除錯(cuò)誤的服務(wù)器名

exec sp_dropserver @server=@servername

–添加正確的服務(wù)器名

exec sp_addserver @server=@serverproperty_servername, @local=’local’

修改這項(xiàng)參數(shù),需要重新啟動(dòng)mssqlserver和sqlserveragent服務(wù)才能生效。

這樣一來(lái)就不會(huì)在創(chuàng)建復(fù)制的過(guò)程中出現(xiàn)18482、18483錯(cuò)誤了。

3、檢查sql server企業(yè)管理器里面相關(guān)的幾臺(tái)sql server注冊(cè)名是否和上面第二點(diǎn)里介紹的srvname一樣

不能用ip地址的注冊(cè)名。

(我們可以刪掉ip地址的注冊(cè),新建以sql server管理員級(jí)別的用戶(hù)注冊(cè)的服務(wù)器名)

這樣一來(lái)就不會(huì)在創(chuàng)建復(fù)制的過(guò)程中出現(xiàn)14010、20234、18456、18482、18483錯(cuò)誤了。

4、檢查相關(guān)的幾臺(tái)sql server服務(wù)器網(wǎng)絡(luò)是否能夠正常訪(fǎng)問(wèn)

如果ping主機(jī)ip地址可以,但ping主機(jī)名不通的時(shí)候,需要在

winnt\system32\drivers\etc\hosts   (win2023)

windows\system32\drivers\etc\hosts (win2023)

文件里寫(xiě)入數(shù)據(jù)庫(kù)服務(wù)器ip地址和主機(jī)名的對(duì)應(yīng)關(guān)系。

例如:

127.0.0.localhost

192.168.0.35    oracledb    oracledb

192.168.0.65    fengyu02    fengyu02

202.84.10.193   bj_dbbj_db

或者在sql server客戶(hù)端網(wǎng)絡(luò)實(shí)用工具里建立別名,例如:

5、系統(tǒng)需要的擴(kuò)展

存儲(chǔ)過(guò)程

是否存在(如果不存在,需要恢復(fù)):

sp_addextendedproc ‘xp_regenumvalues’,@dllname =’xpstar.dll’

go

sp_addextendedproc ‘xp_regdeletevalue’,@dllname =’xpstar.dll’

go

sp_addextendedproc ‘xp_regdeletekey’,@dllname =’xpstar.dll’

go

sp_addextendedproc xp_cmdshell ,@dllname =’xplog70.dll’

接下來(lái)就可以用sql server企業(yè)管理器里-> 右鍵選擇 ->的圖形界面來(lái)配置數(shù)據(jù)庫(kù)復(fù)制了。

下面是按順序列出配置復(fù)制的步驟:

1、建立發(fā)布和分發(fā)服務(wù)器

->->

->

文件夾

>-> -> ->

上述步驟完成后, 會(huì)在當(dāng)前”@servername” sql server數(shù)據(jù)庫(kù)里建立了一個(gè)distribion庫(kù)和 一個(gè)distributor_admin管理員級(jí)別的用戶(hù)(我們可以任意修改密碼)。

服務(wù)器上新增加了四個(gè)作業(yè):

sql server企業(yè)管理器里多了一個(gè)復(fù)制監(jiān)視器, 當(dāng)前的這臺(tái)機(jī)器就可以發(fā)布、分發(fā)、訂閱了。

我們?cè)俅卧趕ql server企業(yè)管理器里-> 右鍵選擇 ->

我們可以在 窗口-> ->   -> -> -> / ->  -> ->  ->

把網(wǎng)絡(luò)上的其它sql server服務(wù)器添加成為發(fā)布或者訂閱服務(wù)器.

新增一臺(tái)發(fā)布服務(wù)器的選項(xiàng):

我這里新建立的jin001發(fā)布服務(wù)器是用管理員級(jí)別的數(shù)據(jù)庫(kù)用戶(hù)test連接的,

到發(fā)布服務(wù)器的管理鏈接要輸入密碼的可選框, 默認(rèn)的是選中的,

在新建的jin001發(fā)布服務(wù)器上建立和分發(fā)服務(wù)器fengyu/fengyu的鏈接的時(shí)需要輸入distributor_admin用戶(hù)的密碼。到發(fā)布服務(wù)器的管理鏈接要輸入密碼的可選框,也可以不選,也就是不需要密碼來(lái)建立發(fā)布到分發(fā)服務(wù)器的鏈接(這當(dāng)然欠缺安全,在測(cè)試環(huán)境下可以使用)。

2、新建立的網(wǎng)絡(luò)上另一臺(tái)發(fā)布服務(wù)器(例如jin001)選擇分發(fā)服務(wù)器

->

-> 使用下列服務(wù)器(選定的服務(wù)器必須已配置為分發(fā)服務(wù)器) -> (例如fengyu/fengyu)

-> ->

-> -> ->

-> -> ->

建立一個(gè)數(shù)據(jù)庫(kù)復(fù)制發(fā)布的過(guò)程:

-> -> 右鍵選擇 ->

-> -> ->

-> -> -> /

-> -> ->

-> -> -> ->

->,默認(rèn)值是newid()>

(添加新列將: 導(dǎo)致不帶列列表的 insert 語(yǔ)句失敗,增加表的大小,增加生成之一個(gè)快照所要求的時(shí)間)

->

-> -> ->

-> -> ->

-> -> ->

發(fā)布屬性里有很多有用的選項(xiàng):設(shè)定訂閱到期(例如24小時(shí))

設(shè)定發(fā)布表的項(xiàng)目屬性:

常規(guī)窗口可以指定發(fā)布目的表的名稱(chēng),可以跟原來(lái)的表名稱(chēng)不一樣。

下圖是命令和快照窗口的欄目

( sql server 數(shù)據(jù)庫(kù)復(fù)制技術(shù)實(shí)際上是用insert,update,delete操作在訂閱服務(wù)器上重做發(fā)布服務(wù)器上的事務(wù)操作

看文檔資料需要把發(fā)布數(shù)據(jù)庫(kù)設(shè)成完全恢復(fù)模式,事務(wù)才不會(huì)丟失

但我自己在測(cè)試中發(fā)現(xiàn)發(fā)布數(shù)據(jù)庫(kù)是簡(jiǎn)單恢復(fù)模式下,每10秒生成一些大事務(wù),10分鐘后再收縮數(shù)據(jù)庫(kù)日志,

這期間發(fā)布和訂閱服務(wù)器上的作業(yè)都暫停,暫?;謴?fù)后并沒(méi)有丟失任何事務(wù)更改 )

發(fā)布表可以做數(shù)據(jù)篩選,例如只選擇表里面的部分列:

例如只選擇表里某些符合條件的記錄, 我們可以手工編寫(xiě)篩選的sql語(yǔ)句:

發(fā)布表的訂閱選項(xiàng),并可以建立強(qiáng)制訂閱:

成功建立了發(fā)布以后,發(fā)布服務(wù)器上新增加了一個(gè)作業(yè):

分發(fā)服務(wù)器上新增加了兩個(gè)作業(yè):

類(lèi)型

     類(lèi)型

上面藍(lán)色字的名稱(chēng)會(huì)根據(jù)發(fā)布服務(wù)器名,發(fā)布名及第幾次發(fā)布而使用不同的編號(hào)

repl快照作業(yè)是sql server復(fù)制的前提條件,它會(huì)先把發(fā)布的表結(jié)構(gòu),數(shù)據(jù),索引,約束等生成到發(fā)布服務(wù)器的os目錄下文件

(當(dāng)有訂閱的時(shí)候才會(huì)生成, 當(dāng)訂閱請(qǐng)求初始化或者按照某個(gè)時(shí)間表調(diào)度生成)

repl日志讀取器在事務(wù)復(fù)制的時(shí)候是一直處于運(yùn)行狀態(tài)。(在合并復(fù)制的時(shí)候可以根據(jù)調(diào)度的時(shí)間表來(lái)運(yùn)行)

建立一個(gè)數(shù)據(jù)庫(kù)復(fù)制訂閱的過(guò)程:

-> -> 右鍵選擇 ->

-> -> ->

-> -> ->

-> -> ->

(輸入發(fā)布服務(wù)器上distributor_admin用戶(hù)名和密碼)

-> -> -> /

-> -> ->

-> -> ->

-> -> ->

(訂閱服務(wù)器要能訪(fǎng)問(wèn)發(fā)布服務(wù)器的repldata文件夾,如果有問(wèn)題,可以手工設(shè)置網(wǎng)絡(luò)共享及共享權(quán)限)

-> -> ->

-> -> -> -> ->

-> -> ->

-> -> ->

成功建立了訂閱后,訂閱服務(wù)器上新增加了一個(gè)類(lèi)別是作業(yè)(合并復(fù)制的時(shí)候類(lèi)別是)

它會(huì)按照我們給的時(shí)間調(diào)度表運(yùn)行數(shù)據(jù)庫(kù)同步復(fù)制的作業(yè)。

3、sql server復(fù)制配置好后, 可能出現(xiàn)異常情況的實(shí)驗(yàn)日志:

1.發(fā)布服務(wù)器斷網(wǎng),sql server服務(wù)關(guān)閉,重啟動(dòng),關(guān)機(jī)的時(shí)候,對(duì)已經(jīng)設(shè)置好的復(fù)制沒(méi)有多大影響

中斷期間,分發(fā)和訂閱都接收到?jīng)]有復(fù)制的事務(wù)信息

2.分發(fā)服務(wù)器斷網(wǎng),sql server服務(wù)關(guān)閉,重啟動(dòng),關(guān)機(jī)的時(shí)候,對(duì)已經(jīng)設(shè)置好的復(fù)制有一些影響

中斷期間,發(fā)布服務(wù)器的事務(wù)排隊(duì)堆積起來(lái)

(如果設(shè)置了較長(zhǎng)時(shí)間才刪除過(guò)期訂閱的選項(xiàng), 繁忙發(fā)布數(shù)據(jù)庫(kù)的事務(wù)日志可能會(huì)較快速膨脹),

訂閱服務(wù)器會(huì)因?yàn)樵L(fǎng)問(wèn)不到發(fā)布服務(wù)器,反復(fù)重試

我們可以設(shè)置重試次數(shù)和重試的時(shí)間間隔(更大的重試次數(shù)是9999, 如果每分鐘重試一次,可以支持約6.9天不出錯(cuò))

分發(fā)服務(wù)器sql server服務(wù)啟動(dòng),網(wǎng)絡(luò)接通以后,發(fā)布服務(wù)器上的堆積作業(yè)將按時(shí)間順序作用到訂閱機(jī)器上:

會(huì)需要一個(gè)比較長(zhǎng)的時(shí)間(實(shí)際上是生成所有事務(wù)的insert,update,delete語(yǔ)句,在訂閱服務(wù)器上去執(zhí)行)

我們?cè)谄胀ǖ膒c機(jī)上實(shí)驗(yàn)的58個(gè)事務(wù)100228個(gè)命令執(zhí)行花了7分28秒.

3.訂閱服務(wù)器斷網(wǎng),sql server服務(wù)關(guān)閉,重啟動(dòng),關(guān)機(jī)的時(shí)候,對(duì)已經(jīng)設(shè)置好的復(fù)制影響比較大,可能需要重新初試化

我們實(shí)驗(yàn)環(huán)境(訂閱服務(wù)器)從18:46分意外停機(jī)以, 第二天8:40分重啟動(dòng)后, 已經(jīng)設(shè)好的復(fù)制在8:40分以后又開(kāi)始正常運(yùn)行了, 發(fā)布服務(wù)器上的堆積作業(yè)將按時(shí)間順序作用到訂閱機(jī)器上, 但復(fù)制管理器里出現(xiàn)快照的錯(cuò)誤提示, 快照可能需要重新初試化,復(fù)制可能需要重新啟動(dòng).(我們實(shí)驗(yàn)環(huán)境的機(jī)器并沒(méi)有進(jìn)行快照初試化,復(fù)制仍然是成功運(yùn)行的)

4、刪除已經(jīng)建好的發(fā)布和定閱可以直接用delete刪除按鈕

我們更好總是按先刪定閱,再刪發(fā)布,最后禁用發(fā)布的順序來(lái)操作。

如果要徹底刪去sql server上面的復(fù)制設(shè)置, 可以這樣操作:

-> 右鍵選擇 ->

-> -> ->

-> -> ->

我們也可以用t-sql命令來(lái)完成復(fù)制中發(fā)布及訂閱的創(chuàng)建和刪除, 選中已經(jīng)設(shè)好的發(fā)布和訂閱, 按屬標(biāo)右鍵可以。(這里就不詳細(xì)講了, 后面推薦的網(wǎng)站內(nèi)有比較詳細(xì)的內(nèi)容)

當(dāng)你試圖刪除或者變更一個(gè)table時(shí),出現(xiàn)以下錯(cuò)誤

server: msg 3724, level 16, state 2, line 1

cannot drop the table ‘object_name’ because it is being used for replication.

比較典型的情況是該table曾經(jīng)用于復(fù)制,但是后來(lái)又刪除了復(fù)制。

處理辦法:

select * from sysobjects where replinfo >’0′

sp_configure ‘a(chǎn)llow updates’, 1

go

reconfigure with override

go

begin transaction

update sysobjects set replinfo = ‘0’ where replinfo >’0′

commit transaction

go

rollback transaction

go

sp_configure ‘a(chǎn)llow updates’, 0

go

reconfigure with override

go

實(shí)現(xiàn)兩個(gè)數(shù)據(jù)庫(kù)

同構(gòu)同步

: 屬于數(shù)據(jù)庫(kù)復(fù)制同步工具 (

如甲骨文OGG/北京靈蜂Beedup

)

單向同粗閉雀步 如 SQLServer A 到SQLServer B(SQLServer自帶僅適用于自身)

雙向同步 如 SQLServer A 到 SQLServer B / SQLServer B 再到SQLServer A  (SQLServer自帶未有)

實(shí)現(xiàn)兩個(gè)數(shù)據(jù)庫(kù)

異構(gòu)同步

:屬于ETL轉(zhuǎn)換工具巖早范疇(

如 Informatica / Beeload/BeeDI

)

單向同步 如Oracle 到 SQL Server ……

如何將wireshark抓包的網(wǎng)絡(luò)數(shù)據(jù)流數(shù)據(jù)存入到mongodb數(shù)據(jù)庫(kù)中

定時(shí)生成文本文件,直接存入mongo

  MongoDB是一個(gè)面向文檔的數(shù)據(jù)庫(kù),目前由10gen開(kāi)發(fā)并維護(hù),它的功能豐富,齊全,所以完全可以替代MySQL。

  與MySQL等關(guān)系型數(shù)據(jù)庫(kù)相比,MongoDB的優(yōu)點(diǎn)如下:

  ①弱一致性,更能保證用戶(hù)的訪(fǎng)問(wèn)速度。

 ?、谖臋n結(jié)構(gòu)的存儲(chǔ)方式,能夠更便捷的獲取數(shù)據(jù)。

  ③內(nèi)置GridFS,支持大容量的存儲(chǔ)。

 ?、軆?nèi)置Sharding。

 ?、莸谌街С重S富。慎凳(這是與其他寬羨旅的NoSQL相比,MongoDB也具有派孝的優(yōu)勢(shì))

 ?、扌阅軆?yōu)越:

單機(jī)mongodb數(shù)據(jù)庫(kù)怎么導(dǎo)入分片集群中

準(zhǔn)備工作:在導(dǎo)入數(shù)據(jù)前,先配置好要分片的數(shù)據(jù)庫(kù)及表。

不然導(dǎo)入完成后,發(fā)現(xiàn)數(shù)據(jù)庫(kù),表沒(méi)有同步到另外一個(gè)集群。

我這里做了從原單機(jī)數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)出后,再分片集群庫(kù)中導(dǎo)入操作握并。

當(dāng)設(shè)置了要分段隱跡片的庫(kù),及表后,系統(tǒng)會(huì)自動(dòng)幫你添加庫(kù)及表。

設(shè)置完成后,就可以導(dǎo)入數(shù)據(jù)了。

use admin

db.runCommand({enablesharding:”ip”})

db.runCommand({shardcollection:”ip.ipaddress”,key:{ip1:1}})

./mongorestore -h 192.168.20.11 –portd ip /opt/攜肢backup/ip/ip

./mongorestore -h 192.168.20.11 –portd dmp /opt/backup/dmp/dmp

1. 導(dǎo)出需要遷移的數(shù)據(jù);

/usr/local/mongo/bin/mongodump –host 172.16.8.134:d 201 -o /data/data/mongo/tmp/ –directoryperdb

并且將該數(shù)據(jù)同步到131的/慧禪遲data/data/mongodb/tmp目錄中

2. 建立之一個(gè)副本集

2.1 建立之一個(gè)襲銀副本集前李shard1,不帶分片的

server1:

/usr/local/mongo/bin/mongod –replSet shard1 –portdbpath=/data/data/mongodb/shard11 –logpath=/data/log/shard11.log –logappend –fork

server2:

/usr/local/mongo/bin/mongod –replSet shard1 –portdbpath=/data/data/mongodb/shard12 –logpath=/data/log/shard12.log –logappend –fork

server3:

/usr/local/mongo/bin/mongod –replSet shard1 –portdbpath=/data/data/mongodb/shard13 –logpath=/data/log/shard13.log –logappend –fork

2.2 初始化之一個(gè)副本集shard1

./mongo –port 29017

config={_id : ‘shard1’,members : }

rs.initiate(config)

數(shù)據(jù)庫(kù)同步到momgodb的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于數(shù)據(jù)庫(kù)同步到momgodb,如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)同步到MongoDB?,怎么實(shí)現(xiàn)兩個(gè)數(shù)據(jù)庫(kù)的同步,如何將wireshark抓包的網(wǎng)絡(luò)數(shù)據(jù)流數(shù)據(jù)存入到mongodb數(shù)據(jù)庫(kù)中,單機(jī)mongodb數(shù)據(jù)庫(kù)怎么導(dǎo)入分片集群中的信息別忘了在本站進(jìn)行查找喔。

成都創(chuàng)新互聯(lián)科技公司主營(yíng):網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、小程序制作、成都軟件開(kāi)發(fā)、網(wǎng)頁(yè)設(shè)計(jì)、微信開(kāi)發(fā)、成都小程序開(kāi)發(fā)、網(wǎng)站制作、網(wǎng)站開(kāi)發(fā)等業(yè)務(wù),是專(zhuān)業(yè)的成都做小程序公司、成都網(wǎng)站建設(shè)公司、成都做網(wǎng)站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網(wǎng)站制作策劃,畫(huà)冊(cè)、網(wǎng)頁(yè)、VI設(shè)計(jì),網(wǎng)站、軟件、微信、小程序開(kāi)發(fā)于一體。


網(wǎng)站名稱(chēng):如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)同步到MongoDB?(數(shù)據(jù)庫(kù)同步到momgodb)
轉(zhuǎn)載來(lái)源:http://www.5511xx.com/article/cdossgh.html