May 10, 2013 at 8:12 am
We're currently working on building out a new data warehouse and I'm looking for resources or best practices on where SSIS is should ideally be installed. My thoughts are as follows, but I'm really looking for a best practices document or other documentation that outlines any other architectural gotcha's for this setup.
1. On the same server as the data warehouse database
Pros:
No additional licensing cost
Lower network latency, since it just needs to pull from the sources
Lower hardware costs
Cons:
Will contend with or lower the amount of memory SQL Server has at it's disposal for proc and buffer cache (this is big deal my this case)
Will contend with CPU (CPU is typically very low on this server, so not such a big deal)
2. On a separate stand alone server
Pros:
SSIS won't contend for resources with the database the DW server
Cons:
Higher Network latency
Higher hardware costs
Higher licensing costs
May 10, 2013 at 4:14 pm
I'm a bit confused. When speaking of a data warehouse, don't you mean SS[font="Arial Black"]A[/font]S?
--Jeff Moden
Change is inevitable... Change for the better is not.
May 11, 2013 at 7:37 am
Jeff, thanks for the reply. We're planning to use SSIS to ETL the data, I'm just not sure I've seen any recommendations on where it should be installed. In the past I've run it on the same box the Datawarehouse runs on, but that's just because it seemed the most logical place to put it. And would there be any benefits other than the ones I listed to having it installed on it's own server or elsewhere? Thanks!
May 11, 2013 at 12:35 pm
Ah. Got it. Agreed. If it were me, I'd put SSIS on the same box as a data warehouse just for the extra kick in speed. There's nothing like being close to the work. Of course, if it's a shared SAN that the DW is on, that might not matter. The other advantage might be in the cost of licensing.
--Jeff Moden
Change is inevitable... Change for the better is not.
May 14, 2013 at 3:59 am
If you design your packages right - in the sense they do not use too much memory - you can put SSIS on the same server.
Avoid blocking components (such as the SORT component) and asynchronous components.
If you use a lot of SQL in your packages, there's no reason for not putting it on the same server. Most of the work will be done by the database engine anyway.
Need an answer? No, you need a question
My blog at https://sqlkover.com.
MCSE Business Intelligence - Microsoft Data Platform MVP
June 6, 2013 at 4:22 am
I would recommend you to consider these points to decide where to host your package.
Are you going to run the package in any specific time let’s say once in a day (nightly job)?
How often users / applications connects to the DWH DB?
How many jobs are running parallely?
but still I believe hosting the package on the same machine will be better than another server. If you think performance is an issue, you have options to upgrade your hardware than going for new machine.
June 11, 2013 at 10:05 am
Well I am also investigating the pros and cons of placing SSIS on the DB server.
http://www.sqlservercentral.com/Forums/Topic1459119-391-1.aspx#bm1459772
I think most of the pro's of putting SSIS on the DB server have been mentioned.
- Less licensing costs
- Performance benefits: the packages run close to the data (less network traffic)
- Easier scheduling via SQL agent is also a pro.
Cons
- SSIS packages compete for resources with DB engine (however most load occurs on the DB server anyway)
- Some SSIS packages won't run correctly if DB server is not in a DMZ
The last one is a problem for us because some packages access external sites (like FTP).
I think I can workaround this to implement some generic FTP service running on a seperate application server in DMZ to download the FTP files and put it on the internal network.
__________________
MS-SQL / SSIS / SSRS junkie
Visit my blog at dba60k.net
Viewing 7 posts - 1 through 6 (of 6 total)
You must be logged in to reply to this topic. Login to reply