The Vertica Forum recently got a makeover! Let us know what you think by filling out this short, anonymous survey.
Please take this survey to help us learn more about how you use third party tools. Your input is greatly appreciated!
How Insert / Updates work in vertica in detail
I need some clarity on how any insert / update gets written to WOS and propagated to copies ? 1. Is WOS is single per cluster or per node. ( I assume it is per node as per shared nothing architecture ) 2. If I insert row with id 1 on node 1, it gets written to WOS on node 1. Do i get commit acknowledgement right away ? How and when its replicated to other nodes. By the time it gets replicated ( but committed to node1 ), do queries on those replica return obsolete data ? 3. What if my row with id 1 on node 1 committed successfully on WOS but yet not moved to ROS and not yet replicated to other replicas. Meanwhile what if node 1 goes down ?
0
Comments
I have a question along the same lines. If I have 3 tables A B and C
1. I do a big insert on A(without direct hint ) and commit it. Lets assume its a big dml so the move-out process is taking a while
2. Meanwhile , I insert into table B some rows that I select from table A(assuming table A rows are now available for querying since I committed it, even though they might not all be in ROS yet)
I use a DIRECT hint this time and the commit it.
3. I create a third table C, and just insert some unrelated rows in it using DIRECT hint. commit it.
All this while DML for A is still running.
My questions:
IF I lose all my nodes now, when I bring my DB back up:
1. What will be the state of A,B and C.
2. Will C have all data that I inserted into it.
3. Will B have all the data that I inserted, including the ones that were committed for A, but the move-out didnt move it to ROS.
4. where will be the last good epoch.
Thanks for the explanation!
Dgh