locked
What is more fast: ssis or database engine? RRS feed

  • Question

  • Hello 

    I am reading in internet, and some people said: ssis is more fast, others database engine..

    when have a lot of data, what is more fast,...

    Monday, February 9, 2015 3:05 PM

Answers

  • I think database engine is faster than ssis.

    http://www.sqlservercentral.com/blogs/jamesserra/2011/08/29/when-to-use-t_2D00_sql-or-ssis-for-etl/

    Hi neonash,

    I unmarked your response as answer, since this is incorrect answer to your original question. I do understand what you mean now, but what you wrote is not correct. SSIS can not be faster than database engine for the insert statement itself, since SSIS use the database engine. But for preparing the data SSIS might do much better (same if you know how to work with SQLCLR). Please read all the responses that you got :-) you cannot compare SSIS (which is external tool to the SQL Server) to database engine (which is part of the SQL Server itself).

    I think that now it is clear that you intended to ask something like: What is more fast: using SSIS or using Transact-SQL query (that we wrote)? Please remember that we have another common solution and it is using SQLCLR.

    * SSIS work with T-SQL queries as well, if you use it to insert/update data on the SQL Server. Therefore comparing SSIS to T-SQL is not a good question in my opinion, as well, but this is legitimate question like asking if SQLCLR is faster than T-SQL :-)

    The answer to this question is that it depend on your personal abilities to develop the best execution plan (i am not talking about the SQL Server Query Execution Plan, but your planing of how to execute our queries), and your abilities to write the best query/solution (for example using SQLCLR can help you prepare the data for the insert, fast as the SSIS do probably), and more parameters. SSIS write T-SQL queries behind the screen, but can also make other actions that in T-SQL might be slow, in faster way (using other languages), eventually the SQL Server will execute those queries, as well. Therefore, theoretical you always have the option to write the same queries (or better)  using T-SQL / SQLCLR and execute them in the same option (one query for all the action, or several that executes parallel, using only T-SQL or combine with CLR, etc') by yourself.

    * SSIS is a great tool that give you fast and simple solution, without the need of writing the query yourself.


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]



    Saturday, February 14, 2015 10:36 AM

