一、mysql百萬級表在不停機的情況下增加一個字段要怎么處理的
mysql百萬級表在不停機的情況下增加一個字段使用pt-online-schema-change。pt-online-schema-change是percona公司開發(fā)的一個工具,在percona-toolkit包里面可以找到這個功能,它可以在線修改表結構。
首先它會新建一張一模一樣的表,表名一般是_為前綴_new后綴,例如原表為t_user 臨時表就是_t_user_new;
然后在這個新表執(zhí)行更改字段操作;
然后在原表上加三個觸發(fā)器,DELETE/UPDATE/INSERT,將原表中要執(zhí)行的語句也在新表中執(zhí)行;
最后將原表的數(shù)據(jù)拷貝到新表中,然后替換掉原表。
SQL語句:
ALTER TABLE tmp_task_user ADD support tinyint(1) unsigned NOT NULL DEFAULT ‘1’;
工具命令:
sh pt.sh tmp_task_user “ADD COLUMN support tinyint(1) unsigned NOT NULL DEFAULT ‘1’”
好處:
降低主從延時的風險可以限速、限資源,避免操作時MySQL負載過高建議:
在業(yè)務低峰期做,將影響降到最低刪除索引后再修改表結構,效率將大大提升延伸閱讀:
二、應用架構是什么
應用架構(Application Architecture)是描述了IT系統(tǒng)功能和技術實現(xiàn)的內(nèi)容。應用架構分為以下兩個不同的層次:
企業(yè)級的應用架構:企業(yè)層面的應用架構起到了統(tǒng)一規(guī)劃、承上啟下的作用,向上承接了企業(yè)戰(zhàn)略發(fā)展方向和業(yè)務模式,向下規(guī)劃和指導企業(yè)各個IT系統(tǒng)的定位和功能。在企業(yè)架構中,應用架構是最重要和工作量最大的部分,他包括了企業(yè)的應用架構藍圖、架構標準/原則、系統(tǒng)的邊界和定義、系統(tǒng)間的關聯(lián)關系等方面的內(nèi)容。單個系統(tǒng)的應用架構:在開發(fā)或設計單一IT系統(tǒng)時,設計系統(tǒng)的主要模塊和功能點,系統(tǒng)技術實現(xiàn)是從前端展示到業(yè)務處理邏輯,到后臺數(shù)據(jù)是如何架構的。這方面的工作一般屬于項目組,而不是企業(yè)架構的范疇。