SlideShare a Scribd company logo
DML and DDL 在部屬時遇到
的問題探討
Len Chang 2019-11-16
Description
● DDL(Data Definition Language)
○ CREATE / ALTER / UPDATE schema
● DML(Data Manipulation Language)
○ INSERT / UPDATE / DELETE data
● DQL(Data Query Language)
○ SELECT data
● DCL(Data Control Language)
○ GRANT / REVOKE
○ COMMIT / ROLLBACK
Description
Transaction
● 將多個資料庫操作的 SQL 指令 group 成一個執行的單元區塊( a single
execution unit ),以特定的字串( Begin Transaction )來標記交易開始,一個交
易可能包括了多個資料庫操作指令來完成,交易結束時的動作有兩個,若所有的
操作全部執行成功,交易才算成功並提交變更( Commit Transaction ),若當中
有發生錯誤失敗,則整個交易宣告失敗並回復所有變更( Rollback Transaction
)。
DDL in transaction process...
It will lock all operations included...
● DML
● DQL
DML in transaction process...
It will lock operations included
● DML
DQL in transaction process...
Doesn’t lock anything
Case - DML and DDL in same transaction
Case - DML and DDL in same transaction (fix)
Case - DML and DDL in same transaction (fix_2)
● package.json
● pipeline script

More Related Content

PDF
COSCUP 2019 - The discussion between Knex.js and PostgreSQL
Len Chang
 
PDF
DevOps Taiwan meetup #19
Len Chang
 
PDF
BI in Xuenn
Len Chang
 
PDF
2014 Pixnet Hackathonh - EXIF Mining
Len Chang
 
PDF
Hadoop con2016 - Implement Real-time Centralized logging System by Elastic Stack
Len Chang
 
PDF
Agile scrum in startup
Len Chang
 
PPTX
Hadoop Con2015 - The Data Scientist’s Toolbox
Len Chang
 
PPTX
Spam user detection report
Len Chang
 
COSCUP 2019 - The discussion between Knex.js and PostgreSQL
Len Chang
 
DevOps Taiwan meetup #19
Len Chang
 
BI in Xuenn
Len Chang
 
2014 Pixnet Hackathonh - EXIF Mining
Len Chang
 
Hadoop con2016 - Implement Real-time Centralized logging System by Elastic Stack
Len Chang
 
Agile scrum in startup
Len Chang
 
Hadoop Con2015 - The Data Scientist’s Toolbox
Len Chang
 
Spam user detection report
Len Chang
 
Ad

The issue discussion between dml and ddl deployment

  • 1. DML and DDL 在部屬時遇到 的問題探討 Len Chang 2019-11-16
  • 2. Description ● DDL(Data Definition Language) ○ CREATE / ALTER / UPDATE schema ● DML(Data Manipulation Language) ○ INSERT / UPDATE / DELETE data ● DQL(Data Query Language) ○ SELECT data ● DCL(Data Control Language) ○ GRANT / REVOKE ○ COMMIT / ROLLBACK
  • 3. Description Transaction ● 將多個資料庫操作的 SQL 指令 group 成一個執行的單元區塊( a single execution unit ),以特定的字串( Begin Transaction )來標記交易開始,一個交 易可能包括了多個資料庫操作指令來完成,交易結束時的動作有兩個,若所有的 操作全部執行成功,交易才算成功並提交變更( Commit Transaction ),若當中 有發生錯誤失敗,則整個交易宣告失敗並回復所有變更( Rollback Transaction )。
  • 4. DDL in transaction process... It will lock all operations included... ● DML ● DQL
  • 5. DML in transaction process... It will lock operations included ● DML
  • 6. DQL in transaction process... Doesn’t lock anything
  • 7. Case - DML and DDL in same transaction
  • 8. Case - DML and DDL in same transaction (fix)
  • 9. Case - DML and DDL in same transaction (fix_2) ● package.json ● pipeline script