|
|
|
SSCrazy
      
Group: General Forum Members
Last Login: Today @ 12:14 AM
Points: 2,797,
Visits: 1,746
|
|
I have this scenario where we have som huge set of data in Sybase. Now there is a procedure which contains some heavy processing on that set of data based on certain parameters and finally store that output to a temporary table. Later, in the same session, that whole processed data in the temporary table gets transferred to our SQL Server tables by java code in small chunks say 50k rows per page.
Now this whole thing takes lot of time. I have been assigned to optimize this whole architecture. I was just wondering if this can be done using SSIS ? Important thing here is that the data processing procedure runs parallely to max 10 connections at a time.
|
|
|
|
|
SSCertifiable
       
Group: General Forum Members
Last Login: Yesterday @ 1:07 PM
Points: 6,826,
Visits: 11,951
|
|
Kickoff a proc in Sybase and then copy some data from a table to SQL Server when the proc is done? Sounds like an easy job for SSIS. The hardest part of it may actually be finding good Sybase drivers that work with SSIS and setting up your connections to retrieve the data.
__________________________________________________________________________________________________ There are no special teachers of virtue, because virtue is taught by the whole community. --Plato
Believe you can and you're halfway there. --Theodore Roosevelt
Everything Should Be Made as Simple as Possible, But Not Simpler --Albert Einstein
The significant problems we face cannot be solved at the same level of thinking we were at when we created them. --Albert Einstein
1 apple is not exactly 1/8 of 8 apples. Because there are no absolutely identical apples. --Giordy
|
|
|
|
|
SSCrazy
      
Group: General Forum Members
Last Login: Today @ 12:14 AM
Points: 2,797,
Visits: 1,746
|
|
| Thanks. Apart from drivers, how it works parallely ? Say If i create a SSIS package. Will the same package work in parallel if invoked with different set of parameters at the same time ?
|
|
|
|
|
SSCrazy Eights
        
Group: General Forum Members
Last Login: 2 days ago @ 6:30 AM
Points: 9,410,
Visits: 6,495
|
|
|
|
|
|
SSCertifiable
       
Group: General Forum Members
Last Login: Yesterday @ 1:07 PM
Points: 6,826,
Visits: 11,951
|
|
An SSIS package is just a set of instructions. If you kick off dtexec.exe three times in three different cmd shell windows and all call the same package then you'll have three instances of the package running at the same time.
SSIS supports parallel processing by default both internally in some of the Components as well as in separate components not connected by precedence constraints. In the example below Data Flows 1, 2 and 4 will immediately start executing in parallel when the package starts. Data Flow 3 will not start executing until Data Flow 2 completes successfully:
__________________________________________________________________________________________________ There are no special teachers of virtue, because virtue is taught by the whole community. --Plato
Believe you can and you're halfway there. --Theodore Roosevelt
Everything Should Be Made as Simple as Possible, But Not Simpler --Albert Einstein
The significant problems we face cannot be solved at the same level of thinking we were at when we created them. --Albert Einstein
1 apple is not exactly 1/8 of 8 apples. Because there are no absolutely identical apples. --Giordy
|
|
|
|
|
SSCrazy
      
Group: General Forum Members
Last Login: Today @ 12:14 AM
Points: 2,797,
Visits: 1,746
|
|
| Fortunately or unfortunately, it is the same table. That was also in my mind. But I don't understand that how it is not giving any issue currently as it is writing to same table parallely.
|
|
|
|
|
SSCrazy Eights
        
Group: General Forum Members
Last Login: 2 days ago @ 6:30 AM
Points: 9,410,
Visits: 6,495
|
|
|
|
|
|
SSCertifiable
       
Group: General Forum Members
Last Login: Yesterday @ 1:07 PM
Points: 6,826,
Visits: 11,951
|
|
sqlnaive (1/16/2013) Fortunately or unfortunately, it is the same table. That was also in my mind. But I don't understand that how it is not giving any issue currently as it is writing to same table parallely. It depends on how they are writing rows. Committing 50K at a time, if they are added to a heap or the tail end of the clustered index then having 10 processes doing that concurrently might cause some intermittent blocking but could increase overall throughput significantly.
__________________________________________________________________________________________________ There are no special teachers of virtue, because virtue is taught by the whole community. --Plato
Believe you can and you're halfway there. --Theodore Roosevelt
Everything Should Be Made as Simple as Possible, But Not Simpler --Albert Einstein
The significant problems we face cannot be solved at the same level of thinking we were at when we created them. --Albert Einstein
1 apple is not exactly 1/8 of 8 apples. Because there are no absolutely identical apples. --Giordy
|
|
|
|