Where is the ideal place to install SSIS?

  • 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

  • I'm a bit confused. When speaking of a data warehouse, don't you mean SS[font="Arial Black"]A[/font]S?

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • 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!

  • 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


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • 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

  • 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.

    [font="Calibri"]Raj[/font]
  • 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