2014-05-14 19 views
0

我們有每天收集大量數據的應用程序。所以寫操作更多,因此我的服務器變慢了。所以我們計劃使用MongoDB來收集數據,通過使用scheduler將數據導入到SQL中。如何將大數據從MongoDB導入到SQL Server如調度程序

所以我的問題是我如何可以導入從MongoDB的重多數據記錄到SQL

任何建議請。如同任何工具等

回答

-1

我們爲此特定原因創建了MongoSluice

我們的應用程序詢問一個MongoDB的集合,並創建一個完整的,深刻的模式。然後它將數據和元數據傳輸到任何RDBMS系統(Oracle,MySQL,Postgres,HP Vertica ...)。

你最終什麼是你的NoSQL作爲SQL的表示。一個很大的用例就是將非結構化數據存入分析數據庫。 BI平臺,特別是。

+0

歡迎堆棧溢出!通常,鏈接到工具或庫[應該附帶使用說明或一些示例代碼](http://meta.stackoverflow.com/a/251605),或者如果可能的話。 –

1

我不知道任何工具,但我敢肯定,如果你谷歌他們,他們存在。

如果是我,沒有先驗知識,我可以將數據導出到一個平文件(.csv),並創建或者存儲過程或SSIS包來將數據導入到SQL。

Python的可能是我的選擇,以塊的出口隔夜自動SQL哪裏可以辦理進口和清理。

mongoexport --host yourhost --db yourdb --collection yourcollection --csv --out yourfile.csv --fields field1,field2,field3 

這樣做可以讓你在命中SSIS包之前定義結構。

另一種方式

這裏是做所有集合的一個很好的例子。這是從另一個answer

out = `mongo #{DB_HOST}/#{DB_NAME} --eval "printjson(db.getCollectionNames())"` 

    collections = out.scan(/\".+\"/).map { |s| s.gsub('"', '') } 

    collections.each do |collection| 
    system "mongoexport --db #{DB_NAME} --collection #{collection} --host '#{DB_HOST}' --out #{collection}_dump" 
    end 
0

可以用戶連接服務器的MongoDB這樣你就可以查詢任何你想要的。 當然,在這之前你必須安裝所需驅動程序的MongoDB

EXEC sp_addlinkedserver @server='MongoDB', 
@srvproduct='CData.Mongo DB.ODBC.Driver', 
@provider='SQLNCLI10', 
@datasrc='<Machine IP address>,1434', 
@provstr='Network Library=DBMSSOCN;', 
@catalog='CDataMongoDB'; 
相關問題