如何从MongoDB导入大数据到SQL Server像调度程序

时间:2014-05-14 06:38:20

标签: sql sql-server mongodb

我们有每天收集大量数据的应用程序。所以写操作更多,因此我的服务器速度慢了。所以我们计划使用MongoDB来收集数据,通过使用调度程序将数据导入SQL。

所以我的问题是如何从MongoDB中将大量数据导入SQL

任何建议请。像任何工具一样。

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

由于这个特殊原因,我们创建了MongoSluice

我们的应用程序询问MongoDB集合并创建完整的深层架构。然后它将数据和元数据流式传输到任何RDBMS系统(Oracle,MySQL,Postgres,HP Vertica ......)。

您最终得到的是NoSQL作为SQL的表示。一个很大的用例是将非结构化数据导入分析数据库。 BI平台,尤其如此。

答案 2 :(得分: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';