Skip to content

Instantly share code, notes, and snippets.

@alswl
Created March 12, 2018 09:47
Show Gist options
  • Save alswl/1519c55ae8c7ed83d89a18adf7809b7b to your computer and use it in GitHub Desktop.
Save alswl/1519c55ae8c7ed83d89a18adf7809b7b to your computer and use it in GitHub Desktop.
graphviz sample
digraph G {
compound = true;
fontsize = 14;
margin = "0,0";
ranksep = 0.2;
nodesep = 0.5;
penwidth = 0.5;
colorscheme = spectral7;
graph [fontname = "Adobe Heiti Std", labelfontname = "Adobe Heiti Std"];
node [fontname = "Adobe Heiti Std", shape = box, fontsize = 14, penwidth = 0.5, style = filled, fillcolor = white, labelfontname = "Adobe Heiti Std"];
edge [fontname = "Adobe Heiti Std", labelfontname = "Adobe Heiti Std", fontsize = 12, penwidth = 0.5];
node [width = 4]
Start -> "应用切换只读状态"
-> "数据库 a 置入只读状态"
-> "Extract a" -> Translate -> "Load to b" -> "一致性校验"
-> "应用切换正常状态" -> "备份数据库 a" -> End;
Start [shape = Msquare, width=0];
End [shape = Msquare, width=0];
subgraph cluster0 {
margin = "10,10";
labeljust = "left";
style = "filled, dashed";
fillcolor = 3;
label = "发布前准备";
"应用切换只读状态" ;
"数据库 a 置入只读状态";
}
subgraph cluster1 {
margin = "10,10";
labeljust = "left";
style = "filled, dashed";
fillcolor = 4;
label = "ETL";
"Extract a";
Translate;
"Load to b";
"一致性校验";
}
subgraph cluster2 {
margin = "10,10";
labeljust = "left";
style = "filled, dashed";
fillcolor = 5;
label = "发布和后置工作";
"应用切换正常状态" ;
"备份数据库 a";
}
label = "DB a(SQL Server)离线迁移到 DB b(MySQL)";
}
digraph G {
compound = true;
fontsize = 14;
margin = "0,0";
ranksep = 0.2;
nodesep = 0.5;
penwidth = 0.5;
colorscheme = spectral7;
graph [fontname = "Adobe Heiti Std", labelfontname = "Adobe Heiti Std"];
node [fontname = "Adobe Heiti Std", shape = box, fontsize = 14, penwidth = 0.5, style = filled, fillcolor = white, labelfontname = "Adobe Heiti Std"];
edge [fontname = "Adobe Heiti Std", labelfontname = "Adobe Heiti Std", fontsize = 12, penwidth = 0.5];
node [width = 4]
Start -> "导出 a snapshot 数据"
-> "ETL 工具 Translate / Load snapshot 数据"
-> "DB b Load 数据"
-> "ETL 工具 在线追增量数据 a to b"
-> "ETL 工具 持续消费增量数据 a to b"
-> "应用短暂停机"
-> "等待 b 增量消费完成"
-> "DB a 只读模式"
-> "对数据库进行一致性校验(可选)"
-> "应用恢复正常读写状态"
-> "备份数据库 a"
-> End;
Start [shape = Msquare, width=0];
End [shape = Msquare, width=0];
subgraph cluster0 {
margin = "10,10";
labeljust = "left";
style = filled;
fillcolor = 3;
label = "发布前准备";
"导出 a snapshot 数据"
"ETL 工具 Translate / Load snapshot 数据";
"DB b Load 数据";
"ETL 工具 在线追增量数据 a to b"
"ETL 工具 持续消费增量数据 a to b"
}
subgraph cluster1 {
margin = "10,10";
labeljust = "left";
style = filled;
fillcolor = 5;
label = "发布和后置工作";
"应用短暂停机";
"等待 b 增量消费完成"
"DB a 只读模式";
"对数据库进行一致性校验(可选)";
"应用恢复正常读写状态";
"备份数据库 a";
}
label = "DB a(SQL Server)在线迁移到 DB b(MySQL)";
}
@alswl
Copy link
Author

alswl commented Mar 12, 2018

migration-db-offline-readonly

migration-db-online

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment