转自 http://blog.csdn.net/thy822/article/details/8489779
这篇文章, 我不能同意更多, 所以转在这里.
Here is my thinking after looking at both products...
First of all let me tell you what I like about informatica....
- Inbuilt tool to export mappings to Excel and Visio.... helpful to document Process.
- Reusability of sources,Targets and Mappings (In SSIS No native Reusabilty except you are using BI xPress Package Builder)
- Inbuilt Version Control: SSIS Can give you this After Installing VSS, SVN or other products but in Informatica it native feature to Checkout and Checkin.
- Visibility of MetaData: you can click on any column in Pipeline and it will show you where it originated from ... Pretty neat :)
- Scalibility Out of the box
Now let me go through some main points which will drive your purchase decision.
Trialing software and Cost:
Informatica costs you tons of money.. this is where 90% companies drop their decision to buy it... once you buy it ...it will cost you even more to maintain it every year so good luck with that!!! Every Dev license will cost you money ... on the other end Dev License of SQL Server is virtually Free ($50 per Dev Edition License).... and Every SQL Server License comes with SSIS Server. Trialing informatica is not easy... you wont find a place to download it... on the other end downloading Entire BI Studio from Microsoft is click away this itself shows me Informatica wants your all money.... seriously why is that hard ????
Development Speed:
What I found after creating simple Work flow in Informatica takes twice long than creating workflow in SSIS due to the fact informatica stores Sources, targets and Mappings in seperate locations and then you bring them all together in WorkFlow (similar as ControlFlow in SSIS). One thing I like about this approach that reusabily but from experience I hardly reuse Mappings (Load Customer defined in one Workflow is rarely used in some other WorkFlow) so it sounds like appealing feature but atleast not for me.
Informatica has too many jumps to Design WorkFlow, Session, Execute WorkFlow and Monitor Progress all feels like I am using 3-4 different applications... while SSIS is all in one compact window... and very clean and Visual Debugging.
Scripting in SSIS is way more powerful than Informatica due to the fact SSIS Script Editor is Shell of Visul Studio which gives you BreakPoints, Watch, CallStack, Intellisense and Step By Step Dbugging.... SSIS Scripting is C# or VB.net ... Informatica is JAVA
Inbuilt Tasks:
SSIS has advantage of having several inbuilt task which is not available in Informatica. But on the other end some Adapters and Pipeline Features Impressed me in informatica including XML Destination, XML Transformation, Upsert Capabilty, Visibility of Metadata.
Some of my fav task in SSIS Missing in Informatica:
- ForEach Looping
- Script task
- File System task
In SSIS you can spent few hundred bucks to buy any missing features.... e.g. SFTP/FTPS, Zip/Unzip, SecureEmail, Sharepoint, SalesForce Adapter, Upsert Destination, XML Destination
Storage:
Informatica - Everything is stored in Central Repository (Oracle or SQL DB)... what this means to developer ... You have nothing stored on your machine. You have to be connected to Informatica Server all the time. This was very frustrating coz I cant work offline unlike SSIS.
SSIS: You can develop SSIS Packages on your local machine in completely disconnected mode. When you ready to deploy to production it can be stored in SQL Repository (msdb database) or can be stored on File System.
Debugging WorkFlow and Pipeline:
SSIS has lots of ways to debug various things... using BreakPoints, Watch Window, DataViewer . I didnt find similar features in Informatica. Debugging WorkFlow is more difficust in Informatica compared to SSIS.
Community Support:
SSIS Community support is amzing compared to any ETL Product out there. I didnt find a single scenario which is not blogged by community. Se
Extensibility:
Informatica is closed system doesnt allow you to create your own Sources and Targets and Tasks like SSIS Does... You will find lots of Free tasks and Adapter in SSIS which can fit your custom need or you can create your own using SSIS APIs ... but in Informatica its impossible or atleast I never found a way to do so.
3rd Party Support:
Informatica keeps tight control what they want inside their Products. If you need more functionality in informatica then you have to Pay tons of Money to get few more Adapters - Called "Power Exchange Module". With SSIS you will find plenty of 3rd party products which will fit to your custom ETL Need at low cost yet high Quality. (e.g. TaskFactory)