Well Oracle will allow that if the underlying table is in NOLOOGING mode :)
mtale...@mydb12.mich.LOCAL> create table testme(col1 int); Table created. mtale...@mydb12.mich.LOCAL> *alter table testme NOLOGGING;* Table altered. mtale...@mydb12.mich.LOCAL> insert into testme values(1); 1 row created. Dr Mich Talebzadeh LinkedIn * https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>* http://talebzadehmich.wordpress.com On 20 April 2016 at 20:45, Andrés Ivaldi <iaiva...@gmail.com> wrote: > I think the same, and I don't think reducing batches size improves speed > but will avoid loosing all data when rollback. > > > Thanks for the help.. > > > On Wed, Apr 20, 2016 at 4:03 PM, Mich Talebzadeh < > mich.talebza...@gmail.com> wrote: > >> yep. I think it is not possible to make SQL Server do a non logged >> transaction. Other alternative is doing inserts in small batches if >> possible. Or write to a CSV type file and use Bulk copy to load the file >> into MSSQL with frequent commits like every 50K rows? >> >> >> >> Dr Mich Talebzadeh >> >> >> >> LinkedIn * >> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw >> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>* >> >> >> >> http://talebzadehmich.wordpress.com >> >> >> >> On 20 April 2016 at 19:42, Andrés Ivaldi <iaiva...@gmail.com> wrote: >> >>> Yes, I know that behavior , but there is not explicit Begin Transaction >>> in my code, so, maybe Spark or the same driver is adding the begin >>> transaction, or implicit transaction is configured. If spark is'n adding a >>> Begin transaction on each insertion, then probably is database or Driver >>> configuration... >>> >>> On Wed, Apr 20, 2016 at 3:33 PM, Mich Talebzadeh < >>> mich.talebza...@gmail.com> wrote: >>> >>>> >>>> You will see what is happening in SQL Server. First create a test table >>>> called testme >>>> >>>> 1> use tempdb >>>> 2> go >>>> 1> create table testme(col1 int) >>>> 2> go >>>> -- Now explicitly begin a transaction and insert 1 row and select from >>>> table >>>> 1> >>>> *begin tran*2> insert into testme values(1) >>>> 3> select * from testme >>>> 4> go >>>> (1 row affected) >>>> col1 >>>> ----------- >>>> 1 >>>> -- That value col1=1 is there >>>> -- >>>> (1 row affected) >>>> -- Now rollback that transaction meaning in your case by killing your >>>> Spark process! >>>> -- >>>> 1> rollback tran >>>> 2> select * from testme >>>> 3> go >>>> col1 >>>> ----------- >>>> (0 rows affected) >>>> >>>> -- You can see that record has gone as it rolled back! >>>> >>>> >>>> Dr Mich Talebzadeh >>>> >>>> >>>> >>>> LinkedIn * >>>> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw >>>> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>* >>>> >>>> >>>> >>>> http://talebzadehmich.wordpress.com >>>> >>>> >>>> >>>> On 20 April 2016 at 18:42, Andrés Ivaldi <iaiva...@gmail.com> wrote: >>>> >>>>> Sorry I'cant answer before, I want to know if spark is the responsible >>>>> to add the Begin Tran, The point is to speed up insertion over losing >>>>> data, >>>>> Disabling Transaction will speed up the insertion and we dont care about >>>>> consistency... I'll disable te implicit_transaction and see what happens. >>>>> >>>>> thanks >>>>> >>>>> On Wed, Apr 20, 2016 at 12:09 PM, Mich Talebzadeh < >>>>> mich.talebza...@gmail.com> wrote: >>>>> >>>>>> Assuming that you are using JDBC for putting data into any ACID >>>>>> compliant database (MSSQL, Sybase, Oracle etc), you are implicitly or >>>>>> explicitly adding BEGIN TRAN to INSERT statement in a distributed >>>>>> transaction. MSSQL does not know or care where data is coming from. If >>>>>> your >>>>>> connection completes OK a COMMIT TRAN will be sent and that will tell >>>>>> MSQL >>>>>> to commit transaction. If yoy kill Spark transaction before MSSQL receive >>>>>> COMMIT TRAN, the transaction will be rolled back. >>>>>> >>>>>> The only option is that if you don't care about full data getting to >>>>>> MSSQL,to break your insert into chunks at source and send data to MSSQL >>>>>> in >>>>>> small batches. In that way you will not lose all data in MSSQL because of >>>>>> rollback. >>>>>> >>>>>> HTH >>>>>> >>>>>> Dr Mich Talebzadeh >>>>>> >>>>>> >>>>>> >>>>>> LinkedIn * >>>>>> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw >>>>>> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>* >>>>>> >>>>>> >>>>>> >>>>>> http://talebzadehmich.wordpress.com >>>>>> >>>>>> >>>>>> >>>>>> On 20 April 2016 at 07:33, Mich Talebzadeh <mich.talebza...@gmail.com >>>>>> > wrote: >>>>>> >>>>>>> Are you using JDBC to push data to MSSQL? >>>>>>> >>>>>>> Dr Mich Talebzadeh >>>>>>> >>>>>>> >>>>>>> >>>>>>> LinkedIn * >>>>>>> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw >>>>>>> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>* >>>>>>> >>>>>>> >>>>>>> >>>>>>> http://talebzadehmich.wordpress.com >>>>>>> >>>>>>> >>>>>>> >>>>>>> On 19 April 2016 at 23:41, Andrés Ivaldi <iaiva...@gmail.com> wrote: >>>>>>> >>>>>>>> I mean local transaction, We've ran a Job that writes into >>>>>>>> SQLServer then we killed spark JVM just for testing purpose and we >>>>>>>> realized >>>>>>>> that SQLServer did a rollback. >>>>>>>> >>>>>>>> Regards >>>>>>>> >>>>>>>> On Tue, Apr 19, 2016 at 5:27 PM, Mich Talebzadeh < >>>>>>>> mich.talebza...@gmail.com> wrote: >>>>>>>> >>>>>>>>> Hi, >>>>>>>>> >>>>>>>>> What do you mean by *without transaction*? do you mean forcing SQL >>>>>>>>> Server to accept a non logged operation? >>>>>>>>> >>>>>>>>> Dr Mich Talebzadeh >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> LinkedIn * >>>>>>>>> https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw >>>>>>>>> <https://www.linkedin.com/profile/view?id=AAEAAAAWh2gBxianrbJd6zP6AcPCCdOABUrV8Pw>* >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> http://talebzadehmich.wordpress.com >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> On 19 April 2016 at 21:18, Andrés Ivaldi <iaiva...@gmail.com> >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> Hello, is possible to execute a SQL write without Transaction? we >>>>>>>>>> dont need transactions to save our data and this adds an overhead to >>>>>>>>>> the >>>>>>>>>> SQLServer. >>>>>>>>>> >>>>>>>>>> Regards. >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Ing. Ivaldi Andres >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Ing. Ivaldi Andres >>>>>>>> >>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Ing. Ivaldi Andres >>>>> >>>> >>>> >>>> >>> >>> >>> -- >>> Ing. Ivaldi Andres >>> >> >> > > > -- > Ing. Ivaldi Andres >