Could anybody tell me what the current trend for SQL Server Integration Services is? Is it better than other ETL tools available in market like Informatica, Cognos, etc?
有谁能告诉我SQL Server Integration Services目前的趋势是什么?它比Informatica,Cognos等市场上的其他ETL工具更好吗?
5 个解决方案
#1
I was introduced to SSIS a couple of weeks ago. Executive summary: I am unlikey to consider it for future projects.
几周前我被介绍给了SSIS。执行摘要:我很想在未来的项目中考虑它。
-
I'm pretty sure flow charts (i.e. non-structured) were discredited as an effective programming paradigm a long time, except in a tiny minority of cases.
我很确定流程图(即非结构化的)在很长一段时间内都被认为是一种有效的编程范式,除了极少数情况。
-
There's no point replacing a clean textual (source code) interface with a colourful connect-the-dots one if the user still needs to think like a programmer to know where to drag the arrows.
如果用户仍然需要像程序员一样思考以知道在哪里拖动箭头,那么用彩色连接点替换干净的文本(源代码)界面毫无意义。
-
A program design that you can't access (e.g. fulltext search, navigate using alternative methods, effectively version control, ...) except by one prescribed method is a massive productivity killer. And a wonderful source of RSI.
除了一种规定的方法之外,您无法访问的程序设计(例如全文搜索,使用替代方法导航,有效版本控制......)是一个巨大的生产力杀手。而且是RSI的绝佳来源。
It's possible there is a particular niche where it's just right, but I imagine most ETL tasks would outgrow it pretty quickly.
它可能有一个特殊的利基,它恰到好处,但我想大多数ETL任务会很快超过它。
#2
SSIS isn't great for production applications from my experience for the following reasons:
根据我的经验,SSIS不适合生产应用程序,原因如下:
- To call an SSIS package remotely, you have to call a stored procedure, that calls a job, that calls the SSIS
- Using the above method, you can't pass in parameters.
- Passing parameters means you have to call the SSIS on a local server - meaning code running on a remote server will have to call code running on the SQL server to execute the package.
要远程调用SSIS包,您必须调用一个调用SSIS的存储过程来调用作业
使用上述方法,您无法传入参数。
传递参数意味着您必须在本地服务器上调用SSIS - 这意味着在远程服务器上运行的代码必须调用在SQL服务器上运行的代码来执行包。
I would always rather write specific code to handle ETL and use SSIS for one off transforms.
我总是宁愿编写特定的代码来处理ETL并使用SSIS进行一次转换。
#3
In my opinion it's quite good platform, and I see a good progress on it. Many of the drwabacks that 2005 version had and that the community complained about, have been corrected on 2008.
在我看来,这是一个非常好的平台,我看到它取得了很好的进展。 2005年版本中有许多可以和社区抱怨的摔跤行为已在2008年得到纠正。
From my point of view, the best thing is that you can extend and complement it with SQL or .NET code in an organized way as much as you want.
从我的角度来看,最好的是你可以根据需要以有条理的方式扩展和补充SQL或.NET代码。
For instance, you can decide if in your solution you want 80% of c# code and 20% of ETL componenets or 5% of c# code and 95% of ETL components.
例如,您可以决定在解决方案中是否需要80%的c#代码和20%的ETL组件,或5%的c#代码和95%的ETL组件。
#4
disclaimer - i work for microsoft
免责声明 - 我为微软工作
now the answer
现在的答案
SSIS or SQL Server Integration services is a great tool for ETL operations, there is a lot of uptake in the market place. there is no additional cost other than licensing SQL server and you can also use .Net languages to write tasks. http://www.microsoft.com/sqlserver/2008/en/us/integration.aspx http://msdn.microsoft.com/en-us/library/ms141026.aspx
SSIS或SQL Server集成服务是ETL操作的一个很好的工具,在市场上有很多应用。除了许可SQL服务器之外没有其他成本,您也可以使用.Net语言来编写任务。 http://www.microsoft.com/sqlserver/2008/en/us/integration.aspx http://msdn.microsoft.com/en-us/library/ms141026.aspx
#5
I would list as benefits:
我会列出好处:
- you use SSIS for bigger projects, probably/preferably once or in one run, and then use the integration project for many months with minor changes; the tasks, packages and everything in general is easily readable (of course, depends on perspective)
- the tool itself handles the scheduled runs, sending you mails with the logs, and - as long as my experience reaches - it communicates very well with all the other tools (such as SSAS, SQL Server Management Studio, Microsoft Office Excel, Access etc., and other, non-Microsoft tools)
- the manually, in-detail configured tasks seem to take over the responsibility in all ways, letting only small chance for errors
- as also mentioned above, there are many former problems corrected in the new versions
您可以将SSIS用于更大的项目,可能/最好是一次或一次运行,然后使用集成项目几个月进行微小的更改;任务,包和一般内容都很容易阅读(当然,取决于观点)
该工具本身处理预定的运行,向您发送包含日志的邮件,并且 - 只要我的经验到达 - 它与所有其他工具(如SSAS,SQL Server Management Studio,Microsoft Office Excel,Access等)进行良好的通信。和其他非Microsoft工具)
手动,详细配置的任务似乎以各种方式接管责任,只有很小的错误机会
如上所述,新版本中还有许多以前的问题得到纠正
I would recommend it for ETL, especially if you would continue with analytical processes, since the SSIS, SSAS and SSRS tools blend together quite smoothly.
我推荐它用于ETL,特别是如果你继续使用分析过程,因为SSIS,SSAS和SSRS工具很容易混合在一起。
Drawback: debugging/looking for errors is a bit harder until you get used to it.
缺点:在你习惯它之前调试/寻找错误要困难一些。
#1
I was introduced to SSIS a couple of weeks ago. Executive summary: I am unlikey to consider it for future projects.
几周前我被介绍给了SSIS。执行摘要:我很想在未来的项目中考虑它。
-
I'm pretty sure flow charts (i.e. non-structured) were discredited as an effective programming paradigm a long time, except in a tiny minority of cases.
我很确定流程图(即非结构化的)在很长一段时间内都被认为是一种有效的编程范式,除了极少数情况。
-
There's no point replacing a clean textual (source code) interface with a colourful connect-the-dots one if the user still needs to think like a programmer to know where to drag the arrows.
如果用户仍然需要像程序员一样思考以知道在哪里拖动箭头,那么用彩色连接点替换干净的文本(源代码)界面毫无意义。
-
A program design that you can't access (e.g. fulltext search, navigate using alternative methods, effectively version control, ...) except by one prescribed method is a massive productivity killer. And a wonderful source of RSI.
除了一种规定的方法之外,您无法访问的程序设计(例如全文搜索,使用替代方法导航,有效版本控制......)是一个巨大的生产力杀手。而且是RSI的绝佳来源。
It's possible there is a particular niche where it's just right, but I imagine most ETL tasks would outgrow it pretty quickly.
它可能有一个特殊的利基,它恰到好处,但我想大多数ETL任务会很快超过它。
#2
SSIS isn't great for production applications from my experience for the following reasons:
根据我的经验,SSIS不适合生产应用程序,原因如下:
- To call an SSIS package remotely, you have to call a stored procedure, that calls a job, that calls the SSIS
- Using the above method, you can't pass in parameters.
- Passing parameters means you have to call the SSIS on a local server - meaning code running on a remote server will have to call code running on the SQL server to execute the package.
要远程调用SSIS包,您必须调用一个调用SSIS的存储过程来调用作业
使用上述方法,您无法传入参数。
传递参数意味着您必须在本地服务器上调用SSIS - 这意味着在远程服务器上运行的代码必须调用在SQL服务器上运行的代码来执行包。
I would always rather write specific code to handle ETL and use SSIS for one off transforms.
我总是宁愿编写特定的代码来处理ETL并使用SSIS进行一次转换。
#3
In my opinion it's quite good platform, and I see a good progress on it. Many of the drwabacks that 2005 version had and that the community complained about, have been corrected on 2008.
在我看来,这是一个非常好的平台,我看到它取得了很好的进展。 2005年版本中有许多可以和社区抱怨的摔跤行为已在2008年得到纠正。
From my point of view, the best thing is that you can extend and complement it with SQL or .NET code in an organized way as much as you want.
从我的角度来看,最好的是你可以根据需要以有条理的方式扩展和补充SQL或.NET代码。
For instance, you can decide if in your solution you want 80% of c# code and 20% of ETL componenets or 5% of c# code and 95% of ETL components.
例如,您可以决定在解决方案中是否需要80%的c#代码和20%的ETL组件,或5%的c#代码和95%的ETL组件。
#4
disclaimer - i work for microsoft
免责声明 - 我为微软工作
now the answer
现在的答案
SSIS or SQL Server Integration services is a great tool for ETL operations, there is a lot of uptake in the market place. there is no additional cost other than licensing SQL server and you can also use .Net languages to write tasks. http://www.microsoft.com/sqlserver/2008/en/us/integration.aspx http://msdn.microsoft.com/en-us/library/ms141026.aspx
SSIS或SQL Server集成服务是ETL操作的一个很好的工具,在市场上有很多应用。除了许可SQL服务器之外没有其他成本,您也可以使用.Net语言来编写任务。 http://www.microsoft.com/sqlserver/2008/en/us/integration.aspx http://msdn.microsoft.com/en-us/library/ms141026.aspx
#5
I would list as benefits:
我会列出好处:
- you use SSIS for bigger projects, probably/preferably once or in one run, and then use the integration project for many months with minor changes; the tasks, packages and everything in general is easily readable (of course, depends on perspective)
- the tool itself handles the scheduled runs, sending you mails with the logs, and - as long as my experience reaches - it communicates very well with all the other tools (such as SSAS, SQL Server Management Studio, Microsoft Office Excel, Access etc., and other, non-Microsoft tools)
- the manually, in-detail configured tasks seem to take over the responsibility in all ways, letting only small chance for errors
- as also mentioned above, there are many former problems corrected in the new versions
您可以将SSIS用于更大的项目,可能/最好是一次或一次运行,然后使用集成项目几个月进行微小的更改;任务,包和一般内容都很容易阅读(当然,取决于观点)
该工具本身处理预定的运行,向您发送包含日志的邮件,并且 - 只要我的经验到达 - 它与所有其他工具(如SSAS,SQL Server Management Studio,Microsoft Office Excel,Access等)进行良好的通信。和其他非Microsoft工具)
手动,详细配置的任务似乎以各种方式接管责任,只有很小的错误机会
如上所述,新版本中还有许多以前的问题得到纠正
I would recommend it for ETL, especially if you would continue with analytical processes, since the SSIS, SSAS and SSRS tools blend together quite smoothly.
我推荐它用于ETL,特别是如果你继续使用分析过程,因为SSIS,SSAS和SSRS工具很容易混合在一起。
Drawback: debugging/looking for errors is a bit harder until you get used to it.
缺点:在你习惯它之前调试/寻找错误要困难一些。