All replies

  • You need to be more specific with your question.

    Its like comparing apples with oranges.

    SSIS and Database Engine are different components of SQL Server, where SSIS is an optional component only used for data transformation and integration where as Database Engine is a core component which is responsible for Storage , securing and retrieval of data.

    Read these - https://technet.microsoft.com/en-us/library/ms187875.aspx -Database Engine

    https://technet.microsoft.com/en-us/library/ms141026.aspx - SSIS


    Regards, Ashwin Menon My Blog - http:\\sqllearnings.com

    Monday, February 9, 2015 3:13 PM
    Answerer
  • Hello 

    I am reading in internet, and some people said: ssis is more fast, others database engine..

    Which People, don't read crap on internet which tries to compare things which has nothing common to compare. What would you do If any one of is more faster would it help your query in any way.

    For parctical purpose and knowledge DB engine is more robust and reliable than SSIS. DB engine is what holds SQL Server and its RDBMS logic SSIS is unmanged code written to perform some task you can not compare both


    Please mark this reply as answer if it solved your issue or vote as helpful if it helped so that other forum members can benefit from it

    My Technet Wiki Article

    MVP


    Monday, February 9, 2015 4:24 PM
  • For example i have to migrate 5 bigs tables (1000000 rows) to other 5 tables in sqlserver, what 's more fast.

    Db engine or Ssis.

    Tuesday, February 10, 2015 2:30 PM
  • .NET bulkcopy class

    http://sqlblog.com/blogs/linchi_shea/archive/2007/08/27/performance-impact-the-most-optimal-insert-script-can-t-beat-bulkcopy.aspx

    It will be fast on both, means if you specify  Fast load option in SSIS and TABLOCK hint in SQL Server by using T-SQL


    Best Regards,Uri Dimant SQL Server MVP, http://sqlblog.com/blogs/uri_dimant/

    MS SQL optimization: MS SQL Development and Optimization
    MS SQL Consulting: Large scale of database and data cleansing
    Remote DBA Services: Improves MS SQL Database Performance
    SQL Server Integration Services: Business Intelligence

    Tuesday, February 10, 2015 2:54 PM
    Answerer
  • If all tables are on a single instance than Db Engine is faster. 

    David


    David http://blogs.msdn.com/b/dbrowne/

    Tuesday, February 10, 2015 3:26 PM
  • If you mean if SSIS can load & process faster data from a source then the database engine as destination can consume the processed data, then the answer: It depends on ... what's the data source, how complex is the ETL process, table design etc.

    There are some White papers available, for example:
    We Loaded 1TB in 30 Minutes with SSIS, and So Can You
    The Data Loading Performance Guide


    Olaf Helper

    [ Blog] [ Xing] [ MVP]

    Tuesday, February 10, 2015 3:39 PM
  • Again its not complete

    When you say compare 5 big tables where does this 5 tables exist? In another SQLServer or some other RDBMS system or same server different db or same db? Based on where it exists performance will vary between SSIS and DB engine


    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    ----------------------------
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

    Tuesday, February 10, 2015 4:38 PM
    Answerer
  • I think database engine is faster than ssis.

    http://www.sqlservercentral.com/blogs/jamesserra/2011/08/29/when-to-use-t_2D00_sql-or-ssis-for-etl/

    • Marked as answer by neonash Saturday, February 14, 2015 5:40 AM
    • Unmarked as answer by pituachMVP Saturday, February 14, 2015 10:15 AM
    Saturday, February 14, 2015 5:40 AM
  • I think database engine is faster than ssis.

    http://www.sqlservercentral.com/blogs/jamesserra/2011/08/29/when-to-use-t_2D00_sql-or-ssis-for-etl/

    Not always

    As I told it depends on what all tasks you want to do.

    For some things db is faster

    But for someothers SSIS is faster

    So you cant generalize always


    Please Mark This As Answer if it solved your issue
    Please Vote This As Helpful if it helps to solve your issue
    Visakh
    ----------------------------
    My Wiki User Page
    My MSDN Page
    My Personal Blog
    My Facebook Page

    Saturday, February 14, 2015 6:22 AM
    Answerer
  • I think database engine is faster than ssis.

    http://www.sqlservercentral.com/blogs/jamesserra/2011/08/29/when-to-use-t_2D00_sql-or-ssis-for-etl/

    Hi neonash,

    I unmarked your response as answer, since this is incorrect answer to your original question. I do understand what you mean now, but what you wrote is not correct. SSIS can not be faster than database engine for the insert statement itself, since SSIS use the database engine. But for preparing the data SSIS might do much better (same if you know how to work with SQLCLR). Please read all the responses that you got :-) you cannot compare SSIS (which is external tool to the SQL Server) to database engine (which is part of the SQL Server itself).

    I think that now it is clear that you intended to ask something like: What is more fast: using SSIS or using Transact-SQL query (that we wrote)? Please remember that we have another common solution and it is using SQLCLR.

    * SSIS work with T-SQL queries as well, if you use it to insert/update data on the SQL Server. Therefore comparing SSIS to T-SQL is not a good question in my opinion, as well, but this is legitimate question like asking if SQLCLR is faster than T-SQL :-)

    The answer to this question is that it depend on your personal abilities to develop the best execution plan (i am not talking about the SQL Server Query Execution Plan, but your planing of how to execute our queries), and your abilities to write the best query/solution (for example using SQLCLR can help you prepare the data for the insert, fast as the SSIS do probably), and more parameters. SSIS write T-SQL queries behind the screen, but can also make other actions that in T-SQL might be slow, in faster way (using other languages), eventually the SQL Server will execute those queries, as well. Therefore, theoretical you always have the option to write the same queries (or better)  using T-SQL / SQLCLR and execute them in the same option (one query for all the action, or several that executes parallel, using only T-SQL or combine with CLR, etc') by yourself.

    * SSIS is a great tool that give you fast and simple solution, without the need of writing the query yourself.


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]



    Saturday, February 14, 2015 10:36 AM
  • Hi

    If compare database engine and ssis in for example migrate from sqlserver to sqlserver:

    engine db is faster than ssis, because ssis use t-sql.

    More details..

    http://www.sqlservercentral.com/blogs/jamesserra/2011/08/29/when-to-use-t_2D00_sql-or-ssis-for-etl/

    • Marked as answer by neonash Saturday, February 14, 2015 11:17 PM
    • Unmarked as answer by pituachMVP Sunday, February 15, 2015 12:23 AM
    Saturday, February 14, 2015 11:17 PM
  • Hi

    If compare database engine and ssis in for example migrate from sqlserver to sqlserver:

    engine db is faster than ssis, because ssis use t-sql.

    More details..

    http://www.sqlservercentral.com/blogs/jamesserra/2011/08/29/when-to-use-t_2D00_sql-or-ssis-for-etl/

    Did you read anything that we wrote to you?!?

    You continue to compare "cars" to "drivers", "TV" and "electricity"!  The drivers use the car, the TV use the electricity, the SSIS use the database engine... how can you compare them?!? Please read what people wrote to you. We are trying to help you understand :-)

    * I recommend you to understand what is SSIS and what is database engine before you start to "compare" them. The link that you bring AGAIN have not even mention database engine! In any case your conclusion is not correct even if you meant to compare "using ONLY PURE T-SQL" to "using the SSIS" (which use T-SQL and more), since this is depending and in some cases SSIS will be faster and some cases using your own (at least my own) query will be faster!

    Please read this: SQL Server Database Engine
    The Database Engine is the core service for storing, processing, and securing data.


    signature   Ronen Ariely
     [Personal Site]    [Blog]    [Facebook]



    • Edited by pituachMVP Sunday, February 15, 2015 12:59 AM
    Sunday, February 15, 2015 12:31 AM