工业园区网站建设方案,摄影作品投稿网站,android开发app,网站设置qq临时会话摘要:
monetdb在事务处理时, 会将数据写入delta缓存中, 然后在commit时将数据写入wal文件, 随后由控制器决定何时将wal中的数据真正的写入BAT列文件中.
本文从delta缓存入手, 分析monetdb在事务处理中的细节. SQL: DML:
create table t1 (a int); 事务DDL:
START TRANSACTI…摘要:
monetdb在事务处理时, 会将数据写入delta缓存中, 然后在commit时将数据写入wal文件, 随后由控制器决定何时将wal中的数据真正的写入BAT列文件中.
本文从delta缓存入手, 分析monetdb在事务处理中的细节. SQL: DML:
create table t1 (a int); 事务DDL:
START TRANSACTION;
insert into t1 values (4);
COMMIT; trace日志: mserver启动后第一次执行insert: ALGO monetdb5/mal/mal_interpreter.c:716 runMALsequence calling querylog.define
ALGO monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.transaction_begin
ALGO monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.exportOperationALGO monetdb5/mal/mal_interpreter.c:716 runMALsequence calling querylog.define
ALGO monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.mvc
ALGO monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.claim
ALGO monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.append
IO_ gdk/gdk_bbp.c:3156 getBBPdescriptor load tmp_550
IO_ gdk/gdk_storage.c:637 DESCload DESCload: 05/550
IO_ gdk/gdk_storage.c:536 GDKload GDKload: name05/550.tail, ext, mode 1
IO_ gdk/gdk_storage.c:558 GDKload read(dst 0x7f01e8040cc0, n_expected 12, fd 9) 12
ALGO gdk/gdk_bat.c:1039 BUNappendmulti tmp_550#30[int]P appending 1 values
ALGO monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.depend
ALGO monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.affectedRowsALGO monetdb5/mal/mal_interpreter.c:716 runMALsequence calling querylog.define
ALGO monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.transaction_commit
IO_ gdk/gdk_bbp.c:3156 getBBPdescriptor load tmp_551
IO_ gdk/gdk_storage.c:637 DESCload DESCload: 05/551
IO_ gdk/gdk_storage.c:536 GDKload GDKload: name05/551.tail, ext, mode 1
IO_ gdk/gdk_storage.c:558 GDKload read(dst 0x7f01e8037d30, n_expected 4, fd 9) 4
ALGO monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.exportOperation mserver启动后第二次连续执行两次insert: monetdb5/mal/mal_interpreter.c:716 runMALsequence calling querylog.define
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.transaction_begin
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.exportOperationmonetdb5/mal/mal_interpreter.c:716 runMALsequence calling querylog.define
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.mvc
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.claim
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.append
gdk/gdk_bat.c:1039 BUNappendmulti tmp_550#40[int]P appending 1 values
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.depend
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.affectedRowsmonetdb5/mal/mal_interpreter.c:716 runMALsequence calling querylog.define
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.mvc
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.claim
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.append
gdk/gdk_bat.c:1039 BUNappendmulti tmp_550#50[int]P appending 1 values
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.depend
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.affectedRowsmonetdb5/mal/mal_interpreter.c:716 runMALsequence calling querylog.define
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.transaction_commit
monetdb5/mal/mal_interpreter.c:687 runMALsequence calling sql.exportOperation 核心处理: BUNappendmulti #0 BUNappendmulti (b0x1a366680, values0x7f01e803c600, count1, forcetrue) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/gdk/gdk_bat.c:1028
#1 0x00007f0283fb03d6 in delta_append_val (tr0x7f01e8004540, batp0x7f027e1f51e8, id7590, offset6, i0x7f01e803c600, cnt1, storage_type0x0, tt6)at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/sql/storage/bat/bat_storage.c:2319
#2 0x00007f0283fb0688 in append_col_execute (tr0x7f01e8004540, delta0x7f027e1f51e8, id7590, offset6, offsets0x0, incoming_data0x7f01e803c600, cnt1, tt6, storage_type0x0)at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/sql/storage/bat/bat_storage.c:2354
#3 0x00007f0283fb0969 in append_col (tr0x7f01e8004540, c0x1a571380, offset6, offsets0x0, data0x7f01e803c600, cnt1, tpe6)at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/sql/storage/bat/bat_storage.c:2384
#4 0x00007f0283e38a3c in mvc_append_wrap (cntxt0x237c610, mb0x7f01e8035660, stk0x7f01e803c4d0, pci0x7f01e8045000)at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/sql/backends/monet5/sql.c:1842
#5 0x00007f0297637047 in runMALsequence (cntxt0x237c610, mb0x7f01e8035660, startpc1, stoppc0, stk0x7f01e803c4d0, env0x0, pcicaller0x0)at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/monetdb5/mal/mal_interpreter.c:688
#6 0x00007f02976357be in runMAL (cntxt0x237c610, mb0x7f01e8035660, mbcaller0x0, env0x0) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/monetdb5/mal/mal_interpreter.c:357
#7 0x00007f0283e5963b in SQLrun (c0x237c610, m0x7f01e80168d0) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/sql/backends/monet5/sql_execute.c:259
#8 0x00007f0283e5af37 in SQLengineIntern (c0x237c610, be0x7f01e8036150) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/sql/backends/monet5/sql_execute.c:709
#9 0x00007f0283e58505 in SQLengine (c0x237c610) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/sql/backends/monet5/sql_scenario.c:1358
#10 0x00007f02976568c0 in runPhase (c0x237c610, phase4) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/monetdb5/mal/mal_scenario.c:453
#11 0x00007f0297656a2a in runScenarioBody (c0x237c610, once0) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/monetdb5/mal/mal_scenario.c:479
#12 0x00007f0297656c36 in runScenario (c0x237c610, once0) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/monetdb5/mal/mal_scenario.c:510
#13 0x00007f0297659048 in MSserveClient (c0x237c610) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/monetdb5/mal/mal_session.c:589
#14 0x00007f02976588c1 in MSscheduleClient (command0x7f01e8000b70 \333 repeats 199 times, incomplete sequence \333..., challenge0x7f027e1f5ce3 HJBNRi7c, fin0x7f01e8002b90, fout0x7f01f0003e20, protocolPROTOCOL_9, blocksize8190) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/monetdb5/mal/mal_session.c:445
#15 0x00007f029771e232 in doChallenge (data0x7f01f0000b70) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/monetdb5/modules/mal/mal_mapi.c:222
#16 0x00007f0296fcf749 in THRstarter (a0x7f01f0006310) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/gdk/gdk_utils.c:1668
#17 0x00007f029704cb43 in thread_starter (arg0x7f01f0006380) at /root/work/monetdb-dev/trunk/monetdb-sep2022_sp3_release/gdk/gdk_system.c:862
#18 0x00007f029658d1ca in start_thread () from /lib64/libpthread.so.0
#19 0x00007f02961f9e73 in clone () from /lib64/libc.so.6