From 3132a39816c2137dcc4df0d9e23019200fce9384 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Wed, 19 Apr 2023 00:57:41 +0100 Subject: [PATCH 1/5] Fix sponsor opener --- src/components/Sponsor/sponsor.js | 4 ++-- src/components/TopicDetail/TopicDetail.tsx | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/components/Sponsor/sponsor.js b/src/components/Sponsor/sponsor.js index 8390791e1429..3d3975610608 100644 --- a/src/components/Sponsor/sponsor.js +++ b/src/components/Sponsor/sponsor.js @@ -1,12 +1,12 @@ import { sponsorHidden } from '../../stores/page'; -function showHideSponsor(isHidden) { +function showHideSponsor(shouldHide) { const ad = document.querySelector('#sponsor-ad'); if (!ad) { return; } - if (isHidden) { + if (shouldHide) { ad.classList.add('hidden'); ad.classList.remove('flex'); } else { diff --git a/src/components/TopicDetail/TopicDetail.tsx b/src/components/TopicDetail/TopicDetail.tsx index cc5258fc97d9..a096c9cb504b 100644 --- a/src/components/TopicDetail/TopicDetail.tsx +++ b/src/components/TopicDetail/TopicDetail.tsx @@ -84,7 +84,6 @@ export function TopicDetail() { // Close the topic detail when user clicks outside the topic detail useOutsideClick(topicRef, () => { setIsActive(false); - sponsorHidden.set(false); }); useKeydown('Escape', () => { From e69d9b4238aec9bc2d35064b348fd7fb7419eff9 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Wed, 19 Apr 2023 15:28:14 +0100 Subject: [PATCH 2/5] Add PEV2 --- public/jsons/roadmaps/postgresql-dba.json | 2 +- .../103-query-analysis/102-pev.md | 37 ------------------- .../103-query-analysis/102-pev2.md | 22 +++++++++++ 3 files changed, 23 insertions(+), 38 deletions(-) delete mode 100644 src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/102-pev.md create mode 100644 src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/102-pev2.md diff --git a/public/jsons/roadmaps/postgresql-dba.json b/public/jsons/roadmaps/postgresql-dba.json index 8bc63d85bfb6..47c17e382470 100644 --- a/public/jsons/roadmaps/postgresql-dba.json +++ b/public/jsons/roadmaps/postgresql-dba.json @@ -1 +1 @@ -{"mockup":{"controls":{"control":[{"ID":"641","typeID":"Label","zOrder":"87","measuredW":"152","measuredH":"36","x":"666","y":"181","properties":{"size":"28","text":"PostgreSQL"}},{"ID":"646","typeID":"Arrow","zOrder":"88","w":"1","h":"84","measuredW":"150","measuredH":"100","x":"741","y":"86","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":-0.3333333333333428},"p1":{"x":0.5,"y":0},"p2":{"x":0,"y":84}}},{"ID":"700","typeID":"Arrow","zOrder":"86","w":"191","h":"1","measuredW":"150","measuredH":"100","x":"352","y":"686","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":191,"y":0}}},{"ID":"701","typeID":"Arrow","zOrder":"85","w":"1","h":"94","measuredW":"150","measuredH":"100","x":"355","y":"691","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0.3919582050954773},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":94.47632623201923}}},{"ID":"702","typeID":"Arrow","zOrder":"84","w":"1","h":"78","measuredW":"150","measuredH":"100","x":"640","y":"707","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.4271178962663953,"y":78.47632623201923}}},{"ID":"703","typeID":"Arrow","zOrder":"83","w":"171","h":"258","measuredW":"150","measuredH":"100","x":"571","y":"414","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":171,"y":0},"p1":{"x":0.5854320642684712,"y":0.23339886429384038},"p2":{"x":0.008847042366596725,"y":257.51497904447774}}},{"ID":"704","typeID":"Arrow","zOrder":"82","w":"172","h":"1","measuredW":"150","measuredH":"100","x":"753","y":"686","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":-0.11774307773505654},"p1":{"x":0.5000000000000002,"y":2.0577493387487696e-32},"p2":{"x":171.58708306717926,"y":-0.11774307773504233}}},{"ID":"982","typeID":"Arrow","zOrder":"81","w":"1","h":"147","measuredW":"150","measuredH":"100","x":"1077","y":"613","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":-0.12826052131362076},"p1":{"x":0.5,"y":0},"p2":{"x":0,"y":147.29881929523685}}},{"ID":"985","typeID":"Arrow","zOrder":"80","w":"128","h":"1","measuredW":"150","measuredH":"100","x":"1107","y":"685","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.3182218608979,"y":0},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"986","typeID":"Canvas","zOrder":"115","w":"189","h":"189","measuredW":"100","measuredH":"70","x":"1199","y":"592"},{"ID":"987","typeID":"Label","zOrder":"116","measuredW":"140","measuredH":"24","x":"1224","y":"603","properties":{"size":"16","text":"Managing Postgres"}},{"ID":"997","typeID":"Arrow","zOrder":"79","w":"1","h":"213","measuredW":"150","measuredH":"100","x":"946","y":"690","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":212.3884650838079},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1027","typeID":"Arrow","zOrder":"74","w":"1","h":"106","measuredW":"150","measuredH":"100","x":"1158","y":"912","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":106.43592685891701},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"1028","typeID":"Arrow","zOrder":"73","w":"1","h":"106","measuredW":"150","measuredH":"100","x":"1309","y":"912","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":106.43592685891701},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"1029","typeID":"Arrow","zOrder":"72","w":"258","h":"1","measuredW":"150","measuredH":"100","x":"946","y":"903","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.49987434137158676,"y":0.00022818425917650698},"p2":{"x":258,"y":0}}},{"ID":"1030","typeID":"Arrow","zOrder":"71","w":"258","h":"1","measuredW":"150","measuredH":"100","x":"946","y":"920","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.49987434137158676,"y":0.00022818425917650698},"p2":{"x":258,"y":0}}},{"ID":"1031","typeID":"Arrow","zOrder":"127","w":"1","h":"571","measuredW":"150","measuredH":"100","x":"946","y":"920","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":570.8537254716314},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1048","typeID":"Arrow","zOrder":"69","w":"128","h":"1","measuredW":"150","measuredH":"100","x":"734","y":"1141","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":128.3182218608979,"y":0},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0},"color":"10027263"}},{"ID":"1049","typeID":"Label","zOrder":"137","measuredW":"180","measuredH":"25","x":"530","y":"1116","properties":{"text":"Following {color:blue}postgres.conf{color}","size":"17"}},{"ID":"1050","typeID":"Label","zOrder":"138","measuredW":"186","measuredH":"25","x":"530","y":"1143","properties":{"text":"configurations and more","size":"17"}},{"ID":"1051","typeID":"Canvas","zOrder":"136","w":"245","h":"79","measuredW":"100","measuredH":"70","x":"508","y":"1102"},{"ID":"1069","typeID":"Arrow","zOrder":"68","w":"1","h":"191","measuredW":"150","measuredH":"100","x":"557","y":"1051","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":190.66666666666663},"color":"10027263"}},{"ID":"1070","typeID":"Arrow","zOrder":"67","w":"188","h":"7","measuredW":"150","measuredH":"100","x":"364","y":"1119","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":188.66666666666669,"y":6.666666666666629},"color":"10027263"}},{"ID":"1071","typeID":"Arrow","zOrder":"66","w":"189","h":"6","measuredW":"150","measuredH":"100","x":"374","y":"1158","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":6},"p1":{"x":0.5,"y":0},"p2":{"x":189.67849256059174,"y":0.26114628054824607},"color":"10027263"}},{"ID":"1072","typeID":"Arrow","zOrder":"65","w":"136","h":"92","measuredW":"150","measuredH":"100","x":"425","y":"1021","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":0},"p1":{"x":0.4922100240848163,"y":-0.11071038048662066},"p2":{"x":135.72190217879785,"y":91.72550749825871},"color":"10027263"}},{"ID":"1073","typeID":"Arrow","zOrder":"64","w":"128","h":"41","measuredW":"150","measuredH":"100","x":"425","y":"1071","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":0},"p1":{"x":0.4922100240848163,"y":-0.11071038048662071},"p2":{"x":127.66666666666669,"y":39.33333333333337},"color":"10027263"}},{"ID":"1074","typeID":"Arrow","zOrder":"63","w":"147","h":"44","measuredW":"150","measuredH":"100","x":"407","y":"1171","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.3333333333333144,"y":44},"p1":{"x":0.5300999629766752,"y":0.0764901888189561},"p2":{"x":147,"y":0},"color":"10027263"}},{"ID":"1075","typeID":"Arrow","zOrder":"62","w":"134","h":"98","measuredW":"150","measuredH":"100","x":"421","y":"1172","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":97.66666666666663},"p1":{"x":0.5069805639200657,"y":0.10073911853271315},"p2":{"x":134.13752000020185,"y":-0.3173254102676992},"color":"10027263"}},{"ID":"1076","typeID":"Arrow","zOrder":"147","w":"176","h":"1","measuredW":"150","measuredH":"100","x":"770","y":"1491","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.4483238886820118,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":176.47256858280025,"y":-0.11774307773521286}}},{"ID":"1100","typeID":"Arrow","zOrder":"61","w":"191","h":"1","measuredW":"150","measuredH":"100","x":"406","y":"1501","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":191,"y":0}}},{"ID":"1101","typeID":"Arrow","zOrder":"60","w":"117","h":"40","measuredW":"150","measuredH":"100","x":"449","y":"1450","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.45411869987805176,"y":-0.38780237568789744},"p1":{"x":0.5058786326070862,"y":-0.07078943628709435},"p2":{"x":116.60131496868928,"y":40.02419258131749}}},{"ID":"1102","typeID":"Arrow","zOrder":"59","w":"127","h":"34","measuredW":"150","measuredH":"100","x":"454","y":"1512","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.11994957005373408,"y":33.764875280635124},"p1":{"x":0.48226186491714973,"y":0.07717329440735292},"p2":{"x":126.93000271100163,"y":0.32046566104463636}}},{"ID":"1103","typeID":"Arrow","zOrder":"58","w":"1","h":"191","measuredW":"150","measuredH":"100","x":"628","y":"1406","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":190.66666666666663}}},{"ID":"1104","typeID":"Arrow","zOrder":"57","w":"165","h":"1","measuredW":"150","measuredH":"100","x":"780","y":"1509","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.4483238886820118,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":165.74959169655313,"y":-0.11774307773521286}}},{"ID":"1107","typeID":"Arrow","zOrder":"56","w":"1","h":"287","measuredW":"150","measuredH":"100","x":"946","y":"1509","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":286.97930395280105},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1124","typeID":"Canvas","zOrder":"55","w":"235","h":"157","measuredW":"100","measuredH":"70","x":"1160","y":"2016"},{"ID":"1125","typeID":"Label","zOrder":"167","measuredW":"87","measuredH":"24","x":"1214","y":"1947","properties":{"size":"16","text":"Builtin Tools"}},{"ID":"1127","typeID":"Arrow","zOrder":"54","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1257","y":"1965","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1128","typeID":"Label","zOrder":"168","measuredW":"66","measuredH":"24","x":"1046","y":"1947","properties":{"size":"16","text":"3rd Party"}},{"ID":"1129","typeID":"Arrow","zOrder":"49","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1078","y":"1969","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1130","typeID":"Canvas","zOrder":"50","w":"188","h":"157","measuredW":"100","measuredH":"70","x":"977","y":"2016"},{"ID":"1140","typeID":"Arrow","zOrder":"52","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1078","y":"1882","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1141","typeID":"Arrow","zOrder":"51","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1257","y":"1885","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1150","typeID":"Arrow","zOrder":"48","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"849","y":"1894","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1163","typeID":"Arrow","zOrder":"180","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"849","y":"2079","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1170","typeID":"Arrow","zOrder":"184","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"595","y":"1894","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1177","typeID":"Arrow","zOrder":"188","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"542","y":"2078","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1189","typeID":"Arrow","zOrder":"47","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"641","y":"2082","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1190","typeID":"Arrow","zOrder":"194","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"354","y":"1894","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1201","typeID":"Arrow","zOrder":"46","w":"102","h":"42","measuredW":"150","measuredH":"100","x":"701","y":"1744","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.3637224596427586,"y":0.4123432898111332},"p1":{"x":0.5571092804064476,"y":-0.10882932503976735},"p2":{"x":101.56767757191813,"y":41.71540129516461}}},{"ID":"1202","typeID":"Arrow","zOrder":"45","w":"1","measuredW":"150","measuredH":"100","x":"1007","y":"1792","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":0.4271178962662816,"y":99.26706104101345}}},{"ID":"1203","typeID":"Arrow","zOrder":"44","w":"1","measuredW":"150","measuredH":"100","x":"857","y":"1792","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":0.4271178962662816,"y":99.26706104101345}}},{"ID":"1204","typeID":"Arrow","zOrder":"43","w":"1","h":"302","measuredW":"150","measuredH":"100","x":"1256","y":"1587","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":0.2815709355738818},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962662816,"y":302.26706104101345}}},{"ID":"1205","typeID":"Arrow","zOrder":"42","w":"404","h":"1","measuredW":"150","measuredH":"100","x":"415","y":"1889","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":404.698868282416,"y":0}}},{"ID":"1206","typeID":"Arrow","zOrder":"41","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"850","y":"2011","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1207","typeID":"Arrow","zOrder":"40","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"594","y":"2011","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1209","typeID":"Arrow","zOrder":"39","w":"620","h":"1","measuredW":"150","measuredH":"100","x":"232","y":"1799","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.13465453284504747,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":619.7495916965531,"y":-0.11774307773521286}}},{"ID":"1210","typeID":"Arrow","zOrder":"200","w":"1","h":"492","measuredW":"150","measuredH":"100","x":"232","y":"1800","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":491.5072332031234},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.4750232346368648}}},{"ID":"1211","typeID":"Arrow","zOrder":"201","w":"1151","h":"1","measuredW":"150","measuredH":"100","x":"232","y":"2292","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.13465453284504747,"y":-0.11774307773521286},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":1150.9611057996974,"y":-0.11774307773521286}}},{"ID":"1220","typeID":"Arrow","zOrder":"38","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"437","y":"2305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1221","typeID":"Arrow","zOrder":"37","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"434","y":"2426","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1239","typeID":"Label","zOrder":"214","measuredW":"110","measuredH":"24","x":"627","y":"2488","properties":{"size":"16","text":"Migration Tools"}},{"ID":"1241","typeID":"Canvas","zOrder":"36","w":"146","h":"164","measuredW":"100","measuredH":"70","x":"611","y":"2359"},{"ID":"1252","typeID":"Canvas","zOrder":"218","w":"146","h":"126","measuredW":"100","measuredH":"70","x":"608","y":"2684"},{"ID":"1260","typeID":"Arrow","zOrder":"35","w":"1","h":"97","measuredW":"150","measuredH":"100","x":"681","y":"2293","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":0},"p2":{"x":0.4271178962662816,"y":96.57440424601737}}},{"ID":"1279","typeID":"Arrow","zOrder":"34","w":"1","h":"97","measuredW":"150","measuredH":"100","x":"999","y":"2292","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":0},"p2":{"x":0.4271178962662816,"y":96.57440424601737}}},{"ID":"1300","typeID":"Arrow","zOrder":"240","w":"1","h":"873","measuredW":"150","measuredH":"100","x":"1382","y":"2293","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":872.4114173726703},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1301","typeID":"Arrow","zOrder":"241","w":"446","h":"1","measuredW":"150","measuredH":"100","x":"936","y":"3166","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":-0.11774307773521286},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":446,"y":-0.11774307773521286}}},{"ID":"1386","typeID":"Arrow","zOrder":"16","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"678","y":"3164","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1387","typeID":"Arrow","zOrder":"15","w":"1","h":"295","measuredW":"150","measuredH":"100","x":"874","y":"3166","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":295.29969269717276},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1390","typeID":"Arrow","zOrder":"14","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"548","y":"3377","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1405","typeID":"Arrow","zOrder":"13","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"417","y":"3306","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1406","typeID":"Arrow","zOrder":"12","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"510","y":"3305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1407","typeID":"Arrow","zOrder":"11","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"602","y":"3305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1412","typeID":"Arrow","zOrder":"10","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"884","y":"3378","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1413","typeID":"Arrow","zOrder":"9","w":"88","h":"36","measuredW":"150","measuredH":"100","x":"971","y":"3331","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.03706521841161248,"y":35.08533148408014},"p1":{"x":0.47748925835979983,"y":-0.13076779376050712},"p2":{"x":87.61231135982212,"y":0.2833731368405097}}},{"ID":"1417","typeID":"Arrow","zOrder":"8","w":"1","h":"162","measuredW":"150","measuredH":"100","x":"740","y":"232","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":161.3884650838079},"p1":{"x":0.5000000000000004,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.2593697375390036}}},{"ID":"1426","typeID":"Arrow","zOrder":"7","w":"140","h":"60","measuredW":"150","measuredH":"100","x":"841","y":"341","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":140.74379514298448,"y":-0.18824991656077827},"p1":{"x":0.523254983210688,"y":0.10945202543402179},"p2":{"x":0.2470003337568869,"y":59.10397541577379}}},{"ID":"1427","typeID":"Arrow","zOrder":"6","w":"134","h":"21","measuredW":"150","measuredH":"100","x":"849","y":"389","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":134.03275656325263,"y":-0.49667736663946016},"p1":{"x":0.49455143506411814,"y":0.05494286199591283},"p2":{"x":-0.01923114463420461,"y":20.126705357650792}}},{"ID":"1428","typeID":"Arrow","zOrder":"5","w":"129","h":"12","measuredW":"150","measuredH":"100","x":"858","y":"424","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.8996408240571,"y":12.194895183281858},"p1":{"x":0.525055137952002,"y":-0.03353659581377254},"p2":{"x":0.0034987972427416025,"y":0.5942424008685521}}},{"ID":"1429","typeID":"Arrow","zOrder":"4","w":"129","h":"54","measuredW":"150","measuredH":"100","x":"853","y":"430","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.74379514298448,"y":53.88646773320312},"p1":{"x":0.3624836784055758,"y":-0.08803194020926222},"p2":{"x":-0.15234688382986405,"y":-0.24991191805889912}}},{"ID":"1438","typeID":"Arrow","zOrder":"3","w":"171","h":"2","measuredW":"150","measuredH":"100","x":"943","y":"3457","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.2502642458233595,"y":-0.2116722737659984},"p1":{"x":0.5,"y":0},"p2":{"x":171.71787682058277,"y":2}}},{"ID":"1439","typeID":"Arrow","zOrder":"1","w":"125","h":"50","measuredW":"150","measuredH":"100","x":"966","y":"3466","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.45156981064997126,"y":-0.1889423318889385},"p1":{"x":0.6037511436413536,"y":0.08810612991765832},"p2":{"x":125.48082757665975,"y":50.08055305856897}}},{"ID":"1440","typeID":"Arrow","zOrder":"2","w":"134","h":"85","measuredW":"150","measuredH":"100","x":"957","y":"3475","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.42883986877291136,"y":-0.1662123900118786},"p1":{"x":0.5387556024255216,"y":0.1207487476931185},"p2":{"x":134.48082757665975,"y":84.90524134768566}}},{"ID":"1442","typeID":"Arrow","zOrder":"0","w":"1","h":"104","measuredW":"150","measuredH":"100","x":"874","y":"3459","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":104.19580709381944},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1443","typeID":"Label","zOrder":"274","measuredW":"161","measuredH":"32","x":"794","y":"3575","properties":{"size":"24","text":"Keep Learning"}},{"ID":"1444","typeID":"Arrow","zOrder":"275","w":"1","h":"67","measuredW":"150","measuredH":"100","x":"874","y":"3634","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":67},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233},"stroke":"dotted"}},{"ID":"1445","typeID":"Arrow","zOrder":"276","w":"171","h":"2","measuredW":"150","measuredH":"100","x":"777","y":"3771","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.2502642458233595,"y":-0.2116722737659984},"p1":{"x":0.5,"y":0},"p2":{"x":171.71787682058277,"y":2},"color":"16777215"}},{"ID":"1446","typeID":"Canvas","zOrder":"277","w":"350","h":"141","measuredW":"100","measuredH":"70","x":"975","y":"134"},{"ID":"1447","typeID":"Label","zOrder":"278","measuredW":"314","measuredH":"25","x":"989","y":"151","properties":{"size":"17","text":"Find the detailed version of this roadmap"}},{"ID":"1448","typeID":"Label","zOrder":"279","measuredW":"319","measuredH":"25","x":"989","y":"179","properties":{"size":"17","text":"along with resources and other roadmaps"}},{"ID":"1449","typeID":"__group__","zOrder":"280","measuredW":"320","measuredH":"45","w":"320","h":"45","x":"990","y":"215","properties":{"controlName":"ext_link:roadmap.sh"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"45","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"borderColor":"4273622","color":"4273622"}},{"ID":"2","typeID":"Label","zOrder":"1","measuredW":"172","measuredH":"28","x":"74","y":"8","properties":{"color":"16777215","size":"20","text":"https://roadmap.sh"}}]}}},{"ID":"1450","typeID":"Canvas","zOrder":"281","w":"300","h":"141","measuredW":"100","measuredH":"70","x":"261","y":"130"},{"ID":"1451","typeID":"__group__","zOrder":"282","measuredW":"181","measuredH":"25","w":"181","h":"25","x":"284","y":"192","properties":{"controlName":"ext_link:roadmap.sh/mongodb"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"148","measuredH":"24","x":"33","y":"0","properties":{"size":"16","text":"MongoDB Roadmap"}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"1","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10066329"}}]}}},{"ID":"1452","typeID":"Label","zOrder":"283","measuredW":"175","measuredH":"28","x":"286","y":"151","properties":{"size":"20","text":"Related Roadmaps"}},{"ID":"1453","typeID":"__group__","zOrder":"284","measuredW":"172","measuredH":"25","w":"172","h":"25","x":"284","y":"225","properties":{"controlName":"ext_link:roadmap.sh/backend"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"139","measuredH":"24","x":"33","y":"0","properties":{"size":"16","text":"Backend Roadmap"}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"1","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10066329"}}]}}},{"ID":"1744","typeID":"__group__","zOrder":"285","measuredW":"300","measuredH":"54","w":"300","h":"54","x":"261","y":"288","properties":{"controlName":"100-roadmap-note"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"300","h":"54","measuredW":"200","measuredH":"140","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"199","measuredH":"24","x":"50","y":"15","properties":{"text":"Important Note / Click here","size":"16"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"18","y":"18","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"13576743"}}]}}}]}}},{"ID":"1746","typeID":"__group__","zOrder":"265","measuredW":"269","measuredH":"49","w":"269","h":"49","x":"604","y":"391","properties":{"controlName":"101-introduction"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"25","x":"88","y":"12","properties":{"size":"17","text":"Introduction"}}]}}},{"ID":"1747","typeID":"__group__","zOrder":"89","measuredW":"269","measuredH":"49","w":"269","h":"49","x":"506","y":"662","properties":{"controlName":"102-rdbms-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"187","measuredH":"25","x":"41","y":"12","properties":{"text":"Basic RDBMS Concepts","size":"17"}}]}}},{"ID":"1748","typeID":"__group__","zOrder":"111","measuredW":"247","measuredH":"49","w":"247","h":"49","x":"876","y":"662","properties":{"controlName":"103-installation-and-setup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"247","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"166","measuredH":"25","x":"41","y":"12","properties":{"size":"17","text":"Installation and Setup"}}]}}},{"ID":"1749","typeID":"__group__","zOrder":"121","measuredW":"303","measuredH":"49","w":"303","h":"49","x":"1085","y":"887","properties":{"controlName":"104-learn-sql-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"303","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"161","measuredH":"25","x":"71","y":"12","properties":{"size":"17","text":"Learn SQL Concepts"}}]}}},{"ID":"1751","typeID":"__group__","zOrder":"135","measuredW":"240","measuredH":"49","w":"240","h":"49","x":"791","y":"1117","properties":{"controlName":"105-configuring-postgresql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"240","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"186","measuredH":"25","x":"27","y":"12","properties":{"size":"17","text":"Configuring PostgreSQL"}}]}}},{"ID":"1752","typeID":"__group__","zOrder":"148","measuredW":"245","measuredH":"49","w":"245","h":"49","x":"547","y":"1477","properties":{"controlName":"106-postgresql-security-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"245","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"211","measuredH":"25","x":"17","y":"12","properties":{"size":"17","text":"Postgres Security Concepts"}}]}}},{"ID":"1753","typeID":"__group__","zOrder":"159","measuredW":"278","measuredH":"49","w":"278","h":"49","x":"788","y":"1771","properties":{"controlName":"107-postgresql-infrastructure-skills"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"278","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"216","measuredH":"25","x":"31","y":"12","properties":{"size":"17","text":"Develop Infrastructure Skills"}}]}}},{"ID":"1754","typeID":"__group__","zOrder":"202","measuredW":"274","measuredH":"49","w":"274","h":"49","x":"294","y":"2268","properties":{"controlName":"108-learn-automation"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"215","measuredH":"25","x":"29","y":"12","properties":{"size":"17","text":"Learn to Automate Routines"}}]}}},{"ID":"1755","typeID":"__group__","zOrder":"210","measuredW":"274","measuredH":"49","w":"274","h":"49","x":"627","y":"2268","properties":{"controlName":"109-application-skills"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"128","measuredH":"25","x":"73","y":"12","properties":{"size":"17","text":"Application Skills"}}]}}},{"ID":"1756","typeID":"__group__","zOrder":"222","measuredW":"299","measuredH":"49","w":"299","h":"49","x":"949","y":"2268","properties":{"controlName":"110-advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"299","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"130","measuredH":"25","x":"85","y":"12","properties":{"size":"17","text":"Advanced Topics"}}]}}},{"ID":"1757","typeID":"__group__","zOrder":"242","measuredW":"252","measuredH":"49","w":"252","h":"49","x":"792","y":"3141","properties":{"controlName":"111-troubleshooting-techniques"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"252","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"216","measuredH":"25","x":"18","y":"12","properties":{"size":"17","text":"Troubleshooting Techniques"}}]}}},{"ID":"1758","typeID":"__group__","zOrder":"255","measuredW":"265","measuredH":"49","w":"265","h":"49","x":"726","y":"3353","properties":{"controlName":"112-sql-optimization-techniques"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"265","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"227","measuredH":"25","x":"19","y":"12","properties":{"size":"17","text":"SQL Optimization Techniques"}}]}}},{"ID":"1759","typeID":"__group__","zOrder":"270","measuredW":"265","measuredH":"49","w":"265","h":"49","x":"725","y":"3435","properties":{"controlName":"113-get-involved-in-development"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"265","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"222","measuredH":"25","x":"22","y":"12","properties":{"size":"17","text":"Get Involved in Development"}}]}}},{"ID":"1760","typeID":"__group__","zOrder":"266","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"321","properties":{"controlName":"100-introduction:what-are-relational-databases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"233","measuredH":"24","x":"28","y":"9","properties":{"size":"16","text":"What are Relational Databases?"}}]}}},{"ID":"1761","typeID":"__group__","zOrder":"267","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"367","properties":{"controlName":"101-introduction:rdbms-benefits-limitations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"236","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"RDBMS Benefits and Limitations"}}]}}},{"ID":"1762","typeID":"__group__","zOrder":"268","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"412","properties":{"controlName":"102-introduction:postgresql-vs-others"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"214","measuredH":"24","x":"38","y":"9","properties":{"size":"16","text":"PostgreSQL vs Other RDBMS"}}]}}},{"ID":"1763","typeID":"__group__","zOrder":"269","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"458","properties":{"controlName":"103-introduction:postgresql-vs-nosql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"246","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"PostgreSQL vs NoSQL Databases"}}]}}},{"ID":"1764","typeID":"__group__","zOrder":"90","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"666","properties":{"controlName":"100-rdbms-concepts:object-model"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"43","y":"9","properties":{"text":"Object Model","size":"16"}}]}}},{"ID":"1765","typeID":"__group__","zOrder":"99","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"756","properties":{"controlName":"101-rdbms-concepts:relational-model"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"123","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"Relational Model"}}]}}},{"ID":"1766","typeID":"__group__","zOrder":"106","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"758","properties":{"controlName":"102-rdbms-concepts:high-level-database-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"225","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"High Level Database Concepts"}}]}}},{"ID":"1767","typeID":"__group__","zOrder":"97","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"620","properties":{"controlName":"100-rdbms-concepts:object-model:databases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"78","measuredH":"24","x":"53","y":"9","properties":{"size":"16","text":"Databases"}}]}}},{"ID":"1768","typeID":"__group__","zOrder":"95","measuredW":"82","measuredH":"42","w":"82","h":"42","x":"259","y":"574","properties":{"controlName":"101-rdbms-concepts:object-model:tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"82","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"47","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Tables"}}]}}},{"ID":"1770","typeID":"__group__","zOrder":"96","measuredW":"99","measuredH":"42","w":"99","h":"42","x":"344","y":"574","properties":{"controlName":"102-rdbms-concepts:object-model:schemas"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"99","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"67","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Schemas"}}]}}},{"ID":"1771","typeID":"__group__","zOrder":"93","measuredW":"82","measuredH":"42","w":"82","h":"42","x":"259","y":"529","properties":{"controlName":"103-rdbms-concepts:object-model:rows"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"82","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Rows"}}]}}},{"ID":"1772","typeID":"__group__","zOrder":"94","measuredW":"99","measuredH":"42","w":"99","h":"42","x":"344","y":"529","properties":{"controlName":"104-rdbms-concepts:object-model:columns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"99","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"64","measuredH":"24","x":"18","y":"9","properties":{"size":"16","text":"Columns"}}]}}},{"ID":"1773","typeID":"__group__","zOrder":"92","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"484","properties":{"controlName":"105-rdbms-concepts:object-model:data-types"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"51","y":"9","properties":{"size":"16","text":"Data Types"}}]}}},{"ID":"1774","typeID":"__group__","zOrder":"98","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"439","properties":{"controlName":"106-rdbms-concepts:object-model:queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"58","measuredH":"24","x":"63","y":"9","properties":{"size":"16","text":"Queries"}}]}}},{"ID":"1775","typeID":"__group__","zOrder":"100","measuredW":"92","measuredH":"42","w":"92","h":"42","x":"258","y":"803","properties":{"controlName":"100-rdbms-concepts:relational-model:domains"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"92","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"64","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Domains"}}]}}},{"ID":"1776","typeID":"__group__","zOrder":"101","measuredW":"89","measuredH":"42","w":"89","h":"42","x":"354","y":"803","properties":{"controlName":"101-rdbms-concepts:relational-model:attributes"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"89","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"70","measuredH":"24","x":"10","y":"9","properties":{"size":"16","text":"Attributes"}}]}}},{"ID":"1777","typeID":"__group__","zOrder":"102","measuredW":"92","measuredH":"42","w":"92","h":"42","x":"258","y":"849","properties":{"controlName":"102-rdbms-concepts:relational-model:tuples"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"92","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Tuples"}}]}}},{"ID":"1779","typeID":"__group__","zOrder":"103","measuredW":"89","measuredH":"42","w":"89","h":"42","x":"354","y":"849","properties":{"controlName":"103-rdbms-concepts:relational-model:relations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"89","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"69","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Relations"}}]}}},{"ID":"1780","typeID":"__group__","zOrder":"104","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"258","y":"895","properties":{"controlName":"104-rdbms-concepts:relational-model:constraints"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"83","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Constraints"}}]}}},{"ID":"1781","typeID":"__group__","zOrder":"105","measuredW":"73","measuredH":"42","w":"73","h":"42","x":"370","y":"895","properties":{"controlName":"105-rdbms-concepts:relational-model:null"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"73","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"43","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"NULL"}}]}}},{"ID":"1782","typeID":"__group__","zOrder":"107","measuredW":"64","measuredH":"42","w":"64","h":"42","x":"506","y":"805","properties":{"controlName":"100-rdbms-concepts:high-level-database-concepts:acid"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"64","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"ACID"}}]}}},{"ID":"1783","typeID":"__group__","zOrder":"108","measuredW":"74","measuredH":"42","w":"74","h":"42","x":"575","y":"805","properties":{"controlName":"101-rdbms-concepts:high-level-database-concepts:mvcc"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"74","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"46","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"MVCC"}}]}}},{"ID":"1784","typeID":"__group__","zOrder":"109","measuredW":"122","measuredH":"42","w":"122","h":"42","x":"653","y":"805","properties":{"controlName":"102-rdbms-concepts:high-level-database-concepts:transactions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"122","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Transactions"}}]}}},{"ID":"1785","typeID":"__group__","zOrder":"110","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"851","properties":{"controlName":"103-rdbms-concepts:high-level-database-concepts:write-ahead-log"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"74","y":"9","properties":{"size":"16","text":"Write-ahead Log"}}]}}},{"ID":"1786","typeID":"__group__","zOrder":"91","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"897","properties":{"controlName":"104-rdbms-concepts:high-level-database-concepts:query-processing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"128","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Query Processing"}}]}}},{"ID":"1788","typeID":"__group__","zOrder":"112","measuredW":"180","measuredH":"42","w":"180","h":"42","x":"975","y":"583","properties":{"controlName":"100-installation-and-setup:package-managers"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"180","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"141","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"Package Managers"}}]}}},{"ID":"1789","typeID":"__group__","zOrder":"113","measuredW":"180","measuredH":"42","w":"180","h":"42","x":"975","y":"537","properties":{"controlName":"101-installation-and-setup:using-docker"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"180","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"41","y":"9","properties":{"size":"16","text":"Using Docker"}}]}}},{"ID":"1790","typeID":"__group__","zOrder":"114","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"973","y":"745","properties":{"controlName":"102-installation-and-setup:connect-using-psql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"146","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Connect using `psql`"}}]}}},{"ID":"1791","typeID":"__group__","zOrder":"120","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"973","y":"791","properties":{"controlName":"103-installation-and-setup:deployment-in-cloud"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"150","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Deployment in Cloud"}}]}}},{"ID":"1792","typeID":"__group__","zOrder":"117","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"635","properties":{"controlName":"104-installation-and-setup:using-systemd"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"112","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Using `systemd`"}}]}}},{"ID":"1793","typeID":"__group__","zOrder":"118","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"682","properties":{"controlName":"105-installation-and-setup:using-pgctl"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Using `pg_ctl`"}}]}}},{"ID":"1794","typeID":"__group__","zOrder":"119","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"728","properties":{"controlName":"106-installation-and-setup:using-pgctlcluster"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"147","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Using `pg_ctlcluster`"}}]}}},{"ID":"1795","typeID":"__group__","zOrder":"75","measuredW":"154","measuredH":"241","w":"154","h":"241","x":"1085","y":"969","properties":{"controlName":"100-learn-sql-concepts:ddl-queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"154","h":"241","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"95","measuredH":"24","x":"29","y":"13","properties":{"size":"16","text":"DDL Queries"}}]}}},{"ID":"1796","typeID":"__group__","zOrder":"77","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1096","y":"1013","properties":{"controlName":"100-learn-sql-concepts:ddl-queries:for-schemas"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"95","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"For Schemas"}}]}}},{"ID":"1797","typeID":"__group__","zOrder":"78","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1096","y":"1059","properties":{"controlName":"101-learn-sql-concepts:ddl-queries:for-tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"75","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"For Tables"}}]}}},{"ID":"1798","typeID":"__group__","zOrder":"76","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1097","y":"1106","properties":{"controlName":"102-learn-sql-concepts:ddl-queries:data-types"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Data Types"}}]}}},{"ID":"1799","typeID":"__group__","zOrder":"122","measuredW":"154","measuredH":"234","w":"154","h":"234","x":"1234","y":"969","properties":{"controlName":"101-learn-sql-concepts:dml-queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"154","h":"234","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"97","measuredH":"24","x":"28","y":"14","properties":{"size":"16","text":"DML Queries"}}]}}},{"ID":"1800","typeID":"__group__","zOrder":"123","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1013","properties":{"controlName":"100-learn-sql-concepts:dml-queries:querying-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Querying Data"}}]}}},{"ID":"1801","typeID":"__group__","zOrder":"125","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1059","properties":{"controlName":"101-learn-sql-concepts:dml-queries:filtering-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Filtering Data"}}]}}},{"ID":"1802","typeID":"__group__","zOrder":"124","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1105","properties":{"controlName":"102-learn-sql-concepts:dml-queries:modifying-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Modifying Data"}}]}}},{"ID":"1803","typeID":"__group__","zOrder":"126","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1246","y":"1151","properties":{"controlName":"103-learn-sql-concepts:dml-queries:joining-tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"103","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Joining Tables"}}]}}},{"ID":"1804","typeID":"__group__","zOrder":"128","measuredW":"303","measuredH":"42","w":"303","h":"42","x":"1085","y":"1200","properties":{"controlName":"102-learn-sql-concepts:import-export-using-copy"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"303","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"208","measuredH":"24","x":"48","y":"9","properties":{"size":"16","text":"Import / Export using `COPY`"}}]}}},{"ID":"1805","typeID":"__group__","zOrder":"70","measuredW":"304","measuredH":"202","w":"304","h":"202","x":"1084","y":"1238","properties":{"controlName":"103-learn-sql-concepts:advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"304","h":"202","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"91","y":"18","properties":{"size":"16","text":"Advanced Topics"}}]}}},{"ID":"1806","typeID":"__group__","zOrder":"129","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1289","properties":{"controlName":"100-learn-sql-concepts:advanced-topics:transactions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"24","x":"18","y":"9","properties":{"size":"16","text":"Transactions"}}]}}},{"ID":"1807","typeID":"__group__","zOrder":"130","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1289","properties":{"controlName":"101-learn-sql-concepts:advanced-topics:cte"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"24","x":"55","y":"9","properties":{"size":"16","text":"CTE"}}]}}},{"ID":"1808","typeID":"__group__","zOrder":"131","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1337","properties":{"controlName":"102-learn-sql-concepts:advanced-topics:subqueries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"83","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Subqueries"}}]}}},{"ID":"1809","typeID":"__group__","zOrder":"132","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1337","properties":{"controlName":"103-learn-sql-concepts:advanced-topics:lateral-join"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"84","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Lateral Join"}}]}}},{"ID":"1810","typeID":"__group__","zOrder":"133","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1384","properties":{"controlName":"104-learn-sql-concepts:advanced-topics:grouping"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"67","measuredH":"24","x":"31","y":"9","properties":{"size":"16","text":"Grouping"}}]}}},{"ID":"1811","typeID":"__group__","zOrder":"134","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1384","properties":{"controlName":"105-learn-sql-concepts:advanced-topics:set-operations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Set Operations"}}]}}},{"ID":"1812","typeID":"__group__","zOrder":"153","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1402","properties":{"controlName":"100-postgresql-security-concepts:object-priviliges"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"117","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"Object Priviliges"}}]}}},{"ID":"1813","typeID":"__group__","zOrder":"156","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1562","properties":{"controlName":"101-postgresql-security-concepts:advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"31","y":"9","properties":{"size":"16","text":"Advanced Topics"}}]}}},{"ID":"1814","typeID":"__group__","zOrder":"154","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1357","properties":{"controlName":"100-postgresql-security-concepts:object-priviliges:grant-revoke"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"111","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Grant / Revoke"}}]}}},{"ID":"1815","typeID":"__group__","zOrder":"155","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1312","properties":{"controlName":"101-postgresql-security-concepts:object-priviliges:default-priviliges"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"127","measuredH":"24","x":"28","y":"9","properties":{"size":"16","text":"Default Privileges"}}]}}},{"ID":"1816","typeID":"__group__","zOrder":"157","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1608","properties":{"controlName":"100-postgresql-security-concepts:advanced-topics:row-level-security"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"138","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Row-Level Security"}}]}}},{"ID":"1817","typeID":"__group__","zOrder":"158","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1653","properties":{"controlName":"101-postgresql-security-concepts:advanced-topics:selinux"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"59","measuredH":"24","x":"62","y":"9","properties":{"size":"16","text":"SELinux"}}]}}},{"ID":"1818","typeID":"__group__","zOrder":"149","measuredW":"202","measuredH":"42","w":"202","h":"42","x":"259","y":"1436","properties":{"controlName":"102-postgresql-security-concepts:authentication-models"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"202","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"162","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Authentication Models"}}]}}},{"ID":"1819","typeID":"__group__","zOrder":"150","measuredW":"76","measuredH":"42","w":"76","h":"42","x":"259","y":"1481","properties":{"controlName":"103-postgresql-security-concepts:roles"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"76","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"42","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Roles"}}]}}},{"ID":"1820","typeID":"__group__","zOrder":"151","measuredW":"122","measuredH":"42","w":"122","h":"42","x":"339","y":"1481","properties":{"controlName":"104-postgresql-security-concepts:pg-hba-conf"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"122","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"pg_hba.conf"}}]}}},{"ID":"1821","typeID":"__group__","zOrder":"152","measuredW":"202","measuredH":"42","w":"202","h":"42","x":"259","y":"1526","properties":{"controlName":"105-postgresql-security-concepts:ssl-settings"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"202","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"92","measuredH":"24","x":"55","y":"9","properties":{"size":"16","text":"SSL Settings"}}]}}},{"ID":"1822","typeID":"__group__","zOrder":"160","measuredW":"221","measuredH":"143","w":"221","h":"143","x":"1148","y":"1502","properties":{"controlName":"100-postgresql-infrastructure-skills:replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"221","h":"143","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"82","measuredH":"24","x":"70","y":"108","properties":{"size":"16","text":"Replication"}}]}}},{"ID":"1823","typeID":"__group__","zOrder":"177","measuredW":"221","measuredH":"143","w":"221","h":"143","x":"1146","y":"1679","properties":{"controlName":"101-postgresql-infrastructure-skills:connection-pooling"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"221","h":"143","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"141","measuredH":"24","x":"40","y":"108","properties":{"size":"16","text":"Connection Pooling"}}]}}},{"ID":"1824","typeID":"__group__","zOrder":"53","measuredW":"418","measuredH":"47","w":"418","h":"47","x":"977","y":"1866","properties":{"controlName":"102-postgresql-infrastructure-skills:backup-recovery-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"418","h":"47","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"180","measuredH":"24","x":"120","y":"12","properties":{"size":"16","text":"Backup / Recovery Tools"}}]}}},{"ID":"1825","typeID":"__group__","zOrder":"174","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1868","properties":{"controlName":"103-postgresql-infrastructure-skills:upgrade-procedures"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"152","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"Upgrade Procedures"}}]}}},{"ID":"1826","typeID":"__group__","zOrder":"185","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1868","properties":{"controlName":"104-postgresql-infrastructure-skills:cluster-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"153","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Cluster Management"}}]}}},{"ID":"1827","typeID":"__group__","zOrder":"195","measuredW":"197","measuredH":"42","w":"197","h":"42","x":"264","y":"1868","properties":{"controlName":"105-postgresql-infrastructure-skills:kubernetes-deployment"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"197","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"175","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Kubernetes Deployment"}}]}}},{"ID":"1828","typeID":"__group__","zOrder":"181","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"2053","properties":{"controlName":"106-postgresql-infrastructure-skills:monitoring"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"78","measuredH":"24","x":"67","y":"9","properties":{"size":"16","text":"Monitoring"}}]}}},{"ID":"1829","typeID":"__group__","zOrder":"189","measuredW":"301","measuredH":"42","w":"301","h":"42","x":"426","y":"2052","properties":{"controlName":"107-postgresql-infrastructure-skills:load-balancing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"301","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"262","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Load Balancing & Service Discovery"}}]}}},{"ID":"1830","typeID":"__group__","zOrder":"162","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1162","y":"1514","properties":{"controlName":"100-postgresql-infrastructure-skills:replication:logical-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"139","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"Logical Replication"}}]}}},{"ID":"1831","typeID":"__group__","zOrder":"161","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1162","y":"1560","properties":{"controlName":"101-postgresql-infrastructure-skills:replication:streaming-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"160","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Streaming Replication"}}]}}},{"ID":"1832","typeID":"__group__","zOrder":"179","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1160","y":"1691","properties":{"controlName":"100-postgresql-infrastructure-skills:connection-pooling:pg-bouncer"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"56","y":"9","properties":{"size":"16","text":"PgBouncer"}}]}}},{"ID":"1833","typeID":"__group__","zOrder":"178","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1160","y":"1737","properties":{"controlName":"101-postgresql-infrastructure-skills:connection-pooling:pg-bouncer-alternatives"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"170","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"PgBouncer Alternatives"}}]}}},{"ID":"1834","typeID":"__group__","zOrder":"169","measuredW":"81","measuredH":"42","w":"81","h":"42","x":"986","y":"2027","properties":{"controlName":"100-postgresql-infrastructure-skills:backup-recovery-tools:barman"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"81","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"barman"}}]}}},{"ID":"1835","typeID":"__group__","zOrder":"172","measuredW":"80","measuredH":"42","w":"80","h":"42","x":"1072","y":"2027","properties":{"controlName":"101-postgresql-infrastructure-skills:backup-recovery-tools:wal-g"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"80","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"51","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"WAL-G"}}]}}},{"ID":"1836","typeID":"__group__","zOrder":"170","measuredW":"166","measuredH":"42","w":"166","h":"42","x":"986","y":"2073","properties":{"controlName":"102-postgresql-infrastructure-skills:backup-recovery-tools:pgbackrest"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"166","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"42","y":"9","properties":{"size":"16","text":"pgbackrest"}}]}}},{"ID":"1837","typeID":"__group__","zOrder":"171","measuredW":"166","measuredH":"42","w":"166","h":"42","x":"986","y":"2118","properties":{"controlName":"103-postgresql-infrastructure-skills:backup-recovery-tools:pg-probackup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"166","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"pg_probackup"}}]}}},{"ID":"1838","typeID":"__group__","zOrder":"163","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"1169","y":"2027","properties":{"controlName":"104-postgresql-infrastructure-skills:backup-recovery-tools:pg-dump"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"69","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"pg_dump"}}]}}},{"ID":"1839","typeID":"__group__","zOrder":"164","measuredW":"108","measuredH":"42","w":"108","h":"42","x":"1277","y":"2027","properties":{"controlName":"105-postgresql-infrastructure-skills:backup-recovery-tools:pg-dumpall"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"108","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"86","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"pg_dumpall"}}]}}},{"ID":"1840","typeID":"__group__","zOrder":"165","measuredW":"216","measuredH":"42","w":"216","h":"42","x":"1169","y":"2074","properties":{"controlName":"106-postgresql-infrastructure-skills:backup-recovery-tools:pg-restore"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"216","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"67","y":"9","properties":{"size":"16","text":"pg_restore"}}]}}},{"ID":"1841","typeID":"__group__","zOrder":"166","measuredW":"216","measuredH":"42","w":"216","h":"42","x":"1169","y":"2120","properties":{"controlName":"107-postgresql-infrastructure-skills:backup-recovery-tools:pg-basebackup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"216","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"117","measuredH":"24","x":"49","y":"9","properties":{"size":"16","text":"pg_basebackup"}}]}}},{"ID":"1842","typeID":"__group__","zOrder":"173","measuredW":"418","measuredH":"42","w":"418","h":"42","x":"977","y":"2169","properties":{"controlName":"108-postgresql-infrastructure-skills:backup-recovery-tools:backup-validation-procedures"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"418","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"217","measuredH":"24","x":"98","y":"9","properties":{"size":"16","text":"Backup Validation Procedures"}}]}}},{"ID":"1843","typeID":"__group__","zOrder":"175","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1938","properties":{"controlName":"100-postgresql-infrastructure-skills:upgrade-procedures:using-pg-upgrade"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"142","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Using `pg_upgrade`"}}]}}},{"ID":"1844","typeID":"__group__","zOrder":"176","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1984","properties":{"controlName":"101-postgresql-infrastructure-skills:upgrade-procedures:using-logical-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"184","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Using Logical Replication"}}]}}},{"ID":"1845","typeID":"__group__","zOrder":"186","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1938","properties":{"controlName":"100-postgresql-infrastructure-skills:cluster-management:patroni"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"51","measuredH":"24","x":"80","y":"9","properties":{"size":"16","text":"Patroni"}}]}}},{"ID":"1846","typeID":"__group__","zOrder":"187","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1984","properties":{"controlName":"101-postgresql-infrastructure-skills:cluster-management:patroni-alternatives"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"140","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Patroni Alternatives"}}]}}},{"ID":"1847","typeID":"__group__","zOrder":"196","measuredW":"197","measuredH":"42","w":"197","h":"42","x":"264","y":"1938","properties":{"controlName":"100-postgresql-infrastructure-skills:kubernetes-deployment:simple-stateful-setup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"197","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"154","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Simple Stateful Setup"}}]}}},{"ID":"1848","typeID":"__group__","zOrder":"197","measuredW":"86","measuredH":"42","w":"86","h":"42","x":"264","y":"1985","properties":{"controlName":"101-postgresql-infrastructure-skills:kubernetes-deployment:helm"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"86","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Helm"}}]}}},{"ID":"1849","typeID":"__group__","zOrder":"198","measuredW":"104","measuredH":"42","w":"104","h":"42","x":"358","y":"1985","properties":{"controlName":"102-postgresql-infrastructure-skills:kubernetes-deployment:operators"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"104","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"74","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Operators"}}]}}},{"ID":"1850","typeID":"__group__","zOrder":"190","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"484","y":"2122","properties":{"controlName":"100-postgresql-infrastructure-skills:load-balancing:ha-proxy"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"HAProxy"}}]}}},{"ID":"1851","typeID":"__group__","zOrder":"192","measuredW":"91","measuredH":"42","w":"91","h":"42","x":"595","y":"2122","properties":{"controlName":"101-postgresql-infrastructure-skills:load-balancing:consul"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"91","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Consul"}}]}}},{"ID":"1852","typeID":"__group__","zOrder":"191","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"484","y":"2168","properties":{"controlName":"102-postgresql-infrastructure-skills:load-balancing:keep-alived"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"KeepAlived"}}]}}},{"ID":"1853","typeID":"__group__","zOrder":"193","measuredW":"91","measuredH":"42","w":"91","h":"42","x":"595","y":"2169","properties":{"controlName":"103-postgresql-infrastructure-skills:load-balancing:etcd"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"91","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Etcd"}}]}}},{"ID":"1854","typeID":"__group__","zOrder":"182","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"2123","properties":{"controlName":"100-postgresql-infrastructure-skills:monitoring:prometheus"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"88","measuredH":"24","x":"62","y":"9","properties":{"size":"16","text":"Prometheus"}}]}}},{"ID":"1855","typeID":"__group__","zOrder":"183","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"2169","properties":{"controlName":"101-postgresql-infrastructure-skills:monitoring:zabbix"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"49","measuredH":"24","x":"81","y":"9","properties":{"size":"16","text":"Zabbix"}}]}}},{"ID":"1856","typeID":"__group__","zOrder":"203","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2347","properties":{"controlName":"100-learn-automation:shell-scripts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"89","measuredH":"24","x":"92","y":"9","properties":{"size":"16","text":"Shell Scripts"}}]}}},{"ID":"1857","typeID":"__group__","zOrder":"204","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2393","properties":{"controlName":"101-learn-automation:programming-language"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"204","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Any Programming Language"}}]}}},{"ID":"1858","typeID":"__group__","zOrder":"205","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2464","properties":{"controlName":"102-learn-automation:configuration-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"198","measuredH":"24","x":"38","y":"9","properties":{"size":"16","text":"Configuration Management"}}]}}},{"ID":"1859","typeID":"__group__","zOrder":"206","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"294","y":"2512","properties":{"controlName":"100-learn-automation:configuration-management:ansible"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"53","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Ansible"}}]}}},{"ID":"1860","typeID":"__group__","zOrder":"207","measuredW":"53","measuredH":"42","w":"53","h":"42","x":"374","y":"2512","properties":{"controlName":"101-learn-automation:configuration-management:salt"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"53","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Salt"}}]}}},{"ID":"1861","typeID":"__group__","zOrder":"208","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"431","y":"2512","properties":{"controlName":"102-learn-automation:configuration-management:chef"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"35","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Chef"}}]}}},{"ID":"1862","typeID":"__group__","zOrder":"209","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"493","y":"2512","properties":{"controlName":"103-learn-automation:configuration-management:puppet"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"52","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Puppet"}}]}}},{"ID":"1863","typeID":"__group__","zOrder":"211","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"627","y":"2347","properties":{"controlName":"100-application-skills:migrations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"76","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Migrations"}}]}}},{"ID":"1864","typeID":"__group__","zOrder":"219","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"619","y":"2665","properties":{"controlName":"101-application-skills:queues"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"58","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Queues"}}]}}},{"ID":"1865","typeID":"__group__","zOrder":"215","measuredW":"297","measuredH":"42","w":"297","h":"42","x":"609","y":"2528","properties":{"controlName":"102-application-skills:bulk-load-process-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"297","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"249","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Bulk Loading and Processing Data"}}]}}},{"ID":"1866","typeID":"__group__","zOrder":"216","measuredW":"297","measuredH":"42","w":"297","h":"42","x":"609","y":"2573","properties":{"controlName":"103-application-skills:data-partitioning-sharding-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"297","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"265","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Data Partitioning / Sharding Patterns"}}]}}},{"ID":"1867","typeID":"__group__","zOrder":"217","measuredW":"297","measuredH":"42","w":"297","h":"42","x":"609","y":"2619","properties":{"controlName":"104-application-skills:data-normalization-normal-forms"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"297","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"257","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Data Normalization / Normal Forms"}}]}}},{"ID":"1868","typeID":"__group__","zOrder":"212","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"627","y":"2396","properties":{"controlName":"100-application-skills:migrations:practical-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"252","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Practical Patterns and Antipatterns"}}]}}},{"ID":"1869","typeID":"__group__","zOrder":"213","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"627","y":"2442","properties":{"controlName":"101-application-skills:migrations:liquidbase-sqitch-bytebase"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"218","measuredH":"24","x":"31","y":"9","properties":{"size":"16","text":"liquibase, sqitch, Bytebase etc"}}]}}},{"ID":"1870","typeID":"__group__","zOrder":"220","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"618","y":"2713","properties":{"controlName":"100-application-skills:queues:practical-patterns-antipatterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"252","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Practical Patterns and Antipatterns"}}]}}},{"ID":"1871","typeID":"__group__","zOrder":"221","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"618","y":"2758","properties":{"controlName":"101-application-skills:queues:skytools-pgq"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"99","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Skytools PGQ"}}]}}},{"ID":"1872","typeID":"__group__","zOrder":"224","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2409","properties":{"controlName":"100-advanced-topics:low-level-internals:process-memory-arch"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"261","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Processes and memory architecture"}}]}}},{"ID":"1873","typeID":"__group__","zOrder":"225","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2454","properties":{"controlName":"101-advanced-topics:low-level-internals:vacuum-processing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"143","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Vacuum Processing"}}]}}},{"ID":"1874","typeID":"__group__","zOrder":"226","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2499","properties":{"controlName":"102-advanced-topics:low-level-internals:buffer-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"144","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Buffer Management"}}]}}},{"ID":"1875","typeID":"__group__","zOrder":"227","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2544","properties":{"controlName":"103-advanced-topics:low-level-internals:lock-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"135","measuredH":"24","x":"75","y":"9","properties":{"size":"16","text":"Lock Management"}}]}}},{"ID":"1876","typeID":"__group__","zOrder":"228","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2589","properties":{"controlName":"104-advanced-topics:low-level-internals:physical-storage-and-file-layout"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"234","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Physical Storage and File Layout"}}]}}},{"ID":"1877","typeID":"__group__","zOrder":"229","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2634","properties":{"controlName":"105-advanced-topics:low-level-internals:system-catalog"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"113","measuredH":"24","x":"86","y":"9","properties":{"size":"16","text":"System Catalog"}}]}}},{"ID":"1881","typeID":"__group__","zOrder":"223","measuredW":"169","measuredH":"330","w":"169","h":"330","x":"949","y":"2359","properties":{"controlName":"100-advanced-topics:low-level-internals"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"330","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"140","measuredH":"24","x":"15","y":"15","properties":{"size":"16","text":"Low Level Internals"}}]}}},{"ID":"1882","typeID":"__group__","zOrder":"230","measuredW":"169","measuredH":"195","w":"169","h":"195","x":"950","y":"2696","properties":{"controlName":"101-advanced-topics:fine-grained-tuning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"195","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"147","measuredH":"24","x":"11","y":"14","properties":{"size":"16","text":"Fine Grained Tuning"}}]}}},{"ID":"1883","typeID":"__group__","zOrder":"234","measuredW":"169","measuredH":"195","w":"169","h":"195","x":"950","y":"2897","properties":{"controlName":"102-advanced-topics:advanced-sql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"195","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"107","measuredH":"24","x":"31","y":"14","properties":{"size":"16","text":"Advanced SQL"}}]}}},{"ID":"1884","typeID":"__group__","zOrder":"231","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2743","properties":{"controlName":"100-advanced-topics:fine-grained-tuning:per-user-per-database-settings"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"232","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Per-user, Per-Database Settings"}}]}}},{"ID":"1885","typeID":"__group__","zOrder":"232","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2788","properties":{"controlName":"101-advanced-topics:fine-grained-tuning:storage-parameters"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"145","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Storage Parameters"}}]}}},{"ID":"1886","typeID":"__group__","zOrder":"233","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2834","properties":{"controlName":"102-advanced-topics:fine-grained-tuning:workload-dependant-tuning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"341","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Workload-dependant tuning: OLTP, OLAP, HTAP"}}]}}},{"ID":"1887","typeID":"__group__","zOrder":"235","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"962","y":"2944","properties":{"controlName":"100-advanced-topics:advanced-sql:pl-pgsql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"77","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"PL/pgSQL"}}]}}},{"ID":"1888","typeID":"__group__","zOrder":"238","measuredW":"219","measuredH":"42","w":"219","h":"42","x":"1069","y":"2944","properties":{"controlName":"101-advanced-topics:advanced-sql:procedures-and-functions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"219","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"190","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Procedures and Functions"}}]}}},{"ID":"1889","typeID":"__group__","zOrder":"236","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"962","y":"2989","properties":{"controlName":"102-advanced-topics:advanced-sql:triggers"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Triggers"}}]}}},{"ID":"1890","typeID":"__group__","zOrder":"239","measuredW":"219","measuredH":"42","w":"219","h":"42","x":"1069","y":"2989","properties":{"controlName":"103-advanced-topics:advanced-sql:recursive-cte"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"219","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Recursive CTE"}}]}}},{"ID":"1891","typeID":"__group__","zOrder":"237","measuredW":"328","measuredH":"42","w":"328","h":"42","x":"962","y":"3035","properties":{"controlName":"104-advanced-topics:advanced-sql:aggregate-and-window-functions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"328","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"234","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Aggregate and window functions"}}]}}},{"ID":"1892","typeID":"__group__","zOrder":"243","measuredW":"209","measuredH":"135","w":"209","h":"135","x":"296","y":"2744","properties":{"controlName":"100-troubleshooting-techniques:system-views"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"135","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"166","measuredH":"24","x":"21","y":"10","properties":{"size":"16","text":"Postgres System Views"}}]}}},{"ID":"1893","typeID":"__group__","zOrder":"32","measuredW":"209","measuredH":"96","w":"209","h":"96","x":"296","y":"2874","properties":{"controlName":"101-troubleshooting-techniques:tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"96","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"52","y":"12","properties":{"size":"16","text":"Postgres Tools"}}]}}},{"ID":"1894","typeID":"__group__","zOrder":"17","measuredW":"215","measuredH":"94","w":"215","h":"94","x":"501","y":"2876","properties":{"controlName":"102-troubleshooting-techniques:operating-system-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"94","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"171","measuredH":"24","x":"19","y":"11","properties":{"size":"16","text":"Operating System Tools"}}]}}},{"ID":"1895","typeID":"__group__","zOrder":"246","measuredW":"209","measuredH":"133","w":"209","h":"133","x":"296","y":"2967","properties":{"controlName":"103-troubleshooting-techniques:query-analysis"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"106","measuredH":"24","x":"51","y":"9","properties":{"size":"16","text":"Query Analysis"}}]}}},{"ID":"1896","typeID":"__group__","zOrder":"21","measuredW":"215","measuredH":"133","w":"215","h":"133","x":"501","y":"2966","properties":{"controlName":"104-troubleshooting-techniques:profiling-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"100","measuredH":"24","x":"54","y":"8","properties":{"size":"16","text":"Profiling Tools"}}]}}},{"ID":"1897","typeID":"__group__","zOrder":"251","measuredW":"209","measuredH":"133","w":"209","h":"133","x":"296","y":"3096","properties":{"controlName":"105-troubleshooting-techniques:troubleshooting-methods"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"184","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Troubleshooting Methods"}}]}}},{"ID":"1898","typeID":"__group__","zOrder":"27","measuredW":"215","measuredH":"133","w":"215","h":"133","x":"501","y":"3096","properties":{"controlName":"106-troubleshooting-techniques:log-analysis"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"90","measuredH":"24","x":"63","y":"8","properties":{"size":"16","text":"Log Analysis"}}]}}},{"ID":"1899","typeID":"__group__","zOrder":"244","measuredW":"190","measuredH":"42","w":"190","h":"42","x":"305","y":"2783","properties":{"controlName":"100-troubleshooting-techniques:system-views:pg-stat-activity"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"190","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"115","measuredH":"24","x":"37","y":"9","properties":{"size":"16","text":"pg_stat_activity"}}]}}},{"ID":"1900","typeID":"__group__","zOrder":"245","measuredW":"190","measuredH":"42","w":"190","h":"42","x":"305","y":"2827","properties":{"controlName":"101-troubleshooting-techniques:system-views:pg-stat-statements"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"190","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"146","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"pg_stat_statements"}}]}}},{"ID":"1901","typeID":"__group__","zOrder":"33","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"306","y":"2918","properties":{"controlName":"100-troubleshooting-techniques:tools:pgcenter"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"62","y":"9","properties":{"size":"16","text":"pgcenter"}}]}}},{"ID":"1902","typeID":"__group__","zOrder":"18","measuredW":"48","measuredH":"42","w":"48","h":"42","x":"511","y":"2918","properties":{"controlName":"100-troubleshooting-techniques:operating-system-tools:top"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"48","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"24","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"top"}}]}}},{"ID":"1903","typeID":"__group__","zOrder":"19","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"563","y":"2918","properties":{"controlName":"101-troubleshooting-techniques:operating-system-tools:sysstat"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"sysstat"}}]}}},{"ID":"1904","typeID":"__group__","zOrder":"20","measuredW":"60","measuredH":"42","w":"60","h":"42","x":"641","y":"2918","properties":{"controlName":"102-troubleshooting-techniques:operating-system-tools:iotop"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"60","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"36","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"iotop"}}]}}},{"ID":"1905","typeID":"__group__","zOrder":"247","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"3004","properties":{"controlName":"100-troubleshooting-techniques:query-analysis:explain"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"EXPLAIN"}}]}}},{"ID":"1906","typeID":"__group__","zOrder":"248","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"3004","properties":{"controlName":"101-troubleshooting-techniques:query-analysis:depesz"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Depesz"}}]}}},{"ID":"1907","typeID":"__group__","zOrder":"249","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"3049","properties":{"controlName":"102-troubleshooting-techniques:query-analysis:pev"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"31","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"PEV"}}]}}},{"ID":"1908","typeID":"__group__","zOrder":"250","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"3049","properties":{"controlName":"103-troubleshooting-techniques:query-analysis:tenser"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Tenser"}}]}}},{"ID":"1909","typeID":"__group__","zOrder":"22","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"509","y":"3003","properties":{"controlName":"100-troubleshooting-techniques:profiling-tools:gdb"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"gdb"}}]}}},{"ID":"1910","typeID":"__group__","zOrder":"25","measuredW":"68","measuredH":"42","w":"68","h":"42","x":"569","y":"3003","properties":{"controlName":"101-troubleshooting-techniques:profiling-tools:strace"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"68","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"46","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"strace"}}]}}},{"ID":"1911","typeID":"__group__","zOrder":"26","measuredW":"67","measuredH":"42","w":"67","h":"42","x":"640","y":"3003","properties":{"controlName":"102-troubleshooting-techniques:profiling-tools:ebpf"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"67","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"ebpf"}}]}}},{"ID":"1912","typeID":"__group__","zOrder":"23","measuredW":"86","measuredH":"42","w":"86","h":"42","x":"509","y":"3048","properties":{"controlName":"103-troubleshooting-techniques:profiling-tools:perf-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"86","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"70","measuredH":"24","x":"9","y":"9","properties":{"size":"16","text":"perf-tools"}}]}}},{"ID":"1913","typeID":"__group__","zOrder":"24","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"598","y":"3048","properties":{"controlName":"104-troubleshooting-techniques:profiling-tools:core-dumps"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"9","y":"9","properties":{"size":"16","text":"Core Dumps"}}]}}},{"ID":"1914","typeID":"__group__","zOrder":"252","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"3133","properties":{"controlName":"100-troubleshooting-techniques:troubleshooting-methods:use"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"USE"}}]}}},{"ID":"1915","typeID":"__group__","zOrder":"253","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"3133","properties":{"controlName":"101-troubleshooting-techniques:troubleshooting-methods:red"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"34","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"RED"}}]}}},{"ID":"1916","typeID":"__group__","zOrder":"254","measuredW":"188","measuredH":"42","w":"188","h":"42","x":"305","y":"3178","properties":{"controlName":"102-troubleshooting-techniques:troubleshooting-methods:golden-signals"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"188","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"39","y":"9","properties":{"size":"16","text":"Golden Signals"}}]}}},{"ID":"1917","typeID":"__group__","zOrder":"28","measuredW":"196","measuredH":"42","w":"196","h":"42","x":"510","y":"3133","properties":{"controlName":"100-troubleshooting-techniques:log-analysis:pg-badger"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"196","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"73","measuredH":"24","x":"57","y":"9","properties":{"size":"16","text":"pgBadger"}}]}}},{"ID":"1918","typeID":"__group__","zOrder":"30","measuredW":"61","measuredH":"42","w":"61","h":"42","x":"510","y":"3178","properties":{"controlName":"101-troubleshooting-techniques:log-analysis:awk"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"61","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"awk"}}]}}},{"ID":"1919","typeID":"__group__","zOrder":"29","measuredW":"69","measuredH":"42","w":"69","h":"42","x":"575","y":"3179","properties":{"controlName":"102-troubleshooting-techniques:log-analysis:grep"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"69","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"34","measuredH":"24","x":"18","y":"8","properties":{"size":"16","text":"grep"}}]}}},{"ID":"1920","typeID":"__group__","zOrder":"31","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"649","y":"3178","properties":{"controlName":"103-troubleshooting-techniques:log-analysis:sed"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"27","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"sed"}}]}}},{"ID":"1921","typeID":"__group__","zOrder":"256","measuredW":"270","measuredH":"42","w":"270","h":"42","x":"375","y":"3353","properties":{"controlName":"100-sql-optimization-techniques:indexes-usecases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"270","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"202","measuredH":"24","x":"34","y":"9","properties":{"size":"16","text":"Indexes and their Usecases"}}]}}},{"ID":"1922","typeID":"__group__","zOrder":"264","measuredW":"320","measuredH":"42","w":"320","h":"42","x":"1049","y":"3313","properties":{"controlName":"101-sql-optimization-techniques:schema-design-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"289","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"Schema Design Patterns / Anti-patterns"}}]}}},{"ID":"1923","typeID":"__group__","zOrder":"263","measuredW":"320","measuredH":"42","w":"320","h":"42","x":"1049","y":"3360","properties":{"controlName":"102-sql-optimization-techniques:schema-query-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"253","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"SQL Query Patterns / Anti-patterns"}}]}}},{"ID":"1924","typeID":"__group__","zOrder":"257","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"374","y":"3280","properties":{"controlName":"100-sql-optimization-techniques:indexes-usecases:b-tree"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"49","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"B-Tree"}}]}}},{"ID":"1925","typeID":"__group__","zOrder":"258","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"467","y":"3280","properties":{"controlName":"101-sql-optimization-techniques:indexes-usecases:hash"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"25","y":"9","properties":{"size":"16","text":"Hash"}}]}}},{"ID":"1926","typeID":"__group__","zOrder":"259","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"559","y":"3280","properties":{"controlName":"102-sql-optimization-techniques:indexes-usecases:gist"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"35","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"GiST"}}]}}},{"ID":"1927","typeID":"__group__","zOrder":"260","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"374","y":"3426","properties":{"controlName":"103-sql-optimization-techniques:indexes-usecases:sp-gist"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"SP-GiST"}}]}}},{"ID":"1928","typeID":"__group__","zOrder":"261","measuredW":"84","measuredH":"42","w":"84","h":"42","x":"469","y":"3426","properties":{"controlName":"104-sql-optimization-techniques:indexes-usecases:gin"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"84","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"29","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"GIN"}}]}}},{"ID":"1929","typeID":"__group__","zOrder":"262","measuredW":"84","measuredH":"42","w":"84","h":"42","x":"561","y":"3426","properties":{"controlName":"105-sql-optimization-techniques:indexes-usecases:brin"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"84","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"BRIN"}}]}}},{"ID":"1930","typeID":"__group__","zOrder":"271","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3432","properties":{"controlName":"100-get-involved-in-development:mailing-lists"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"43","y":"9","properties":{"size":"16","text":"Mailing Lists"}}]}}},{"ID":"1931","typeID":"__group__","zOrder":"272","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3479","properties":{"controlName":"101-get-involved-in-development:reviewing-patches"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"137","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Reviewing Patches"}}]}}},{"ID":"1932","typeID":"__group__","zOrder":"273","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3526","properties":{"controlName":"102-get-involved-in-development:writing-patches"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"114","measuredH":"24","x":"32","y":"9","properties":{"size":"16","text":"Writing Patches"}}]}}},{"ID":"1933","typeID":"__group__","zOrder":"139","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1004","properties":{"controlName":"100-configuring-postgresql:resources-usage"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"130","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Resources Usage"}}]}}},{"ID":"1934","typeID":"__group__","zOrder":"140","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1050","properties":{"controlName":"101-configuring-postgresql:write-ahead-log"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Write-ahead Log"}}]}}},{"ID":"1935","typeID":"__group__","zOrder":"142","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1097","properties":{"controlName":"102-configuring-postgresql:vacuums"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"54","y":"9","properties":{"size":"16","text":"Vacuums"}}]}}},{"ID":"1936","typeID":"__group__","zOrder":"143","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1143","properties":{"controlName":"103-configuring-postgresql:replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"82","measuredH":"24","x":"46","y":"9","properties":{"size":"16","text":"Replication"}}]}}},{"ID":"1938","typeID":"__group__","zOrder":"144","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1189","properties":{"controlName":"104-configuring-postgresql:query-planner"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"104","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Query Planner"}}]}}},{"ID":"1939","typeID":"__group__","zOrder":"141","measuredW":"174","measuredH":"67","w":"174","h":"67","x":"259","y":"1235","properties":{"controlName":"105-configuring-postgresql:checkpoints-background-writer"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"67","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"41","y":"11","properties":{"size":"16","text":"Checkpoints"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"135","measuredH":"24","x":"21","y":"34","properties":{"size":"16","text":"Background Writer"}}]}}},{"ID":"1940","typeID":"__group__","zOrder":"146","measuredW":"283","measuredH":"42","w":"283","h":"42","x":"509","y":"1220","properties":{"controlName":"106-configuring-postgresql:adding-extensions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"283","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"175","measuredH":"24","x":"54","y":"9","properties":{"size":"16","text":"Adding Extra Extensions"}}]}}},{"ID":"1941","typeID":"__group__","zOrder":"145","measuredW":"283","measuredH":"42","w":"283","h":"42","x":"509","y":"1023","properties":{"controlName":"107-configuring-postgresql:reporting-logging-statistics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"283","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"236","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Reporting Logging and Statistics"}}]}}},{"ID":"1942","typeID":"__group__","zOrder":"199","measuredW":"427","measuredH":"42","w":"427","h":"42","x":"288","y":"1730","properties":{"controlName":"100-postgresql-infrastructure-skills:resource-usage-provisioing-capacity-planning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"427","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"382","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Resource Usage and Provisioning, Capacity Planning"}}]}}}]},"attributes":{"name":"New Wireframe 9 copy","order":1000116.0868550346,"parentID":null,"notes":null},"branchID":"Master","resourceID":"73A38172-E66F-4B8C-9525-DB6AC79E153D","mockupH":"3687","mockupW":"1163","measuredW":"1395","measuredH":"3773","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr"} \ No newline at end of file +{"mockup":{"controls":{"control":[{"ID":"1952","typeID":"Arrow","zOrder":"0","w":"1","h":"104","measuredW":"150","measuredH":"100","x":"874","y":"3459","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":104.19580709381944},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1953","typeID":"Arrow","zOrder":"1","w":"125","h":"50","measuredW":"150","measuredH":"100","x":"966","y":"3466","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.45156981064997126,"y":-0.1889423318889385},"p1":{"x":0.6037511436413536,"y":0.08810612991765832},"p2":{"x":125.48082757665975,"y":50.08055305856897}}},{"ID":"1954","typeID":"Arrow","zOrder":"2","w":"134","h":"85","measuredW":"150","measuredH":"100","x":"957","y":"3475","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.42883986877291136,"y":-0.1662123900118786},"p1":{"x":0.5387556024255216,"y":0.1207487476931185},"p2":{"x":134.48082757665975,"y":84.90524134768566}}},{"ID":"1955","typeID":"Arrow","zOrder":"3","w":"171","h":"2","measuredW":"150","measuredH":"100","x":"943","y":"3457","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.2502642458233595,"y":-0.2116722737659984},"p1":{"x":0.5,"y":0},"p2":{"x":171.71787682058277,"y":2}}},{"ID":"1956","typeID":"Arrow","zOrder":"4","w":"129","h":"54","measuredW":"150","measuredH":"100","x":"853","y":"430","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.74379514298448,"y":53.88646773320312},"p1":{"x":0.3624836784055758,"y":-0.08803194020926222},"p2":{"x":-0.15234688382986405,"y":-0.24991191805889912}}},{"ID":"1957","typeID":"Arrow","zOrder":"5","w":"129","h":"12","measuredW":"150","measuredH":"100","x":"858","y":"424","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.8996408240571,"y":12.194895183281858},"p1":{"x":0.525055137952002,"y":-0.03353659581377254},"p2":{"x":0.0034987972427416025,"y":0.5942424008685521}}},{"ID":"1958","typeID":"Arrow","zOrder":"6","w":"134","h":"21","measuredW":"150","measuredH":"100","x":"849","y":"389","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":134.03275656325263,"y":-0.49667736663946016},"p1":{"x":0.49455143506411814,"y":0.05494286199591283},"p2":{"x":-0.01923114463420461,"y":20.126705357650792}}},{"ID":"1959","typeID":"Arrow","zOrder":"7","w":"140","h":"60","measuredW":"150","measuredH":"100","x":"841","y":"341","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":140.74379514298448,"y":-0.18824991656077827},"p1":{"x":0.523254983210688,"y":0.10945202543402179},"p2":{"x":0.2470003337568869,"y":59.10397541577379}}},{"ID":"1960","typeID":"Arrow","zOrder":"8","w":"1","h":"162","measuredW":"150","measuredH":"100","x":"740","y":"232","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":161.3884650838079},"p1":{"x":0.5000000000000004,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.2593697375390036}}},{"ID":"1961","typeID":"Arrow","zOrder":"9","w":"88","h":"36","measuredW":"150","measuredH":"100","x":"971","y":"3331","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.03706521841161248,"y":35.08533148408014},"p1":{"x":0.47748925835979983,"y":-0.13076779376050712},"p2":{"x":87.61231135982212,"y":0.2833731368405097}}},{"ID":"1962","typeID":"Arrow","zOrder":"10","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"884","y":"3378","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1963","typeID":"Arrow","zOrder":"11","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"602","y":"3305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1964","typeID":"Arrow","zOrder":"12","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"510","y":"3305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1965","typeID":"Arrow","zOrder":"13","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"417","y":"3306","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1966","typeID":"Arrow","zOrder":"14","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"548","y":"3377","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1967","typeID":"Arrow","zOrder":"15","w":"1","h":"295","measuredW":"150","measuredH":"100","x":"874","y":"3166","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":295.29969269717276},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1968","typeID":"Arrow","zOrder":"16","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"678","y":"3164","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1969","typeID":"__group__","zOrder":"17","measuredW":"215","measuredH":"94","w":"215","h":"94","x":"501","y":"2876","properties":{"controlName":"102-troubleshooting-techniques:operating-system-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"94","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"171","measuredH":"24","x":"19","y":"11","properties":{"size":"16","text":"Operating System Tools"}}]}}},{"ID":"1970","typeID":"__group__","zOrder":"18","measuredW":"48","measuredH":"42","w":"48","h":"42","x":"511","y":"2918","properties":{"controlName":"100-troubleshooting-techniques:operating-system-tools:top"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"48","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"24","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"top"}}]}}},{"ID":"1971","typeID":"__group__","zOrder":"19","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"563","y":"2918","properties":{"controlName":"101-troubleshooting-techniques:operating-system-tools:sysstat"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"sysstat"}}]}}},{"ID":"1972","typeID":"__group__","zOrder":"20","measuredW":"60","measuredH":"42","w":"60","h":"42","x":"641","y":"2918","properties":{"controlName":"102-troubleshooting-techniques:operating-system-tools:iotop"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"60","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"36","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"iotop"}}]}}},{"ID":"1973","typeID":"__group__","zOrder":"21","measuredW":"215","measuredH":"133","w":"215","h":"133","x":"501","y":"2966","properties":{"controlName":"104-troubleshooting-techniques:profiling-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"100","measuredH":"24","x":"54","y":"8","properties":{"size":"16","text":"Profiling Tools"}}]}}},{"ID":"1974","typeID":"__group__","zOrder":"22","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"509","y":"3003","properties":{"controlName":"100-troubleshooting-techniques:profiling-tools:gdb"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"gdb"}}]}}},{"ID":"1975","typeID":"__group__","zOrder":"23","measuredW":"86","measuredH":"42","w":"86","h":"42","x":"509","y":"3048","properties":{"controlName":"103-troubleshooting-techniques:profiling-tools:perf-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"86","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"70","measuredH":"24","x":"9","y":"9","properties":{"size":"16","text":"perf-tools"}}]}}},{"ID":"1976","typeID":"__group__","zOrder":"24","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"598","y":"3048","properties":{"controlName":"104-troubleshooting-techniques:profiling-tools:core-dumps"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"9","y":"9","properties":{"size":"16","text":"Core Dumps"}}]}}},{"ID":"1977","typeID":"__group__","zOrder":"25","measuredW":"68","measuredH":"42","w":"68","h":"42","x":"569","y":"3003","properties":{"controlName":"101-troubleshooting-techniques:profiling-tools:strace"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"68","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"46","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"strace"}}]}}},{"ID":"1978","typeID":"__group__","zOrder":"26","measuredW":"67","measuredH":"42","w":"67","h":"42","x":"640","y":"3003","properties":{"controlName":"102-troubleshooting-techniques:profiling-tools:ebpf"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"67","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"ebpf"}}]}}},{"ID":"1979","typeID":"__group__","zOrder":"27","measuredW":"215","measuredH":"133","w":"215","h":"133","x":"501","y":"3096","properties":{"controlName":"106-troubleshooting-techniques:log-analysis"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"90","measuredH":"24","x":"63","y":"8","properties":{"size":"16","text":"Log Analysis"}}]}}},{"ID":"1980","typeID":"__group__","zOrder":"28","measuredW":"196","measuredH":"42","w":"196","h":"42","x":"510","y":"3133","properties":{"controlName":"100-troubleshooting-techniques:log-analysis:pg-badger"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"196","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"73","measuredH":"24","x":"57","y":"9","properties":{"size":"16","text":"pgBadger"}}]}}},{"ID":"1981","typeID":"__group__","zOrder":"29","measuredW":"69","measuredH":"42","w":"69","h":"42","x":"575","y":"3179","properties":{"controlName":"102-troubleshooting-techniques:log-analysis:grep"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"69","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"34","measuredH":"24","x":"18","y":"8","properties":{"size":"16","text":"grep"}}]}}},{"ID":"1982","typeID":"__group__","zOrder":"30","measuredW":"61","measuredH":"42","w":"61","h":"42","x":"510","y":"3178","properties":{"controlName":"101-troubleshooting-techniques:log-analysis:awk"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"61","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"awk"}}]}}},{"ID":"1983","typeID":"__group__","zOrder":"31","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"649","y":"3178","properties":{"controlName":"103-troubleshooting-techniques:log-analysis:sed"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"27","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"sed"}}]}}},{"ID":"1984","typeID":"__group__","zOrder":"32","measuredW":"209","measuredH":"96","w":"209","h":"96","x":"296","y":"2874","properties":{"controlName":"101-troubleshooting-techniques:tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"96","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"52","y":"12","properties":{"size":"16","text":"Postgres Tools"}}]}}},{"ID":"1985","typeID":"__group__","zOrder":"33","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"306","y":"2918","properties":{"controlName":"100-troubleshooting-techniques:tools:pgcenter"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"62","y":"9","properties":{"size":"16","text":"pgcenter"}}]}}},{"ID":"1986","typeID":"Arrow","zOrder":"34","w":"1","h":"97","measuredW":"150","measuredH":"100","x":"999","y":"2292","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":0},"p2":{"x":0.4271178962662816,"y":96.57440424601737}}},{"ID":"1987","typeID":"Arrow","zOrder":"35","w":"1","h":"97","measuredW":"150","measuredH":"100","x":"681","y":"2293","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":0},"p2":{"x":0.4271178962662816,"y":96.57440424601737}}},{"ID":"1988","typeID":"Canvas","zOrder":"36","w":"146","h":"164","measuredW":"100","measuredH":"70","x":"611","y":"2359"},{"ID":"1989","typeID":"Arrow","zOrder":"37","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"434","y":"2426","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1990","typeID":"Arrow","zOrder":"38","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"437","y":"2305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1991","typeID":"Arrow","zOrder":"39","w":"620","h":"1","measuredW":"150","measuredH":"100","x":"232","y":"1799","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.13465453284504747,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":619.7495916965531,"y":-0.11774307773521286}}},{"ID":"1992","typeID":"Arrow","zOrder":"40","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"594","y":"2011","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1993","typeID":"Arrow","zOrder":"41","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"850","y":"2011","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1994","typeID":"Arrow","zOrder":"42","w":"404","h":"1","measuredW":"150","measuredH":"100","x":"415","y":"1889","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":404.698868282416,"y":0}}},{"ID":"1995","typeID":"Arrow","zOrder":"43","w":"1","h":"302","measuredW":"150","measuredH":"100","x":"1256","y":"1587","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":0.2815709355738818},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962662816,"y":302.26706104101345}}},{"ID":"1996","typeID":"Arrow","zOrder":"44","w":"1","measuredW":"150","measuredH":"100","x":"857","y":"1792","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":0.4271178962662816,"y":99.26706104101345}}},{"ID":"1997","typeID":"Arrow","zOrder":"45","w":"1","measuredW":"150","measuredH":"100","x":"1007","y":"1792","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":0.4271178962662816,"y":99.26706104101345}}},{"ID":"1998","typeID":"Arrow","zOrder":"46","w":"102","h":"42","measuredW":"150","measuredH":"100","x":"701","y":"1744","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.3637224596427586,"y":0.4123432898111332},"p1":{"x":0.5571092804064476,"y":-0.10882932503976735},"p2":{"x":101.56767757191813,"y":41.71540129516461}}},{"ID":"1999","typeID":"Arrow","zOrder":"47","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"641","y":"2082","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2000","typeID":"Arrow","zOrder":"48","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"849","y":"1894","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2001","typeID":"Arrow","zOrder":"49","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1078","y":"1969","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2002","typeID":"Canvas","zOrder":"50","w":"188","h":"157","measuredW":"100","measuredH":"70","x":"977","y":"2016"},{"ID":"2003","typeID":"Arrow","zOrder":"51","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1257","y":"1885","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2004","typeID":"Arrow","zOrder":"52","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1078","y":"1882","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2005","typeID":"__group__","zOrder":"53","measuredW":"418","measuredH":"47","w":"418","h":"47","x":"977","y":"1866","properties":{"controlName":"102-postgresql-infrastructure-skills:backup-recovery-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"418","h":"47","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"180","measuredH":"24","x":"120","y":"12","properties":{"size":"16","text":"Backup / Recovery Tools"}}]}}},{"ID":"2006","typeID":"Arrow","zOrder":"54","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1257","y":"1965","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2007","typeID":"Canvas","zOrder":"55","w":"235","h":"157","measuredW":"100","measuredH":"70","x":"1160","y":"2016"},{"ID":"2008","typeID":"Arrow","zOrder":"56","w":"1","h":"287","measuredW":"150","measuredH":"100","x":"946","y":"1509","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":286.97930395280105},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2009","typeID":"Arrow","zOrder":"57","w":"165","h":"1","measuredW":"150","measuredH":"100","x":"780","y":"1509","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.4483238886820118,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":165.74959169655313,"y":-0.11774307773521286}}},{"ID":"2010","typeID":"Arrow","zOrder":"58","w":"1","h":"191","measuredW":"150","measuredH":"100","x":"628","y":"1406","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":190.66666666666663}}},{"ID":"2011","typeID":"Arrow","zOrder":"59","w":"127","h":"34","measuredW":"150","measuredH":"100","x":"454","y":"1512","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.11994957005373408,"y":33.764875280635124},"p1":{"x":0.48226186491714973,"y":0.07717329440735292},"p2":{"x":126.93000271100163,"y":0.32046566104463636}}},{"ID":"2012","typeID":"Arrow","zOrder":"60","w":"117","h":"40","measuredW":"150","measuredH":"100","x":"449","y":"1450","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.45411869987805176,"y":-0.38780237568789744},"p1":{"x":0.5058786326070862,"y":-0.07078943628709435},"p2":{"x":116.60131496868928,"y":40.02419258131749}}},{"ID":"2013","typeID":"Arrow","zOrder":"61","w":"191","h":"1","measuredW":"150","measuredH":"100","x":"406","y":"1501","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":191,"y":0}}},{"ID":"2014","typeID":"Arrow","zOrder":"62","w":"134","h":"98","measuredW":"150","measuredH":"100","x":"421","y":"1172","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":97.66666666666663},"p1":{"x":0.5069805639200657,"y":0.10073911853271315},"p2":{"x":134.13752000020185,"y":-0.3173254102676992},"color":"10027263"}},{"ID":"2015","typeID":"Arrow","zOrder":"63","w":"147","h":"44","measuredW":"150","measuredH":"100","x":"407","y":"1171","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.3333333333333144,"y":44},"p1":{"x":0.5300999629766752,"y":0.0764901888189561},"p2":{"x":147,"y":0},"color":"10027263"}},{"ID":"2016","typeID":"Arrow","zOrder":"64","w":"128","h":"41","measuredW":"150","measuredH":"100","x":"425","y":"1071","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":0},"p1":{"x":0.4922100240848163,"y":-0.11071038048662071},"p2":{"x":127.66666666666669,"y":39.33333333333337},"color":"10027263"}},{"ID":"2017","typeID":"Arrow","zOrder":"65","w":"136","h":"92","measuredW":"150","measuredH":"100","x":"425","y":"1021","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":0},"p1":{"x":0.4922100240848163,"y":-0.11071038048662066},"p2":{"x":135.72190217879785,"y":91.72550749825871},"color":"10027263"}},{"ID":"2018","typeID":"Arrow","zOrder":"66","w":"189","h":"6","measuredW":"150","measuredH":"100","x":"374","y":"1158","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":6},"p1":{"x":0.5,"y":0},"p2":{"x":189.67849256059174,"y":0.26114628054824607},"color":"10027263"}},{"ID":"2019","typeID":"Arrow","zOrder":"67","w":"188","h":"7","measuredW":"150","measuredH":"100","x":"364","y":"1119","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":188.66666666666669,"y":6.666666666666629},"color":"10027263"}},{"ID":"2020","typeID":"Arrow","zOrder":"68","w":"1","h":"191","measuredW":"150","measuredH":"100","x":"557","y":"1051","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":190.66666666666663},"color":"10027263"}},{"ID":"2021","typeID":"Arrow","zOrder":"69","w":"128","h":"1","measuredW":"150","measuredH":"100","x":"734","y":"1141","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":128.3182218608979,"y":0},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0},"color":"10027263"}},{"ID":"2022","typeID":"__group__","zOrder":"70","measuredW":"304","measuredH":"202","w":"304","h":"202","x":"1084","y":"1238","properties":{"controlName":"103-learn-sql-concepts:advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"304","h":"202","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"91","y":"18","properties":{"size":"16","text":"Advanced Topics"}}]}}},{"ID":"2023","typeID":"Arrow","zOrder":"71","w":"258","h":"1","measuredW":"150","measuredH":"100","x":"946","y":"920","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.49987434137158676,"y":0.00022818425917650698},"p2":{"x":258,"y":0}}},{"ID":"2024","typeID":"Arrow","zOrder":"72","w":"258","h":"1","measuredW":"150","measuredH":"100","x":"946","y":"903","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.49987434137158676,"y":0.00022818425917650698},"p2":{"x":258,"y":0}}},{"ID":"2025","typeID":"Arrow","zOrder":"73","w":"1","h":"106","measuredW":"150","measuredH":"100","x":"1309","y":"912","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":106.43592685891701},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"2026","typeID":"Arrow","zOrder":"74","w":"1","h":"106","measuredW":"150","measuredH":"100","x":"1158","y":"912","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":106.43592685891701},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"2027","typeID":"__group__","zOrder":"75","measuredW":"154","measuredH":"241","w":"154","h":"241","x":"1085","y":"969","properties":{"controlName":"100-learn-sql-concepts:ddl-queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"154","h":"241","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"95","measuredH":"24","x":"29","y":"13","properties":{"size":"16","text":"DDL Queries"}}]}}},{"ID":"2028","typeID":"__group__","zOrder":"76","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1097","y":"1106","properties":{"controlName":"102-learn-sql-concepts:ddl-queries:data-types"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Data Types"}}]}}},{"ID":"2029","typeID":"__group__","zOrder":"77","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1096","y":"1013","properties":{"controlName":"100-learn-sql-concepts:ddl-queries:for-schemas"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"95","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"For Schemas"}}]}}},{"ID":"2030","typeID":"__group__","zOrder":"78","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1096","y":"1059","properties":{"controlName":"101-learn-sql-concepts:ddl-queries:for-tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"75","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"For Tables"}}]}}},{"ID":"2031","typeID":"Arrow","zOrder":"79","w":"1","h":"213","measuredW":"150","measuredH":"100","x":"946","y":"690","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":212.3884650838079},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2032","typeID":"Arrow","zOrder":"80","w":"128","h":"1","measuredW":"150","measuredH":"100","x":"1107","y":"685","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.3182218608979,"y":0},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"2033","typeID":"Arrow","zOrder":"81","w":"1","h":"147","measuredW":"150","measuredH":"100","x":"1077","y":"613","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":-0.12826052131362076},"p1":{"x":0.5,"y":0},"p2":{"x":0,"y":147.29881929523685}}},{"ID":"2034","typeID":"Arrow","zOrder":"82","w":"172","h":"1","measuredW":"150","measuredH":"100","x":"753","y":"686","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":-0.11774307773505654},"p1":{"x":0.5000000000000002,"y":2.0577493387487696e-32},"p2":{"x":171.58708306717926,"y":-0.11774307773504233}}},{"ID":"2035","typeID":"Arrow","zOrder":"83","w":"171","h":"258","measuredW":"150","measuredH":"100","x":"571","y":"414","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":171,"y":0},"p1":{"x":0.5854320642684712,"y":0.23339886429384038},"p2":{"x":0.008847042366596725,"y":257.51497904447774}}},{"ID":"2036","typeID":"Arrow","zOrder":"84","w":"1","h":"78","measuredW":"150","measuredH":"100","x":"640","y":"707","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.4271178962663953,"y":78.47632623201923}}},{"ID":"2037","typeID":"Arrow","zOrder":"85","w":"1","h":"94","measuredW":"150","measuredH":"100","x":"355","y":"691","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0.3919582050954773},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":94.47632623201923}}},{"ID":"2038","typeID":"Arrow","zOrder":"86","w":"191","h":"1","measuredW":"150","measuredH":"100","x":"352","y":"686","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":191,"y":0}}},{"ID":"2039","typeID":"Label","zOrder":"87","measuredW":"152","measuredH":"36","x":"666","y":"181","properties":{"size":"28","text":"PostgreSQL"}},{"ID":"2040","typeID":"Arrow","zOrder":"88","w":"1","h":"84","measuredW":"150","measuredH":"100","x":"741","y":"86","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":-0.3333333333333428},"p1":{"x":0.5,"y":0},"p2":{"x":0,"y":84}}},{"ID":"2041","typeID":"__group__","zOrder":"89","measuredW":"269","measuredH":"49","w":"269","h":"49","x":"506","y":"662","properties":{"controlName":"102-rdbms-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"187","measuredH":"25","x":"41","y":"12","properties":{"text":"Basic RDBMS Concepts","size":"17"}}]}}},{"ID":"2042","typeID":"__group__","zOrder":"90","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"666","properties":{"controlName":"100-rdbms-concepts:object-model"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"43","y":"9","properties":{"text":"Object Model","size":"16"}}]}}},{"ID":"2043","typeID":"__group__","zOrder":"91","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"897","properties":{"controlName":"104-rdbms-concepts:high-level-database-concepts:query-processing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"128","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Query Processing"}}]}}},{"ID":"2044","typeID":"__group__","zOrder":"92","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"484","properties":{"controlName":"105-rdbms-concepts:object-model:data-types"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"51","y":"9","properties":{"size":"16","text":"Data Types"}}]}}},{"ID":"2045","typeID":"__group__","zOrder":"93","measuredW":"82","measuredH":"42","w":"82","h":"42","x":"259","y":"529","properties":{"controlName":"103-rdbms-concepts:object-model:rows"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"82","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Rows"}}]}}},{"ID":"2046","typeID":"__group__","zOrder":"94","measuredW":"99","measuredH":"42","w":"99","h":"42","x":"344","y":"529","properties":{"controlName":"104-rdbms-concepts:object-model:columns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"99","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"64","measuredH":"24","x":"18","y":"9","properties":{"size":"16","text":"Columns"}}]}}},{"ID":"2047","typeID":"__group__","zOrder":"95","measuredW":"82","measuredH":"42","w":"82","h":"42","x":"259","y":"574","properties":{"controlName":"101-rdbms-concepts:object-model:tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"82","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"47","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Tables"}}]}}},{"ID":"2048","typeID":"__group__","zOrder":"96","measuredW":"99","measuredH":"42","w":"99","h":"42","x":"344","y":"574","properties":{"controlName":"102-rdbms-concepts:object-model:schemas"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"99","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"67","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Schemas"}}]}}},{"ID":"2049","typeID":"__group__","zOrder":"97","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"620","properties":{"controlName":"100-rdbms-concepts:object-model:databases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"78","measuredH":"24","x":"53","y":"9","properties":{"size":"16","text":"Databases"}}]}}},{"ID":"2050","typeID":"__group__","zOrder":"98","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"439","properties":{"controlName":"106-rdbms-concepts:object-model:queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"58","measuredH":"24","x":"63","y":"9","properties":{"size":"16","text":"Queries"}}]}}},{"ID":"2051","typeID":"__group__","zOrder":"99","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"756","properties":{"controlName":"101-rdbms-concepts:relational-model"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"123","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"Relational Model"}}]}}},{"ID":"2052","typeID":"__group__","zOrder":"100","measuredW":"92","measuredH":"42","w":"92","h":"42","x":"258","y":"803","properties":{"controlName":"100-rdbms-concepts:relational-model:domains"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"92","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"64","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Domains"}}]}}},{"ID":"2053","typeID":"__group__","zOrder":"101","measuredW":"89","measuredH":"42","w":"89","h":"42","x":"354","y":"803","properties":{"controlName":"101-rdbms-concepts:relational-model:attributes"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"89","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"70","measuredH":"24","x":"10","y":"9","properties":{"size":"16","text":"Attributes"}}]}}},{"ID":"2054","typeID":"__group__","zOrder":"102","measuredW":"92","measuredH":"42","w":"92","h":"42","x":"258","y":"849","properties":{"controlName":"102-rdbms-concepts:relational-model:tuples"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"92","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Tuples"}}]}}},{"ID":"2055","typeID":"__group__","zOrder":"103","measuredW":"89","measuredH":"42","w":"89","h":"42","x":"354","y":"849","properties":{"controlName":"103-rdbms-concepts:relational-model:relations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"89","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"69","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Relations"}}]}}},{"ID":"2056","typeID":"__group__","zOrder":"104","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"258","y":"895","properties":{"controlName":"104-rdbms-concepts:relational-model:constraints"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"83","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Constraints"}}]}}},{"ID":"2057","typeID":"__group__","zOrder":"105","measuredW":"73","measuredH":"42","w":"73","h":"42","x":"370","y":"895","properties":{"controlName":"105-rdbms-concepts:relational-model:null"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"73","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"43","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"NULL"}}]}}},{"ID":"2058","typeID":"__group__","zOrder":"106","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"758","properties":{"controlName":"102-rdbms-concepts:high-level-database-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"225","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"High Level Database Concepts"}}]}}},{"ID":"2059","typeID":"__group__","zOrder":"107","measuredW":"64","measuredH":"42","w":"64","h":"42","x":"506","y":"805","properties":{"controlName":"100-rdbms-concepts:high-level-database-concepts:acid"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"64","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"ACID"}}]}}},{"ID":"2060","typeID":"__group__","zOrder":"108","measuredW":"74","measuredH":"42","w":"74","h":"42","x":"575","y":"805","properties":{"controlName":"101-rdbms-concepts:high-level-database-concepts:mvcc"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"74","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"46","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"MVCC"}}]}}},{"ID":"2061","typeID":"__group__","zOrder":"109","measuredW":"122","measuredH":"42","w":"122","h":"42","x":"653","y":"805","properties":{"controlName":"102-rdbms-concepts:high-level-database-concepts:transactions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"122","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Transactions"}}]}}},{"ID":"2062","typeID":"__group__","zOrder":"110","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"851","properties":{"controlName":"103-rdbms-concepts:high-level-database-concepts:write-ahead-log"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"74","y":"9","properties":{"size":"16","text":"Write-ahead Log"}}]}}},{"ID":"2063","typeID":"__group__","zOrder":"111","measuredW":"247","measuredH":"49","w":"247","h":"49","x":"876","y":"662","properties":{"controlName":"103-installation-and-setup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"247","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"166","measuredH":"25","x":"41","y":"12","properties":{"size":"17","text":"Installation and Setup"}}]}}},{"ID":"2064","typeID":"__group__","zOrder":"112","measuredW":"180","measuredH":"42","w":"180","h":"42","x":"975","y":"583","properties":{"controlName":"100-installation-and-setup:package-managers"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"180","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"141","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"Package Managers"}}]}}},{"ID":"2065","typeID":"__group__","zOrder":"113","measuredW":"180","measuredH":"42","w":"180","h":"42","x":"975","y":"537","properties":{"controlName":"101-installation-and-setup:using-docker"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"180","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"41","y":"9","properties":{"size":"16","text":"Using Docker"}}]}}},{"ID":"2066","typeID":"__group__","zOrder":"114","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"973","y":"745","properties":{"controlName":"102-installation-and-setup:connect-using-psql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"146","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Connect using `psql`"}}]}}},{"ID":"2067","typeID":"Canvas","zOrder":"115","w":"189","h":"189","measuredW":"100","measuredH":"70","x":"1199","y":"592"},{"ID":"2068","typeID":"Label","zOrder":"116","measuredW":"140","measuredH":"24","x":"1224","y":"603","properties":{"size":"16","text":"Managing Postgres"}},{"ID":"2069","typeID":"__group__","zOrder":"117","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"635","properties":{"controlName":"104-installation-and-setup:using-systemd"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"112","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Using `systemd`"}}]}}},{"ID":"2070","typeID":"__group__","zOrder":"118","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"682","properties":{"controlName":"105-installation-and-setup:using-pgctl"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Using `pg_ctl`"}}]}}},{"ID":"2071","typeID":"__group__","zOrder":"119","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"728","properties":{"controlName":"106-installation-and-setup:using-pgctlcluster"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"147","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Using `pg_ctlcluster`"}}]}}},{"ID":"2072","typeID":"__group__","zOrder":"120","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"973","y":"791","properties":{"controlName":"103-installation-and-setup:deployment-in-cloud"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"150","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Deployment in Cloud"}}]}}},{"ID":"2073","typeID":"__group__","zOrder":"121","measuredW":"303","measuredH":"49","w":"303","h":"49","x":"1085","y":"887","properties":{"controlName":"104-learn-sql-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"303","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"161","measuredH":"25","x":"71","y":"12","properties":{"size":"17","text":"Learn SQL Concepts"}}]}}},{"ID":"2074","typeID":"__group__","zOrder":"122","measuredW":"154","measuredH":"234","w":"154","h":"234","x":"1234","y":"969","properties":{"controlName":"101-learn-sql-concepts:dml-queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"154","h":"234","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"97","measuredH":"24","x":"28","y":"14","properties":{"size":"16","text":"DML Queries"}}]}}},{"ID":"2075","typeID":"__group__","zOrder":"123","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1013","properties":{"controlName":"100-learn-sql-concepts:dml-queries:querying-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Querying Data"}}]}}},{"ID":"2076","typeID":"__group__","zOrder":"124","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1105","properties":{"controlName":"102-learn-sql-concepts:dml-queries:modifying-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Modifying Data"}}]}}},{"ID":"2077","typeID":"__group__","zOrder":"125","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1059","properties":{"controlName":"101-learn-sql-concepts:dml-queries:filtering-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Filtering Data"}}]}}},{"ID":"2078","typeID":"__group__","zOrder":"126","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1246","y":"1151","properties":{"controlName":"103-learn-sql-concepts:dml-queries:joining-tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"103","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Joining Tables"}}]}}},{"ID":"2079","typeID":"Arrow","zOrder":"127","w":"1","h":"571","measuredW":"150","measuredH":"100","x":"946","y":"920","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":570.8537254716314},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2080","typeID":"__group__","zOrder":"128","measuredW":"303","measuredH":"42","w":"303","h":"42","x":"1085","y":"1200","properties":{"controlName":"102-learn-sql-concepts:import-export-using-copy"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"303","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"208","measuredH":"24","x":"48","y":"9","properties":{"size":"16","text":"Import / Export using `COPY`"}}]}}},{"ID":"2081","typeID":"__group__","zOrder":"129","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1289","properties":{"controlName":"100-learn-sql-concepts:advanced-topics:transactions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"24","x":"18","y":"9","properties":{"size":"16","text":"Transactions"}}]}}},{"ID":"2082","typeID":"__group__","zOrder":"130","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1289","properties":{"controlName":"101-learn-sql-concepts:advanced-topics:cte"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"24","x":"55","y":"9","properties":{"size":"16","text":"CTE"}}]}}},{"ID":"2083","typeID":"__group__","zOrder":"131","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1337","properties":{"controlName":"102-learn-sql-concepts:advanced-topics:subqueries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"83","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Subqueries"}}]}}},{"ID":"2084","typeID":"__group__","zOrder":"132","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1337","properties":{"controlName":"103-learn-sql-concepts:advanced-topics:lateral-join"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"84","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Lateral Join"}}]}}},{"ID":"2085","typeID":"__group__","zOrder":"133","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1384","properties":{"controlName":"104-learn-sql-concepts:advanced-topics:grouping"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"67","measuredH":"24","x":"31","y":"9","properties":{"size":"16","text":"Grouping"}}]}}},{"ID":"2086","typeID":"__group__","zOrder":"134","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1384","properties":{"controlName":"105-learn-sql-concepts:advanced-topics:set-operations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Set Operations"}}]}}},{"ID":"2087","typeID":"__group__","zOrder":"135","measuredW":"240","measuredH":"49","w":"240","h":"49","x":"791","y":"1117","properties":{"controlName":"105-configuring-postgresql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"240","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"186","measuredH":"25","x":"27","y":"12","properties":{"size":"17","text":"Configuring PostgreSQL"}}]}}},{"ID":"2088","typeID":"Canvas","zOrder":"136","w":"245","h":"79","measuredW":"100","measuredH":"70","x":"508","y":"1102"},{"ID":"2089","typeID":"Label","zOrder":"137","measuredW":"180","measuredH":"25","x":"530","y":"1116","properties":{"text":"Following {color:blue}postgres.conf{color}","size":"17"}},{"ID":"2090","typeID":"Label","zOrder":"138","measuredW":"186","measuredH":"25","x":"530","y":"1143","properties":{"text":"configurations and more","size":"17"}},{"ID":"2091","typeID":"__group__","zOrder":"139","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1004","properties":{"controlName":"100-configuring-postgresql:resources-usage"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"130","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Resources Usage"}}]}}},{"ID":"2092","typeID":"__group__","zOrder":"140","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1050","properties":{"controlName":"101-configuring-postgresql:write-ahead-log"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Write-ahead Log"}}]}}},{"ID":"2093","typeID":"__group__","zOrder":"141","measuredW":"174","measuredH":"67","w":"174","h":"67","x":"259","y":"1235","properties":{"controlName":"105-configuring-postgresql:checkpoints-background-writer"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"67","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"41","y":"11","properties":{"size":"16","text":"Checkpoints"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"135","measuredH":"24","x":"21","y":"34","properties":{"size":"16","text":"Background Writer"}}]}}},{"ID":"2094","typeID":"__group__","zOrder":"142","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1097","properties":{"controlName":"102-configuring-postgresql:vacuums"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"54","y":"9","properties":{"size":"16","text":"Vacuums"}}]}}},{"ID":"2095","typeID":"__group__","zOrder":"143","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1143","properties":{"controlName":"103-configuring-postgresql:replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"82","measuredH":"24","x":"46","y":"9","properties":{"size":"16","text":"Replication"}}]}}},{"ID":"2096","typeID":"__group__","zOrder":"144","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1189","properties":{"controlName":"104-configuring-postgresql:query-planner"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"104","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Query Planner"}}]}}},{"ID":"2097","typeID":"__group__","zOrder":"145","measuredW":"283","measuredH":"42","w":"283","h":"42","x":"509","y":"1023","properties":{"controlName":"107-configuring-postgresql:reporting-logging-statistics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"283","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"236","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Reporting Logging and Statistics"}}]}}},{"ID":"2098","typeID":"__group__","zOrder":"146","measuredW":"283","measuredH":"42","w":"283","h":"42","x":"509","y":"1220","properties":{"controlName":"106-configuring-postgresql:adding-extensions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"283","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"175","measuredH":"24","x":"54","y":"9","properties":{"size":"16","text":"Adding Extra Extensions"}}]}}},{"ID":"2099","typeID":"Arrow","zOrder":"147","w":"176","h":"1","measuredW":"150","measuredH":"100","x":"770","y":"1491","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.4483238886820118,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":176.47256858280025,"y":-0.11774307773521286}}},{"ID":"2100","typeID":"__group__","zOrder":"148","measuredW":"245","measuredH":"49","w":"245","h":"49","x":"547","y":"1477","properties":{"controlName":"106-postgresql-security-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"245","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"211","measuredH":"25","x":"17","y":"12","properties":{"size":"17","text":"Postgres Security Concepts"}}]}}},{"ID":"2101","typeID":"__group__","zOrder":"149","measuredW":"202","measuredH":"42","w":"202","h":"42","x":"259","y":"1436","properties":{"controlName":"102-postgresql-security-concepts:authentication-models"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"202","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"162","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Authentication Models"}}]}}},{"ID":"2102","typeID":"__group__","zOrder":"150","measuredW":"76","measuredH":"42","w":"76","h":"42","x":"259","y":"1481","properties":{"controlName":"103-postgresql-security-concepts:roles"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"76","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"42","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Roles"}}]}}},{"ID":"2103","typeID":"__group__","zOrder":"151","measuredW":"122","measuredH":"42","w":"122","h":"42","x":"339","y":"1481","properties":{"controlName":"104-postgresql-security-concepts:pg-hba-conf"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"122","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"pg_hba.conf"}}]}}},{"ID":"2104","typeID":"__group__","zOrder":"152","measuredW":"202","measuredH":"42","w":"202","h":"42","x":"259","y":"1526","properties":{"controlName":"105-postgresql-security-concepts:ssl-settings"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"202","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"92","measuredH":"24","x":"55","y":"9","properties":{"size":"16","text":"SSL Settings"}}]}}},{"ID":"2105","typeID":"__group__","zOrder":"153","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1402","properties":{"controlName":"100-postgresql-security-concepts:object-priviliges"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"117","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"Object Priviliges"}}]}}},{"ID":"2106","typeID":"__group__","zOrder":"154","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1357","properties":{"controlName":"100-postgresql-security-concepts:object-priviliges:grant-revoke"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"111","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Grant / Revoke"}}]}}},{"ID":"2107","typeID":"__group__","zOrder":"155","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1312","properties":{"controlName":"101-postgresql-security-concepts:object-priviliges:default-priviliges"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"127","measuredH":"24","x":"28","y":"9","properties":{"size":"16","text":"Default Privileges"}}]}}},{"ID":"2108","typeID":"__group__","zOrder":"156","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1562","properties":{"controlName":"101-postgresql-security-concepts:advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"31","y":"9","properties":{"size":"16","text":"Advanced Topics"}}]}}},{"ID":"2109","typeID":"__group__","zOrder":"157","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1608","properties":{"controlName":"100-postgresql-security-concepts:advanced-topics:row-level-security"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"138","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Row-Level Security"}}]}}},{"ID":"2110","typeID":"__group__","zOrder":"158","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1653","properties":{"controlName":"101-postgresql-security-concepts:advanced-topics:selinux"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"59","measuredH":"24","x":"62","y":"9","properties":{"size":"16","text":"SELinux"}}]}}},{"ID":"2111","typeID":"__group__","zOrder":"159","measuredW":"278","measuredH":"49","w":"278","h":"49","x":"788","y":"1771","properties":{"controlName":"107-postgresql-infrastructure-skills"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"278","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"216","measuredH":"25","x":"31","y":"12","properties":{"size":"17","text":"Develop Infrastructure Skills"}}]}}},{"ID":"2112","typeID":"__group__","zOrder":"160","measuredW":"221","measuredH":"143","w":"221","h":"143","x":"1148","y":"1502","properties":{"controlName":"100-postgresql-infrastructure-skills:replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"221","h":"143","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"82","measuredH":"24","x":"70","y":"108","properties":{"size":"16","text":"Replication"}}]}}},{"ID":"2113","typeID":"__group__","zOrder":"161","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1162","y":"1560","properties":{"controlName":"101-postgresql-infrastructure-skills:replication:streaming-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"160","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Streaming Replication"}}]}}},{"ID":"2114","typeID":"__group__","zOrder":"162","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1162","y":"1514","properties":{"controlName":"100-postgresql-infrastructure-skills:replication:logical-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"139","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"Logical Replication"}}]}}},{"ID":"2115","typeID":"__group__","zOrder":"163","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"1169","y":"2027","properties":{"controlName":"104-postgresql-infrastructure-skills:backup-recovery-tools:pg-dump"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"69","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"pg_dump"}}]}}},{"ID":"2116","typeID":"__group__","zOrder":"164","measuredW":"108","measuredH":"42","w":"108","h":"42","x":"1277","y":"2027","properties":{"controlName":"105-postgresql-infrastructure-skills:backup-recovery-tools:pg-dumpall"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"108","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"86","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"pg_dumpall"}}]}}},{"ID":"2117","typeID":"__group__","zOrder":"165","measuredW":"216","measuredH":"42","w":"216","h":"42","x":"1169","y":"2074","properties":{"controlName":"106-postgresql-infrastructure-skills:backup-recovery-tools:pg-restore"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"216","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"67","y":"9","properties":{"size":"16","text":"pg_restore"}}]}}},{"ID":"2118","typeID":"__group__","zOrder":"166","measuredW":"216","measuredH":"42","w":"216","h":"42","x":"1169","y":"2120","properties":{"controlName":"107-postgresql-infrastructure-skills:backup-recovery-tools:pg-basebackup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"216","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"117","measuredH":"24","x":"49","y":"9","properties":{"size":"16","text":"pg_basebackup"}}]}}},{"ID":"2119","typeID":"Label","zOrder":"167","measuredW":"87","measuredH":"24","x":"1214","y":"1947","properties":{"size":"16","text":"Builtin Tools"}},{"ID":"2120","typeID":"Label","zOrder":"168","measuredW":"66","measuredH":"24","x":"1046","y":"1947","properties":{"size":"16","text":"3rd Party"}},{"ID":"2121","typeID":"__group__","zOrder":"169","measuredW":"81","measuredH":"42","w":"81","h":"42","x":"986","y":"2027","properties":{"controlName":"100-postgresql-infrastructure-skills:backup-recovery-tools:barman"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"81","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"barman"}}]}}},{"ID":"2122","typeID":"__group__","zOrder":"170","measuredW":"166","measuredH":"42","w":"166","h":"42","x":"986","y":"2073","properties":{"controlName":"102-postgresql-infrastructure-skills:backup-recovery-tools:pgbackrest"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"166","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"42","y":"9","properties":{"size":"16","text":"pgbackrest"}}]}}},{"ID":"2123","typeID":"__group__","zOrder":"171","measuredW":"166","measuredH":"42","w":"166","h":"42","x":"986","y":"2118","properties":{"controlName":"103-postgresql-infrastructure-skills:backup-recovery-tools:pg-probackup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"166","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"pg_probackup"}}]}}},{"ID":"2124","typeID":"__group__","zOrder":"172","measuredW":"80","measuredH":"42","w":"80","h":"42","x":"1072","y":"2027","properties":{"controlName":"101-postgresql-infrastructure-skills:backup-recovery-tools:wal-g"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"80","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"51","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"WAL-G"}}]}}},{"ID":"2125","typeID":"__group__","zOrder":"173","measuredW":"418","measuredH":"42","w":"418","h":"42","x":"977","y":"2169","properties":{"controlName":"108-postgresql-infrastructure-skills:backup-recovery-tools:backup-validation-procedures"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"418","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"217","measuredH":"24","x":"98","y":"9","properties":{"size":"16","text":"Backup Validation Procedures"}}]}}},{"ID":"2126","typeID":"__group__","zOrder":"174","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1868","properties":{"controlName":"103-postgresql-infrastructure-skills:upgrade-procedures"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"152","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"Upgrade Procedures"}}]}}},{"ID":"2127","typeID":"__group__","zOrder":"175","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1938","properties":{"controlName":"100-postgresql-infrastructure-skills:upgrade-procedures:using-pg-upgrade"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"142","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Using `pg_upgrade`"}}]}}},{"ID":"2128","typeID":"__group__","zOrder":"176","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1984","properties":{"controlName":"101-postgresql-infrastructure-skills:upgrade-procedures:using-logical-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"184","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Using Logical Replication"}}]}}},{"ID":"2129","typeID":"__group__","zOrder":"177","measuredW":"221","measuredH":"143","w":"221","h":"143","x":"1146","y":"1679","properties":{"controlName":"101-postgresql-infrastructure-skills:connection-pooling"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"221","h":"143","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"141","measuredH":"24","x":"40","y":"108","properties":{"size":"16","text":"Connection Pooling"}}]}}},{"ID":"2130","typeID":"__group__","zOrder":"178","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1160","y":"1737","properties":{"controlName":"101-postgresql-infrastructure-skills:connection-pooling:pg-bouncer-alternatives"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"170","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"PgBouncer Alternatives"}}]}}},{"ID":"2131","typeID":"__group__","zOrder":"179","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1160","y":"1691","properties":{"controlName":"100-postgresql-infrastructure-skills:connection-pooling:pg-bouncer"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"56","y":"9","properties":{"size":"16","text":"PgBouncer"}}]}}},{"ID":"2132","typeID":"Arrow","zOrder":"180","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"849","y":"2079","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2133","typeID":"__group__","zOrder":"181","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"2053","properties":{"controlName":"106-postgresql-infrastructure-skills:monitoring"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"78","measuredH":"24","x":"67","y":"9","properties":{"size":"16","text":"Monitoring"}}]}}},{"ID":"2134","typeID":"__group__","zOrder":"182","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"2123","properties":{"controlName":"100-postgresql-infrastructure-skills:monitoring:prometheus"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"88","measuredH":"24","x":"62","y":"9","properties":{"size":"16","text":"Prometheus"}}]}}},{"ID":"2135","typeID":"__group__","zOrder":"183","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"2169","properties":{"controlName":"101-postgresql-infrastructure-skills:monitoring:zabbix"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"49","measuredH":"24","x":"81","y":"9","properties":{"size":"16","text":"Zabbix"}}]}}},{"ID":"2136","typeID":"Arrow","zOrder":"184","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"595","y":"1894","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2137","typeID":"__group__","zOrder":"185","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1868","properties":{"controlName":"104-postgresql-infrastructure-skills:cluster-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"153","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Cluster Management"}}]}}},{"ID":"2138","typeID":"__group__","zOrder":"186","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1938","properties":{"controlName":"100-postgresql-infrastructure-skills:cluster-management:patroni"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"51","measuredH":"24","x":"80","y":"9","properties":{"size":"16","text":"Patroni"}}]}}},{"ID":"2139","typeID":"__group__","zOrder":"187","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1984","properties":{"controlName":"101-postgresql-infrastructure-skills:cluster-management:patroni-alternatives"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"140","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Patroni Alternatives"}}]}}},{"ID":"2140","typeID":"Arrow","zOrder":"188","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"542","y":"2078","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2141","typeID":"__group__","zOrder":"189","measuredW":"301","measuredH":"42","w":"301","h":"42","x":"426","y":"2052","properties":{"controlName":"107-postgresql-infrastructure-skills:load-balancing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"301","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"262","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Load Balancing & Service Discovery"}}]}}},{"ID":"2142","typeID":"__group__","zOrder":"190","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"484","y":"2122","properties":{"controlName":"100-postgresql-infrastructure-skills:load-balancing:ha-proxy"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"HAProxy"}}]}}},{"ID":"2143","typeID":"__group__","zOrder":"191","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"484","y":"2168","properties":{"controlName":"102-postgresql-infrastructure-skills:load-balancing:keep-alived"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"KeepAlived"}}]}}},{"ID":"2144","typeID":"__group__","zOrder":"192","measuredW":"91","measuredH":"42","w":"91","h":"42","x":"595","y":"2122","properties":{"controlName":"101-postgresql-infrastructure-skills:load-balancing:consul"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"91","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Consul"}}]}}},{"ID":"2145","typeID":"__group__","zOrder":"193","measuredW":"91","measuredH":"42","w":"91","h":"42","x":"595","y":"2169","properties":{"controlName":"103-postgresql-infrastructure-skills:load-balancing:etcd"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"91","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Etcd"}}]}}},{"ID":"2146","typeID":"Arrow","zOrder":"194","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"354","y":"1894","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2147","typeID":"__group__","zOrder":"195","measuredW":"197","measuredH":"42","w":"197","h":"42","x":"264","y":"1868","properties":{"controlName":"105-postgresql-infrastructure-skills:kubernetes-deployment"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"197","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"175","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Kubernetes Deployment"}}]}}},{"ID":"2148","typeID":"__group__","zOrder":"196","measuredW":"197","measuredH":"42","w":"197","h":"42","x":"264","y":"1938","properties":{"controlName":"100-postgresql-infrastructure-skills:kubernetes-deployment:simple-stateful-setup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"197","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"154","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Simple Stateful Setup"}}]}}},{"ID":"2149","typeID":"__group__","zOrder":"197","measuredW":"86","measuredH":"42","w":"86","h":"42","x":"264","y":"1985","properties":{"controlName":"101-postgresql-infrastructure-skills:kubernetes-deployment:helm"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"86","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Helm"}}]}}},{"ID":"2150","typeID":"__group__","zOrder":"198","measuredW":"104","measuredH":"42","w":"104","h":"42","x":"358","y":"1985","properties":{"controlName":"102-postgresql-infrastructure-skills:kubernetes-deployment:operators"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"104","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"74","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Operators"}}]}}},{"ID":"2151","typeID":"__group__","zOrder":"199","measuredW":"427","measuredH":"42","w":"427","h":"42","x":"288","y":"1730","properties":{"controlName":"100-postgresql-infrastructure-skills:resource-usage-provisioing-capacity-planning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"427","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"382","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Resource Usage and Provisioning, Capacity Planning"}}]}}},{"ID":"2152","typeID":"Arrow","zOrder":"200","w":"1","h":"492","measuredW":"150","measuredH":"100","x":"232","y":"1800","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":491.5072332031234},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.4750232346368648}}},{"ID":"2153","typeID":"Arrow","zOrder":"201","w":"1151","h":"1","measuredW":"150","measuredH":"100","x":"232","y":"2292","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.13465453284504747,"y":-0.11774307773521286},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":1150.9611057996974,"y":-0.11774307773521286}}},{"ID":"2154","typeID":"__group__","zOrder":"202","measuredW":"274","measuredH":"49","w":"274","h":"49","x":"294","y":"2268","properties":{"controlName":"108-learn-automation"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"215","measuredH":"25","x":"29","y":"12","properties":{"size":"17","text":"Learn to Automate Routines"}}]}}},{"ID":"2155","typeID":"__group__","zOrder":"203","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2347","properties":{"controlName":"100-learn-automation:shell-scripts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"89","measuredH":"24","x":"92","y":"9","properties":{"size":"16","text":"Shell Scripts"}}]}}},{"ID":"2156","typeID":"__group__","zOrder":"204","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2393","properties":{"controlName":"101-learn-automation:programming-language"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"204","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Any Programming Language"}}]}}},{"ID":"2157","typeID":"__group__","zOrder":"205","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2464","properties":{"controlName":"102-learn-automation:configuration-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"198","measuredH":"24","x":"38","y":"9","properties":{"size":"16","text":"Configuration Management"}}]}}},{"ID":"2158","typeID":"__group__","zOrder":"206","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"294","y":"2512","properties":{"controlName":"100-learn-automation:configuration-management:ansible"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"53","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Ansible"}}]}}},{"ID":"2159","typeID":"__group__","zOrder":"207","measuredW":"53","measuredH":"42","w":"53","h":"42","x":"374","y":"2512","properties":{"controlName":"101-learn-automation:configuration-management:salt"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"53","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Salt"}}]}}},{"ID":"2160","typeID":"__group__","zOrder":"208","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"431","y":"2512","properties":{"controlName":"102-learn-automation:configuration-management:chef"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"35","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Chef"}}]}}},{"ID":"2161","typeID":"__group__","zOrder":"209","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"493","y":"2512","properties":{"controlName":"103-learn-automation:configuration-management:puppet"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"52","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Puppet"}}]}}},{"ID":"2162","typeID":"__group__","zOrder":"210","measuredW":"274","measuredH":"49","w":"274","h":"49","x":"627","y":"2268","properties":{"controlName":"109-application-skills"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"128","measuredH":"25","x":"73","y":"12","properties":{"size":"17","text":"Application Skills"}}]}}},{"ID":"2163","typeID":"__group__","zOrder":"211","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"627","y":"2347","properties":{"controlName":"100-application-skills:migrations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"76","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Migrations"}}]}}},{"ID":"2164","typeID":"__group__","zOrder":"212","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"627","y":"2396","properties":{"controlName":"100-application-skills:migrations:practical-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"252","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Practical Patterns and Antipatterns"}}]}}},{"ID":"2165","typeID":"__group__","zOrder":"213","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"627","y":"2442","properties":{"controlName":"101-application-skills:migrations:liquidbase-sqitch-bytebase"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"218","measuredH":"24","x":"31","y":"9","properties":{"size":"16","text":"liquibase, sqitch, Bytebase etc"}}]}}},{"ID":"2166","typeID":"Label","zOrder":"214","measuredW":"110","measuredH":"24","x":"627","y":"2488","properties":{"size":"16","text":"Migration Tools"}},{"ID":"2167","typeID":"__group__","zOrder":"215","measuredW":"297","measuredH":"42","w":"297","h":"42","x":"609","y":"2528","properties":{"controlName":"102-application-skills:bulk-load-process-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"297","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"249","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Bulk Loading and Processing Data"}}]}}},{"ID":"2168","typeID":"__group__","zOrder":"216","measuredW":"297","measuredH":"42","w":"297","h":"42","x":"609","y":"2573","properties":{"controlName":"103-application-skills:data-partitioning-sharding-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"297","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"265","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Data Partitioning / Sharding Patterns"}}]}}},{"ID":"2169","typeID":"__group__","zOrder":"217","measuredW":"297","measuredH":"42","w":"297","h":"42","x":"609","y":"2619","properties":{"controlName":"104-application-skills:data-normalization-normal-forms"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"297","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"257","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Data Normalization / Normal Forms"}}]}}},{"ID":"2170","typeID":"Canvas","zOrder":"218","w":"146","h":"126","measuredW":"100","measuredH":"70","x":"608","y":"2684"},{"ID":"2171","typeID":"__group__","zOrder":"219","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"619","y":"2665","properties":{"controlName":"101-application-skills:queues"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"58","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Queues"}}]}}},{"ID":"2172","typeID":"__group__","zOrder":"220","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"618","y":"2713","properties":{"controlName":"100-application-skills:queues:practical-patterns-antipatterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"252","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Practical Patterns and Antipatterns"}}]}}},{"ID":"2173","typeID":"__group__","zOrder":"221","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"618","y":"2758","properties":{"controlName":"101-application-skills:queues:skytools-pgq"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"99","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Skytools PGQ"}}]}}},{"ID":"2174","typeID":"__group__","zOrder":"222","measuredW":"299","measuredH":"49","w":"299","h":"49","x":"949","y":"2268","properties":{"controlName":"110-advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"299","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"130","measuredH":"25","x":"85","y":"12","properties":{"size":"17","text":"Advanced Topics"}}]}}},{"ID":"2175","typeID":"__group__","zOrder":"223","measuredW":"169","measuredH":"330","w":"169","h":"330","x":"949","y":"2359","properties":{"controlName":"100-advanced-topics:low-level-internals"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"330","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"140","measuredH":"24","x":"15","y":"15","properties":{"size":"16","text":"Low Level Internals"}}]}}},{"ID":"2176","typeID":"__group__","zOrder":"224","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2409","properties":{"controlName":"100-advanced-topics:low-level-internals:process-memory-arch"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"261","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Processes and memory architecture"}}]}}},{"ID":"2177","typeID":"__group__","zOrder":"225","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2454","properties":{"controlName":"101-advanced-topics:low-level-internals:vacuum-processing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"143","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Vacuum Processing"}}]}}},{"ID":"2178","typeID":"__group__","zOrder":"226","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2499","properties":{"controlName":"102-advanced-topics:low-level-internals:buffer-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"144","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Buffer Management"}}]}}},{"ID":"2179","typeID":"__group__","zOrder":"227","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2544","properties":{"controlName":"103-advanced-topics:low-level-internals:lock-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"135","measuredH":"24","x":"75","y":"9","properties":{"size":"16","text":"Lock Management"}}]}}},{"ID":"2180","typeID":"__group__","zOrder":"228","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2589","properties":{"controlName":"104-advanced-topics:low-level-internals:physical-storage-and-file-layout"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"234","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Physical Storage and File Layout"}}]}}},{"ID":"2181","typeID":"__group__","zOrder":"229","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2634","properties":{"controlName":"105-advanced-topics:low-level-internals:system-catalog"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"113","measuredH":"24","x":"86","y":"9","properties":{"size":"16","text":"System Catalog"}}]}}},{"ID":"2182","typeID":"__group__","zOrder":"230","measuredW":"169","measuredH":"195","w":"169","h":"195","x":"950","y":"2696","properties":{"controlName":"101-advanced-topics:fine-grained-tuning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"195","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"147","measuredH":"24","x":"11","y":"14","properties":{"size":"16","text":"Fine Grained Tuning"}}]}}},{"ID":"2183","typeID":"__group__","zOrder":"231","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2743","properties":{"controlName":"100-advanced-topics:fine-grained-tuning:per-user-per-database-settings"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"232","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Per-user, Per-Database Settings"}}]}}},{"ID":"2184","typeID":"__group__","zOrder":"232","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2788","properties":{"controlName":"101-advanced-topics:fine-grained-tuning:storage-parameters"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"145","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Storage Parameters"}}]}}},{"ID":"2185","typeID":"__group__","zOrder":"233","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2834","properties":{"controlName":"102-advanced-topics:fine-grained-tuning:workload-dependant-tuning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"341","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Workload-dependant tuning: OLTP, OLAP, HTAP"}}]}}},{"ID":"2186","typeID":"__group__","zOrder":"234","measuredW":"169","measuredH":"195","w":"169","h":"195","x":"950","y":"2897","properties":{"controlName":"102-advanced-topics:advanced-sql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"195","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"107","measuredH":"24","x":"31","y":"14","properties":{"size":"16","text":"Advanced SQL"}}]}}},{"ID":"2187","typeID":"__group__","zOrder":"235","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"962","y":"2944","properties":{"controlName":"100-advanced-topics:advanced-sql:pl-pgsql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"77","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"PL/pgSQL"}}]}}},{"ID":"2188","typeID":"__group__","zOrder":"236","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"962","y":"2989","properties":{"controlName":"102-advanced-topics:advanced-sql:triggers"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Triggers"}}]}}},{"ID":"2189","typeID":"__group__","zOrder":"237","measuredW":"328","measuredH":"42","w":"328","h":"42","x":"962","y":"3035","properties":{"controlName":"104-advanced-topics:advanced-sql:aggregate-and-window-functions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"328","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"234","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Aggregate and window functions"}}]}}},{"ID":"2190","typeID":"__group__","zOrder":"238","measuredW":"219","measuredH":"42","w":"219","h":"42","x":"1069","y":"2944","properties":{"controlName":"101-advanced-topics:advanced-sql:procedures-and-functions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"219","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"190","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Procedures and Functions"}}]}}},{"ID":"2191","typeID":"__group__","zOrder":"239","measuredW":"219","measuredH":"42","w":"219","h":"42","x":"1069","y":"2989","properties":{"controlName":"103-advanced-topics:advanced-sql:recursive-cte"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"219","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Recursive CTE"}}]}}},{"ID":"2192","typeID":"Arrow","zOrder":"240","w":"1","h":"873","measuredW":"150","measuredH":"100","x":"1382","y":"2293","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":872.4114173726703},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2193","typeID":"Arrow","zOrder":"241","w":"446","h":"1","measuredW":"150","measuredH":"100","x":"936","y":"3166","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":-0.11774307773521286},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":446,"y":-0.11774307773521286}}},{"ID":"2194","typeID":"__group__","zOrder":"242","measuredW":"252","measuredH":"49","w":"252","h":"49","x":"792","y":"3141","properties":{"controlName":"111-troubleshooting-techniques"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"252","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"216","measuredH":"25","x":"18","y":"12","properties":{"size":"17","text":"Troubleshooting Techniques"}}]}}},{"ID":"2195","typeID":"__group__","zOrder":"243","measuredW":"209","measuredH":"135","w":"209","h":"135","x":"296","y":"2744","properties":{"controlName":"100-troubleshooting-techniques:system-views"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"135","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"166","measuredH":"24","x":"21","y":"10","properties":{"size":"16","text":"Postgres System Views"}}]}}},{"ID":"2196","typeID":"__group__","zOrder":"244","measuredW":"190","measuredH":"42","w":"190","h":"42","x":"305","y":"2783","properties":{"controlName":"100-troubleshooting-techniques:system-views:pg-stat-activity"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"190","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"115","measuredH":"24","x":"37","y":"9","properties":{"size":"16","text":"pg_stat_activity"}}]}}},{"ID":"2197","typeID":"__group__","zOrder":"245","measuredW":"190","measuredH":"42","w":"190","h":"42","x":"305","y":"2827","properties":{"controlName":"101-troubleshooting-techniques:system-views:pg-stat-statements"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"190","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"146","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"pg_stat_statements"}}]}}},{"ID":"2198","typeID":"__group__","zOrder":"246","measuredW":"209","measuredH":"133","w":"209","h":"133","x":"296","y":"2967","properties":{"controlName":"103-troubleshooting-techniques:query-analysis"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"106","measuredH":"24","x":"51","y":"9","properties":{"size":"16","text":"Query Analysis"}}]}}},{"ID":"2199","typeID":"__group__","zOrder":"247","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"3004","properties":{"controlName":"100-troubleshooting-techniques:query-analysis:explain"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"EXPLAIN"}}]}}},{"ID":"2200","typeID":"__group__","zOrder":"248","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"3004","properties":{"controlName":"101-troubleshooting-techniques:query-analysis:depesz"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Depesz"}}]}}},{"ID":"2201","typeID":"__group__","zOrder":"249","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"3049","properties":{"controlName":"102-troubleshooting-techniques:query-analysis:pev2"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"PEV2"}}]}}},{"ID":"2202","typeID":"__group__","zOrder":"250","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"3049","properties":{"controlName":"103-troubleshooting-techniques:query-analysis:tenser"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Tenser"}}]}}},{"ID":"2203","typeID":"__group__","zOrder":"251","measuredW":"209","measuredH":"133","w":"209","h":"133","x":"296","y":"3096","properties":{"controlName":"105-troubleshooting-techniques:troubleshooting-methods"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"184","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Troubleshooting Methods"}}]}}},{"ID":"2204","typeID":"__group__","zOrder":"252","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"3133","properties":{"controlName":"100-troubleshooting-techniques:troubleshooting-methods:use"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"USE"}}]}}},{"ID":"2205","typeID":"__group__","zOrder":"253","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"3133","properties":{"controlName":"101-troubleshooting-techniques:troubleshooting-methods:red"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"34","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"RED"}}]}}},{"ID":"2206","typeID":"__group__","zOrder":"254","measuredW":"188","measuredH":"42","w":"188","h":"42","x":"305","y":"3178","properties":{"controlName":"102-troubleshooting-techniques:troubleshooting-methods:golden-signals"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"188","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"39","y":"9","properties":{"size":"16","text":"Golden Signals"}}]}}},{"ID":"2207","typeID":"__group__","zOrder":"255","measuredW":"265","measuredH":"49","w":"265","h":"49","x":"726","y":"3353","properties":{"controlName":"112-sql-optimization-techniques"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"265","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"227","measuredH":"25","x":"19","y":"12","properties":{"size":"17","text":"SQL Optimization Techniques"}}]}}},{"ID":"2208","typeID":"__group__","zOrder":"256","measuredW":"270","measuredH":"42","w":"270","h":"42","x":"375","y":"3353","properties":{"controlName":"100-sql-optimization-techniques:indexes-usecases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"270","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"202","measuredH":"24","x":"34","y":"9","properties":{"size":"16","text":"Indexes and their Usecases"}}]}}},{"ID":"2209","typeID":"__group__","zOrder":"257","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"374","y":"3280","properties":{"controlName":"100-sql-optimization-techniques:indexes-usecases:b-tree"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"49","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"B-Tree"}}]}}},{"ID":"2210","typeID":"__group__","zOrder":"258","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"467","y":"3280","properties":{"controlName":"101-sql-optimization-techniques:indexes-usecases:hash"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"25","y":"9","properties":{"size":"16","text":"Hash"}}]}}},{"ID":"2211","typeID":"__group__","zOrder":"259","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"559","y":"3280","properties":{"controlName":"102-sql-optimization-techniques:indexes-usecases:gist"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"35","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"GiST"}}]}}},{"ID":"2212","typeID":"__group__","zOrder":"260","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"374","y":"3426","properties":{"controlName":"103-sql-optimization-techniques:indexes-usecases:sp-gist"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"SP-GiST"}}]}}},{"ID":"2213","typeID":"__group__","zOrder":"261","measuredW":"84","measuredH":"42","w":"84","h":"42","x":"469","y":"3426","properties":{"controlName":"104-sql-optimization-techniques:indexes-usecases:gin"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"84","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"29","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"GIN"}}]}}},{"ID":"2214","typeID":"__group__","zOrder":"262","measuredW":"84","measuredH":"42","w":"84","h":"42","x":"561","y":"3426","properties":{"controlName":"105-sql-optimization-techniques:indexes-usecases:brin"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"84","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"BRIN"}}]}}},{"ID":"2215","typeID":"__group__","zOrder":"263","measuredW":"320","measuredH":"42","w":"320","h":"42","x":"1049","y":"3360","properties":{"controlName":"102-sql-optimization-techniques:schema-query-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"253","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"SQL Query Patterns / Anti-patterns"}}]}}},{"ID":"2216","typeID":"__group__","zOrder":"264","measuredW":"320","measuredH":"42","w":"320","h":"42","x":"1049","y":"3313","properties":{"controlName":"101-sql-optimization-techniques:schema-design-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"289","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"Schema Design Patterns / Anti-patterns"}}]}}},{"ID":"2217","typeID":"__group__","zOrder":"265","measuredW":"269","measuredH":"49","w":"269","h":"49","x":"604","y":"391","properties":{"controlName":"101-introduction"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"25","x":"88","y":"12","properties":{"size":"17","text":"Introduction"}}]}}},{"ID":"2218","typeID":"__group__","zOrder":"266","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"321","properties":{"controlName":"100-introduction:what-are-relational-databases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"233","measuredH":"24","x":"28","y":"9","properties":{"size":"16","text":"What are Relational Databases?"}}]}}},{"ID":"2219","typeID":"__group__","zOrder":"267","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"367","properties":{"controlName":"101-introduction:rdbms-benefits-limitations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"236","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"RDBMS Benefits and Limitations"}}]}}},{"ID":"2220","typeID":"__group__","zOrder":"268","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"412","properties":{"controlName":"102-introduction:postgresql-vs-others"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"214","measuredH":"24","x":"38","y":"9","properties":{"size":"16","text":"PostgreSQL vs Other RDBMS"}}]}}},{"ID":"2221","typeID":"__group__","zOrder":"269","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"458","properties":{"controlName":"103-introduction:postgresql-vs-nosql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"246","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"PostgreSQL vs NoSQL Databases"}}]}}},{"ID":"2222","typeID":"__group__","zOrder":"270","measuredW":"265","measuredH":"49","w":"265","h":"49","x":"725","y":"3435","properties":{"controlName":"113-get-involved-in-development"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"265","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"222","measuredH":"25","x":"22","y":"12","properties":{"size":"17","text":"Get Involved in Development"}}]}}},{"ID":"2223","typeID":"__group__","zOrder":"271","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3432","properties":{"controlName":"100-get-involved-in-development:mailing-lists"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"43","y":"9","properties":{"size":"16","text":"Mailing Lists"}}]}}},{"ID":"2224","typeID":"__group__","zOrder":"272","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3479","properties":{"controlName":"101-get-involved-in-development:reviewing-patches"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"137","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Reviewing Patches"}}]}}},{"ID":"2225","typeID":"__group__","zOrder":"273","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3526","properties":{"controlName":"102-get-involved-in-development:writing-patches"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"114","measuredH":"24","x":"32","y":"9","properties":{"size":"16","text":"Writing Patches"}}]}}},{"ID":"2226","typeID":"Label","zOrder":"274","measuredW":"161","measuredH":"32","x":"794","y":"3575","properties":{"size":"24","text":"Keep Learning"}},{"ID":"2227","typeID":"Arrow","zOrder":"275","w":"1","h":"67","measuredW":"150","measuredH":"100","x":"874","y":"3634","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":67},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233},"stroke":"dotted"}},{"ID":"2228","typeID":"Arrow","zOrder":"276","w":"171","h":"2","measuredW":"150","measuredH":"100","x":"777","y":"3771","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.2502642458233595,"y":-0.2116722737659984},"p1":{"x":0.5,"y":0},"p2":{"x":171.71787682058277,"y":2},"color":"16777215"}},{"ID":"2229","typeID":"Canvas","zOrder":"277","w":"350","h":"141","measuredW":"100","measuredH":"70","x":"975","y":"134"},{"ID":"2230","typeID":"Label","zOrder":"278","measuredW":"314","measuredH":"25","x":"989","y":"151","properties":{"size":"17","text":"Find the detailed version of this roadmap"}},{"ID":"2231","typeID":"Label","zOrder":"279","measuredW":"319","measuredH":"25","x":"989","y":"179","properties":{"size":"17","text":"along with resources and other roadmaps"}},{"ID":"2232","typeID":"__group__","zOrder":"280","measuredW":"320","measuredH":"45","w":"320","h":"45","x":"990","y":"215","properties":{"controlName":"ext_link:roadmap.sh"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"45","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"borderColor":"4273622","color":"4273622"}},{"ID":"2","typeID":"Label","zOrder":"1","measuredW":"172","measuredH":"28","x":"74","y":"8","properties":{"color":"16777215","size":"20","text":"https://roadmap.sh"}}]}}},{"ID":"2233","typeID":"Canvas","zOrder":"281","w":"300","h":"141","measuredW":"100","measuredH":"70","x":"261","y":"130"},{"ID":"2234","typeID":"__group__","zOrder":"282","measuredW":"181","measuredH":"25","w":"181","h":"25","x":"284","y":"192","properties":{"controlName":"ext_link:roadmap.sh/mongodb"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"148","measuredH":"24","x":"33","y":"0","properties":{"size":"16","text":"MongoDB Roadmap"}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"1","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10066329"}}]}}},{"ID":"2235","typeID":"Label","zOrder":"283","measuredW":"175","measuredH":"28","x":"286","y":"151","properties":{"size":"20","text":"Related Roadmaps"}},{"ID":"2236","typeID":"__group__","zOrder":"284","measuredW":"172","measuredH":"25","w":"172","h":"25","x":"284","y":"225","properties":{"controlName":"ext_link:roadmap.sh/backend"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"139","measuredH":"24","x":"33","y":"0","properties":{"size":"16","text":"Backend Roadmap"}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"1","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10066329"}}]}}},{"ID":"2237","typeID":"__group__","zOrder":"285","measuredW":"300","measuredH":"54","w":"300","h":"54","x":"261","y":"288","properties":{"controlName":"100-roadmap-note"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"300","h":"54","measuredW":"200","measuredH":"140","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"199","measuredH":"24","x":"50","y":"15","properties":{"text":"Important Note / Click here","size":"16"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"18","y":"18","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"13576743"}}]}}}]}}}]},"attributes":{"name":"New Wireframe 9 copy","order":1000116.0868550346,"parentID":null,"notes":null},"branchID":"Master","resourceID":"73A38172-E66F-4B8C-9525-DB6AC79E153D","mockupH":"3687","mockupW":"1163","measuredW":"1395","measuredH":"3773","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr"} \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/102-pev.md b/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/102-pev.md deleted file mode 100644 index aaf562248636..000000000000 --- a/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/102-pev.md +++ /dev/null @@ -1,37 +0,0 @@ -# Pev - A PostgreSQL Explain Visualizer - -As you delve deeper into query analysis, it becomes important to understand and visualize the execution plans of your queries. One highly recommended tool for this purpose is `pev`, short for **PostgreSQL Explain Visualizer**. - -Pev is an open-source, web-based platform that takes the output of the `EXPLAIN` or `EXPLAIN ANALYZE` command and turns it into an intuitive and interactive graphical representation, allowing you to better understand and optimize query performance. - -## Features -- Color-coded nodes for intuitive understanding of scan types and costs -- Detailed information on each node with metrics like duration, loops, cost, and rows -- Zoom in and out for easy navigation through complex plans -- Supports various output formats (JSON, YAML, and XML) - -## Using Pev - -In order to use Pev, follow these steps: - -- Run your query with the `EXPLAIN` or `EXPLAIN ANALYZE` command in PostgreSQL to generate the query execution plan. - - ``` - EXPLAIN (FORMAT JSON) SELECT * FROM my_table WHERE id = 1; - ``` - -- Copy the resulting JSON output. - -- Head to the [Pev online visualizer](https://tatiyants.com/pev/) (or a [local instance](https://github.com/AlexTatiyants/pev) if you prefer) and paste the JSON output into the text box. - -- Pev will automatically generate an interactive, graphical representation of your query's execution plan to better comprehend the query's cost breakdown and any potential bottlenecks. - -## Example: - -Here's a sample of how Pev represents an execution plan. Note the easily distinguishable scan types with color-coding, and how the tooltips provide additional details when hovering over nodes. - -![Pev Example](https://tatiyants.com/pev/img/tooltip.png) - -## Summary - -In conclusion, Pev is an essential tool for any PostgreSQL developer looking to analyze and optimize their queries. By providing a clear visual representation of query execution plans, it enables you to quickly spot areas of improvement and ensure the overall efficiency of your database operations. \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/102-pev2.md b/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/102-pev2.md new file mode 100644 index 000000000000..8918a23350fb --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/102-pev2.md @@ -0,0 +1,22 @@ +# PEV2 + +`pev2`, or *Postgres Explain Visualizer v2*, is an open-source tool designed to make query analysis with PostgreSQL easier and more understandable. By providing a visual representation of the `EXPLAIN ANALYZE` output, `pev2` simplifies query optimization by displaying the query plan and execution metrics in a readable structure. In this section, we cover the key features of `pev2` and explore how it assists in query analysis. + +* **Visual Representation**: `pev2` converts the raw text output of an `EXPLAIN ANALYZE` query into an interactive and color-coded tree structure that is easy to understand at a glance. + +* **Query Plan Metrics**: The tool provides useful execution metrics, such as the query's total execution time, processing steps, and related node costs. + +* **Powerful Interactivity**: Hovering over specific nodes in the visual representation displays additional information, like the time spent on a specific step or the number of rows processed. + +* **Indented JSON Support**: `pev2` supports indented JSON parsing, making it easier to read and understand the plan for large and complex queries. + +* **Save and Share Plans**: The tool allows you to save your query plans as a URL, facilitating easy sharing with your colleagues. + +To use `pev2`, follow these steps: +1. Run your `EXPLAIN ANALYZE` query in your preferred PostgreSQL client. +2. Copy the output text. +3. Visit [https://explain.depesz.com/](https://explain.depesz.com/). +4. Paste the copied output in the text box and click "Explain." +5. Explore the visual representation of the query plan and analyze your query's performance. + +Now that you are familiar with `pev2`, use it to better understand and optimize your PostgreSQL queries. Remember, fine-tuning your queries can significantly improve performance and ensure a seamless experience for end-users. Happy optimizing! From e36a749223bdfa32a11c8ceb2a3d8cb26953ce7b Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Wed, 19 Apr 2023 21:55:22 +0100 Subject: [PATCH 3/5] Update postgresql roadmap --- public/jsons/roadmaps/postgresql-dba.json | 11966 +++++++++++++++- .../106-monitoring/102-check-pgactivity.md | 45 + .../106-monitoring/103-temboard.md | 75 + .../106-monitoring/104-check-pgbackrest.md | 35 + .../100-postgresql-anonymizer.md | 49 + .../108-anonymization/index.md | 29 + .../100-ansible.md | 31 +- .../108-learn-automation/103-terraform.md | 39 + .../101-liquidbase-sqitch-bytebase-ora2pg.md | 29 + .../101-liquidbase-sqitch-bytebase.md | 38 - ...103-data-partitioning-sharding-patterns.md | 33 - .../103-data-partitioning.md | 13 + .../105-sharding-patterns.md | 11 + .../104-explain-dalibo-com.md | 5 + .../106-log-analysis/104-pg-cluu.md | 39 + 15 files changed, 12364 insertions(+), 73 deletions(-) create mode 100644 src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/102-check-pgactivity.md create mode 100644 src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/103-temboard.md create mode 100644 src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/104-check-pgbackrest.md create mode 100644 src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/108-anonymization/100-postgresql-anonymizer.md create mode 100644 src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/108-anonymization/index.md create mode 100644 src/data/roadmaps/postgresql-dba/content/108-learn-automation/103-terraform.md create mode 100644 src/data/roadmaps/postgresql-dba/content/109-application-skills/100-migrations/101-liquidbase-sqitch-bytebase-ora2pg.md delete mode 100644 src/data/roadmaps/postgresql-dba/content/109-application-skills/100-migrations/101-liquidbase-sqitch-bytebase.md delete mode 100644 src/data/roadmaps/postgresql-dba/content/109-application-skills/103-data-partitioning-sharding-patterns.md create mode 100644 src/data/roadmaps/postgresql-dba/content/109-application-skills/103-data-partitioning.md create mode 100644 src/data/roadmaps/postgresql-dba/content/109-application-skills/105-sharding-patterns.md create mode 100644 src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/104-explain-dalibo-com.md create mode 100644 src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/106-log-analysis/104-pg-cluu.md diff --git a/public/jsons/roadmaps/postgresql-dba.json b/public/jsons/roadmaps/postgresql-dba.json index 47c17e382470..bff5042e0ff5 100644 --- a/public/jsons/roadmaps/postgresql-dba.json +++ b/public/jsons/roadmaps/postgresql-dba.json @@ -1 +1,11965 @@ -{"mockup":{"controls":{"control":[{"ID":"1952","typeID":"Arrow","zOrder":"0","w":"1","h":"104","measuredW":"150","measuredH":"100","x":"874","y":"3459","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":104.19580709381944},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1953","typeID":"Arrow","zOrder":"1","w":"125","h":"50","measuredW":"150","measuredH":"100","x":"966","y":"3466","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.45156981064997126,"y":-0.1889423318889385},"p1":{"x":0.6037511436413536,"y":0.08810612991765832},"p2":{"x":125.48082757665975,"y":50.08055305856897}}},{"ID":"1954","typeID":"Arrow","zOrder":"2","w":"134","h":"85","measuredW":"150","measuredH":"100","x":"957","y":"3475","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.42883986877291136,"y":-0.1662123900118786},"p1":{"x":0.5387556024255216,"y":0.1207487476931185},"p2":{"x":134.48082757665975,"y":84.90524134768566}}},{"ID":"1955","typeID":"Arrow","zOrder":"3","w":"171","h":"2","measuredW":"150","measuredH":"100","x":"943","y":"3457","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.2502642458233595,"y":-0.2116722737659984},"p1":{"x":0.5,"y":0},"p2":{"x":171.71787682058277,"y":2}}},{"ID":"1956","typeID":"Arrow","zOrder":"4","w":"129","h":"54","measuredW":"150","measuredH":"100","x":"853","y":"430","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.74379514298448,"y":53.88646773320312},"p1":{"x":0.3624836784055758,"y":-0.08803194020926222},"p2":{"x":-0.15234688382986405,"y":-0.24991191805889912}}},{"ID":"1957","typeID":"Arrow","zOrder":"5","w":"129","h":"12","measuredW":"150","measuredH":"100","x":"858","y":"424","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.8996408240571,"y":12.194895183281858},"p1":{"x":0.525055137952002,"y":-0.03353659581377254},"p2":{"x":0.0034987972427416025,"y":0.5942424008685521}}},{"ID":"1958","typeID":"Arrow","zOrder":"6","w":"134","h":"21","measuredW":"150","measuredH":"100","x":"849","y":"389","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":134.03275656325263,"y":-0.49667736663946016},"p1":{"x":0.49455143506411814,"y":0.05494286199591283},"p2":{"x":-0.01923114463420461,"y":20.126705357650792}}},{"ID":"1959","typeID":"Arrow","zOrder":"7","w":"140","h":"60","measuredW":"150","measuredH":"100","x":"841","y":"341","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":140.74379514298448,"y":-0.18824991656077827},"p1":{"x":0.523254983210688,"y":0.10945202543402179},"p2":{"x":0.2470003337568869,"y":59.10397541577379}}},{"ID":"1960","typeID":"Arrow","zOrder":"8","w":"1","h":"162","measuredW":"150","measuredH":"100","x":"740","y":"232","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":161.3884650838079},"p1":{"x":0.5000000000000004,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.2593697375390036}}},{"ID":"1961","typeID":"Arrow","zOrder":"9","w":"88","h":"36","measuredW":"150","measuredH":"100","x":"971","y":"3331","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.03706521841161248,"y":35.08533148408014},"p1":{"x":0.47748925835979983,"y":-0.13076779376050712},"p2":{"x":87.61231135982212,"y":0.2833731368405097}}},{"ID":"1962","typeID":"Arrow","zOrder":"10","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"884","y":"3378","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1963","typeID":"Arrow","zOrder":"11","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"602","y":"3305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1964","typeID":"Arrow","zOrder":"12","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"510","y":"3305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1965","typeID":"Arrow","zOrder":"13","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"417","y":"3306","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1966","typeID":"Arrow","zOrder":"14","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"548","y":"3377","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1967","typeID":"Arrow","zOrder":"15","w":"1","h":"295","measuredW":"150","measuredH":"100","x":"874","y":"3166","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":295.29969269717276},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1968","typeID":"Arrow","zOrder":"16","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"678","y":"3164","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1969","typeID":"__group__","zOrder":"17","measuredW":"215","measuredH":"94","w":"215","h":"94","x":"501","y":"2876","properties":{"controlName":"102-troubleshooting-techniques:operating-system-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"94","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"171","measuredH":"24","x":"19","y":"11","properties":{"size":"16","text":"Operating System Tools"}}]}}},{"ID":"1970","typeID":"__group__","zOrder":"18","measuredW":"48","measuredH":"42","w":"48","h":"42","x":"511","y":"2918","properties":{"controlName":"100-troubleshooting-techniques:operating-system-tools:top"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"48","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"24","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"top"}}]}}},{"ID":"1971","typeID":"__group__","zOrder":"19","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"563","y":"2918","properties":{"controlName":"101-troubleshooting-techniques:operating-system-tools:sysstat"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"sysstat"}}]}}},{"ID":"1972","typeID":"__group__","zOrder":"20","measuredW":"60","measuredH":"42","w":"60","h":"42","x":"641","y":"2918","properties":{"controlName":"102-troubleshooting-techniques:operating-system-tools:iotop"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"60","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"36","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"iotop"}}]}}},{"ID":"1973","typeID":"__group__","zOrder":"21","measuredW":"215","measuredH":"133","w":"215","h":"133","x":"501","y":"2966","properties":{"controlName":"104-troubleshooting-techniques:profiling-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"100","measuredH":"24","x":"54","y":"8","properties":{"size":"16","text":"Profiling Tools"}}]}}},{"ID":"1974","typeID":"__group__","zOrder":"22","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"509","y":"3003","properties":{"controlName":"100-troubleshooting-techniques:profiling-tools:gdb"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"gdb"}}]}}},{"ID":"1975","typeID":"__group__","zOrder":"23","measuredW":"86","measuredH":"42","w":"86","h":"42","x":"509","y":"3048","properties":{"controlName":"103-troubleshooting-techniques:profiling-tools:perf-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"86","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"70","measuredH":"24","x":"9","y":"9","properties":{"size":"16","text":"perf-tools"}}]}}},{"ID":"1976","typeID":"__group__","zOrder":"24","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"598","y":"3048","properties":{"controlName":"104-troubleshooting-techniques:profiling-tools:core-dumps"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"9","y":"9","properties":{"size":"16","text":"Core Dumps"}}]}}},{"ID":"1977","typeID":"__group__","zOrder":"25","measuredW":"68","measuredH":"42","w":"68","h":"42","x":"569","y":"3003","properties":{"controlName":"101-troubleshooting-techniques:profiling-tools:strace"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"68","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"46","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"strace"}}]}}},{"ID":"1978","typeID":"__group__","zOrder":"26","measuredW":"67","measuredH":"42","w":"67","h":"42","x":"640","y":"3003","properties":{"controlName":"102-troubleshooting-techniques:profiling-tools:ebpf"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"67","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"ebpf"}}]}}},{"ID":"1979","typeID":"__group__","zOrder":"27","measuredW":"215","measuredH":"133","w":"215","h":"133","x":"501","y":"3096","properties":{"controlName":"106-troubleshooting-techniques:log-analysis"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"90","measuredH":"24","x":"63","y":"8","properties":{"size":"16","text":"Log Analysis"}}]}}},{"ID":"1980","typeID":"__group__","zOrder":"28","measuredW":"196","measuredH":"42","w":"196","h":"42","x":"510","y":"3133","properties":{"controlName":"100-troubleshooting-techniques:log-analysis:pg-badger"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"196","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"73","measuredH":"24","x":"57","y":"9","properties":{"size":"16","text":"pgBadger"}}]}}},{"ID":"1981","typeID":"__group__","zOrder":"29","measuredW":"69","measuredH":"42","w":"69","h":"42","x":"575","y":"3179","properties":{"controlName":"102-troubleshooting-techniques:log-analysis:grep"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"69","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"34","measuredH":"24","x":"18","y":"8","properties":{"size":"16","text":"grep"}}]}}},{"ID":"1982","typeID":"__group__","zOrder":"30","measuredW":"61","measuredH":"42","w":"61","h":"42","x":"510","y":"3178","properties":{"controlName":"101-troubleshooting-techniques:log-analysis:awk"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"61","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"awk"}}]}}},{"ID":"1983","typeID":"__group__","zOrder":"31","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"649","y":"3178","properties":{"controlName":"103-troubleshooting-techniques:log-analysis:sed"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"27","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"sed"}}]}}},{"ID":"1984","typeID":"__group__","zOrder":"32","measuredW":"209","measuredH":"96","w":"209","h":"96","x":"296","y":"2874","properties":{"controlName":"101-troubleshooting-techniques:tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"96","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"52","y":"12","properties":{"size":"16","text":"Postgres Tools"}}]}}},{"ID":"1985","typeID":"__group__","zOrder":"33","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"306","y":"2918","properties":{"controlName":"100-troubleshooting-techniques:tools:pgcenter"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"62","y":"9","properties":{"size":"16","text":"pgcenter"}}]}}},{"ID":"1986","typeID":"Arrow","zOrder":"34","w":"1","h":"97","measuredW":"150","measuredH":"100","x":"999","y":"2292","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":0},"p2":{"x":0.4271178962662816,"y":96.57440424601737}}},{"ID":"1987","typeID":"Arrow","zOrder":"35","w":"1","h":"97","measuredW":"150","measuredH":"100","x":"681","y":"2293","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":0},"p2":{"x":0.4271178962662816,"y":96.57440424601737}}},{"ID":"1988","typeID":"Canvas","zOrder":"36","w":"146","h":"164","measuredW":"100","measuredH":"70","x":"611","y":"2359"},{"ID":"1989","typeID":"Arrow","zOrder":"37","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"434","y":"2426","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1990","typeID":"Arrow","zOrder":"38","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"437","y":"2305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1991","typeID":"Arrow","zOrder":"39","w":"620","h":"1","measuredW":"150","measuredH":"100","x":"232","y":"1799","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.13465453284504747,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":619.7495916965531,"y":-0.11774307773521286}}},{"ID":"1992","typeID":"Arrow","zOrder":"40","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"594","y":"2011","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1993","typeID":"Arrow","zOrder":"41","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"850","y":"2011","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1994","typeID":"Arrow","zOrder":"42","w":"404","h":"1","measuredW":"150","measuredH":"100","x":"415","y":"1889","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":404.698868282416,"y":0}}},{"ID":"1995","typeID":"Arrow","zOrder":"43","w":"1","h":"302","measuredW":"150","measuredH":"100","x":"1256","y":"1587","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":0.2815709355738818},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962662816,"y":302.26706104101345}}},{"ID":"1996","typeID":"Arrow","zOrder":"44","w":"1","measuredW":"150","measuredH":"100","x":"857","y":"1792","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":0.4271178962662816,"y":99.26706104101345}}},{"ID":"1997","typeID":"Arrow","zOrder":"45","w":"1","measuredW":"150","measuredH":"100","x":"1007","y":"1792","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":0.4271178962662816,"y":99.26706104101345}}},{"ID":"1998","typeID":"Arrow","zOrder":"46","w":"102","h":"42","measuredW":"150","measuredH":"100","x":"701","y":"1744","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.3637224596427586,"y":0.4123432898111332},"p1":{"x":0.5571092804064476,"y":-0.10882932503976735},"p2":{"x":101.56767757191813,"y":41.71540129516461}}},{"ID":"1999","typeID":"Arrow","zOrder":"47","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"641","y":"2082","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2000","typeID":"Arrow","zOrder":"48","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"849","y":"1894","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2001","typeID":"Arrow","zOrder":"49","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1078","y":"1969","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2002","typeID":"Canvas","zOrder":"50","w":"188","h":"157","measuredW":"100","measuredH":"70","x":"977","y":"2016"},{"ID":"2003","typeID":"Arrow","zOrder":"51","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1257","y":"1885","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2004","typeID":"Arrow","zOrder":"52","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1078","y":"1882","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2005","typeID":"__group__","zOrder":"53","measuredW":"418","measuredH":"47","w":"418","h":"47","x":"977","y":"1866","properties":{"controlName":"102-postgresql-infrastructure-skills:backup-recovery-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"418","h":"47","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"180","measuredH":"24","x":"120","y":"12","properties":{"size":"16","text":"Backup / Recovery Tools"}}]}}},{"ID":"2006","typeID":"Arrow","zOrder":"54","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1257","y":"1965","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2007","typeID":"Canvas","zOrder":"55","w":"235","h":"157","measuredW":"100","measuredH":"70","x":"1160","y":"2016"},{"ID":"2008","typeID":"Arrow","zOrder":"56","w":"1","h":"287","measuredW":"150","measuredH":"100","x":"946","y":"1509","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":286.97930395280105},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2009","typeID":"Arrow","zOrder":"57","w":"165","h":"1","measuredW":"150","measuredH":"100","x":"780","y":"1509","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.4483238886820118,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":165.74959169655313,"y":-0.11774307773521286}}},{"ID":"2010","typeID":"Arrow","zOrder":"58","w":"1","h":"191","measuredW":"150","measuredH":"100","x":"628","y":"1406","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":190.66666666666663}}},{"ID":"2011","typeID":"Arrow","zOrder":"59","w":"127","h":"34","measuredW":"150","measuredH":"100","x":"454","y":"1512","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.11994957005373408,"y":33.764875280635124},"p1":{"x":0.48226186491714973,"y":0.07717329440735292},"p2":{"x":126.93000271100163,"y":0.32046566104463636}}},{"ID":"2012","typeID":"Arrow","zOrder":"60","w":"117","h":"40","measuredW":"150","measuredH":"100","x":"449","y":"1450","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.45411869987805176,"y":-0.38780237568789744},"p1":{"x":0.5058786326070862,"y":-0.07078943628709435},"p2":{"x":116.60131496868928,"y":40.02419258131749}}},{"ID":"2013","typeID":"Arrow","zOrder":"61","w":"191","h":"1","measuredW":"150","measuredH":"100","x":"406","y":"1501","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":191,"y":0}}},{"ID":"2014","typeID":"Arrow","zOrder":"62","w":"134","h":"98","measuredW":"150","measuredH":"100","x":"421","y":"1172","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":97.66666666666663},"p1":{"x":0.5069805639200657,"y":0.10073911853271315},"p2":{"x":134.13752000020185,"y":-0.3173254102676992},"color":"10027263"}},{"ID":"2015","typeID":"Arrow","zOrder":"63","w":"147","h":"44","measuredW":"150","measuredH":"100","x":"407","y":"1171","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.3333333333333144,"y":44},"p1":{"x":0.5300999629766752,"y":0.0764901888189561},"p2":{"x":147,"y":0},"color":"10027263"}},{"ID":"2016","typeID":"Arrow","zOrder":"64","w":"128","h":"41","measuredW":"150","measuredH":"100","x":"425","y":"1071","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":0},"p1":{"x":0.4922100240848163,"y":-0.11071038048662071},"p2":{"x":127.66666666666669,"y":39.33333333333337},"color":"10027263"}},{"ID":"2017","typeID":"Arrow","zOrder":"65","w":"136","h":"92","measuredW":"150","measuredH":"100","x":"425","y":"1021","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":0},"p1":{"x":0.4922100240848163,"y":-0.11071038048662066},"p2":{"x":135.72190217879785,"y":91.72550749825871},"color":"10027263"}},{"ID":"2018","typeID":"Arrow","zOrder":"66","w":"189","h":"6","measuredW":"150","measuredH":"100","x":"374","y":"1158","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":6},"p1":{"x":0.5,"y":0},"p2":{"x":189.67849256059174,"y":0.26114628054824607},"color":"10027263"}},{"ID":"2019","typeID":"Arrow","zOrder":"67","w":"188","h":"7","measuredW":"150","measuredH":"100","x":"364","y":"1119","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":188.66666666666669,"y":6.666666666666629},"color":"10027263"}},{"ID":"2020","typeID":"Arrow","zOrder":"68","w":"1","h":"191","measuredW":"150","measuredH":"100","x":"557","y":"1051","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":190.66666666666663},"color":"10027263"}},{"ID":"2021","typeID":"Arrow","zOrder":"69","w":"128","h":"1","measuredW":"150","measuredH":"100","x":"734","y":"1141","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":128.3182218608979,"y":0},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0},"color":"10027263"}},{"ID":"2022","typeID":"__group__","zOrder":"70","measuredW":"304","measuredH":"202","w":"304","h":"202","x":"1084","y":"1238","properties":{"controlName":"103-learn-sql-concepts:advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"304","h":"202","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"91","y":"18","properties":{"size":"16","text":"Advanced Topics"}}]}}},{"ID":"2023","typeID":"Arrow","zOrder":"71","w":"258","h":"1","measuredW":"150","measuredH":"100","x":"946","y":"920","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.49987434137158676,"y":0.00022818425917650698},"p2":{"x":258,"y":0}}},{"ID":"2024","typeID":"Arrow","zOrder":"72","w":"258","h":"1","measuredW":"150","measuredH":"100","x":"946","y":"903","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.49987434137158676,"y":0.00022818425917650698},"p2":{"x":258,"y":0}}},{"ID":"2025","typeID":"Arrow","zOrder":"73","w":"1","h":"106","measuredW":"150","measuredH":"100","x":"1309","y":"912","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":106.43592685891701},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"2026","typeID":"Arrow","zOrder":"74","w":"1","h":"106","measuredW":"150","measuredH":"100","x":"1158","y":"912","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":106.43592685891701},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"2027","typeID":"__group__","zOrder":"75","measuredW":"154","measuredH":"241","w":"154","h":"241","x":"1085","y":"969","properties":{"controlName":"100-learn-sql-concepts:ddl-queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"154","h":"241","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"95","measuredH":"24","x":"29","y":"13","properties":{"size":"16","text":"DDL Queries"}}]}}},{"ID":"2028","typeID":"__group__","zOrder":"76","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1097","y":"1106","properties":{"controlName":"102-learn-sql-concepts:ddl-queries:data-types"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Data Types"}}]}}},{"ID":"2029","typeID":"__group__","zOrder":"77","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1096","y":"1013","properties":{"controlName":"100-learn-sql-concepts:ddl-queries:for-schemas"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"95","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"For Schemas"}}]}}},{"ID":"2030","typeID":"__group__","zOrder":"78","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1096","y":"1059","properties":{"controlName":"101-learn-sql-concepts:ddl-queries:for-tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"75","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"For Tables"}}]}}},{"ID":"2031","typeID":"Arrow","zOrder":"79","w":"1","h":"213","measuredW":"150","measuredH":"100","x":"946","y":"690","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":212.3884650838079},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2032","typeID":"Arrow","zOrder":"80","w":"128","h":"1","measuredW":"150","measuredH":"100","x":"1107","y":"685","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.3182218608979,"y":0},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"2033","typeID":"Arrow","zOrder":"81","w":"1","h":"147","measuredW":"150","measuredH":"100","x":"1077","y":"613","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":-0.12826052131362076},"p1":{"x":0.5,"y":0},"p2":{"x":0,"y":147.29881929523685}}},{"ID":"2034","typeID":"Arrow","zOrder":"82","w":"172","h":"1","measuredW":"150","measuredH":"100","x":"753","y":"686","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":-0.11774307773505654},"p1":{"x":0.5000000000000002,"y":2.0577493387487696e-32},"p2":{"x":171.58708306717926,"y":-0.11774307773504233}}},{"ID":"2035","typeID":"Arrow","zOrder":"83","w":"171","h":"258","measuredW":"150","measuredH":"100","x":"571","y":"414","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":171,"y":0},"p1":{"x":0.5854320642684712,"y":0.23339886429384038},"p2":{"x":0.008847042366596725,"y":257.51497904447774}}},{"ID":"2036","typeID":"Arrow","zOrder":"84","w":"1","h":"78","measuredW":"150","measuredH":"100","x":"640","y":"707","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.4271178962663953,"y":78.47632623201923}}},{"ID":"2037","typeID":"Arrow","zOrder":"85","w":"1","h":"94","measuredW":"150","measuredH":"100","x":"355","y":"691","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0.3919582050954773},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":94.47632623201923}}},{"ID":"2038","typeID":"Arrow","zOrder":"86","w":"191","h":"1","measuredW":"150","measuredH":"100","x":"352","y":"686","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":191,"y":0}}},{"ID":"2039","typeID":"Label","zOrder":"87","measuredW":"152","measuredH":"36","x":"666","y":"181","properties":{"size":"28","text":"PostgreSQL"}},{"ID":"2040","typeID":"Arrow","zOrder":"88","w":"1","h":"84","measuredW":"150","measuredH":"100","x":"741","y":"86","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":-0.3333333333333428},"p1":{"x":0.5,"y":0},"p2":{"x":0,"y":84}}},{"ID":"2041","typeID":"__group__","zOrder":"89","measuredW":"269","measuredH":"49","w":"269","h":"49","x":"506","y":"662","properties":{"controlName":"102-rdbms-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"187","measuredH":"25","x":"41","y":"12","properties":{"text":"Basic RDBMS Concepts","size":"17"}}]}}},{"ID":"2042","typeID":"__group__","zOrder":"90","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"666","properties":{"controlName":"100-rdbms-concepts:object-model"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"43","y":"9","properties":{"text":"Object Model","size":"16"}}]}}},{"ID":"2043","typeID":"__group__","zOrder":"91","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"897","properties":{"controlName":"104-rdbms-concepts:high-level-database-concepts:query-processing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"128","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Query Processing"}}]}}},{"ID":"2044","typeID":"__group__","zOrder":"92","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"484","properties":{"controlName":"105-rdbms-concepts:object-model:data-types"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"51","y":"9","properties":{"size":"16","text":"Data Types"}}]}}},{"ID":"2045","typeID":"__group__","zOrder":"93","measuredW":"82","measuredH":"42","w":"82","h":"42","x":"259","y":"529","properties":{"controlName":"103-rdbms-concepts:object-model:rows"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"82","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Rows"}}]}}},{"ID":"2046","typeID":"__group__","zOrder":"94","measuredW":"99","measuredH":"42","w":"99","h":"42","x":"344","y":"529","properties":{"controlName":"104-rdbms-concepts:object-model:columns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"99","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"64","measuredH":"24","x":"18","y":"9","properties":{"size":"16","text":"Columns"}}]}}},{"ID":"2047","typeID":"__group__","zOrder":"95","measuredW":"82","measuredH":"42","w":"82","h":"42","x":"259","y":"574","properties":{"controlName":"101-rdbms-concepts:object-model:tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"82","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"47","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Tables"}}]}}},{"ID":"2048","typeID":"__group__","zOrder":"96","measuredW":"99","measuredH":"42","w":"99","h":"42","x":"344","y":"574","properties":{"controlName":"102-rdbms-concepts:object-model:schemas"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"99","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"67","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Schemas"}}]}}},{"ID":"2049","typeID":"__group__","zOrder":"97","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"620","properties":{"controlName":"100-rdbms-concepts:object-model:databases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"78","measuredH":"24","x":"53","y":"9","properties":{"size":"16","text":"Databases"}}]}}},{"ID":"2050","typeID":"__group__","zOrder":"98","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"439","properties":{"controlName":"106-rdbms-concepts:object-model:queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"58","measuredH":"24","x":"63","y":"9","properties":{"size":"16","text":"Queries"}}]}}},{"ID":"2051","typeID":"__group__","zOrder":"99","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"756","properties":{"controlName":"101-rdbms-concepts:relational-model"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"123","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"Relational Model"}}]}}},{"ID":"2052","typeID":"__group__","zOrder":"100","measuredW":"92","measuredH":"42","w":"92","h":"42","x":"258","y":"803","properties":{"controlName":"100-rdbms-concepts:relational-model:domains"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"92","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"64","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Domains"}}]}}},{"ID":"2053","typeID":"__group__","zOrder":"101","measuredW":"89","measuredH":"42","w":"89","h":"42","x":"354","y":"803","properties":{"controlName":"101-rdbms-concepts:relational-model:attributes"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"89","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"70","measuredH":"24","x":"10","y":"9","properties":{"size":"16","text":"Attributes"}}]}}},{"ID":"2054","typeID":"__group__","zOrder":"102","measuredW":"92","measuredH":"42","w":"92","h":"42","x":"258","y":"849","properties":{"controlName":"102-rdbms-concepts:relational-model:tuples"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"92","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Tuples"}}]}}},{"ID":"2055","typeID":"__group__","zOrder":"103","measuredW":"89","measuredH":"42","w":"89","h":"42","x":"354","y":"849","properties":{"controlName":"103-rdbms-concepts:relational-model:relations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"89","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"69","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Relations"}}]}}},{"ID":"2056","typeID":"__group__","zOrder":"104","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"258","y":"895","properties":{"controlName":"104-rdbms-concepts:relational-model:constraints"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"83","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Constraints"}}]}}},{"ID":"2057","typeID":"__group__","zOrder":"105","measuredW":"73","measuredH":"42","w":"73","h":"42","x":"370","y":"895","properties":{"controlName":"105-rdbms-concepts:relational-model:null"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"73","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"43","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"NULL"}}]}}},{"ID":"2058","typeID":"__group__","zOrder":"106","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"758","properties":{"controlName":"102-rdbms-concepts:high-level-database-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"225","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"High Level Database Concepts"}}]}}},{"ID":"2059","typeID":"__group__","zOrder":"107","measuredW":"64","measuredH":"42","w":"64","h":"42","x":"506","y":"805","properties":{"controlName":"100-rdbms-concepts:high-level-database-concepts:acid"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"64","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"ACID"}}]}}},{"ID":"2060","typeID":"__group__","zOrder":"108","measuredW":"74","measuredH":"42","w":"74","h":"42","x":"575","y":"805","properties":{"controlName":"101-rdbms-concepts:high-level-database-concepts:mvcc"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"74","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"46","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"MVCC"}}]}}},{"ID":"2061","typeID":"__group__","zOrder":"109","measuredW":"122","measuredH":"42","w":"122","h":"42","x":"653","y":"805","properties":{"controlName":"102-rdbms-concepts:high-level-database-concepts:transactions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"122","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Transactions"}}]}}},{"ID":"2062","typeID":"__group__","zOrder":"110","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"851","properties":{"controlName":"103-rdbms-concepts:high-level-database-concepts:write-ahead-log"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"74","y":"9","properties":{"size":"16","text":"Write-ahead Log"}}]}}},{"ID":"2063","typeID":"__group__","zOrder":"111","measuredW":"247","measuredH":"49","w":"247","h":"49","x":"876","y":"662","properties":{"controlName":"103-installation-and-setup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"247","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"166","measuredH":"25","x":"41","y":"12","properties":{"size":"17","text":"Installation and Setup"}}]}}},{"ID":"2064","typeID":"__group__","zOrder":"112","measuredW":"180","measuredH":"42","w":"180","h":"42","x":"975","y":"583","properties":{"controlName":"100-installation-and-setup:package-managers"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"180","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"141","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"Package Managers"}}]}}},{"ID":"2065","typeID":"__group__","zOrder":"113","measuredW":"180","measuredH":"42","w":"180","h":"42","x":"975","y":"537","properties":{"controlName":"101-installation-and-setup:using-docker"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"180","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"41","y":"9","properties":{"size":"16","text":"Using Docker"}}]}}},{"ID":"2066","typeID":"__group__","zOrder":"114","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"973","y":"745","properties":{"controlName":"102-installation-and-setup:connect-using-psql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"146","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Connect using `psql`"}}]}}},{"ID":"2067","typeID":"Canvas","zOrder":"115","w":"189","h":"189","measuredW":"100","measuredH":"70","x":"1199","y":"592"},{"ID":"2068","typeID":"Label","zOrder":"116","measuredW":"140","measuredH":"24","x":"1224","y":"603","properties":{"size":"16","text":"Managing Postgres"}},{"ID":"2069","typeID":"__group__","zOrder":"117","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"635","properties":{"controlName":"104-installation-and-setup:using-systemd"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"112","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Using `systemd`"}}]}}},{"ID":"2070","typeID":"__group__","zOrder":"118","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"682","properties":{"controlName":"105-installation-and-setup:using-pgctl"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Using `pg_ctl`"}}]}}},{"ID":"2071","typeID":"__group__","zOrder":"119","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"728","properties":{"controlName":"106-installation-and-setup:using-pgctlcluster"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"147","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Using `pg_ctlcluster`"}}]}}},{"ID":"2072","typeID":"__group__","zOrder":"120","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"973","y":"791","properties":{"controlName":"103-installation-and-setup:deployment-in-cloud"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"150","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Deployment in Cloud"}}]}}},{"ID":"2073","typeID":"__group__","zOrder":"121","measuredW":"303","measuredH":"49","w":"303","h":"49","x":"1085","y":"887","properties":{"controlName":"104-learn-sql-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"303","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"161","measuredH":"25","x":"71","y":"12","properties":{"size":"17","text":"Learn SQL Concepts"}}]}}},{"ID":"2074","typeID":"__group__","zOrder":"122","measuredW":"154","measuredH":"234","w":"154","h":"234","x":"1234","y":"969","properties":{"controlName":"101-learn-sql-concepts:dml-queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"154","h":"234","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"97","measuredH":"24","x":"28","y":"14","properties":{"size":"16","text":"DML Queries"}}]}}},{"ID":"2075","typeID":"__group__","zOrder":"123","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1013","properties":{"controlName":"100-learn-sql-concepts:dml-queries:querying-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Querying Data"}}]}}},{"ID":"2076","typeID":"__group__","zOrder":"124","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1105","properties":{"controlName":"102-learn-sql-concepts:dml-queries:modifying-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Modifying Data"}}]}}},{"ID":"2077","typeID":"__group__","zOrder":"125","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1059","properties":{"controlName":"101-learn-sql-concepts:dml-queries:filtering-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Filtering Data"}}]}}},{"ID":"2078","typeID":"__group__","zOrder":"126","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1246","y":"1151","properties":{"controlName":"103-learn-sql-concepts:dml-queries:joining-tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"103","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Joining Tables"}}]}}},{"ID":"2079","typeID":"Arrow","zOrder":"127","w":"1","h":"571","measuredW":"150","measuredH":"100","x":"946","y":"920","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":570.8537254716314},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2080","typeID":"__group__","zOrder":"128","measuredW":"303","measuredH":"42","w":"303","h":"42","x":"1085","y":"1200","properties":{"controlName":"102-learn-sql-concepts:import-export-using-copy"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"303","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"208","measuredH":"24","x":"48","y":"9","properties":{"size":"16","text":"Import / Export using `COPY`"}}]}}},{"ID":"2081","typeID":"__group__","zOrder":"129","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1289","properties":{"controlName":"100-learn-sql-concepts:advanced-topics:transactions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"24","x":"18","y":"9","properties":{"size":"16","text":"Transactions"}}]}}},{"ID":"2082","typeID":"__group__","zOrder":"130","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1289","properties":{"controlName":"101-learn-sql-concepts:advanced-topics:cte"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"24","x":"55","y":"9","properties":{"size":"16","text":"CTE"}}]}}},{"ID":"2083","typeID":"__group__","zOrder":"131","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1337","properties":{"controlName":"102-learn-sql-concepts:advanced-topics:subqueries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"83","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Subqueries"}}]}}},{"ID":"2084","typeID":"__group__","zOrder":"132","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1337","properties":{"controlName":"103-learn-sql-concepts:advanced-topics:lateral-join"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"84","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Lateral Join"}}]}}},{"ID":"2085","typeID":"__group__","zOrder":"133","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1384","properties":{"controlName":"104-learn-sql-concepts:advanced-topics:grouping"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"67","measuredH":"24","x":"31","y":"9","properties":{"size":"16","text":"Grouping"}}]}}},{"ID":"2086","typeID":"__group__","zOrder":"134","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1384","properties":{"controlName":"105-learn-sql-concepts:advanced-topics:set-operations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Set Operations"}}]}}},{"ID":"2087","typeID":"__group__","zOrder":"135","measuredW":"240","measuredH":"49","w":"240","h":"49","x":"791","y":"1117","properties":{"controlName":"105-configuring-postgresql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"240","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"186","measuredH":"25","x":"27","y":"12","properties":{"size":"17","text":"Configuring PostgreSQL"}}]}}},{"ID":"2088","typeID":"Canvas","zOrder":"136","w":"245","h":"79","measuredW":"100","measuredH":"70","x":"508","y":"1102"},{"ID":"2089","typeID":"Label","zOrder":"137","measuredW":"180","measuredH":"25","x":"530","y":"1116","properties":{"text":"Following {color:blue}postgres.conf{color}","size":"17"}},{"ID":"2090","typeID":"Label","zOrder":"138","measuredW":"186","measuredH":"25","x":"530","y":"1143","properties":{"text":"configurations and more","size":"17"}},{"ID":"2091","typeID":"__group__","zOrder":"139","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1004","properties":{"controlName":"100-configuring-postgresql:resources-usage"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"130","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Resources Usage"}}]}}},{"ID":"2092","typeID":"__group__","zOrder":"140","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1050","properties":{"controlName":"101-configuring-postgresql:write-ahead-log"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Write-ahead Log"}}]}}},{"ID":"2093","typeID":"__group__","zOrder":"141","measuredW":"174","measuredH":"67","w":"174","h":"67","x":"259","y":"1235","properties":{"controlName":"105-configuring-postgresql:checkpoints-background-writer"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"67","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"41","y":"11","properties":{"size":"16","text":"Checkpoints"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"135","measuredH":"24","x":"21","y":"34","properties":{"size":"16","text":"Background Writer"}}]}}},{"ID":"2094","typeID":"__group__","zOrder":"142","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1097","properties":{"controlName":"102-configuring-postgresql:vacuums"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"54","y":"9","properties":{"size":"16","text":"Vacuums"}}]}}},{"ID":"2095","typeID":"__group__","zOrder":"143","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1143","properties":{"controlName":"103-configuring-postgresql:replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"82","measuredH":"24","x":"46","y":"9","properties":{"size":"16","text":"Replication"}}]}}},{"ID":"2096","typeID":"__group__","zOrder":"144","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1189","properties":{"controlName":"104-configuring-postgresql:query-planner"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"104","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Query Planner"}}]}}},{"ID":"2097","typeID":"__group__","zOrder":"145","measuredW":"283","measuredH":"42","w":"283","h":"42","x":"509","y":"1023","properties":{"controlName":"107-configuring-postgresql:reporting-logging-statistics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"283","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"236","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Reporting Logging and Statistics"}}]}}},{"ID":"2098","typeID":"__group__","zOrder":"146","measuredW":"283","measuredH":"42","w":"283","h":"42","x":"509","y":"1220","properties":{"controlName":"106-configuring-postgresql:adding-extensions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"283","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"175","measuredH":"24","x":"54","y":"9","properties":{"size":"16","text":"Adding Extra Extensions"}}]}}},{"ID":"2099","typeID":"Arrow","zOrder":"147","w":"176","h":"1","measuredW":"150","measuredH":"100","x":"770","y":"1491","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.4483238886820118,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":176.47256858280025,"y":-0.11774307773521286}}},{"ID":"2100","typeID":"__group__","zOrder":"148","measuredW":"245","measuredH":"49","w":"245","h":"49","x":"547","y":"1477","properties":{"controlName":"106-postgresql-security-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"245","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"211","measuredH":"25","x":"17","y":"12","properties":{"size":"17","text":"Postgres Security Concepts"}}]}}},{"ID":"2101","typeID":"__group__","zOrder":"149","measuredW":"202","measuredH":"42","w":"202","h":"42","x":"259","y":"1436","properties":{"controlName":"102-postgresql-security-concepts:authentication-models"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"202","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"162","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Authentication Models"}}]}}},{"ID":"2102","typeID":"__group__","zOrder":"150","measuredW":"76","measuredH":"42","w":"76","h":"42","x":"259","y":"1481","properties":{"controlName":"103-postgresql-security-concepts:roles"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"76","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"42","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Roles"}}]}}},{"ID":"2103","typeID":"__group__","zOrder":"151","measuredW":"122","measuredH":"42","w":"122","h":"42","x":"339","y":"1481","properties":{"controlName":"104-postgresql-security-concepts:pg-hba-conf"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"122","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"pg_hba.conf"}}]}}},{"ID":"2104","typeID":"__group__","zOrder":"152","measuredW":"202","measuredH":"42","w":"202","h":"42","x":"259","y":"1526","properties":{"controlName":"105-postgresql-security-concepts:ssl-settings"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"202","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"92","measuredH":"24","x":"55","y":"9","properties":{"size":"16","text":"SSL Settings"}}]}}},{"ID":"2105","typeID":"__group__","zOrder":"153","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1402","properties":{"controlName":"100-postgresql-security-concepts:object-priviliges"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"117","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"Object Priviliges"}}]}}},{"ID":"2106","typeID":"__group__","zOrder":"154","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1357","properties":{"controlName":"100-postgresql-security-concepts:object-priviliges:grant-revoke"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"111","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Grant / Revoke"}}]}}},{"ID":"2107","typeID":"__group__","zOrder":"155","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1312","properties":{"controlName":"101-postgresql-security-concepts:object-priviliges:default-priviliges"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"127","measuredH":"24","x":"28","y":"9","properties":{"size":"16","text":"Default Privileges"}}]}}},{"ID":"2108","typeID":"__group__","zOrder":"156","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1562","properties":{"controlName":"101-postgresql-security-concepts:advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"31","y":"9","properties":{"size":"16","text":"Advanced Topics"}}]}}},{"ID":"2109","typeID":"__group__","zOrder":"157","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1608","properties":{"controlName":"100-postgresql-security-concepts:advanced-topics:row-level-security"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"138","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Row-Level Security"}}]}}},{"ID":"2110","typeID":"__group__","zOrder":"158","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1653","properties":{"controlName":"101-postgresql-security-concepts:advanced-topics:selinux"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"59","measuredH":"24","x":"62","y":"9","properties":{"size":"16","text":"SELinux"}}]}}},{"ID":"2111","typeID":"__group__","zOrder":"159","measuredW":"278","measuredH":"49","w":"278","h":"49","x":"788","y":"1771","properties":{"controlName":"107-postgresql-infrastructure-skills"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"278","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"216","measuredH":"25","x":"31","y":"12","properties":{"size":"17","text":"Develop Infrastructure Skills"}}]}}},{"ID":"2112","typeID":"__group__","zOrder":"160","measuredW":"221","measuredH":"143","w":"221","h":"143","x":"1148","y":"1502","properties":{"controlName":"100-postgresql-infrastructure-skills:replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"221","h":"143","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"82","measuredH":"24","x":"70","y":"108","properties":{"size":"16","text":"Replication"}}]}}},{"ID":"2113","typeID":"__group__","zOrder":"161","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1162","y":"1560","properties":{"controlName":"101-postgresql-infrastructure-skills:replication:streaming-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"160","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Streaming Replication"}}]}}},{"ID":"2114","typeID":"__group__","zOrder":"162","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1162","y":"1514","properties":{"controlName":"100-postgresql-infrastructure-skills:replication:logical-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"139","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"Logical Replication"}}]}}},{"ID":"2115","typeID":"__group__","zOrder":"163","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"1169","y":"2027","properties":{"controlName":"104-postgresql-infrastructure-skills:backup-recovery-tools:pg-dump"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"69","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"pg_dump"}}]}}},{"ID":"2116","typeID":"__group__","zOrder":"164","measuredW":"108","measuredH":"42","w":"108","h":"42","x":"1277","y":"2027","properties":{"controlName":"105-postgresql-infrastructure-skills:backup-recovery-tools:pg-dumpall"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"108","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"86","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"pg_dumpall"}}]}}},{"ID":"2117","typeID":"__group__","zOrder":"165","measuredW":"216","measuredH":"42","w":"216","h":"42","x":"1169","y":"2074","properties":{"controlName":"106-postgresql-infrastructure-skills:backup-recovery-tools:pg-restore"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"216","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"67","y":"9","properties":{"size":"16","text":"pg_restore"}}]}}},{"ID":"2118","typeID":"__group__","zOrder":"166","measuredW":"216","measuredH":"42","w":"216","h":"42","x":"1169","y":"2120","properties":{"controlName":"107-postgresql-infrastructure-skills:backup-recovery-tools:pg-basebackup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"216","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"117","measuredH":"24","x":"49","y":"9","properties":{"size":"16","text":"pg_basebackup"}}]}}},{"ID":"2119","typeID":"Label","zOrder":"167","measuredW":"87","measuredH":"24","x":"1214","y":"1947","properties":{"size":"16","text":"Builtin Tools"}},{"ID":"2120","typeID":"Label","zOrder":"168","measuredW":"66","measuredH":"24","x":"1046","y":"1947","properties":{"size":"16","text":"3rd Party"}},{"ID":"2121","typeID":"__group__","zOrder":"169","measuredW":"81","measuredH":"42","w":"81","h":"42","x":"986","y":"2027","properties":{"controlName":"100-postgresql-infrastructure-skills:backup-recovery-tools:barman"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"81","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"barman"}}]}}},{"ID":"2122","typeID":"__group__","zOrder":"170","measuredW":"166","measuredH":"42","w":"166","h":"42","x":"986","y":"2073","properties":{"controlName":"102-postgresql-infrastructure-skills:backup-recovery-tools:pgbackrest"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"166","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"42","y":"9","properties":{"size":"16","text":"pgbackrest"}}]}}},{"ID":"2123","typeID":"__group__","zOrder":"171","measuredW":"166","measuredH":"42","w":"166","h":"42","x":"986","y":"2118","properties":{"controlName":"103-postgresql-infrastructure-skills:backup-recovery-tools:pg-probackup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"166","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"pg_probackup"}}]}}},{"ID":"2124","typeID":"__group__","zOrder":"172","measuredW":"80","measuredH":"42","w":"80","h":"42","x":"1072","y":"2027","properties":{"controlName":"101-postgresql-infrastructure-skills:backup-recovery-tools:wal-g"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"80","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"51","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"WAL-G"}}]}}},{"ID":"2125","typeID":"__group__","zOrder":"173","measuredW":"418","measuredH":"42","w":"418","h":"42","x":"977","y":"2169","properties":{"controlName":"108-postgresql-infrastructure-skills:backup-recovery-tools:backup-validation-procedures"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"418","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"217","measuredH":"24","x":"98","y":"9","properties":{"size":"16","text":"Backup Validation Procedures"}}]}}},{"ID":"2126","typeID":"__group__","zOrder":"174","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1868","properties":{"controlName":"103-postgresql-infrastructure-skills:upgrade-procedures"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"152","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"Upgrade Procedures"}}]}}},{"ID":"2127","typeID":"__group__","zOrder":"175","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1938","properties":{"controlName":"100-postgresql-infrastructure-skills:upgrade-procedures:using-pg-upgrade"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"142","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Using `pg_upgrade`"}}]}}},{"ID":"2128","typeID":"__group__","zOrder":"176","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1984","properties":{"controlName":"101-postgresql-infrastructure-skills:upgrade-procedures:using-logical-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"184","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Using Logical Replication"}}]}}},{"ID":"2129","typeID":"__group__","zOrder":"177","measuredW":"221","measuredH":"143","w":"221","h":"143","x":"1146","y":"1679","properties":{"controlName":"101-postgresql-infrastructure-skills:connection-pooling"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"221","h":"143","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"141","measuredH":"24","x":"40","y":"108","properties":{"size":"16","text":"Connection Pooling"}}]}}},{"ID":"2130","typeID":"__group__","zOrder":"178","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1160","y":"1737","properties":{"controlName":"101-postgresql-infrastructure-skills:connection-pooling:pg-bouncer-alternatives"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"170","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"PgBouncer Alternatives"}}]}}},{"ID":"2131","typeID":"__group__","zOrder":"179","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1160","y":"1691","properties":{"controlName":"100-postgresql-infrastructure-skills:connection-pooling:pg-bouncer"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"56","y":"9","properties":{"size":"16","text":"PgBouncer"}}]}}},{"ID":"2132","typeID":"Arrow","zOrder":"180","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"849","y":"2079","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2133","typeID":"__group__","zOrder":"181","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"2053","properties":{"controlName":"106-postgresql-infrastructure-skills:monitoring"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"78","measuredH":"24","x":"67","y":"9","properties":{"size":"16","text":"Monitoring"}}]}}},{"ID":"2134","typeID":"__group__","zOrder":"182","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"2123","properties":{"controlName":"100-postgresql-infrastructure-skills:monitoring:prometheus"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"88","measuredH":"24","x":"62","y":"9","properties":{"size":"16","text":"Prometheus"}}]}}},{"ID":"2135","typeID":"__group__","zOrder":"183","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"2169","properties":{"controlName":"101-postgresql-infrastructure-skills:monitoring:zabbix"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"49","measuredH":"24","x":"81","y":"9","properties":{"size":"16","text":"Zabbix"}}]}}},{"ID":"2136","typeID":"Arrow","zOrder":"184","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"595","y":"1894","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2137","typeID":"__group__","zOrder":"185","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1868","properties":{"controlName":"104-postgresql-infrastructure-skills:cluster-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"153","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Cluster Management"}}]}}},{"ID":"2138","typeID":"__group__","zOrder":"186","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1938","properties":{"controlName":"100-postgresql-infrastructure-skills:cluster-management:patroni"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"51","measuredH":"24","x":"80","y":"9","properties":{"size":"16","text":"Patroni"}}]}}},{"ID":"2139","typeID":"__group__","zOrder":"187","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1984","properties":{"controlName":"101-postgresql-infrastructure-skills:cluster-management:patroni-alternatives"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"140","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Patroni Alternatives"}}]}}},{"ID":"2140","typeID":"Arrow","zOrder":"188","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"542","y":"2078","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2141","typeID":"__group__","zOrder":"189","measuredW":"301","measuredH":"42","w":"301","h":"42","x":"426","y":"2052","properties":{"controlName":"107-postgresql-infrastructure-skills:load-balancing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"301","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"262","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Load Balancing & Service Discovery"}}]}}},{"ID":"2142","typeID":"__group__","zOrder":"190","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"484","y":"2122","properties":{"controlName":"100-postgresql-infrastructure-skills:load-balancing:ha-proxy"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"HAProxy"}}]}}},{"ID":"2143","typeID":"__group__","zOrder":"191","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"484","y":"2168","properties":{"controlName":"102-postgresql-infrastructure-skills:load-balancing:keep-alived"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"KeepAlived"}}]}}},{"ID":"2144","typeID":"__group__","zOrder":"192","measuredW":"91","measuredH":"42","w":"91","h":"42","x":"595","y":"2122","properties":{"controlName":"101-postgresql-infrastructure-skills:load-balancing:consul"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"91","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Consul"}}]}}},{"ID":"2145","typeID":"__group__","zOrder":"193","measuredW":"91","measuredH":"42","w":"91","h":"42","x":"595","y":"2169","properties":{"controlName":"103-postgresql-infrastructure-skills:load-balancing:etcd"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"91","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Etcd"}}]}}},{"ID":"2146","typeID":"Arrow","zOrder":"194","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"354","y":"1894","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2147","typeID":"__group__","zOrder":"195","measuredW":"197","measuredH":"42","w":"197","h":"42","x":"264","y":"1868","properties":{"controlName":"105-postgresql-infrastructure-skills:kubernetes-deployment"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"197","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"175","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Kubernetes Deployment"}}]}}},{"ID":"2148","typeID":"__group__","zOrder":"196","measuredW":"197","measuredH":"42","w":"197","h":"42","x":"264","y":"1938","properties":{"controlName":"100-postgresql-infrastructure-skills:kubernetes-deployment:simple-stateful-setup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"197","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"154","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Simple Stateful Setup"}}]}}},{"ID":"2149","typeID":"__group__","zOrder":"197","measuredW":"86","measuredH":"42","w":"86","h":"42","x":"264","y":"1985","properties":{"controlName":"101-postgresql-infrastructure-skills:kubernetes-deployment:helm"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"86","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Helm"}}]}}},{"ID":"2150","typeID":"__group__","zOrder":"198","measuredW":"104","measuredH":"42","w":"104","h":"42","x":"358","y":"1985","properties":{"controlName":"102-postgresql-infrastructure-skills:kubernetes-deployment:operators"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"104","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"74","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Operators"}}]}}},{"ID":"2151","typeID":"__group__","zOrder":"199","measuredW":"427","measuredH":"42","w":"427","h":"42","x":"288","y":"1730","properties":{"controlName":"100-postgresql-infrastructure-skills:resource-usage-provisioing-capacity-planning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"427","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"382","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Resource Usage and Provisioning, Capacity Planning"}}]}}},{"ID":"2152","typeID":"Arrow","zOrder":"200","w":"1","h":"492","measuredW":"150","measuredH":"100","x":"232","y":"1800","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":491.5072332031234},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.4750232346368648}}},{"ID":"2153","typeID":"Arrow","zOrder":"201","w":"1151","h":"1","measuredW":"150","measuredH":"100","x":"232","y":"2292","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.13465453284504747,"y":-0.11774307773521286},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":1150.9611057996974,"y":-0.11774307773521286}}},{"ID":"2154","typeID":"__group__","zOrder":"202","measuredW":"274","measuredH":"49","w":"274","h":"49","x":"294","y":"2268","properties":{"controlName":"108-learn-automation"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"215","measuredH":"25","x":"29","y":"12","properties":{"size":"17","text":"Learn to Automate Routines"}}]}}},{"ID":"2155","typeID":"__group__","zOrder":"203","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2347","properties":{"controlName":"100-learn-automation:shell-scripts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"89","measuredH":"24","x":"92","y":"9","properties":{"size":"16","text":"Shell Scripts"}}]}}},{"ID":"2156","typeID":"__group__","zOrder":"204","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2393","properties":{"controlName":"101-learn-automation:programming-language"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"204","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Any Programming Language"}}]}}},{"ID":"2157","typeID":"__group__","zOrder":"205","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2464","properties":{"controlName":"102-learn-automation:configuration-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"198","measuredH":"24","x":"38","y":"9","properties":{"size":"16","text":"Configuration Management"}}]}}},{"ID":"2158","typeID":"__group__","zOrder":"206","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"294","y":"2512","properties":{"controlName":"100-learn-automation:configuration-management:ansible"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"53","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Ansible"}}]}}},{"ID":"2159","typeID":"__group__","zOrder":"207","measuredW":"53","measuredH":"42","w":"53","h":"42","x":"374","y":"2512","properties":{"controlName":"101-learn-automation:configuration-management:salt"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"53","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Salt"}}]}}},{"ID":"2160","typeID":"__group__","zOrder":"208","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"431","y":"2512","properties":{"controlName":"102-learn-automation:configuration-management:chef"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"35","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Chef"}}]}}},{"ID":"2161","typeID":"__group__","zOrder":"209","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"493","y":"2512","properties":{"controlName":"103-learn-automation:configuration-management:puppet"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"52","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Puppet"}}]}}},{"ID":"2162","typeID":"__group__","zOrder":"210","measuredW":"274","measuredH":"49","w":"274","h":"49","x":"627","y":"2268","properties":{"controlName":"109-application-skills"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"128","measuredH":"25","x":"73","y":"12","properties":{"size":"17","text":"Application Skills"}}]}}},{"ID":"2163","typeID":"__group__","zOrder":"211","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"627","y":"2347","properties":{"controlName":"100-application-skills:migrations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"76","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Migrations"}}]}}},{"ID":"2164","typeID":"__group__","zOrder":"212","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"627","y":"2396","properties":{"controlName":"100-application-skills:migrations:practical-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"252","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Practical Patterns and Antipatterns"}}]}}},{"ID":"2165","typeID":"__group__","zOrder":"213","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"627","y":"2442","properties":{"controlName":"101-application-skills:migrations:liquidbase-sqitch-bytebase"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"218","measuredH":"24","x":"31","y":"9","properties":{"size":"16","text":"liquibase, sqitch, Bytebase etc"}}]}}},{"ID":"2166","typeID":"Label","zOrder":"214","measuredW":"110","measuredH":"24","x":"627","y":"2488","properties":{"size":"16","text":"Migration Tools"}},{"ID":"2167","typeID":"__group__","zOrder":"215","measuredW":"297","measuredH":"42","w":"297","h":"42","x":"609","y":"2528","properties":{"controlName":"102-application-skills:bulk-load-process-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"297","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"249","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Bulk Loading and Processing Data"}}]}}},{"ID":"2168","typeID":"__group__","zOrder":"216","measuredW":"297","measuredH":"42","w":"297","h":"42","x":"609","y":"2573","properties":{"controlName":"103-application-skills:data-partitioning-sharding-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"297","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"265","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Data Partitioning / Sharding Patterns"}}]}}},{"ID":"2169","typeID":"__group__","zOrder":"217","measuredW":"297","measuredH":"42","w":"297","h":"42","x":"609","y":"2619","properties":{"controlName":"104-application-skills:data-normalization-normal-forms"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"297","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"257","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Data Normalization / Normal Forms"}}]}}},{"ID":"2170","typeID":"Canvas","zOrder":"218","w":"146","h":"126","measuredW":"100","measuredH":"70","x":"608","y":"2684"},{"ID":"2171","typeID":"__group__","zOrder":"219","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"619","y":"2665","properties":{"controlName":"101-application-skills:queues"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"58","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Queues"}}]}}},{"ID":"2172","typeID":"__group__","zOrder":"220","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"618","y":"2713","properties":{"controlName":"100-application-skills:queues:practical-patterns-antipatterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"252","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Practical Patterns and Antipatterns"}}]}}},{"ID":"2173","typeID":"__group__","zOrder":"221","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"618","y":"2758","properties":{"controlName":"101-application-skills:queues:skytools-pgq"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"99","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Skytools PGQ"}}]}}},{"ID":"2174","typeID":"__group__","zOrder":"222","measuredW":"299","measuredH":"49","w":"299","h":"49","x":"949","y":"2268","properties":{"controlName":"110-advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"299","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"130","measuredH":"25","x":"85","y":"12","properties":{"size":"17","text":"Advanced Topics"}}]}}},{"ID":"2175","typeID":"__group__","zOrder":"223","measuredW":"169","measuredH":"330","w":"169","h":"330","x":"949","y":"2359","properties":{"controlName":"100-advanced-topics:low-level-internals"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"330","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"140","measuredH":"24","x":"15","y":"15","properties":{"size":"16","text":"Low Level Internals"}}]}}},{"ID":"2176","typeID":"__group__","zOrder":"224","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2409","properties":{"controlName":"100-advanced-topics:low-level-internals:process-memory-arch"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"261","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Processes and memory architecture"}}]}}},{"ID":"2177","typeID":"__group__","zOrder":"225","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2454","properties":{"controlName":"101-advanced-topics:low-level-internals:vacuum-processing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"143","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Vacuum Processing"}}]}}},{"ID":"2178","typeID":"__group__","zOrder":"226","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2499","properties":{"controlName":"102-advanced-topics:low-level-internals:buffer-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"144","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Buffer Management"}}]}}},{"ID":"2179","typeID":"__group__","zOrder":"227","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2544","properties":{"controlName":"103-advanced-topics:low-level-internals:lock-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"135","measuredH":"24","x":"75","y":"9","properties":{"size":"16","text":"Lock Management"}}]}}},{"ID":"2180","typeID":"__group__","zOrder":"228","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2589","properties":{"controlName":"104-advanced-topics:low-level-internals:physical-storage-and-file-layout"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"234","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Physical Storage and File Layout"}}]}}},{"ID":"2181","typeID":"__group__","zOrder":"229","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2634","properties":{"controlName":"105-advanced-topics:low-level-internals:system-catalog"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"113","measuredH":"24","x":"86","y":"9","properties":{"size":"16","text":"System Catalog"}}]}}},{"ID":"2182","typeID":"__group__","zOrder":"230","measuredW":"169","measuredH":"195","w":"169","h":"195","x":"950","y":"2696","properties":{"controlName":"101-advanced-topics:fine-grained-tuning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"195","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"147","measuredH":"24","x":"11","y":"14","properties":{"size":"16","text":"Fine Grained Tuning"}}]}}},{"ID":"2183","typeID":"__group__","zOrder":"231","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2743","properties":{"controlName":"100-advanced-topics:fine-grained-tuning:per-user-per-database-settings"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"232","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Per-user, Per-Database Settings"}}]}}},{"ID":"2184","typeID":"__group__","zOrder":"232","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2788","properties":{"controlName":"101-advanced-topics:fine-grained-tuning:storage-parameters"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"145","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Storage Parameters"}}]}}},{"ID":"2185","typeID":"__group__","zOrder":"233","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2834","properties":{"controlName":"102-advanced-topics:fine-grained-tuning:workload-dependant-tuning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"341","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Workload-dependant tuning: OLTP, OLAP, HTAP"}}]}}},{"ID":"2186","typeID":"__group__","zOrder":"234","measuredW":"169","measuredH":"195","w":"169","h":"195","x":"950","y":"2897","properties":{"controlName":"102-advanced-topics:advanced-sql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"195","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"107","measuredH":"24","x":"31","y":"14","properties":{"size":"16","text":"Advanced SQL"}}]}}},{"ID":"2187","typeID":"__group__","zOrder":"235","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"962","y":"2944","properties":{"controlName":"100-advanced-topics:advanced-sql:pl-pgsql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"77","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"PL/pgSQL"}}]}}},{"ID":"2188","typeID":"__group__","zOrder":"236","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"962","y":"2989","properties":{"controlName":"102-advanced-topics:advanced-sql:triggers"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Triggers"}}]}}},{"ID":"2189","typeID":"__group__","zOrder":"237","measuredW":"328","measuredH":"42","w":"328","h":"42","x":"962","y":"3035","properties":{"controlName":"104-advanced-topics:advanced-sql:aggregate-and-window-functions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"328","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"234","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Aggregate and window functions"}}]}}},{"ID":"2190","typeID":"__group__","zOrder":"238","measuredW":"219","measuredH":"42","w":"219","h":"42","x":"1069","y":"2944","properties":{"controlName":"101-advanced-topics:advanced-sql:procedures-and-functions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"219","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"190","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Procedures and Functions"}}]}}},{"ID":"2191","typeID":"__group__","zOrder":"239","measuredW":"219","measuredH":"42","w":"219","h":"42","x":"1069","y":"2989","properties":{"controlName":"103-advanced-topics:advanced-sql:recursive-cte"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"219","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Recursive CTE"}}]}}},{"ID":"2192","typeID":"Arrow","zOrder":"240","w":"1","h":"873","measuredW":"150","measuredH":"100","x":"1382","y":"2293","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":872.4114173726703},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2193","typeID":"Arrow","zOrder":"241","w":"446","h":"1","measuredW":"150","measuredH":"100","x":"936","y":"3166","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":-0.11774307773521286},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":446,"y":-0.11774307773521286}}},{"ID":"2194","typeID":"__group__","zOrder":"242","measuredW":"252","measuredH":"49","w":"252","h":"49","x":"792","y":"3141","properties":{"controlName":"111-troubleshooting-techniques"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"252","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"216","measuredH":"25","x":"18","y":"12","properties":{"size":"17","text":"Troubleshooting Techniques"}}]}}},{"ID":"2195","typeID":"__group__","zOrder":"243","measuredW":"209","measuredH":"135","w":"209","h":"135","x":"296","y":"2744","properties":{"controlName":"100-troubleshooting-techniques:system-views"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"135","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"166","measuredH":"24","x":"21","y":"10","properties":{"size":"16","text":"Postgres System Views"}}]}}},{"ID":"2196","typeID":"__group__","zOrder":"244","measuredW":"190","measuredH":"42","w":"190","h":"42","x":"305","y":"2783","properties":{"controlName":"100-troubleshooting-techniques:system-views:pg-stat-activity"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"190","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"115","measuredH":"24","x":"37","y":"9","properties":{"size":"16","text":"pg_stat_activity"}}]}}},{"ID":"2197","typeID":"__group__","zOrder":"245","measuredW":"190","measuredH":"42","w":"190","h":"42","x":"305","y":"2827","properties":{"controlName":"101-troubleshooting-techniques:system-views:pg-stat-statements"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"190","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"146","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"pg_stat_statements"}}]}}},{"ID":"2198","typeID":"__group__","zOrder":"246","measuredW":"209","measuredH":"133","w":"209","h":"133","x":"296","y":"2967","properties":{"controlName":"103-troubleshooting-techniques:query-analysis"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"106","measuredH":"24","x":"51","y":"9","properties":{"size":"16","text":"Query Analysis"}}]}}},{"ID":"2199","typeID":"__group__","zOrder":"247","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"3004","properties":{"controlName":"100-troubleshooting-techniques:query-analysis:explain"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"EXPLAIN"}}]}}},{"ID":"2200","typeID":"__group__","zOrder":"248","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"3004","properties":{"controlName":"101-troubleshooting-techniques:query-analysis:depesz"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Depesz"}}]}}},{"ID":"2201","typeID":"__group__","zOrder":"249","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"3049","properties":{"controlName":"102-troubleshooting-techniques:query-analysis:pev2"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"PEV2"}}]}}},{"ID":"2202","typeID":"__group__","zOrder":"250","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"3049","properties":{"controlName":"103-troubleshooting-techniques:query-analysis:tenser"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Tenser"}}]}}},{"ID":"2203","typeID":"__group__","zOrder":"251","measuredW":"209","measuredH":"133","w":"209","h":"133","x":"296","y":"3096","properties":{"controlName":"105-troubleshooting-techniques:troubleshooting-methods"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"184","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Troubleshooting Methods"}}]}}},{"ID":"2204","typeID":"__group__","zOrder":"252","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"3133","properties":{"controlName":"100-troubleshooting-techniques:troubleshooting-methods:use"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"USE"}}]}}},{"ID":"2205","typeID":"__group__","zOrder":"253","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"3133","properties":{"controlName":"101-troubleshooting-techniques:troubleshooting-methods:red"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"34","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"RED"}}]}}},{"ID":"2206","typeID":"__group__","zOrder":"254","measuredW":"188","measuredH":"42","w":"188","h":"42","x":"305","y":"3178","properties":{"controlName":"102-troubleshooting-techniques:troubleshooting-methods:golden-signals"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"188","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"39","y":"9","properties":{"size":"16","text":"Golden Signals"}}]}}},{"ID":"2207","typeID":"__group__","zOrder":"255","measuredW":"265","measuredH":"49","w":"265","h":"49","x":"726","y":"3353","properties":{"controlName":"112-sql-optimization-techniques"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"265","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"227","measuredH":"25","x":"19","y":"12","properties":{"size":"17","text":"SQL Optimization Techniques"}}]}}},{"ID":"2208","typeID":"__group__","zOrder":"256","measuredW":"270","measuredH":"42","w":"270","h":"42","x":"375","y":"3353","properties":{"controlName":"100-sql-optimization-techniques:indexes-usecases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"270","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"202","measuredH":"24","x":"34","y":"9","properties":{"size":"16","text":"Indexes and their Usecases"}}]}}},{"ID":"2209","typeID":"__group__","zOrder":"257","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"374","y":"3280","properties":{"controlName":"100-sql-optimization-techniques:indexes-usecases:b-tree"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"49","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"B-Tree"}}]}}},{"ID":"2210","typeID":"__group__","zOrder":"258","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"467","y":"3280","properties":{"controlName":"101-sql-optimization-techniques:indexes-usecases:hash"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"25","y":"9","properties":{"size":"16","text":"Hash"}}]}}},{"ID":"2211","typeID":"__group__","zOrder":"259","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"559","y":"3280","properties":{"controlName":"102-sql-optimization-techniques:indexes-usecases:gist"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"35","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"GiST"}}]}}},{"ID":"2212","typeID":"__group__","zOrder":"260","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"374","y":"3426","properties":{"controlName":"103-sql-optimization-techniques:indexes-usecases:sp-gist"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"SP-GiST"}}]}}},{"ID":"2213","typeID":"__group__","zOrder":"261","measuredW":"84","measuredH":"42","w":"84","h":"42","x":"469","y":"3426","properties":{"controlName":"104-sql-optimization-techniques:indexes-usecases:gin"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"84","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"29","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"GIN"}}]}}},{"ID":"2214","typeID":"__group__","zOrder":"262","measuredW":"84","measuredH":"42","w":"84","h":"42","x":"561","y":"3426","properties":{"controlName":"105-sql-optimization-techniques:indexes-usecases:brin"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"84","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"BRIN"}}]}}},{"ID":"2215","typeID":"__group__","zOrder":"263","measuredW":"320","measuredH":"42","w":"320","h":"42","x":"1049","y":"3360","properties":{"controlName":"102-sql-optimization-techniques:schema-query-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"253","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"SQL Query Patterns / Anti-patterns"}}]}}},{"ID":"2216","typeID":"__group__","zOrder":"264","measuredW":"320","measuredH":"42","w":"320","h":"42","x":"1049","y":"3313","properties":{"controlName":"101-sql-optimization-techniques:schema-design-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"289","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"Schema Design Patterns / Anti-patterns"}}]}}},{"ID":"2217","typeID":"__group__","zOrder":"265","measuredW":"269","measuredH":"49","w":"269","h":"49","x":"604","y":"391","properties":{"controlName":"101-introduction"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"25","x":"88","y":"12","properties":{"size":"17","text":"Introduction"}}]}}},{"ID":"2218","typeID":"__group__","zOrder":"266","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"321","properties":{"controlName":"100-introduction:what-are-relational-databases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"233","measuredH":"24","x":"28","y":"9","properties":{"size":"16","text":"What are Relational Databases?"}}]}}},{"ID":"2219","typeID":"__group__","zOrder":"267","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"367","properties":{"controlName":"101-introduction:rdbms-benefits-limitations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"236","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"RDBMS Benefits and Limitations"}}]}}},{"ID":"2220","typeID":"__group__","zOrder":"268","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"412","properties":{"controlName":"102-introduction:postgresql-vs-others"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"214","measuredH":"24","x":"38","y":"9","properties":{"size":"16","text":"PostgreSQL vs Other RDBMS"}}]}}},{"ID":"2221","typeID":"__group__","zOrder":"269","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"458","properties":{"controlName":"103-introduction:postgresql-vs-nosql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"246","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"PostgreSQL vs NoSQL Databases"}}]}}},{"ID":"2222","typeID":"__group__","zOrder":"270","measuredW":"265","measuredH":"49","w":"265","h":"49","x":"725","y":"3435","properties":{"controlName":"113-get-involved-in-development"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"265","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"222","measuredH":"25","x":"22","y":"12","properties":{"size":"17","text":"Get Involved in Development"}}]}}},{"ID":"2223","typeID":"__group__","zOrder":"271","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3432","properties":{"controlName":"100-get-involved-in-development:mailing-lists"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"43","y":"9","properties":{"size":"16","text":"Mailing Lists"}}]}}},{"ID":"2224","typeID":"__group__","zOrder":"272","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3479","properties":{"controlName":"101-get-involved-in-development:reviewing-patches"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"137","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Reviewing Patches"}}]}}},{"ID":"2225","typeID":"__group__","zOrder":"273","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3526","properties":{"controlName":"102-get-involved-in-development:writing-patches"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"114","measuredH":"24","x":"32","y":"9","properties":{"size":"16","text":"Writing Patches"}}]}}},{"ID":"2226","typeID":"Label","zOrder":"274","measuredW":"161","measuredH":"32","x":"794","y":"3575","properties":{"size":"24","text":"Keep Learning"}},{"ID":"2227","typeID":"Arrow","zOrder":"275","w":"1","h":"67","measuredW":"150","measuredH":"100","x":"874","y":"3634","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":67},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233},"stroke":"dotted"}},{"ID":"2228","typeID":"Arrow","zOrder":"276","w":"171","h":"2","measuredW":"150","measuredH":"100","x":"777","y":"3771","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.2502642458233595,"y":-0.2116722737659984},"p1":{"x":0.5,"y":0},"p2":{"x":171.71787682058277,"y":2},"color":"16777215"}},{"ID":"2229","typeID":"Canvas","zOrder":"277","w":"350","h":"141","measuredW":"100","measuredH":"70","x":"975","y":"134"},{"ID":"2230","typeID":"Label","zOrder":"278","measuredW":"314","measuredH":"25","x":"989","y":"151","properties":{"size":"17","text":"Find the detailed version of this roadmap"}},{"ID":"2231","typeID":"Label","zOrder":"279","measuredW":"319","measuredH":"25","x":"989","y":"179","properties":{"size":"17","text":"along with resources and other roadmaps"}},{"ID":"2232","typeID":"__group__","zOrder":"280","measuredW":"320","measuredH":"45","w":"320","h":"45","x":"990","y":"215","properties":{"controlName":"ext_link:roadmap.sh"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"45","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"borderColor":"4273622","color":"4273622"}},{"ID":"2","typeID":"Label","zOrder":"1","measuredW":"172","measuredH":"28","x":"74","y":"8","properties":{"color":"16777215","size":"20","text":"https://roadmap.sh"}}]}}},{"ID":"2233","typeID":"Canvas","zOrder":"281","w":"300","h":"141","measuredW":"100","measuredH":"70","x":"261","y":"130"},{"ID":"2234","typeID":"__group__","zOrder":"282","measuredW":"181","measuredH":"25","w":"181","h":"25","x":"284","y":"192","properties":{"controlName":"ext_link:roadmap.sh/mongodb"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"148","measuredH":"24","x":"33","y":"0","properties":{"size":"16","text":"MongoDB Roadmap"}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"1","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10066329"}}]}}},{"ID":"2235","typeID":"Label","zOrder":"283","measuredW":"175","measuredH":"28","x":"286","y":"151","properties":{"size":"20","text":"Related Roadmaps"}},{"ID":"2236","typeID":"__group__","zOrder":"284","measuredW":"172","measuredH":"25","w":"172","h":"25","x":"284","y":"225","properties":{"controlName":"ext_link:roadmap.sh/backend"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"139","measuredH":"24","x":"33","y":"0","properties":{"size":"16","text":"Backend Roadmap"}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"1","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10066329"}}]}}},{"ID":"2237","typeID":"__group__","zOrder":"285","measuredW":"300","measuredH":"54","w":"300","h":"54","x":"261","y":"288","properties":{"controlName":"100-roadmap-note"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"300","h":"54","measuredW":"200","measuredH":"140","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"199","measuredH":"24","x":"50","y":"15","properties":{"text":"Important Note / Click here","size":"16"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"18","y":"18","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"13576743"}}]}}}]}}}]},"attributes":{"name":"New Wireframe 9 copy","order":1000116.0868550346,"parentID":null,"notes":null},"branchID":"Master","resourceID":"73A38172-E66F-4B8C-9525-DB6AC79E153D","mockupH":"3687","mockupW":"1163","measuredW":"1395","measuredH":"3773","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr"} \ No newline at end of file +{ + "mockup": { + "controls": { + "control": [ + { + "ID": "1952", + "typeID": "Arrow", + "zOrder": "1", + "w": "1", + "h": "104", + "measuredW": "150", + "measuredH": "100", + "x": "874", + "y": "3459", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.4129169328207354, + "y": 104.19580709381944 + }, + "p1": { + "x": 0.4999999999999998, + "y": 0 + }, + "p2": { + "x": -0.4129169328207354, + "y": -0.11774307773504233 + } + } + }, + { + "ID": "1953", + "typeID": "Arrow", + "zOrder": "2", + "w": "125", + "h": "50", + "measuredW": "150", + "measuredH": "100", + "x": "966", + "y": "3466", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.45156981064997126, + "y": -0.1889423318889385 + }, + "p1": { + "x": 0.6037511436413536, + "y": 0.08810612991765832 + }, + "p2": { + "x": 125.48082757665975, + "y": 50.08055305856897 + } + } + }, + { + "ID": "1954", + "typeID": "Arrow", + "zOrder": "3", + "w": "134", + "h": "85", + "measuredW": "150", + "measuredH": "100", + "x": "957", + "y": "3475", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.42883986877291136, + "y": -0.1662123900118786 + }, + "p1": { + "x": 0.5387556024255216, + "y": 0.1207487476931185 + }, + "p2": { + "x": 134.48082757665975, + "y": 84.90524134768566 + } + } + }, + { + "ID": "1955", + "typeID": "Arrow", + "zOrder": "4", + "w": "171", + "h": "2", + "measuredW": "150", + "measuredH": "100", + "x": "943", + "y": "3457", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.2502642458233595, + "y": -0.2116722737659984 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 171.71787682058277, + "y": 2 + } + } + }, + { + "ID": "1956", + "typeID": "Arrow", + "zOrder": "5", + "w": "129", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "853", + "y": "430", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 128.74379514298448, + "y": 53.88646773320312 + }, + "p1": { + "x": 0.3624836784055758, + "y": -0.08803194020926222 + }, + "p2": { + "x": -0.15234688382986405, + "y": -0.24991191805889912 + } + } + }, + { + "ID": "1957", + "typeID": "Arrow", + "zOrder": "6", + "w": "129", + "h": "12", + "measuredW": "150", + "measuredH": "100", + "x": "858", + "y": "424", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 128.8996408240571, + "y": 12.194895183281858 + }, + "p1": { + "x": 0.525055137952002, + "y": -0.03353659581377254 + }, + "p2": { + "x": 0.0034987972427416025, + "y": 0.5942424008685521 + } + } + }, + { + "ID": "1958", + "typeID": "Arrow", + "zOrder": "7", + "w": "134", + "h": "21", + "measuredW": "150", + "measuredH": "100", + "x": "849", + "y": "389", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 134.03275656325263, + "y": -0.49667736663946016 + }, + "p1": { + "x": 0.49455143506411814, + "y": 0.05494286199591283 + }, + "p2": { + "x": -0.01923114463420461, + "y": 20.126705357650792 + } + } + }, + { + "ID": "1959", + "typeID": "Arrow", + "zOrder": "8", + "w": "140", + "h": "60", + "measuredW": "150", + "measuredH": "100", + "x": "841", + "y": "341", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 140.74379514298448, + "y": -0.18824991656077827 + }, + "p1": { + "x": 0.523254983210688, + "y": 0.10945202543402179 + }, + "p2": { + "x": 0.2470003337568869, + "y": 59.10397541577379 + } + } + }, + { + "ID": "1960", + "typeID": "Arrow", + "zOrder": "9", + "w": "1", + "h": "162", + "measuredW": "150", + "measuredH": "100", + "x": "740", + "y": "232", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.4129169328207354, + "y": 161.3884650838079 + }, + "p1": { + "x": 0.5000000000000004, + "y": 0 + }, + "p2": { + "x": -0.4129169328207354, + "y": -0.2593697375390036 + } + } + }, + { + "ID": "1961", + "typeID": "Arrow", + "zOrder": "10", + "w": "88", + "h": "36", + "measuredW": "150", + "measuredH": "100", + "x": "971", + "y": "3331", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": -0.03706521841161248, + "y": 35.08533148408014 + }, + "p1": { + "x": 0.47748925835979983, + "y": -0.13076779376050712 + }, + "p2": { + "x": 87.61231135982212, + "y": 0.2833731368405097 + } + } + }, + { + "ID": "1962", + "typeID": "Arrow", + "zOrder": "11", + "w": "202", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "884", + "y": "3378", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": -0.32381396365008186, + "y": 0 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 201.71787682058277, + "y": 0 + } + } + }, + { + "ID": "1963", + "typeID": "Arrow", + "zOrder": "12", + "w": "1", + "h": "142", + "measuredW": "150", + "measuredH": "100", + "x": "602", + "y": "3305", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.4999999999999997, + "y": 0 + }, + "p2": { + "x": 0.4271178962662816, + "y": 141.20936950191117 + } + } + }, + { + "ID": "1964", + "typeID": "Arrow", + "zOrder": "13", + "w": "1", + "h": "142", + "measuredW": "150", + "measuredH": "100", + "x": "510", + "y": "3305", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.4999999999999997, + "y": 0 + }, + "p2": { + "x": 0.4271178962662816, + "y": 141.20936950191117 + } + } + }, + { + "ID": "1965", + "typeID": "Arrow", + "zOrder": "14", + "w": "1", + "h": "142", + "measuredW": "150", + "measuredH": "100", + "x": "417", + "y": "3306", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.4999999999999997, + "y": 0 + }, + "p2": { + "x": 0.4271178962662816, + "y": 141.20936950191117 + } + } + }, + { + "ID": "1966", + "typeID": "Arrow", + "zOrder": "15", + "w": "202", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "548", + "y": "3377", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": -0.32381396365008186, + "y": 0 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 201.71787682058277, + "y": 0 + } + } + }, + { + "ID": "1967", + "typeID": "Arrow", + "zOrder": "16", + "w": "1", + "h": "295", + "measuredW": "150", + "measuredH": "100", + "x": "874", + "y": "3166", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.4129169328207354, + "y": 295.29969269717276 + }, + "p1": { + "x": 0.4999999999999998, + "y": 0 + }, + "p2": { + "x": -0.4129169328207354, + "y": -0.11774307773504233 + } + } + }, + { + "ID": "1968", + "typeID": "Arrow", + "zOrder": "17", + "w": "202", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "678", + "y": "3164", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": -0.32381396365008186, + "y": 0 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 201.71787682058277, + "y": 0 + } + } + }, + { + "ID": "1969", + "typeID": "__group__", + "zOrder": "18", + "measuredW": "215", + "measuredH": "94", + "w": "215", + "h": "94", + "x": "501", + "y": "2876", + "properties": { + "controlName": "102-troubleshooting-techniques:operating-system-tools" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "215", + "h": "94", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "171", + "measuredH": "24", + "x": "19", + "y": "11", + "properties": { + "size": "16", + "text": "Operating System Tools" + } + } + ] + } + } + }, + { + "ID": "1970", + "typeID": "__group__", + "zOrder": "19", + "measuredW": "48", + "measuredH": "42", + "w": "48", + "h": "42", + "x": "511", + "y": "2918", + "properties": { + "controlName": "100-troubleshooting-techniques:operating-system-tools:top" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "48", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "12", + "y": "9", + "properties": { + "size": "16", + "text": "top" + } + } + ] + } + } + }, + { + "ID": "1971", + "typeID": "__group__", + "zOrder": "20", + "measuredW": "75", + "measuredH": "42", + "w": "75", + "h": "42", + "x": "563", + "y": "2918", + "properties": { + "controlName": "101-troubleshooting-techniques:operating-system-tools:sysstat" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "75", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "50", + "measuredH": "24", + "x": "13", + "y": "9", + "properties": { + "size": "16", + "text": "sysstat" + } + } + ] + } + } + }, + { + "ID": "1972", + "typeID": "__group__", + "zOrder": "21", + "measuredW": "60", + "measuredH": "42", + "w": "60", + "h": "42", + "x": "641", + "y": "2918", + "properties": { + "controlName": "102-troubleshooting-techniques:operating-system-tools:iotop" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "60", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "36", + "measuredH": "24", + "x": "12", + "y": "9", + "properties": { + "size": "16", + "text": "iotop" + } + } + ] + } + } + }, + { + "ID": "1973", + "typeID": "__group__", + "zOrder": "22", + "measuredW": "215", + "measuredH": "133", + "w": "215", + "h": "133", + "x": "501", + "y": "2966", + "properties": { + "controlName": "104-troubleshooting-techniques:profiling-tools" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "215", + "h": "133", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "100", + "measuredH": "24", + "x": "54", + "y": "8", + "properties": { + "size": "16", + "text": "Profiling Tools" + } + } + ] + } + } + }, + { + "ID": "1974", + "typeID": "__group__", + "zOrder": "23", + "measuredW": "57", + "measuredH": "42", + "w": "57", + "h": "42", + "x": "509", + "y": "3003", + "properties": { + "controlName": "100-troubleshooting-techniques:profiling-tools:gdb" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "57", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "28", + "measuredH": "24", + "x": "15", + "y": "9", + "properties": { + "size": "16", + "text": "gdb" + } + } + ] + } + } + }, + { + "ID": "1975", + "typeID": "__group__", + "zOrder": "24", + "measuredW": "86", + "measuredH": "42", + "w": "86", + "h": "42", + "x": "509", + "y": "3048", + "properties": { + "controlName": "103-troubleshooting-techniques:profiling-tools:perf-tools" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "86", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "70", + "measuredH": "24", + "x": "9", + "y": "9", + "properties": { + "size": "16", + "text": "perf-tools" + } + } + ] + } + } + }, + { + "ID": "1976", + "typeID": "__group__", + "zOrder": "25", + "measuredW": "109", + "measuredH": "42", + "w": "109", + "h": "42", + "x": "598", + "y": "3048", + "properties": { + "controlName": "104-troubleshooting-techniques:profiling-tools:core-dumps" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "109", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "91", + "measuredH": "24", + "x": "9", + "y": "9", + "properties": { + "size": "16", + "text": "Core Dumps" + } + } + ] + } + } + }, + { + "ID": "1977", + "typeID": "__group__", + "zOrder": "26", + "measuredW": "68", + "measuredH": "42", + "w": "68", + "h": "42", + "x": "569", + "y": "3003", + "properties": { + "controlName": "101-troubleshooting-techniques:profiling-tools:strace" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "68", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "46", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "strace" + } + } + ] + } + } + }, + { + "ID": "1978", + "typeID": "__group__", + "zOrder": "27", + "measuredW": "67", + "measuredH": "42", + "w": "67", + "h": "42", + "x": "640", + "y": "3003", + "properties": { + "controlName": "102-troubleshooting-techniques:profiling-tools:ebpf" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "67", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "33", + "measuredH": "24", + "x": "17", + "y": "9", + "properties": { + "size": "16", + "text": "ebpf" + } + } + ] + } + } + }, + { + "ID": "1979", + "typeID": "__group__", + "zOrder": "28", + "measuredW": "215", + "measuredH": "133", + "w": "215", + "h": "133", + "x": "501", + "y": "3096", + "properties": { + "controlName": "106-troubleshooting-techniques:log-analysis" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "215", + "h": "133", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "90", + "measuredH": "24", + "x": "63", + "y": "8", + "properties": { + "size": "16", + "text": "Log Analysis" + } + } + ] + } + } + }, + { + "ID": "1980", + "typeID": "__group__", + "zOrder": "29", + "measuredW": "95", + "measuredH": "42", + "w": "95", + "h": "42", + "x": "510", + "y": "3133", + "properties": { + "controlName": "100-troubleshooting-techniques:log-analysis:pg-badger" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "95", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "73", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "pgBadger" + } + } + ] + } + } + }, + { + "ID": "1981", + "typeID": "__group__", + "zOrder": "30", + "measuredW": "69", + "measuredH": "42", + "w": "69", + "h": "42", + "x": "575", + "y": "3179", + "properties": { + "controlName": "102-troubleshooting-techniques:log-analysis:grep" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "69", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "34", + "measuredH": "24", + "x": "18", + "y": "8", + "properties": { + "size": "16", + "text": "grep" + } + } + ] + } + } + }, + { + "ID": "1982", + "typeID": "__group__", + "zOrder": "31", + "measuredW": "61", + "measuredH": "42", + "w": "61", + "h": "42", + "x": "510", + "y": "3178", + "properties": { + "controlName": "101-troubleshooting-techniques:log-analysis:awk" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "61", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "28", + "measuredH": "24", + "x": "17", + "y": "9", + "properties": { + "size": "16", + "text": "awk" + } + } + ] + } + } + }, + { + "ID": "1983", + "typeID": "__group__", + "zOrder": "32", + "measuredW": "57", + "measuredH": "42", + "w": "57", + "h": "42", + "x": "649", + "y": "3178", + "properties": { + "controlName": "103-troubleshooting-techniques:log-analysis:sed" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "57", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "27", + "measuredH": "24", + "x": "15", + "y": "9", + "properties": { + "size": "16", + "text": "sed" + } + } + ] + } + } + }, + { + "ID": "1984", + "typeID": "__group__", + "zOrder": "282", + "measuredW": "209", + "measuredH": "96", + "w": "209", + "h": "96", + "x": "296", + "y": "2818", + "properties": { + "controlName": "101-troubleshooting-techniques:tools" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "209", + "h": "96", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "105", + "measuredH": "24", + "x": "52", + "y": "12", + "properties": { + "size": "16", + "text": "Postgres Tools" + } + } + ] + } + } + }, + { + "ID": "1985", + "typeID": "__group__", + "zOrder": "283", + "measuredW": "189", + "measuredH": "42", + "w": "189", + "h": "42", + "x": "306", + "y": "2862", + "properties": { + "controlName": "100-troubleshooting-techniques:tools:pgcenter" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "189", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "66", + "measuredH": "24", + "x": "62", + "y": "9", + "properties": { + "size": "16", + "text": "pgcenter" + } + } + ] + } + } + }, + { + "ID": "1986", + "typeID": "Arrow", + "zOrder": "33", + "w": "1", + "h": "97", + "measuredW": "150", + "measuredH": "100", + "x": "999", + "y": "2292", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 0 + }, + "p2": { + "x": 0.4271178962662816, + "y": 96.57440424601737 + } + } + }, + { + "ID": "1987", + "typeID": "Arrow", + "zOrder": "34", + "w": "1", + "h": "97", + "measuredW": "150", + "measuredH": "100", + "x": "681", + "y": "2293", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 0 + }, + "p2": { + "x": 0.4271178962662816, + "y": 96.57440424601737 + } + } + }, + { + "ID": "1988", + "typeID": "Canvas", + "zOrder": "35", + "w": "146", + "h": "164", + "measuredW": "100", + "measuredH": "70", + "x": "611", + "y": "2359" + }, + { + "ID": "1989", + "typeID": "Arrow", + "zOrder": "36", + "w": "1", + "h": "88", + "measuredW": "150", + "measuredH": "100", + "x": "434", + "y": "2458", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962663953, + "y": 0.3713024393487103 + }, + "p1": { + "x": 0.4999999999999998, + "y": 0 + }, + "p2": { + "x": 0.4271178962663953, + "y": 88.66666666666663 + } + } + }, + { + "ID": "1990", + "typeID": "Arrow", + "zOrder": "37", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "437", + "y": "2305", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "1991", + "typeID": "Arrow", + "zOrder": "38", + "w": "620", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "232", + "y": "1784", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0.13465453284504747, + "y": -0.11774307773521286 + }, + "p1": { + "x": 0.5000000000000002, + "y": 0 + }, + "p2": { + "x": 619.7495916965531, + "y": -0.11774307773521286 + } + } + }, + { + "ID": "1992", + "typeID": "Arrow", + "zOrder": "39", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "594", + "y": "1975", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "1993", + "typeID": "Arrow", + "zOrder": "40", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "850", + "y": "1975", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "1994", + "typeID": "Arrow", + "zOrder": "41", + "w": "404", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "415", + "y": "1853", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962663953, + "y": 0 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 404.698868282416, + "y": 0 + } + } + }, + { + "ID": "1995", + "typeID": "Arrow", + "zOrder": "42", + "w": "1", + "h": "264", + "measuredW": "150", + "measuredH": "100", + "x": "1256", + "y": "1587", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": 0.2815709355738818 + }, + "p1": { + "x": 0.49999999999999994, + "y": 0 + }, + "p2": { + "x": 0.4271178962662816, + "y": 264.5 + } + } + }, + { + "ID": "1996", + "typeID": "Arrow", + "zOrder": "43", + "w": "1", + "h": "65", + "measuredW": "150", + "measuredH": "100", + "x": "852", + "y": "1792", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.4999999999999998, + "y": 0 + }, + "p2": { + "x": 0.4271178962662816, + "y": 64.5 + } + } + }, + { + "ID": "1997", + "typeID": "Arrow", + "zOrder": "44", + "w": "1", + "h": "53", + "measuredW": "150", + "measuredH": "100", + "x": "1007", + "y": "1792", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0.4271178962662816, + "y": 52.5 + } + } + }, + { + "ID": "1998", + "typeID": "Arrow", + "zOrder": "45", + "w": "102", + "h": "42", + "measuredW": "150", + "measuredH": "100", + "x": "701", + "y": "1729", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": -0.3637224596427586, + "y": 0.4123432898111332 + }, + "p1": { + "x": 0.5571092804064476, + "y": -0.10882932503976735 + }, + "p2": { + "x": 101.56767757191813, + "y": 41.71540129516461 + } + } + }, + { + "ID": "1999", + "typeID": "Arrow", + "zOrder": "46", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "641", + "y": "2046", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "2000", + "typeID": "Arrow", + "zOrder": "47", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "849", + "y": "1858", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "2001", + "typeID": "Arrow", + "zOrder": "48", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "1078", + "y": "1933", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "2002", + "typeID": "Canvas", + "zOrder": "49", + "w": "188", + "h": "157", + "measuredW": "100", + "measuredH": "70", + "x": "977", + "y": "1980" + }, + { + "ID": "2003", + "typeID": "Arrow", + "zOrder": "50", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "1257", + "y": "1849", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "2004", + "typeID": "Arrow", + "zOrder": "51", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "1078", + "y": "1846", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "2005", + "typeID": "__group__", + "zOrder": "52", + "measuredW": "418", + "measuredH": "47", + "w": "418", + "h": "47", + "x": "977", + "y": "1830", + "properties": { + "controlName": "102-postgresql-infrastructure-skills:backup-recovery-tools" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "418", + "h": "47", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "180", + "measuredH": "24", + "x": "120", + "y": "12", + "properties": { + "size": "16", + "text": "Backup / Recovery Tools" + } + } + ] + } + } + }, + { + "ID": "2006", + "typeID": "Arrow", + "zOrder": "53", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "1257", + "y": "1929", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "2007", + "typeID": "Canvas", + "zOrder": "54", + "w": "235", + "h": "157", + "measuredW": "100", + "measuredH": "70", + "x": "1160", + "y": "1980" + }, + { + "ID": "2008", + "typeID": "Arrow", + "zOrder": "55", + "w": "1", + "h": "287", + "measuredW": "150", + "measuredH": "100", + "x": "946", + "y": "1509", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.4129169328207354, + "y": 286.97930395280105 + }, + "p1": { + "x": 0.5000000000000001, + "y": 0 + }, + "p2": { + "x": -0.4129169328207354, + "y": -0.11774307773504233 + } + } + }, + { + "ID": "2009", + "typeID": "Arrow", + "zOrder": "56", + "w": "165", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "780", + "y": "1509", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0.4483238886820118, + "y": -0.11774307773521286 + }, + "p1": { + "x": 0.5000000000000002, + "y": 0 + }, + "p2": { + "x": 165.74959169655313, + "y": -0.11774307773521286 + } + } + }, + { + "ID": "2010", + "typeID": "Arrow", + "zOrder": "57", + "w": "1", + "h": "191", + "measuredW": "150", + "measuredH": "100", + "x": "628", + "y": "1406", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962663953, + "y": 0 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0.4271178962663953, + "y": 190.66666666666663 + } + } + }, + { + "ID": "2011", + "typeID": "Arrow", + "zOrder": "58", + "w": "127", + "h": "34", + "measuredW": "150", + "measuredH": "100", + "x": "454", + "y": "1512", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.11994957005373408, + "y": 33.764875280635124 + }, + "p1": { + "x": 0.48226186491714973, + "y": 0.07717329440735292 + }, + "p2": { + "x": 126.93000271100163, + "y": 0.32046566104463636 + } + } + }, + { + "ID": "2012", + "typeID": "Arrow", + "zOrder": "59", + "w": "117", + "h": "40", + "measuredW": "150", + "measuredH": "100", + "x": "449", + "y": "1450", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": -0.45411869987805176, + "y": -0.38780237568789744 + }, + "p1": { + "x": 0.5058786326070862, + "y": -0.07078943628709435 + }, + "p2": { + "x": 116.60131496868928, + "y": 40.02419258131749 + } + } + }, + { + "ID": "2013", + "typeID": "Arrow", + "zOrder": "60", + "w": "191", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "406", + "y": "1501", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962663953, + "y": 0 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 191, + "y": 0 + } + } + }, + { + "ID": "2014", + "typeID": "Arrow", + "zOrder": "61", + "w": "134", + "h": "98", + "measuredW": "150", + "measuredH": "100", + "x": "421", + "y": "1172", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.3333333333333144, + "y": 97.66666666666663 + }, + "p1": { + "x": 0.5069805639200657, + "y": 0.10073911853271315 + }, + "p2": { + "x": 134.13752000020185, + "y": -0.3173254102676992 + }, + "color": "10027263" + } + }, + { + "ID": "2015", + "typeID": "Arrow", + "zOrder": "62", + "w": "147", + "h": "44", + "measuredW": "150", + "measuredH": "100", + "x": "407", + "y": "1171", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.3333333333333144, + "y": 44 + }, + "p1": { + "x": 0.5300999629766752, + "y": 0.0764901888189561 + }, + "p2": { + "x": 147, + "y": 0 + }, + "color": "10027263" + } + }, + { + "ID": "2016", + "typeID": "Arrow", + "zOrder": "63", + "w": "128", + "h": "41", + "measuredW": "150", + "measuredH": "100", + "x": "425", + "y": "1071", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.3333333333333144, + "y": 0 + }, + "p1": { + "x": 0.4922100240848163, + "y": -0.11071038048662071 + }, + "p2": { + "x": 127.66666666666669, + "y": 39.33333333333337 + }, + "color": "10027263" + } + }, + { + "ID": "2017", + "typeID": "Arrow", + "zOrder": "64", + "w": "136", + "h": "92", + "measuredW": "150", + "measuredH": "100", + "x": "425", + "y": "1021", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": -0.3333333333333144, + "y": 0 + }, + "p1": { + "x": 0.4922100240848163, + "y": -0.11071038048662066 + }, + "p2": { + "x": 135.72190217879785, + "y": 91.72550749825871 + }, + "color": "10027263" + } + }, + { + "ID": "2018", + "typeID": "Arrow", + "zOrder": "65", + "w": "189", + "h": "6", + "measuredW": "150", + "measuredH": "100", + "x": "374", + "y": "1158", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.4271178962663953, + "y": 6 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 189.67849256059174, + "y": 0.26114628054824607 + }, + "color": "10027263" + } + }, + { + "ID": "2019", + "typeID": "Arrow", + "zOrder": "66", + "w": "188", + "h": "7", + "measuredW": "150", + "measuredH": "100", + "x": "364", + "y": "1119", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.4271178962663953, + "y": 0 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 188.66666666666669, + "y": 6.666666666666629 + }, + "color": "10027263" + } + }, + { + "ID": "2020", + "typeID": "Arrow", + "zOrder": "67", + "w": "1", + "h": "191", + "measuredW": "150", + "measuredH": "100", + "x": "557", + "y": "1051", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.4271178962663953, + "y": 0 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0.4271178962663953, + "y": 190.66666666666663 + }, + "color": "10027263" + } + }, + { + "ID": "2021", + "typeID": "Arrow", + "zOrder": "68", + "w": "128", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "734", + "y": "1141", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 128.3182218608979, + "y": 0 + }, + "p1": { + "x": 0.5000000000000001, + "y": 0 + }, + "p2": { + "x": 0, + "y": 0 + }, + "color": "10027263" + } + }, + { + "ID": "2022", + "typeID": "__group__", + "zOrder": "69", + "measuredW": "304", + "measuredH": "202", + "w": "304", + "h": "202", + "x": "1084", + "y": "1238", + "properties": { + "controlName": "103-learn-sql-concepts:advanced-topics" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "304", + "h": "202", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "122", + "measuredH": "24", + "x": "91", + "y": "18", + "properties": { + "size": "16", + "text": "Advanced Topics" + } + } + ] + } + } + }, + { + "ID": "2023", + "typeID": "Arrow", + "zOrder": "70", + "w": "258", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "946", + "y": "920", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.49987434137158676, + "y": 0.00022818425917650698 + }, + "p2": { + "x": 258, + "y": 0 + } + } + }, + { + "ID": "2024", + "typeID": "Arrow", + "zOrder": "71", + "w": "258", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "946", + "y": "903", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": 0 + }, + "p1": { + "x": 0.49987434137158676, + "y": 0.00022818425917650698 + }, + "p2": { + "x": 258, + "y": 0 + } + } + }, + { + "ID": "2025", + "typeID": "Arrow", + "zOrder": "72", + "w": "1", + "h": "106", + "measuredW": "150", + "measuredH": "100", + "x": "1309", + "y": "912", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0, + "y": 106.43592685891701 + }, + "p1": { + "x": 0.5000000000000001, + "y": 0 + }, + "p2": { + "x": 0, + "y": 0 + } + } + }, + { + "ID": "2026", + "typeID": "Arrow", + "zOrder": "73", + "w": "1", + "h": "106", + "measuredW": "150", + "measuredH": "100", + "x": "1158", + "y": "912", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0, + "y": 106.43592685891701 + }, + "p1": { + "x": 0.5000000000000001, + "y": 0 + }, + "p2": { + "x": 0, + "y": 0 + } + } + }, + { + "ID": "2027", + "typeID": "__group__", + "zOrder": "74", + "measuredW": "154", + "measuredH": "241", + "w": "154", + "h": "241", + "x": "1085", + "y": "969", + "properties": { + "controlName": "100-learn-sql-concepts:ddl-queries" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "154", + "h": "241", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "95", + "measuredH": "24", + "x": "29", + "y": "13", + "properties": { + "size": "16", + "text": "DDL Queries" + } + } + ] + } + } + }, + { + "ID": "2028", + "typeID": "__group__", + "zOrder": "75", + "measuredW": "130", + "measuredH": "42", + "w": "130", + "h": "42", + "x": "1097", + "y": "1106", + "properties": { + "controlName": "102-learn-sql-concepts:ddl-queries:data-types" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "130", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "81", + "measuredH": "24", + "x": "24", + "y": "9", + "properties": { + "size": "16", + "text": "Data Types" + } + } + ] + } + } + }, + { + "ID": "2029", + "typeID": "__group__", + "zOrder": "76", + "measuredW": "130", + "measuredH": "42", + "w": "130", + "h": "42", + "x": "1096", + "y": "1013", + "properties": { + "controlName": "100-learn-sql-concepts:ddl-queries:for-schemas" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "130", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "95", + "measuredH": "24", + "x": "19", + "y": "9", + "properties": { + "size": "16", + "text": "For Schemas" + } + } + ] + } + } + }, + { + "ID": "2030", + "typeID": "__group__", + "zOrder": "77", + "measuredW": "130", + "measuredH": "42", + "w": "130", + "h": "42", + "x": "1096", + "y": "1059", + "properties": { + "controlName": "101-learn-sql-concepts:ddl-queries:for-tables" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "130", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "75", + "measuredH": "24", + "x": "29", + "y": "9", + "properties": { + "size": "16", + "text": "For Tables" + } + } + ] + } + } + }, + { + "ID": "2031", + "typeID": "Arrow", + "zOrder": "78", + "w": "1", + "h": "213", + "measuredW": "150", + "measuredH": "100", + "x": "946", + "y": "690", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.4129169328207354, + "y": 212.3884650838079 + }, + "p1": { + "x": 0.5000000000000002, + "y": 0 + }, + "p2": { + "x": -0.4129169328207354, + "y": -0.11774307773504233 + } + } + }, + { + "ID": "2032", + "typeID": "Arrow", + "zOrder": "79", + "w": "128", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "1107", + "y": "685", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 128.3182218608979, + "y": 0 + }, + "p1": { + "x": 0.5000000000000001, + "y": 0 + }, + "p2": { + "x": 0, + "y": 0 + } + } + }, + { + "ID": "2033", + "typeID": "Arrow", + "zOrder": "80", + "w": "1", + "h": "147", + "measuredW": "150", + "measuredH": "100", + "x": "1077", + "y": "613", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0, + "y": -0.12826052131362076 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 147.29881929523685 + } + } + }, + { + "ID": "2034", + "typeID": "Arrow", + "zOrder": "81", + "w": "172", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "753", + "y": "686", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": -0.11774307773505654 + }, + "p1": { + "x": 0.5000000000000002, + "y": 2.0577493387487696e-32 + }, + "p2": { + "x": 171.58708306717926, + "y": -0.11774307773504233 + } + } + }, + { + "ID": "2035", + "typeID": "Arrow", + "zOrder": "82", + "w": "171", + "h": "258", + "measuredW": "150", + "measuredH": "100", + "x": "571", + "y": "414", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 171, + "y": 0 + }, + "p1": { + "x": 0.5854320642684712, + "y": 0.23339886429384038 + }, + "p2": { + "x": 0.008847042366596725, + "y": 257.51497904447774 + } + } + }, + { + "ID": "2036", + "typeID": "Arrow", + "zOrder": "83", + "w": "1", + "h": "78", + "measuredW": "150", + "measuredH": "100", + "x": "640", + "y": "707", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962663953, + "y": 0 + }, + "p1": { + "x": 0.49999999999999994, + "y": 0 + }, + "p2": { + "x": 0.4271178962663953, + "y": 78.47632623201923 + } + } + }, + { + "ID": "2037", + "typeID": "Arrow", + "zOrder": "84", + "w": "1", + "h": "94", + "measuredW": "150", + "measuredH": "100", + "x": "355", + "y": "691", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962663953, + "y": 0.3919582050954773 + }, + "p1": { + "x": 0.4999999999999999, + "y": 0 + }, + "p2": { + "x": 0.4271178962663953, + "y": 94.47632623201923 + } + } + }, + { + "ID": "2038", + "typeID": "Arrow", + "zOrder": "85", + "w": "191", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "352", + "y": "686", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962663953, + "y": 0 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 191, + "y": 0 + } + } + }, + { + "ID": "2039", + "typeID": "Label", + "zOrder": "86", + "measuredW": "152", + "measuredH": "36", + "x": "666", + "y": "181", + "properties": { + "size": "28", + "text": "PostgreSQL" + } + }, + { + "ID": "2040", + "typeID": "Arrow", + "zOrder": "87", + "w": "1", + "h": "84", + "measuredW": "150", + "measuredH": "100", + "x": "741", + "y": "86", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0, + "y": -0.3333333333333428 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 0, + "y": 84 + } + } + }, + { + "ID": "2041", + "typeID": "__group__", + "zOrder": "88", + "measuredW": "269", + "measuredH": "49", + "w": "269", + "h": "49", + "x": "506", + "y": "662", + "properties": { + "controlName": "102-rdbms-concepts" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "269", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "187", + "measuredH": "25", + "x": "41", + "y": "12", + "properties": { + "text": "Basic RDBMS Concepts", + "size": "17" + } + } + ] + } + } + }, + { + "ID": "2042", + "typeID": "__group__", + "zOrder": "89", + "measuredW": "184", + "measuredH": "42", + "w": "184", + "h": "42", + "x": "259", + "y": "666", + "properties": { + "controlName": "100-rdbms-concepts:object-model" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "184", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "98", + "measuredH": "24", + "x": "43", + "y": "9", + "properties": { + "text": "Object Model", + "size": "16" + } + } + ] + } + } + }, + { + "ID": "2043", + "typeID": "__group__", + "zOrder": "90", + "measuredW": "269", + "measuredH": "42", + "w": "269", + "h": "42", + "x": "506", + "y": "897", + "properties": { + "controlName": "104-rdbms-concepts:high-level-database-concepts:query-processing" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "269", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "128", + "measuredH": "24", + "x": "71", + "y": "9", + "properties": { + "size": "16", + "text": "Query Processing" + } + } + ] + } + } + }, + { + "ID": "2044", + "typeID": "__group__", + "zOrder": "91", + "measuredW": "184", + "measuredH": "42", + "w": "184", + "h": "42", + "x": "259", + "y": "484", + "properties": { + "controlName": "105-rdbms-concepts:object-model:data-types" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "184", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "81", + "measuredH": "24", + "x": "51", + "y": "9", + "properties": { + "size": "16", + "text": "Data Types" + } + } + ] + } + } + }, + { + "ID": "2045", + "typeID": "__group__", + "zOrder": "92", + "measuredW": "82", + "measuredH": "42", + "w": "82", + "h": "42", + "x": "259", + "y": "529", + "properties": { + "controlName": "103-rdbms-concepts:object-model:rows" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "82", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "40", + "measuredH": "24", + "x": "21", + "y": "9", + "properties": { + "size": "16", + "text": "Rows" + } + } + ] + } + } + }, + { + "ID": "2046", + "typeID": "__group__", + "zOrder": "93", + "measuredW": "99", + "measuredH": "42", + "w": "99", + "h": "42", + "x": "344", + "y": "529", + "properties": { + "controlName": "104-rdbms-concepts:object-model:columns" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "99", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "64", + "measuredH": "24", + "x": "18", + "y": "9", + "properties": { + "size": "16", + "text": "Columns" + } + } + ] + } + } + }, + { + "ID": "2047", + "typeID": "__group__", + "zOrder": "94", + "measuredW": "82", + "measuredH": "42", + "w": "82", + "h": "42", + "x": "259", + "y": "574", + "properties": { + "controlName": "101-rdbms-concepts:object-model:tables" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "82", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "47", + "measuredH": "24", + "x": "17", + "y": "9", + "properties": { + "size": "16", + "text": "Tables" + } + } + ] + } + } + }, + { + "ID": "2048", + "typeID": "__group__", + "zOrder": "95", + "measuredW": "99", + "measuredH": "42", + "w": "99", + "h": "42", + "x": "344", + "y": "574", + "properties": { + "controlName": "102-rdbms-concepts:object-model:schemas" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "99", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "67", + "measuredH": "24", + "x": "16", + "y": "9", + "properties": { + "size": "16", + "text": "Schemas" + } + } + ] + } + } + }, + { + "ID": "2049", + "typeID": "__group__", + "zOrder": "96", + "measuredW": "184", + "measuredH": "42", + "w": "184", + "h": "42", + "x": "259", + "y": "620", + "properties": { + "controlName": "100-rdbms-concepts:object-model:databases" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "184", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "78", + "measuredH": "24", + "x": "53", + "y": "9", + "properties": { + "size": "16", + "text": "Databases" + } + } + ] + } + } + }, + { + "ID": "2050", + "typeID": "__group__", + "zOrder": "97", + "measuredW": "184", + "measuredH": "42", + "w": "184", + "h": "42", + "x": "259", + "y": "439", + "properties": { + "controlName": "106-rdbms-concepts:object-model:queries" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "184", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "58", + "measuredH": "24", + "x": "63", + "y": "9", + "properties": { + "size": "16", + "text": "Queries" + } + } + ] + } + } + }, + { + "ID": "2051", + "typeID": "__group__", + "zOrder": "98", + "measuredW": "184", + "measuredH": "42", + "w": "184", + "h": "42", + "x": "259", + "y": "756", + "properties": { + "controlName": "101-rdbms-concepts:relational-model" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "184", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "123", + "measuredH": "24", + "x": "30", + "y": "9", + "properties": { + "size": "16", + "text": "Relational Model" + } + } + ] + } + } + }, + { + "ID": "2052", + "typeID": "__group__", + "zOrder": "99", + "measuredW": "92", + "measuredH": "42", + "w": "92", + "h": "42", + "x": "258", + "y": "803", + "properties": { + "controlName": "100-rdbms-concepts:relational-model:domains" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "92", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "64", + "measuredH": "24", + "x": "14", + "y": "9", + "properties": { + "size": "16", + "text": "Domains" + } + } + ] + } + } + }, + { + "ID": "2053", + "typeID": "__group__", + "zOrder": "100", + "measuredW": "89", + "measuredH": "42", + "w": "89", + "h": "42", + "x": "354", + "y": "803", + "properties": { + "controlName": "101-rdbms-concepts:relational-model:attributes" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "89", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "70", + "measuredH": "24", + "x": "10", + "y": "9", + "properties": { + "size": "16", + "text": "Attributes" + } + } + ] + } + } + }, + { + "ID": "2054", + "typeID": "__group__", + "zOrder": "101", + "measuredW": "92", + "measuredH": "42", + "w": "92", + "h": "42", + "x": "258", + "y": "849", + "properties": { + "controlName": "102-rdbms-concepts:relational-model:tuples" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "92", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "48", + "measuredH": "24", + "x": "24", + "y": "9", + "properties": { + "size": "16", + "text": "Tuples" + } + } + ] + } + } + }, + { + "ID": "2055", + "typeID": "__group__", + "zOrder": "102", + "measuredW": "89", + "measuredH": "42", + "w": "89", + "h": "42", + "x": "354", + "y": "849", + "properties": { + "controlName": "103-rdbms-concepts:relational-model:relations" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "89", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "69", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "Relations" + } + } + ] + } + } + }, + { + "ID": "2056", + "typeID": "__group__", + "zOrder": "103", + "measuredW": "106", + "measuredH": "42", + "w": "106", + "h": "42", + "x": "258", + "y": "895", + "properties": { + "controlName": "104-rdbms-concepts:relational-model:constraints" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "106", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "83", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "Constraints" + } + } + ] + } + } + }, + { + "ID": "2057", + "typeID": "__group__", + "zOrder": "104", + "measuredW": "73", + "measuredH": "42", + "w": "73", + "h": "42", + "x": "370", + "y": "895", + "properties": { + "controlName": "105-rdbms-concepts:relational-model:null" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "73", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "43", + "measuredH": "24", + "x": "15", + "y": "9", + "properties": { + "size": "16", + "text": "NULL" + } + } + ] + } + } + }, + { + "ID": "2058", + "typeID": "__group__", + "zOrder": "105", + "measuredW": "269", + "measuredH": "42", + "w": "269", + "h": "42", + "x": "506", + "y": "758", + "properties": { + "controlName": "102-rdbms-concepts:high-level-database-concepts" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "269", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "225", + "measuredH": "24", + "x": "22", + "y": "9", + "properties": { + "size": "16", + "text": "High Level Database Concepts" + } + } + ] + } + } + }, + { + "ID": "2059", + "typeID": "__group__", + "zOrder": "106", + "measuredW": "64", + "measuredH": "42", + "w": "64", + "h": "42", + "x": "506", + "y": "805", + "properties": { + "controlName": "100-rdbms-concepts:high-level-database-concepts:acid" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "64", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "38", + "measuredH": "24", + "x": "13", + "y": "9", + "properties": { + "size": "16", + "text": "ACID" + } + } + ] + } + } + }, + { + "ID": "2060", + "typeID": "__group__", + "zOrder": "107", + "measuredW": "74", + "measuredH": "42", + "w": "74", + "h": "42", + "x": "575", + "y": "805", + "properties": { + "controlName": "101-rdbms-concepts:high-level-database-concepts:mvcc" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "74", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "46", + "measuredH": "24", + "x": "14", + "y": "9", + "properties": { + "size": "16", + "text": "MVCC" + } + } + ] + } + } + }, + { + "ID": "2061", + "typeID": "__group__", + "zOrder": "108", + "measuredW": "122", + "measuredH": "42", + "w": "122", + "h": "42", + "x": "653", + "y": "805", + "properties": { + "controlName": "102-rdbms-concepts:high-level-database-concepts:transactions" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "122", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "93", + "measuredH": "24", + "x": "14", + "y": "9", + "properties": { + "size": "16", + "text": "Transactions" + } + } + ] + } + } + }, + { + "ID": "2062", + "typeID": "__group__", + "zOrder": "109", + "measuredW": "269", + "measuredH": "42", + "w": "269", + "h": "42", + "x": "506", + "y": "851", + "properties": { + "controlName": "103-rdbms-concepts:high-level-database-concepts:write-ahead-log" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "269", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "122", + "measuredH": "24", + "x": "74", + "y": "9", + "properties": { + "size": "16", + "text": "Write-ahead Log" + } + } + ] + } + } + }, + { + "ID": "2063", + "typeID": "__group__", + "zOrder": "110", + "measuredW": "247", + "measuredH": "49", + "w": "247", + "h": "49", + "x": "876", + "y": "662", + "properties": { + "controlName": "103-installation-and-setup" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "247", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "166", + "measuredH": "25", + "x": "41", + "y": "12", + "properties": { + "size": "17", + "text": "Installation and Setup" + } + } + ] + } + } + }, + { + "ID": "2064", + "typeID": "__group__", + "zOrder": "111", + "measuredW": "180", + "measuredH": "42", + "w": "180", + "h": "42", + "x": "975", + "y": "583", + "properties": { + "controlName": "100-installation-and-setup:package-managers" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "180", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "141", + "measuredH": "24", + "x": "19", + "y": "9", + "properties": { + "size": "16", + "text": "Package Managers" + } + } + ] + } + } + }, + { + "ID": "2065", + "typeID": "__group__", + "zOrder": "112", + "measuredW": "180", + "measuredH": "42", + "w": "180", + "h": "42", + "x": "975", + "y": "537", + "properties": { + "controlName": "101-installation-and-setup:using-docker" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "180", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "98", + "measuredH": "24", + "x": "41", + "y": "9", + "properties": { + "size": "16", + "text": "Using Docker" + } + } + ] + } + } + }, + { + "ID": "2066", + "typeID": "__group__", + "zOrder": "113", + "measuredW": "189", + "measuredH": "42", + "w": "189", + "h": "42", + "x": "973", + "y": "745", + "properties": { + "controlName": "102-installation-and-setup:connect-using-psql" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "189", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "146", + "measuredH": "24", + "x": "22", + "y": "9", + "properties": { + "size": "16", + "text": "Connect using `psql`" + } + } + ] + } + } + }, + { + "ID": "2067", + "typeID": "Canvas", + "zOrder": "114", + "w": "189", + "h": "189", + "measuredW": "100", + "measuredH": "70", + "x": "1199", + "y": "592" + }, + { + "ID": "2068", + "typeID": "Label", + "zOrder": "115", + "measuredW": "140", + "measuredH": "24", + "x": "1224", + "y": "603", + "properties": { + "size": "16", + "text": "Managing Postgres" + } + }, + { + "ID": "2069", + "typeID": "__group__", + "zOrder": "116", + "measuredW": "170", + "measuredH": "42", + "w": "170", + "h": "42", + "x": "1209", + "y": "635", + "properties": { + "controlName": "104-installation-and-setup:using-systemd" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "170", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "112", + "measuredH": "24", + "x": "29", + "y": "9", + "properties": { + "size": "16", + "text": "Using `systemd`" + } + } + ] + } + } + }, + { + "ID": "2070", + "typeID": "__group__", + "zOrder": "117", + "measuredW": "170", + "measuredH": "42", + "w": "170", + "h": "42", + "x": "1209", + "y": "682", + "properties": { + "controlName": "105-installation-and-setup:using-pgctl" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "170", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "98", + "measuredH": "24", + "x": "36", + "y": "9", + "properties": { + "size": "16", + "text": "Using `pg_ctl`" + } + } + ] + } + } + }, + { + "ID": "2071", + "typeID": "__group__", + "zOrder": "118", + "measuredW": "170", + "measuredH": "42", + "w": "170", + "h": "42", + "x": "1209", + "y": "728", + "properties": { + "controlName": "106-installation-and-setup:using-pgctlcluster" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "170", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "147", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "Using `pg_ctlcluster`" + } + } + ] + } + } + }, + { + "ID": "2072", + "typeID": "__group__", + "zOrder": "119", + "measuredW": "189", + "measuredH": "42", + "w": "189", + "h": "42", + "x": "973", + "y": "791", + "properties": { + "controlName": "103-installation-and-setup:deployment-in-cloud" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "189", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "150", + "measuredH": "24", + "x": "20", + "y": "9", + "properties": { + "size": "16", + "text": "Deployment in Cloud" + } + } + ] + } + } + }, + { + "ID": "2073", + "typeID": "__group__", + "zOrder": "120", + "measuredW": "303", + "measuredH": "49", + "w": "303", + "h": "49", + "x": "1085", + "y": "887", + "properties": { + "controlName": "104-learn-sql-concepts" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "303", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "161", + "measuredH": "25", + "x": "71", + "y": "12", + "properties": { + "size": "17", + "text": "Learn SQL Concepts" + } + } + ] + } + } + }, + { + "ID": "2074", + "typeID": "__group__", + "zOrder": "121", + "measuredW": "154", + "measuredH": "234", + "w": "154", + "h": "234", + "x": "1234", + "y": "969", + "properties": { + "controlName": "101-learn-sql-concepts:dml-queries" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "154", + "h": "234", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "97", + "measuredH": "24", + "x": "28", + "y": "14", + "properties": { + "size": "16", + "text": "DML Queries" + } + } + ] + } + } + }, + { + "ID": "2075", + "typeID": "__group__", + "zOrder": "122", + "measuredW": "132", + "measuredH": "42", + "w": "132", + "h": "42", + "x": "1245", + "y": "1013", + "properties": { + "controlName": "100-learn-sql-concepts:dml-queries:querying-data" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "132", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "105", + "measuredH": "24", + "x": "13", + "y": "9", + "properties": { + "size": "16", + "text": "Querying Data" + } + } + ] + } + } + }, + { + "ID": "2076", + "typeID": "__group__", + "zOrder": "123", + "measuredW": "132", + "measuredH": "42", + "w": "132", + "h": "42", + "x": "1245", + "y": "1105", + "properties": { + "controlName": "102-learn-sql-concepts:dml-queries:modifying-data" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "132", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "109", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "Modifying Data" + } + } + ] + } + } + }, + { + "ID": "2077", + "typeID": "__group__", + "zOrder": "124", + "measuredW": "132", + "measuredH": "42", + "w": "132", + "h": "42", + "x": "1245", + "y": "1059", + "properties": { + "controlName": "101-learn-sql-concepts:dml-queries:filtering-data" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "132", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "98", + "measuredH": "24", + "x": "17", + "y": "9", + "properties": { + "size": "16", + "text": "Filtering Data" + } + } + ] + } + } + }, + { + "ID": "2078", + "typeID": "__group__", + "zOrder": "125", + "measuredW": "130", + "measuredH": "42", + "w": "130", + "h": "42", + "x": "1246", + "y": "1151", + "properties": { + "controlName": "103-learn-sql-concepts:dml-queries:joining-tables" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "130", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "103", + "measuredH": "24", + "x": "13", + "y": "9", + "properties": { + "size": "16", + "text": "Joining Tables" + } + } + ] + } + } + }, + { + "ID": "2079", + "typeID": "Arrow", + "zOrder": "126", + "w": "1", + "h": "571", + "measuredW": "150", + "measuredH": "100", + "x": "946", + "y": "920", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.4129169328207354, + "y": 570.8537254716314 + }, + "p1": { + "x": 0.5000000000000002, + "y": 0 + }, + "p2": { + "x": -0.4129169328207354, + "y": -0.11774307773504233 + } + } + }, + { + "ID": "2080", + "typeID": "__group__", + "zOrder": "127", + "measuredW": "303", + "measuredH": "42", + "w": "303", + "h": "42", + "x": "1085", + "y": "1200", + "properties": { + "controlName": "102-learn-sql-concepts:import-export-using-copy" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "303", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "208", + "measuredH": "24", + "x": "48", + "y": "9", + "properties": { + "size": "16", + "text": "Import / Export using `COPY`" + } + } + ] + } + } + }, + { + "ID": "2081", + "typeID": "__group__", + "zOrder": "128", + "measuredW": "130", + "measuredH": "42", + "w": "130", + "h": "42", + "x": "1098", + "y": "1289", + "properties": { + "controlName": "100-learn-sql-concepts:advanced-topics:transactions" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "130", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "93", + "measuredH": "24", + "x": "18", + "y": "9", + "properties": { + "size": "16", + "text": "Transactions" + } + } + ] + } + } + }, + { + "ID": "2082", + "typeID": "__group__", + "zOrder": "129", + "measuredW": "141", + "measuredH": "42", + "w": "141", + "h": "42", + "x": "1234", + "y": "1289", + "properties": { + "controlName": "101-learn-sql-concepts:advanced-topics:cte" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "141", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "32", + "measuredH": "24", + "x": "55", + "y": "9", + "properties": { + "size": "16", + "text": "CTE" + } + } + ] + } + } + }, + { + "ID": "2083", + "typeID": "__group__", + "zOrder": "130", + "measuredW": "130", + "measuredH": "42", + "w": "130", + "h": "42", + "x": "1098", + "y": "1337", + "properties": { + "controlName": "102-learn-sql-concepts:advanced-topics:subqueries" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "130", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "83", + "measuredH": "24", + "x": "23", + "y": "9", + "properties": { + "size": "16", + "text": "Subqueries" + } + } + ] + } + } + }, + { + "ID": "2084", + "typeID": "__group__", + "zOrder": "131", + "measuredW": "141", + "measuredH": "42", + "w": "141", + "h": "42", + "x": "1234", + "y": "1337", + "properties": { + "controlName": "103-learn-sql-concepts:advanced-topics:lateral-join" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "141", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "84", + "measuredH": "24", + "x": "29", + "y": "9", + "properties": { + "size": "16", + "text": "Lateral Join" + } + } + ] + } + } + }, + { + "ID": "2085", + "typeID": "__group__", + "zOrder": "132", + "measuredW": "130", + "measuredH": "42", + "w": "130", + "h": "42", + "x": "1098", + "y": "1384", + "properties": { + "controlName": "104-learn-sql-concepts:advanced-topics:grouping" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "130", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "67", + "measuredH": "24", + "x": "31", + "y": "9", + "properties": { + "size": "16", + "text": "Grouping" + } + } + ] + } + } + }, + { + "ID": "2086", + "typeID": "__group__", + "zOrder": "133", + "measuredW": "141", + "measuredH": "42", + "w": "141", + "h": "42", + "x": "1234", + "y": "1384", + "properties": { + "controlName": "105-learn-sql-concepts:advanced-topics:set-operations" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "141", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "109", + "measuredH": "24", + "x": "16", + "y": "9", + "properties": { + "size": "16", + "text": "Set Operations" + } + } + ] + } + } + }, + { + "ID": "2087", + "typeID": "__group__", + "zOrder": "134", + "measuredW": "240", + "measuredH": "49", + "w": "240", + "h": "49", + "x": "791", + "y": "1117", + "properties": { + "controlName": "105-configuring-postgresql" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "240", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "186", + "measuredH": "25", + "x": "27", + "y": "12", + "properties": { + "size": "17", + "text": "Configuring PostgreSQL" + } + } + ] + } + } + }, + { + "ID": "2088", + "typeID": "Canvas", + "zOrder": "135", + "w": "245", + "h": "79", + "measuredW": "100", + "measuredH": "70", + "x": "508", + "y": "1102" + }, + { + "ID": "2089", + "typeID": "Label", + "zOrder": "136", + "measuredW": "180", + "measuredH": "25", + "x": "530", + "y": "1116", + "properties": { + "text": "Following {color:blue}postgres.conf{color}", + "size": "17" + } + }, + { + "ID": "2090", + "typeID": "Label", + "zOrder": "137", + "measuredW": "186", + "measuredH": "25", + "x": "530", + "y": "1143", + "properties": { + "text": "configurations and more", + "size": "17" + } + }, + { + "ID": "2091", + "typeID": "__group__", + "zOrder": "138", + "measuredW": "174", + "measuredH": "42", + "w": "174", + "h": "42", + "x": "259", + "y": "1004", + "properties": { + "controlName": "100-configuring-postgresql:resources-usage" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "174", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "130", + "measuredH": "24", + "x": "22", + "y": "9", + "properties": { + "size": "16", + "text": "Resources Usage" + } + } + ] + } + } + }, + { + "ID": "2092", + "typeID": "__group__", + "zOrder": "139", + "measuredW": "174", + "measuredH": "42", + "w": "174", + "h": "42", + "x": "259", + "y": "1050", + "properties": { + "controlName": "101-configuring-postgresql:write-ahead-log" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "174", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "122", + "measuredH": "24", + "x": "26", + "y": "9", + "properties": { + "size": "16", + "text": "Write-ahead Log" + } + } + ] + } + } + }, + { + "ID": "2093", + "typeID": "__group__", + "zOrder": "140", + "measuredW": "174", + "measuredH": "67", + "w": "174", + "h": "67", + "x": "259", + "y": "1235", + "properties": { + "controlName": "105-configuring-postgresql:checkpoints-background-writer" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "174", + "h": "67", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "91", + "measuredH": "24", + "x": "41", + "y": "11", + "properties": { + "size": "16", + "text": "Checkpoints" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "2", + "measuredW": "135", + "measuredH": "24", + "x": "21", + "y": "34", + "properties": { + "size": "16", + "text": "Background Writer" + } + } + ] + } + } + }, + { + "ID": "2094", + "typeID": "__group__", + "zOrder": "141", + "measuredW": "174", + "measuredH": "42", + "w": "174", + "h": "42", + "x": "259", + "y": "1097", + "properties": { + "controlName": "102-configuring-postgresql:vacuums" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "174", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "66", + "measuredH": "24", + "x": "54", + "y": "9", + "properties": { + "size": "16", + "text": "Vacuums" + } + } + ] + } + } + }, + { + "ID": "2095", + "typeID": "__group__", + "zOrder": "142", + "measuredW": "174", + "measuredH": "42", + "w": "174", + "h": "42", + "x": "259", + "y": "1143", + "properties": { + "controlName": "103-configuring-postgresql:replication" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "174", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "82", + "measuredH": "24", + "x": "46", + "y": "9", + "properties": { + "size": "16", + "text": "Replication" + } + } + ] + } + } + }, + { + "ID": "2096", + "typeID": "__group__", + "zOrder": "143", + "measuredW": "174", + "measuredH": "42", + "w": "174", + "h": "42", + "x": "259", + "y": "1189", + "properties": { + "controlName": "104-configuring-postgresql:query-planner" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "174", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "104", + "measuredH": "24", + "x": "35", + "y": "9", + "properties": { + "size": "16", + "text": "Query Planner" + } + } + ] + } + } + }, + { + "ID": "2097", + "typeID": "__group__", + "zOrder": "144", + "measuredW": "283", + "measuredH": "42", + "w": "283", + "h": "42", + "x": "509", + "y": "1023", + "properties": { + "controlName": "107-configuring-postgresql:reporting-logging-statistics" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "283", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "236", + "measuredH": "24", + "x": "24", + "y": "9", + "properties": { + "size": "16", + "text": "Reporting Logging and Statistics" + } + } + ] + } + } + }, + { + "ID": "2098", + "typeID": "__group__", + "zOrder": "145", + "measuredW": "283", + "measuredH": "42", + "w": "283", + "h": "42", + "x": "509", + "y": "1220", + "properties": { + "controlName": "106-configuring-postgresql:adding-extensions" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "283", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "175", + "measuredH": "24", + "x": "54", + "y": "9", + "properties": { + "size": "16", + "text": "Adding Extra Extensions" + } + } + ] + } + } + }, + { + "ID": "2099", + "typeID": "Arrow", + "zOrder": "146", + "w": "176", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "770", + "y": "1491", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0.4483238886820118, + "y": -0.11774307773521286 + }, + "p1": { + "x": 0.5000000000000002, + "y": 0 + }, + "p2": { + "x": 176.47256858280025, + "y": -0.11774307773521286 + } + } + }, + { + "ID": "2100", + "typeID": "__group__", + "zOrder": "147", + "measuredW": "245", + "measuredH": "49", + "w": "245", + "h": "49", + "x": "547", + "y": "1477", + "properties": { + "controlName": "106-postgresql-security-concepts" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "245", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "211", + "measuredH": "25", + "x": "17", + "y": "12", + "properties": { + "size": "17", + "text": "Postgres Security Concepts" + } + } + ] + } + } + }, + { + "ID": "2101", + "typeID": "__group__", + "zOrder": "148", + "measuredW": "202", + "measuredH": "42", + "w": "202", + "h": "42", + "x": "259", + "y": "1436", + "properties": { + "controlName": "102-postgresql-security-concepts:authentication-models" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "202", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "162", + "measuredH": "24", + "x": "20", + "y": "9", + "properties": { + "size": "16", + "text": "Authentication Models" + } + } + ] + } + } + }, + { + "ID": "2102", + "typeID": "__group__", + "zOrder": "149", + "measuredW": "76", + "measuredH": "42", + "w": "76", + "h": "42", + "x": "259", + "y": "1481", + "properties": { + "controlName": "103-postgresql-security-concepts:roles" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "76", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "42", + "measuredH": "24", + "x": "17", + "y": "9", + "properties": { + "size": "16", + "text": "Roles" + } + } + ] + } + } + }, + { + "ID": "2103", + "typeID": "__group__", + "zOrder": "150", + "measuredW": "122", + "measuredH": "42", + "w": "122", + "h": "42", + "x": "339", + "y": "1481", + "properties": { + "controlName": "104-postgresql-security-concepts:pg-hba-conf" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "122", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "91", + "measuredH": "24", + "x": "15", + "y": "9", + "properties": { + "size": "16", + "text": "pg_hba.conf" + } + } + ] + } + } + }, + { + "ID": "2104", + "typeID": "__group__", + "zOrder": "151", + "measuredW": "202", + "measuredH": "42", + "w": "202", + "h": "42", + "x": "259", + "y": "1526", + "properties": { + "controlName": "105-postgresql-security-concepts:ssl-settings" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "202", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "92", + "measuredH": "24", + "x": "55", + "y": "9", + "properties": { + "size": "16", + "text": "SSL Settings" + } + } + ] + } + } + }, + { + "ID": "2105", + "typeID": "__group__", + "zOrder": "152", + "measuredW": "184", + "measuredH": "42", + "w": "184", + "h": "42", + "x": "548", + "y": "1402", + "properties": { + "controlName": "100-postgresql-security-concepts:object-priviliges" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "184", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "117", + "measuredH": "24", + "x": "33", + "y": "9", + "properties": { + "size": "16", + "text": "Object Priviliges" + } + } + ] + } + } + }, + { + "ID": "2106", + "typeID": "__group__", + "zOrder": "153", + "measuredW": "184", + "measuredH": "42", + "w": "184", + "h": "42", + "x": "548", + "y": "1357", + "properties": { + "controlName": "100-postgresql-security-concepts:object-priviliges:grant-revoke" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "184", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "111", + "measuredH": "24", + "x": "36", + "y": "9", + "properties": { + "size": "16", + "text": "Grant / Revoke" + } + } + ] + } + } + }, + { + "ID": "2107", + "typeID": "__group__", + "zOrder": "154", + "measuredW": "184", + "measuredH": "42", + "w": "184", + "h": "42", + "x": "548", + "y": "1312", + "properties": { + "controlName": "101-postgresql-security-concepts:object-priviliges:default-priviliges" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "184", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "127", + "measuredH": "24", + "x": "28", + "y": "9", + "properties": { + "size": "16", + "text": "Default Privileges" + } + } + ] + } + } + }, + { + "ID": "2108", + "typeID": "__group__", + "zOrder": "155", + "measuredW": "184", + "measuredH": "42", + "w": "184", + "h": "42", + "x": "548", + "y": "1562", + "properties": { + "controlName": "101-postgresql-security-concepts:advanced-topics" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "184", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "122", + "measuredH": "24", + "x": "31", + "y": "9", + "properties": { + "size": "16", + "text": "Advanced Topics" + } + } + ] + } + } + }, + { + "ID": "2109", + "typeID": "__group__", + "zOrder": "156", + "measuredW": "184", + "measuredH": "42", + "w": "184", + "h": "42", + "x": "548", + "y": "1608", + "properties": { + "controlName": "100-postgresql-security-concepts:advanced-topics:row-level-security" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "184", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "138", + "measuredH": "24", + "x": "23", + "y": "9", + "properties": { + "size": "16", + "text": "Row-Level Security" + } + } + ] + } + } + }, + { + "ID": "2110", + "typeID": "__group__", + "zOrder": "157", + "measuredW": "184", + "measuredH": "42", + "w": "184", + "h": "42", + "x": "548", + "y": "1653", + "properties": { + "controlName": "101-postgresql-security-concepts:advanced-topics:selinux" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "184", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "59", + "measuredH": "24", + "x": "62", + "y": "9", + "properties": { + "size": "16", + "text": "SELinux" + } + } + ] + } + } + }, + { + "ID": "2111", + "typeID": "__group__", + "zOrder": "158", + "measuredW": "278", + "measuredH": "49", + "w": "278", + "h": "49", + "x": "788", + "y": "1756", + "properties": { + "controlName": "107-postgresql-infrastructure-skills" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "278", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "216", + "measuredH": "25", + "x": "31", + "y": "12", + "properties": { + "size": "17", + "text": "Develop Infrastructure Skills" + } + } + ] + } + } + }, + { + "ID": "2112", + "typeID": "__group__", + "zOrder": "159", + "measuredW": "221", + "measuredH": "143", + "w": "221", + "h": "143", + "x": "1148", + "y": "1487", + "properties": { + "controlName": "100-postgresql-infrastructure-skills:replication" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "221", + "h": "143", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "82", + "measuredH": "24", + "x": "70", + "y": "108", + "properties": { + "size": "16", + "text": "Replication" + } + } + ] + } + } + }, + { + "ID": "2113", + "typeID": "__group__", + "zOrder": "160", + "measuredW": "194", + "measuredH": "42", + "w": "194", + "h": "42", + "x": "1162", + "y": "1545", + "properties": { + "controlName": "101-postgresql-infrastructure-skills:replication:streaming-replication" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "194", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "160", + "measuredH": "24", + "x": "17", + "y": "9", + "properties": { + "size": "16", + "text": "Streaming Replication" + } + } + ] + } + } + }, + { + "ID": "2114", + "typeID": "__group__", + "zOrder": "161", + "measuredW": "194", + "measuredH": "42", + "w": "194", + "h": "42", + "x": "1162", + "y": "1499", + "properties": { + "controlName": "100-postgresql-infrastructure-skills:replication:logical-replication" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "194", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "139", + "measuredH": "24", + "x": "27", + "y": "9", + "properties": { + "size": "16", + "text": "Logical Replication" + } + } + ] + } + } + }, + { + "ID": "2115", + "typeID": "__group__", + "zOrder": "162", + "measuredW": "103", + "measuredH": "42", + "w": "103", + "h": "42", + "x": "1169", + "y": "1991", + "properties": { + "controlName": "104-postgresql-infrastructure-skills:backup-recovery-tools:pg-dump" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "103", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "69", + "measuredH": "24", + "x": "17", + "y": "9", + "properties": { + "size": "16", + "text": "pg_dump" + } + } + ] + } + } + }, + { + "ID": "2116", + "typeID": "__group__", + "zOrder": "163", + "measuredW": "108", + "measuredH": "42", + "w": "108", + "h": "42", + "x": "1277", + "y": "1991", + "properties": { + "controlName": "105-postgresql-infrastructure-skills:backup-recovery-tools:pg-dumpall" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "108", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "86", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "pg_dumpall" + } + } + ] + } + } + }, + { + "ID": "2117", + "typeID": "__group__", + "zOrder": "164", + "measuredW": "216", + "measuredH": "42", + "w": "216", + "h": "42", + "x": "1169", + "y": "2038", + "properties": { + "controlName": "106-postgresql-infrastructure-skills:backup-recovery-tools:pg-restore" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "216", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "81", + "measuredH": "24", + "x": "67", + "y": "9", + "properties": { + "size": "16", + "text": "pg_restore" + } + } + ] + } + } + }, + { + "ID": "2118", + "typeID": "__group__", + "zOrder": "165", + "measuredW": "216", + "measuredH": "42", + "w": "216", + "h": "42", + "x": "1169", + "y": "2084", + "properties": { + "controlName": "107-postgresql-infrastructure-skills:backup-recovery-tools:pg-basebackup" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "216", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "117", + "measuredH": "24", + "x": "49", + "y": "9", + "properties": { + "size": "16", + "text": "pg_basebackup" + } + } + ] + } + } + }, + { + "ID": "2119", + "typeID": "Label", + "zOrder": "166", + "measuredW": "87", + "measuredH": "24", + "x": "1214", + "y": "1911", + "properties": { + "size": "16", + "text": "Builtin Tools" + } + }, + { + "ID": "2120", + "typeID": "Label", + "zOrder": "167", + "measuredW": "66", + "measuredH": "24", + "x": "1046", + "y": "1911", + "properties": { + "size": "16", + "text": "3rd Party" + } + }, + { + "ID": "2121", + "typeID": "__group__", + "zOrder": "168", + "measuredW": "81", + "measuredH": "42", + "w": "81", + "h": "42", + "x": "986", + "y": "1991", + "properties": { + "controlName": "100-postgresql-infrastructure-skills:backup-recovery-tools:barman" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "81", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "24", + "x": "13", + "y": "9", + "properties": { + "size": "16", + "text": "barman" + } + } + ] + } + } + }, + { + "ID": "2122", + "typeID": "__group__", + "zOrder": "169", + "measuredW": "166", + "measuredH": "42", + "w": "166", + "h": "42", + "x": "986", + "y": "2037", + "properties": { + "controlName": "102-postgresql-infrastructure-skills:backup-recovery-tools:pgbackrest" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "166", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "81", + "measuredH": "24", + "x": "42", + "y": "9", + "properties": { + "size": "16", + "text": "pgbackrest" + } + } + ] + } + } + }, + { + "ID": "2123", + "typeID": "__group__", + "zOrder": "170", + "measuredW": "166", + "measuredH": "42", + "w": "166", + "h": "42", + "x": "986", + "y": "2082", + "properties": { + "controlName": "103-postgresql-infrastructure-skills:backup-recovery-tools:pg-probackup" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "166", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "105", + "measuredH": "24", + "x": "30", + "y": "9", + "properties": { + "size": "16", + "text": "pg_probackup" + } + } + ] + } + } + }, + { + "ID": "2124", + "typeID": "__group__", + "zOrder": "171", + "measuredW": "80", + "measuredH": "42", + "w": "80", + "h": "42", + "x": "1072", + "y": "1991", + "properties": { + "controlName": "101-postgresql-infrastructure-skills:backup-recovery-tools:wal-g" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "80", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "51", + "measuredH": "24", + "x": "14", + "y": "9", + "properties": { + "size": "16", + "text": "WAL-G" + } + } + ] + } + } + }, + { + "ID": "2125", + "typeID": "__group__", + "zOrder": "172", + "measuredW": "418", + "measuredH": "42", + "w": "418", + "h": "42", + "x": "977", + "y": "2133", + "properties": { + "controlName": "108-postgresql-infrastructure-skills:backup-recovery-tools:backup-validation-procedures" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "418", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "217", + "measuredH": "24", + "x": "98", + "y": "9", + "properties": { + "size": "16", + "text": "Backup Validation Procedures" + } + } + ] + } + } + }, + { + "ID": "2126", + "typeID": "__group__", + "zOrder": "173", + "measuredW": "211", + "measuredH": "42", + "w": "211", + "h": "42", + "x": "745", + "y": "1832", + "properties": { + "controlName": "103-postgresql-infrastructure-skills:upgrade-procedures" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "211", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "152", + "measuredH": "24", + "x": "30", + "y": "9", + "properties": { + "size": "16", + "text": "Upgrade Procedures" + } + } + ] + } + } + }, + { + "ID": "2127", + "typeID": "__group__", + "zOrder": "174", + "measuredW": "211", + "measuredH": "42", + "w": "211", + "h": "42", + "x": "745", + "y": "1902", + "properties": { + "controlName": "100-postgresql-infrastructure-skills:upgrade-procedures:using-pg-upgrade" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "211", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "142", + "measuredH": "24", + "x": "35", + "y": "9", + "properties": { + "size": "16", + "text": "Using `pg_upgrade`" + } + } + ] + } + } + }, + { + "ID": "2128", + "typeID": "__group__", + "zOrder": "175", + "measuredW": "211", + "measuredH": "42", + "w": "211", + "h": "42", + "x": "745", + "y": "1948", + "properties": { + "controlName": "101-postgresql-infrastructure-skills:upgrade-procedures:using-logical-replication" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "211", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "184", + "measuredH": "24", + "x": "14", + "y": "9", + "properties": { + "size": "16", + "text": "Using Logical Replication" + } + } + ] + } + } + }, + { + "ID": "2129", + "typeID": "__group__", + "zOrder": "176", + "measuredW": "221", + "measuredH": "143", + "w": "221", + "h": "143", + "x": "1146", + "y": "1664", + "properties": { + "controlName": "101-postgresql-infrastructure-skills:connection-pooling" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "221", + "h": "143", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "141", + "measuredH": "24", + "x": "40", + "y": "108", + "properties": { + "size": "16", + "text": "Connection Pooling" + } + } + ] + } + } + }, + { + "ID": "2130", + "typeID": "__group__", + "zOrder": "177", + "measuredW": "194", + "measuredH": "42", + "w": "194", + "h": "42", + "x": "1160", + "y": "1722", + "properties": { + "controlName": "101-postgresql-infrastructure-skills:connection-pooling:pg-bouncer-alternatives" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "194", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "170", + "measuredH": "24", + "x": "12", + "y": "9", + "properties": { + "size": "16", + "text": "PgBouncer Alternatives" + } + } + ] + } + } + }, + { + "ID": "2131", + "typeID": "__group__", + "zOrder": "178", + "measuredW": "194", + "measuredH": "42", + "w": "194", + "h": "42", + "x": "1160", + "y": "1676", + "properties": { + "controlName": "100-postgresql-infrastructure-skills:connection-pooling:pg-bouncer" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "194", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "81", + "measuredH": "24", + "x": "56", + "y": "9", + "properties": { + "size": "16", + "text": "PgBouncer" + } + } + ] + } + } + }, + { + "ID": "2133", + "typeID": "__group__", + "zOrder": "179", + "measuredW": "211", + "measuredH": "42", + "w": "211", + "h": "42", + "x": "745", + "y": "2017", + "properties": { + "controlName": "106-postgresql-infrastructure-skills:monitoring" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "211", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "78", + "measuredH": "24", + "x": "67", + "y": "9", + "properties": { + "size": "16", + "text": "Monitoring" + } + } + ] + } + } + }, + { + "ID": "2134", + "typeID": "__group__", + "zOrder": "180", + "measuredW": "112", + "measuredH": "42", + "w": "112", + "h": "42", + "x": "745", + "y": "2064", + "properties": { + "controlName": "100-postgresql-infrastructure-skills:monitoring:prometheus" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "112", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "88", + "measuredH": "24", + "x": "12", + "y": "9", + "properties": { + "size": "16", + "text": "Prometheus" + } + } + ] + } + } + }, + { + "ID": "2135", + "typeID": "__group__", + "zOrder": "181", + "measuredW": "94", + "measuredH": "42", + "w": "94", + "h": "42", + "x": "862", + "y": "2064", + "properties": { + "controlName": "101-postgresql-infrastructure-skills:monitoring:zabbix" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "94", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "49", + "measuredH": "24", + "x": "22", + "y": "9", + "properties": { + "size": "16", + "text": "Zabbix" + } + } + ] + } + } + }, + { + "ID": "2136", + "typeID": "Arrow", + "zOrder": "182", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "595", + "y": "1858", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "2137", + "typeID": "__group__", + "zOrder": "183", + "measuredW": "211", + "measuredH": "42", + "w": "211", + "h": "42", + "x": "491", + "y": "1832", + "properties": { + "controlName": "104-postgresql-infrastructure-skills:cluster-management" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "211", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "153", + "measuredH": "24", + "x": "29", + "y": "9", + "properties": { + "size": "16", + "text": "Cluster Management" + } + } + ] + } + } + }, + { + "ID": "2138", + "typeID": "__group__", + "zOrder": "184", + "measuredW": "211", + "measuredH": "42", + "w": "211", + "h": "42", + "x": "491", + "y": "1902", + "properties": { + "controlName": "100-postgresql-infrastructure-skills:cluster-management:patroni" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "211", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "51", + "measuredH": "24", + "x": "80", + "y": "9", + "properties": { + "size": "16", + "text": "Patroni" + } + } + ] + } + } + }, + { + "ID": "2139", + "typeID": "__group__", + "zOrder": "185", + "measuredW": "211", + "measuredH": "42", + "w": "211", + "h": "42", + "x": "491", + "y": "1948", + "properties": { + "controlName": "101-postgresql-infrastructure-skills:cluster-management:patroni-alternatives" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "211", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "140", + "measuredH": "24", + "x": "36", + "y": "9", + "properties": { + "size": "16", + "text": "Patroni Alternatives" + } + } + ] + } + } + }, + { + "ID": "2140", + "typeID": "Arrow", + "zOrder": "186", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "542", + "y": "2042", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "2141", + "typeID": "__group__", + "zOrder": "187", + "measuredW": "301", + "measuredH": "42", + "w": "301", + "h": "42", + "x": "426", + "y": "2016", + "properties": { + "controlName": "107-postgresql-infrastructure-skills:load-balancing" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "301", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "262", + "measuredH": "24", + "x": "22", + "y": "9", + "properties": { + "size": "16", + "text": "Load Balancing & Service Discovery" + } + } + ] + } + } + }, + { + "ID": "2142", + "typeID": "__group__", + "zOrder": "188", + "measuredW": "106", + "measuredH": "42", + "w": "106", + "h": "42", + "x": "484", + "y": "2086", + "properties": { + "controlName": "100-postgresql-infrastructure-skills:load-balancing:ha-proxy" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "106", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "61", + "measuredH": "24", + "x": "22", + "y": "9", + "properties": { + "size": "16", + "text": "HAProxy" + } + } + ] + } + } + }, + { + "ID": "2143", + "typeID": "__group__", + "zOrder": "189", + "measuredW": "106", + "measuredH": "42", + "w": "106", + "h": "42", + "x": "484", + "y": "2132", + "properties": { + "controlName": "102-postgresql-infrastructure-skills:load-balancing:keep-alived" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "106", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "81", + "measuredH": "24", + "x": "12", + "y": "9", + "properties": { + "size": "16", + "text": "KeepAlived" + } + } + ] + } + } + }, + { + "ID": "2144", + "typeID": "__group__", + "zOrder": "190", + "measuredW": "91", + "measuredH": "42", + "w": "91", + "h": "42", + "x": "595", + "y": "2086", + "properties": { + "controlName": "101-postgresql-infrastructure-skills:load-balancing:consul" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "91", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "50", + "measuredH": "24", + "x": "21", + "y": "9", + "properties": { + "size": "16", + "text": "Consul" + } + } + ] + } + } + }, + { + "ID": "2145", + "typeID": "__group__", + "zOrder": "191", + "measuredW": "91", + "measuredH": "42", + "w": "91", + "h": "42", + "x": "595", + "y": "2133", + "properties": { + "controlName": "103-postgresql-infrastructure-skills:load-balancing:etcd" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "91", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "33", + "measuredH": "24", + "x": "29", + "y": "9", + "properties": { + "size": "16", + "text": "Etcd" + } + } + ] + } + } + }, + { + "ID": "2146", + "typeID": "Arrow", + "zOrder": "192", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "354", + "y": "1858", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "2147", + "typeID": "__group__", + "zOrder": "193", + "measuredW": "197", + "measuredH": "42", + "w": "197", + "h": "42", + "x": "264", + "y": "1832", + "properties": { + "controlName": "105-postgresql-infrastructure-skills:kubernetes-deployment" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "197", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "175", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "Kubernetes Deployment" + } + } + ] + } + } + }, + { + "ID": "2148", + "typeID": "__group__", + "zOrder": "194", + "measuredW": "197", + "measuredH": "42", + "w": "197", + "h": "42", + "x": "264", + "y": "1902", + "properties": { + "controlName": "100-postgresql-infrastructure-skills:kubernetes-deployment:simple-stateful-setup" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "197", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "154", + "measuredH": "24", + "x": "22", + "y": "9", + "properties": { + "size": "16", + "text": "Simple Stateful Setup" + } + } + ] + } + } + }, + { + "ID": "2149", + "typeID": "__group__", + "zOrder": "195", + "measuredW": "90", + "measuredH": "42", + "w": "90", + "h": "42", + "x": "264", + "y": "1948", + "properties": { + "controlName": "101-postgresql-infrastructure-skills:kubernetes-deployment:helm" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "90", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "38", + "measuredH": "24", + "x": "26", + "y": "9", + "properties": { + "size": "16", + "text": "Helm" + } + } + ] + } + } + }, + { + "ID": "2150", + "typeID": "__group__", + "zOrder": "196", + "measuredW": "104", + "measuredH": "42", + "w": "104", + "h": "42", + "x": "358", + "y": "1948", + "properties": { + "controlName": "102-postgresql-infrastructure-skills:kubernetes-deployment:operators" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "104", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "74", + "measuredH": "24", + "x": "20", + "y": "9", + "properties": { + "size": "16", + "text": "Operators" + } + } + ] + } + } + }, + { + "ID": "2151", + "typeID": "__group__", + "zOrder": "197", + "measuredW": "427", + "measuredH": "42", + "w": "427", + "h": "42", + "x": "288", + "y": "1715", + "properties": { + "controlName": "100-postgresql-infrastructure-skills:resource-usage-provisioing-capacity-planning" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "427", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "382", + "measuredH": "24", + "x": "23", + "y": "9", + "properties": { + "size": "16", + "text": "Resource Usage and Provisioning, Capacity Planning" + } + } + ] + } + } + }, + { + "ID": "2152", + "typeID": "Arrow", + "zOrder": "198", + "w": "1", + "h": "508", + "measuredW": "150", + "measuredH": "100", + "x": "232", + "y": "1784", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.4129169328207354, + "y": 507.5072332031234 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": -0.4129169328207354, + "y": -0.5 + } + } + }, + { + "ID": "2153", + "typeID": "Arrow", + "zOrder": "199", + "w": "1151", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "232", + "y": "2292", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0.13465453284504747, + "y": -0.11774307773521286 + }, + "p1": { + "x": 0.5000000000000001, + "y": 0 + }, + "p2": { + "x": 1150.9611057996974, + "y": -0.11774307773521286 + } + } + }, + { + "ID": "2154", + "typeID": "__group__", + "zOrder": "200", + "measuredW": "274", + "measuredH": "49", + "w": "274", + "h": "49", + "x": "294", + "y": "2268", + "properties": { + "controlName": "108-learn-automation" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "274", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "215", + "measuredH": "25", + "x": "29", + "y": "12", + "properties": { + "size": "17", + "text": "Learn to Automate Routines" + } + } + ] + } + } + }, + { + "ID": "2155", + "typeID": "__group__", + "zOrder": "201", + "measuredW": "274", + "measuredH": "42", + "w": "274", + "h": "42", + "x": "294", + "y": "2347", + "properties": { + "controlName": "100-learn-automation:shell-scripts" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "274", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "89", + "measuredH": "24", + "x": "92", + "y": "9", + "properties": { + "size": "16", + "text": "Shell Scripts" + } + } + ] + } + } + }, + { + "ID": "2156", + "typeID": "__group__", + "zOrder": "202", + "measuredW": "274", + "measuredH": "42", + "w": "274", + "h": "42", + "x": "294", + "y": "2393", + "properties": { + "controlName": "101-learn-automation:programming-language" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "274", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "204", + "measuredH": "24", + "x": "35", + "y": "9", + "properties": { + "size": "16", + "text": "Any Programming Language" + } + } + ] + } + } + }, + { + "ID": "2157", + "typeID": "__group__", + "zOrder": "203", + "measuredW": "274", + "measuredH": "42", + "w": "274", + "h": "42", + "x": "294", + "y": "2524", + "properties": { + "controlName": "102-learn-automation:configuration-management" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "274", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "198", + "measuredH": "24", + "x": "38", + "y": "9", + "properties": { + "size": "16", + "text": "Configuration Management" + } + } + ] + } + } + }, + { + "ID": "2158", + "typeID": "__group__", + "zOrder": "204", + "measuredW": "75", + "measuredH": "42", + "w": "75", + "h": "42", + "x": "294", + "y": "2572", + "properties": { + "controlName": "100-learn-automation:configuration-management:ansible" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "75", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "53", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "Ansible" + } + } + ] + } + } + }, + { + "ID": "2159", + "typeID": "__group__", + "zOrder": "205", + "measuredW": "53", + "measuredH": "42", + "w": "53", + "h": "42", + "x": "374", + "y": "2572", + "properties": { + "controlName": "101-learn-automation:configuration-management:salt" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "53", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "28", + "measuredH": "24", + "x": "13", + "y": "9", + "properties": { + "size": "16", + "text": "Salt" + } + } + ] + } + } + }, + { + "ID": "2160", + "typeID": "__group__", + "zOrder": "206", + "measuredW": "57", + "measuredH": "42", + "w": "57", + "h": "42", + "x": "431", + "y": "2572", + "properties": { + "controlName": "102-learn-automation:configuration-management:chef" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "57", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "35", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "Chef" + } + } + ] + } + } + }, + { + "ID": "2161", + "typeID": "__group__", + "zOrder": "207", + "measuredW": "75", + "measuredH": "42", + "w": "75", + "h": "42", + "x": "493", + "y": "2572", + "properties": { + "controlName": "103-learn-automation:configuration-management:puppet" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "75", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "52", + "measuredH": "24", + "x": "12", + "y": "9", + "properties": { + "size": "16", + "text": "Puppet" + } + } + ] + } + } + }, + { + "ID": "2162", + "typeID": "__group__", + "zOrder": "208", + "measuredW": "274", + "measuredH": "49", + "w": "274", + "h": "49", + "x": "627", + "y": "2268", + "properties": { + "controlName": "109-application-skills" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "274", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "128", + "measuredH": "25", + "x": "73", + "y": "12", + "properties": { + "size": "17", + "text": "Application Skills" + } + } + ] + } + } + }, + { + "ID": "2163", + "typeID": "__group__", + "zOrder": "209", + "measuredW": "109", + "measuredH": "42", + "w": "109", + "h": "42", + "x": "627", + "y": "2347", + "properties": { + "controlName": "100-application-skills:migrations" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "109", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "76", + "measuredH": "24", + "x": "17", + "y": "9", + "properties": { + "size": "16", + "text": "Migrations" + } + } + ] + } + } + }, + { + "ID": "2164", + "typeID": "__group__", + "zOrder": "210", + "measuredW": "300", + "measuredH": "42", + "w": "300", + "h": "42", + "x": "627", + "y": "2396", + "properties": { + "controlName": "100-application-skills:migrations:practical-patterns" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "300", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "252", + "measuredH": "24", + "x": "24", + "y": "9", + "properties": { + "size": "16", + "text": "Practical Patterns and Antipatterns" + } + } + ] + } + } + }, + { + "ID": "2165", + "typeID": "__group__", + "zOrder": "211", + "measuredW": "300", + "measuredH": "42", + "w": "300", + "h": "42", + "x": "627", + "y": "2442", + "properties": { + "controlName": "101-application-skills:migrations:liquidbase-sqitch-bytebase-ora2pg" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "300", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "276", + "measuredH": "24", + "x": "12", + "y": "9", + "properties": { + "size": "16", + "text": "liquibase, sqitch, Bytebase, ora2pg etc" + } + } + ] + } + } + }, + { + "ID": "2166", + "typeID": "Label", + "zOrder": "212", + "measuredW": "110", + "measuredH": "24", + "x": "627", + "y": "2488", + "properties": { + "size": "16", + "text": "Migration Tools" + } + }, + { + "ID": "2167", + "typeID": "__group__", + "zOrder": "213", + "measuredW": "297", + "measuredH": "42", + "w": "297", + "h": "42", + "x": "609", + "y": "2528", + "properties": { + "controlName": "102-application-skills:bulk-load-process-data" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "297", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "249", + "measuredH": "24", + "x": "24", + "y": "9", + "properties": { + "size": "16", + "text": "Bulk Loading and Processing Data" + } + } + ] + } + } + }, + { + "ID": "2168", + "typeID": "__group__", + "zOrder": "214", + "measuredW": "145", + "measuredH": "42", + "w": "145", + "h": "42", + "x": "609", + "y": "2573", + "properties": { + "controlName": "103-application-skills:data-partitioning" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "145", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "121", + "measuredH": "24", + "x": "12", + "y": "9", + "properties": { + "size": "16", + "text": "Data Partitioning" + } + } + ] + } + } + }, + { + "ID": "2169", + "typeID": "__group__", + "zOrder": "215", + "measuredW": "297", + "measuredH": "42", + "w": "297", + "h": "42", + "x": "609", + "y": "2618", + "properties": { + "controlName": "104-application-skills:data-normalization-normal-forms" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "297", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "257", + "measuredH": "24", + "x": "20", + "y": "9", + "properties": { + "size": "16", + "text": "Data Normalization / Normal Forms" + } + } + ] + } + } + }, + { + "ID": "2170", + "typeID": "Canvas", + "zOrder": "216", + "w": "146", + "h": "126", + "measuredW": "100", + "measuredH": "70", + "x": "608", + "y": "2682" + }, + { + "ID": "2171", + "typeID": "__group__", + "zOrder": "217", + "measuredW": "109", + "measuredH": "42", + "w": "109", + "h": "42", + "x": "619", + "y": "2663", + "properties": { + "controlName": "101-application-skills:queues" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "109", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "58", + "measuredH": "24", + "x": "26", + "y": "9", + "properties": { + "size": "16", + "text": "Queues" + } + } + ] + } + } + }, + { + "ID": "2172", + "typeID": "__group__", + "zOrder": "218", + "measuredW": "279", + "measuredH": "42", + "w": "279", + "h": "42", + "x": "618", + "y": "2711", + "properties": { + "controlName": "100-application-skills:queues:practical-patterns-antipatterns" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "279", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "252", + "measuredH": "24", + "x": "14", + "y": "9", + "properties": { + "size": "16", + "text": "Practical Patterns and Antipatterns" + } + } + ] + } + } + }, + { + "ID": "2173", + "typeID": "__group__", + "zOrder": "219", + "measuredW": "279", + "measuredH": "42", + "w": "279", + "h": "42", + "x": "618", + "y": "2756", + "properties": { + "controlName": "101-application-skills:queues:skytools-pgq" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "279", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "99", + "measuredH": "24", + "x": "12", + "y": "9", + "properties": { + "size": "16", + "text": "Skytools PGQ" + } + } + ] + } + } + }, + { + "ID": "2174", + "typeID": "__group__", + "zOrder": "220", + "measuredW": "299", + "measuredH": "49", + "w": "299", + "h": "49", + "x": "949", + "y": "2268", + "properties": { + "controlName": "110-advanced-topics" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "299", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "130", + "measuredH": "25", + "x": "85", + "y": "12", + "properties": { + "size": "17", + "text": "Advanced Topics" + } + } + ] + } + } + }, + { + "ID": "2175", + "typeID": "__group__", + "zOrder": "221", + "measuredW": "169", + "measuredH": "330", + "w": "169", + "h": "330", + "x": "949", + "y": "2359", + "properties": { + "controlName": "100-advanced-topics:low-level-internals" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "169", + "h": "330", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "140", + "measuredH": "24", + "x": "15", + "y": "15", + "properties": { + "size": "16", + "text": "Low Level Internals" + } + } + ] + } + } + }, + { + "ID": "2176", + "typeID": "__group__", + "zOrder": "222", + "measuredW": "286", + "measuredH": "42", + "w": "286", + "h": "42", + "x": "962", + "y": "2409", + "properties": { + "controlName": "100-advanced-topics:low-level-internals:process-memory-arch" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "286", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "261", + "measuredH": "24", + "x": "12", + "y": "9", + "properties": { + "size": "16", + "text": "Processes and memory architecture" + } + } + ] + } + } + }, + { + "ID": "2177", + "typeID": "__group__", + "zOrder": "223", + "measuredW": "286", + "measuredH": "42", + "w": "286", + "h": "42", + "x": "962", + "y": "2454", + "properties": { + "controlName": "101-advanced-topics:low-level-internals:vacuum-processing" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "286", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "143", + "measuredH": "24", + "x": "71", + "y": "9", + "properties": { + "size": "16", + "text": "Vacuum Processing" + } + } + ] + } + } + }, + { + "ID": "2178", + "typeID": "__group__", + "zOrder": "224", + "measuredW": "286", + "measuredH": "42", + "w": "286", + "h": "42", + "x": "962", + "y": "2499", + "properties": { + "controlName": "102-advanced-topics:low-level-internals:buffer-management" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "286", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "144", + "measuredH": "24", + "x": "71", + "y": "9", + "properties": { + "size": "16", + "text": "Buffer Management" + } + } + ] + } + } + }, + { + "ID": "2179", + "typeID": "__group__", + "zOrder": "225", + "measuredW": "286", + "measuredH": "42", + "w": "286", + "h": "42", + "x": "962", + "y": "2544", + "properties": { + "controlName": "103-advanced-topics:low-level-internals:lock-management" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "286", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "135", + "measuredH": "24", + "x": "75", + "y": "9", + "properties": { + "size": "16", + "text": "Lock Management" + } + } + ] + } + } + }, + { + "ID": "2180", + "typeID": "__group__", + "zOrder": "226", + "measuredW": "286", + "measuredH": "42", + "w": "286", + "h": "42", + "x": "962", + "y": "2589", + "properties": { + "controlName": "104-advanced-topics:low-level-internals:physical-storage-and-file-layout" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "286", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "234", + "measuredH": "24", + "x": "26", + "y": "9", + "properties": { + "size": "16", + "text": "Physical Storage and File Layout" + } + } + ] + } + } + }, + { + "ID": "2181", + "typeID": "__group__", + "zOrder": "227", + "measuredW": "286", + "measuredH": "42", + "w": "286", + "h": "42", + "x": "962", + "y": "2634", + "properties": { + "controlName": "105-advanced-topics:low-level-internals:system-catalog" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "286", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "113", + "measuredH": "24", + "x": "86", + "y": "9", + "properties": { + "size": "16", + "text": "System Catalog" + } + } + ] + } + } + }, + { + "ID": "2182", + "typeID": "__group__", + "zOrder": "228", + "measuredW": "169", + "measuredH": "195", + "w": "169", + "h": "195", + "x": "950", + "y": "2696", + "properties": { + "controlName": "101-advanced-topics:fine-grained-tuning" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "169", + "h": "195", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "147", + "measuredH": "24", + "x": "11", + "y": "14", + "properties": { + "size": "16", + "text": "Fine Grained Tuning" + } + } + ] + } + } + }, + { + "ID": "2183", + "typeID": "__group__", + "zOrder": "229", + "measuredW": "369", + "measuredH": "42", + "w": "369", + "h": "42", + "x": "962", + "y": "2743", + "properties": { + "controlName": "100-advanced-topics:fine-grained-tuning:per-user-per-database-settings" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "369", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "232", + "measuredH": "24", + "x": "14", + "y": "9", + "properties": { + "size": "16", + "text": "Per-user, Per-Database Settings" + } + } + ] + } + } + }, + { + "ID": "2184", + "typeID": "__group__", + "zOrder": "230", + "measuredW": "369", + "measuredH": "42", + "w": "369", + "h": "42", + "x": "962", + "y": "2788", + "properties": { + "controlName": "101-advanced-topics:fine-grained-tuning:storage-parameters" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "369", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "145", + "measuredH": "24", + "x": "13", + "y": "9", + "properties": { + "size": "16", + "text": "Storage Parameters" + } + } + ] + } + } + }, + { + "ID": "2185", + "typeID": "__group__", + "zOrder": "231", + "measuredW": "369", + "measuredH": "42", + "w": "369", + "h": "42", + "x": "962", + "y": "2834", + "properties": { + "controlName": "102-advanced-topics:fine-grained-tuning:workload-dependant-tuning" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "369", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "341", + "measuredH": "24", + "x": "13", + "y": "9", + "properties": { + "size": "16", + "text": "Workload-dependant tuning: OLTP, OLAP, HTAP" + } + } + ] + } + } + }, + { + "ID": "2186", + "typeID": "__group__", + "zOrder": "232", + "measuredW": "169", + "measuredH": "195", + "w": "169", + "h": "195", + "x": "950", + "y": "2897", + "properties": { + "controlName": "102-advanced-topics:advanced-sql" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "169", + "h": "195", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "107", + "measuredH": "24", + "x": "31", + "y": "14", + "properties": { + "size": "16", + "text": "Advanced SQL" + } + } + ] + } + } + }, + { + "ID": "2187", + "typeID": "__group__", + "zOrder": "233", + "measuredW": "103", + "measuredH": "42", + "w": "103", + "h": "42", + "x": "962", + "y": "2944", + "properties": { + "controlName": "100-advanced-topics:advanced-sql:pl-pgsql" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "103", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "77", + "measuredH": "24", + "x": "14", + "y": "9", + "properties": { + "size": "16", + "text": "PL/pgSQL" + } + } + ] + } + } + }, + { + "ID": "2188", + "typeID": "__group__", + "zOrder": "234", + "measuredW": "103", + "measuredH": "42", + "w": "103", + "h": "42", + "x": "962", + "y": "2989", + "properties": { + "controlName": "102-advanced-topics:advanced-sql:triggers" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "103", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "61", + "measuredH": "24", + "x": "21", + "y": "9", + "properties": { + "size": "16", + "text": "Triggers" + } + } + ] + } + } + }, + { + "ID": "2189", + "typeID": "__group__", + "zOrder": "235", + "measuredW": "328", + "measuredH": "42", + "w": "328", + "h": "42", + "x": "962", + "y": "3035", + "properties": { + "controlName": "104-advanced-topics:advanced-sql:aggregate-and-window-functions" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "328", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "234", + "measuredH": "24", + "x": "13", + "y": "9", + "properties": { + "size": "16", + "text": "Aggregate and window functions" + } + } + ] + } + } + }, + { + "ID": "2190", + "typeID": "__group__", + "zOrder": "236", + "measuredW": "219", + "measuredH": "42", + "w": "219", + "h": "42", + "x": "1069", + "y": "2944", + "properties": { + "controlName": "101-advanced-topics:advanced-sql:procedures-and-functions" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "219", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "190", + "measuredH": "24", + "x": "14", + "y": "9", + "properties": { + "size": "16", + "text": "Procedures and Functions" + } + } + ] + } + } + }, + { + "ID": "2191", + "typeID": "__group__", + "zOrder": "237", + "measuredW": "219", + "measuredH": "42", + "w": "219", + "h": "42", + "x": "1069", + "y": "2989", + "properties": { + "controlName": "103-advanced-topics:advanced-sql:recursive-cte" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "219", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "109", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "Recursive CTE" + } + } + ] + } + } + }, + { + "ID": "2192", + "typeID": "Arrow", + "zOrder": "238", + "w": "1", + "h": "873", + "measuredW": "150", + "measuredH": "100", + "x": "1382", + "y": "2293", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.4129169328207354, + "y": 872.4114173726703 + }, + "p1": { + "x": 0.4999999999999997, + "y": 0 + }, + "p2": { + "x": -0.4129169328207354, + "y": -0.11774307773504233 + } + } + }, + { + "ID": "2193", + "typeID": "Arrow", + "zOrder": "239", + "w": "446", + "h": "1", + "measuredW": "150", + "measuredH": "100", + "x": "936", + "y": "3166", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": 0, + "y": -0.11774307773521286 + }, + "p1": { + "x": 0.49999999999999994, + "y": 0 + }, + "p2": { + "x": 446, + "y": -0.11774307773521286 + } + } + }, + { + "ID": "2194", + "typeID": "__group__", + "zOrder": "240", + "measuredW": "252", + "measuredH": "49", + "w": "252", + "h": "49", + "x": "792", + "y": "3141", + "properties": { + "controlName": "111-troubleshooting-techniques" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "252", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "216", + "measuredH": "25", + "x": "18", + "y": "12", + "properties": { + "size": "17", + "text": "Troubleshooting Techniques" + } + } + ] + } + } + }, + { + "ID": "2195", + "typeID": "__group__", + "zOrder": "284", + "measuredW": "209", + "measuredH": "135", + "w": "209", + "h": "135", + "x": "296", + "y": "2688", + "properties": { + "controlName": "100-troubleshooting-techniques:system-views" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "209", + "h": "135", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "166", + "measuredH": "24", + "x": "21", + "y": "10", + "properties": { + "size": "16", + "text": "Postgres System Views" + } + } + ] + } + } + }, + { + "ID": "2196", + "typeID": "__group__", + "zOrder": "285", + "measuredW": "190", + "measuredH": "42", + "w": "190", + "h": "42", + "x": "305", + "y": "2727", + "properties": { + "controlName": "100-troubleshooting-techniques:system-views:pg-stat-activity" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "190", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "115", + "measuredH": "24", + "x": "37", + "y": "9", + "properties": { + "size": "16", + "text": "pg_stat_activity" + } + } + ] + } + } + }, + { + "ID": "2197", + "typeID": "__group__", + "zOrder": "286", + "measuredW": "190", + "measuredH": "42", + "w": "190", + "h": "42", + "x": "305", + "y": "2771", + "properties": { + "controlName": "101-troubleshooting-techniques:system-views:pg-stat-statements" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "190", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "146", + "measuredH": "24", + "x": "26", + "y": "9", + "properties": { + "size": "16", + "text": "pg_stat_statements" + } + } + ] + } + } + }, + { + "ID": "2198", + "typeID": "__group__", + "zOrder": "241", + "measuredW": "209", + "measuredH": "191", + "w": "209", + "h": "191", + "x": "296", + "y": "2910", + "properties": { + "controlName": "103-troubleshooting-techniques:query-analysis" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "209", + "h": "191", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "106", + "measuredH": "24", + "x": "51", + "y": "11", + "properties": { + "size": "16", + "text": "Query Analysis" + } + } + ] + } + } + }, + { + "ID": "2199", + "typeID": "__group__", + "zOrder": "242", + "measuredW": "97", + "measuredH": "42", + "w": "97", + "h": "42", + "x": "305", + "y": "2957", + "properties": { + "controlName": "100-troubleshooting-techniques:query-analysis:explain" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "97", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "66", + "measuredH": "24", + "x": "16", + "y": "9", + "properties": { + "size": "16", + "text": "EXPLAIN" + } + } + ] + } + } + }, + { + "ID": "2200", + "typeID": "__group__", + "zOrder": "243", + "measuredW": "87", + "measuredH": "42", + "w": "87", + "h": "42", + "x": "406", + "y": "2957", + "properties": { + "controlName": "101-troubleshooting-techniques:query-analysis:depesz" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "87", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "56", + "measuredH": "24", + "x": "16", + "y": "9", + "properties": { + "size": "16", + "text": "Depesz" + } + } + ] + } + } + }, + { + "ID": "2201", + "typeID": "__group__", + "zOrder": "244", + "measuredW": "97", + "measuredH": "42", + "w": "97", + "h": "42", + "x": "305", + "y": "3002", + "properties": { + "controlName": "102-troubleshooting-techniques:query-analysis:pev2" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "97", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "40", + "measuredH": "24", + "x": "29", + "y": "9", + "properties": { + "size": "16", + "text": "PEV2" + } + } + ] + } + } + }, + { + "ID": "2202", + "typeID": "__group__", + "zOrder": "245", + "measuredW": "87", + "measuredH": "42", + "w": "87", + "h": "42", + "x": "406", + "y": "3002", + "properties": { + "controlName": "103-troubleshooting-techniques:query-analysis:tenser" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "87", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "50", + "measuredH": "24", + "x": "16", + "y": "9", + "properties": { + "size": "16", + "text": "Tenser" + } + } + ] + } + } + }, + { + "ID": "2203", + "typeID": "__group__", + "zOrder": "246", + "measuredW": "209", + "measuredH": "133", + "w": "209", + "h": "133", + "x": "296", + "y": "3096", + "properties": { + "controlName": "105-troubleshooting-techniques:troubleshooting-methods" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "209", + "h": "133", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "184", + "measuredH": "24", + "x": "12", + "y": "9", + "properties": { + "size": "16", + "text": "Troubleshooting Methods" + } + } + ] + } + } + }, + { + "ID": "2204", + "typeID": "__group__", + "zOrder": "247", + "measuredW": "97", + "measuredH": "42", + "w": "97", + "h": "42", + "x": "305", + "y": "3133", + "properties": { + "controlName": "100-troubleshooting-techniques:troubleshooting-methods:use" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "97", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "32", + "measuredH": "24", + "x": "33", + "y": "9", + "properties": { + "size": "16", + "text": "USE" + } + } + ] + } + } + }, + { + "ID": "2205", + "typeID": "__group__", + "zOrder": "248", + "measuredW": "87", + "measuredH": "42", + "w": "87", + "h": "42", + "x": "406", + "y": "3133", + "properties": { + "controlName": "101-troubleshooting-techniques:troubleshooting-methods:red" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "87", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "34", + "measuredH": "24", + "x": "27", + "y": "9", + "properties": { + "size": "16", + "text": "RED" + } + } + ] + } + } + }, + { + "ID": "2206", + "typeID": "__group__", + "zOrder": "249", + "measuredW": "188", + "measuredH": "42", + "w": "188", + "h": "42", + "x": "305", + "y": "3178", + "properties": { + "controlName": "102-troubleshooting-techniques:troubleshooting-methods:golden-signals" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "188", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "109", + "measuredH": "24", + "x": "39", + "y": "9", + "properties": { + "size": "16", + "text": "Golden Signals" + } + } + ] + } + } + }, + { + "ID": "2207", + "typeID": "__group__", + "zOrder": "250", + "measuredW": "265", + "measuredH": "49", + "w": "265", + "h": "49", + "x": "726", + "y": "3353", + "properties": { + "controlName": "112-sql-optimization-techniques" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "265", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "227", + "measuredH": "25", + "x": "19", + "y": "12", + "properties": { + "size": "17", + "text": "SQL Optimization Techniques" + } + } + ] + } + } + }, + { + "ID": "2208", + "typeID": "__group__", + "zOrder": "251", + "measuredW": "270", + "measuredH": "42", + "w": "270", + "h": "42", + "x": "375", + "y": "3353", + "properties": { + "controlName": "100-sql-optimization-techniques:indexes-usecases" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "270", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "202", + "measuredH": "24", + "x": "34", + "y": "9", + "properties": { + "size": "16", + "text": "Indexes and their Usecases" + } + } + ] + } + } + }, + { + "ID": "2209", + "typeID": "__group__", + "zOrder": "252", + "measuredW": "87", + "measuredH": "42", + "w": "87", + "h": "42", + "x": "374", + "y": "3280", + "properties": { + "controlName": "100-sql-optimization-techniques:indexes-usecases:b-tree" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "87", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "49", + "measuredH": "24", + "x": "19", + "y": "9", + "properties": { + "size": "16", + "text": "B-Tree" + } + } + ] + } + } + }, + { + "ID": "2210", + "typeID": "__group__", + "zOrder": "253", + "measuredW": "87", + "measuredH": "42", + "w": "87", + "h": "42", + "x": "467", + "y": "3280", + "properties": { + "controlName": "101-sql-optimization-techniques:indexes-usecases:hash" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "87", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "38", + "measuredH": "24", + "x": "25", + "y": "9", + "properties": { + "size": "16", + "text": "Hash" + } + } + ] + } + } + }, + { + "ID": "2211", + "typeID": "__group__", + "zOrder": "254", + "measuredW": "87", + "measuredH": "42", + "w": "87", + "h": "42", + "x": "559", + "y": "3280", + "properties": { + "controlName": "102-sql-optimization-techniques:indexes-usecases:gist" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "87", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "35", + "measuredH": "24", + "x": "26", + "y": "9", + "properties": { + "size": "16", + "text": "GiST" + } + } + ] + } + } + }, + { + "ID": "2212", + "typeID": "__group__", + "zOrder": "255", + "measuredW": "87", + "measuredH": "42", + "w": "87", + "h": "42", + "x": "374", + "y": "3426", + "properties": { + "controlName": "103-sql-optimization-techniques:indexes-usecases:sp-gist" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "87", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "61", + "measuredH": "24", + "x": "13", + "y": "9", + "properties": { + "size": "16", + "text": "SP-GiST" + } + } + ] + } + } + }, + { + "ID": "2213", + "typeID": "__group__", + "zOrder": "256", + "measuredW": "84", + "measuredH": "42", + "w": "84", + "h": "42", + "x": "469", + "y": "3426", + "properties": { + "controlName": "104-sql-optimization-techniques:indexes-usecases:gin" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "84", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "29", + "measuredH": "24", + "x": "27", + "y": "9", + "properties": { + "size": "16", + "text": "GIN" + } + } + ] + } + } + }, + { + "ID": "2214", + "typeID": "__group__", + "zOrder": "257", + "measuredW": "84", + "measuredH": "42", + "w": "84", + "h": "42", + "x": "561", + "y": "3426", + "properties": { + "controlName": "105-sql-optimization-techniques:indexes-usecases:brin" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "84", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "40", + "measuredH": "24", + "x": "22", + "y": "9", + "properties": { + "size": "16", + "text": "BRIN" + } + } + ] + } + } + }, + { + "ID": "2215", + "typeID": "__group__", + "zOrder": "258", + "measuredW": "320", + "measuredH": "42", + "w": "320", + "h": "42", + "x": "1049", + "y": "3360", + "properties": { + "controlName": "102-sql-optimization-techniques:schema-query-patterns" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "320", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "253", + "measuredH": "24", + "x": "33", + "y": "9", + "properties": { + "size": "16", + "text": "SQL Query Patterns / Anti-patterns" + } + } + ] + } + } + }, + { + "ID": "2216", + "typeID": "__group__", + "zOrder": "259", + "measuredW": "320", + "measuredH": "42", + "w": "320", + "h": "42", + "x": "1049", + "y": "3313", + "properties": { + "controlName": "101-sql-optimization-techniques:schema-design-patterns" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "320", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "289", + "measuredH": "24", + "x": "15", + "y": "9", + "properties": { + "size": "16", + "text": "Schema Design Patterns / Anti-patterns" + } + } + ] + } + } + }, + { + "ID": "2217", + "typeID": "__group__", + "zOrder": "260", + "measuredW": "269", + "measuredH": "49", + "w": "269", + "h": "49", + "x": "604", + "y": "391", + "properties": { + "controlName": "101-introduction" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "269", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "93", + "measuredH": "25", + "x": "88", + "y": "12", + "properties": { + "size": "17", + "text": "Introduction" + } + } + ] + } + } + }, + { + "ID": "2218", + "typeID": "__group__", + "zOrder": "261", + "measuredW": "290", + "measuredH": "42", + "w": "290", + "h": "42", + "x": "974", + "y": "321", + "properties": { + "controlName": "100-introduction:what-are-relational-databases" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "290", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "233", + "measuredH": "24", + "x": "28", + "y": "9", + "properties": { + "size": "16", + "text": "What are Relational Databases?" + } + } + ] + } + } + }, + { + "ID": "2219", + "typeID": "__group__", + "zOrder": "262", + "measuredW": "290", + "measuredH": "42", + "w": "290", + "h": "42", + "x": "974", + "y": "367", + "properties": { + "controlName": "101-introduction:rdbms-benefits-limitations" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "290", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "236", + "measuredH": "24", + "x": "27", + "y": "9", + "properties": { + "size": "16", + "text": "RDBMS Benefits and Limitations" + } + } + ] + } + } + }, + { + "ID": "2220", + "typeID": "__group__", + "zOrder": "263", + "measuredW": "290", + "measuredH": "42", + "w": "290", + "h": "42", + "x": "974", + "y": "412", + "properties": { + "controlName": "102-introduction:postgresql-vs-others" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "290", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "214", + "measuredH": "24", + "x": "38", + "y": "9", + "properties": { + "size": "16", + "text": "PostgreSQL vs Other RDBMS" + } + } + ] + } + } + }, + { + "ID": "2221", + "typeID": "__group__", + "zOrder": "264", + "measuredW": "290", + "measuredH": "42", + "w": "290", + "h": "42", + "x": "974", + "y": "458", + "properties": { + "controlName": "103-introduction:postgresql-vs-nosql" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "290", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "246", + "measuredH": "24", + "x": "22", + "y": "9", + "properties": { + "size": "16", + "text": "PostgreSQL vs NoSQL Databases" + } + } + ] + } + } + }, + { + "ID": "2222", + "typeID": "__group__", + "zOrder": "265", + "measuredW": "265", + "measuredH": "49", + "w": "265", + "h": "49", + "x": "725", + "y": "3435", + "properties": { + "controlName": "113-get-involved-in-development" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "265", + "h": "49", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16776960" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "222", + "measuredH": "25", + "x": "22", + "y": "12", + "properties": { + "size": "17", + "text": "Get Involved in Development" + } + } + ] + } + } + }, + { + "ID": "2223", + "typeID": "__group__", + "zOrder": "266", + "measuredW": "178", + "measuredH": "42", + "w": "178", + "h": "42", + "x": "1082", + "y": "3432", + "properties": { + "controlName": "100-get-involved-in-development:mailing-lists" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "178", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "91", + "measuredH": "24", + "x": "43", + "y": "9", + "properties": { + "size": "16", + "text": "Mailing Lists" + } + } + ] + } + } + }, + { + "ID": "2224", + "typeID": "__group__", + "zOrder": "267", + "measuredW": "178", + "measuredH": "42", + "w": "178", + "h": "42", + "x": "1082", + "y": "3479", + "properties": { + "controlName": "101-get-involved-in-development:reviewing-patches" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "178", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "137", + "measuredH": "24", + "x": "20", + "y": "9", + "properties": { + "size": "16", + "text": "Reviewing Patches" + } + } + ] + } + } + }, + { + "ID": "2225", + "typeID": "__group__", + "zOrder": "268", + "measuredW": "178", + "measuredH": "42", + "w": "178", + "h": "42", + "x": "1082", + "y": "3526", + "properties": { + "controlName": "102-get-involved-in-development:writing-patches" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "178", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "114", + "measuredH": "24", + "x": "32", + "y": "9", + "properties": { + "size": "16", + "text": "Writing Patches" + } + } + ] + } + } + }, + { + "ID": "2226", + "typeID": "Label", + "zOrder": "269", + "measuredW": "161", + "measuredH": "32", + "x": "794", + "y": "3575", + "properties": { + "size": "24", + "text": "Keep Learning" + } + }, + { + "ID": "2227", + "typeID": "Arrow", + "zOrder": "270", + "w": "1", + "h": "67", + "measuredW": "150", + "measuredH": "100", + "x": "874", + "y": "3634", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "color": "10027263", + "p0": { + "x": -0.4129169328207354, + "y": 67 + }, + "p1": { + "x": 0.4999999999999997, + "y": 0 + }, + "p2": { + "x": -0.4129169328207354, + "y": -0.11774307773504233 + }, + "stroke": "dotted" + } + }, + { + "ID": "2228", + "typeID": "Arrow", + "zOrder": "271", + "w": "171", + "h": "2", + "measuredW": "150", + "measuredH": "100", + "x": "777", + "y": "3771", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "p0": { + "x": 0.2502642458233595, + "y": -0.2116722737659984 + }, + "p1": { + "x": 0.5, + "y": 0 + }, + "p2": { + "x": 171.71787682058277, + "y": 2 + }, + "color": "16777215" + } + }, + { + "ID": "2229", + "typeID": "Canvas", + "zOrder": "272", + "w": "350", + "h": "141", + "measuredW": "100", + "measuredH": "70", + "x": "975", + "y": "134" + }, + { + "ID": "2230", + "typeID": "Label", + "zOrder": "273", + "measuredW": "314", + "measuredH": "25", + "x": "989", + "y": "151", + "properties": { + "size": "17", + "text": "Find the detailed version of this roadmap" + } + }, + { + "ID": "2231", + "typeID": "Label", + "zOrder": "274", + "measuredW": "319", + "measuredH": "25", + "x": "989", + "y": "179", + "properties": { + "size": "17", + "text": "along with resources and other roadmaps" + } + }, + { + "ID": "2232", + "typeID": "__group__", + "zOrder": "275", + "measuredW": "320", + "measuredH": "45", + "w": "320", + "h": "45", + "x": "990", + "y": "215", + "properties": { + "controlName": "ext_link:roadmap.sh" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "320", + "h": "45", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "borderColor": "4273622", + "color": "4273622" + } + }, + { + "ID": "2", + "typeID": "Label", + "zOrder": "1", + "measuredW": "172", + "measuredH": "28", + "x": "74", + "y": "8", + "properties": { + "color": "16777215", + "size": "20", + "text": "https://roadmap.sh" + } + } + ] + } + } + }, + { + "ID": "2233", + "typeID": "Canvas", + "zOrder": "276", + "w": "300", + "h": "141", + "measuredW": "100", + "measuredH": "70", + "x": "261", + "y": "130" + }, + { + "ID": "2234", + "typeID": "__group__", + "zOrder": "277", + "measuredW": "181", + "measuredH": "25", + "w": "181", + "h": "25", + "x": "284", + "y": "192", + "properties": { + "controlName": "ext_link:roadmap.sh/mongodb" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "measuredW": "148", + "measuredH": "24", + "x": "33", + "y": "0", + "properties": { + "size": "16", + "text": "MongoDB Roadmap" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "1", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10066329" + } + } + ] + } + } + }, + { + "ID": "2235", + "typeID": "Label", + "zOrder": "278", + "measuredW": "175", + "measuredH": "28", + "x": "286", + "y": "151", + "properties": { + "size": "20", + "text": "Related Roadmaps" + } + }, + { + "ID": "2236", + "typeID": "__group__", + "zOrder": "279", + "measuredW": "172", + "measuredH": "25", + "w": "172", + "h": "25", + "x": "284", + "y": "225", + "properties": { + "controlName": "ext_link:roadmap.sh/backend" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Label", + "zOrder": "0", + "measuredW": "139", + "measuredH": "24", + "x": "33", + "y": "0", + "properties": { + "size": "16", + "text": "Backend Roadmap" + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "2", + "typeID": "Icon", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "1", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "10066329" + } + } + ] + } + } + }, + { + "ID": "2237", + "typeID": "__group__", + "zOrder": "280", + "measuredW": "300", + "measuredH": "54", + "w": "300", + "h": "54", + "x": "261", + "y": "288", + "properties": { + "controlName": "100-roadmap-note" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "TextArea", + "zOrder": "0", + "w": "300", + "h": "54", + "measuredW": "200", + "measuredH": "140", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "199", + "measuredH": "24", + "x": "50", + "y": "15", + "properties": { + "text": "Important Note / Click here", + "size": "16" + } + }, + { + "ID": "2", + "typeID": "__group__", + "zOrder": "2", + "measuredW": "24", + "measuredH": "24", + "w": "24", + "h": "24", + "x": "18", + "y": "18", + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Icon", + "zOrder": "0", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "color": "16777215", + "icon": { + "ID": "circle", + "size": "small" + } + } + }, + { + "ID": "1", + "typeID": "Icon", + "zOrder": "1", + "measuredW": "24", + "measuredH": "24", + "x": "0", + "y": "0", + "properties": { + "icon": { + "ID": "check-circle", + "size": "small" + }, + "color": "13576743" + } + } + ] + } + } + } + ] + } + } + }, + { + "ID": "2238", + "typeID": "__group__", + "zOrder": "281", + "measuredW": "189", + "measuredH": "42", + "w": "189", + "h": "42", + "x": "305", + "y": "3047", + "properties": { + "controlName": "102-troubleshooting-techniques:query-analysis:explain-dalibo-com" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "189", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "132", + "measuredH": "24", + "x": "29", + "y": "9", + "properties": { + "size": "16", + "text": "explain.dalibo.com" + } + } + ] + } + } + }, + { + "ID": "2240", + "typeID": "__group__", + "zOrder": "287", + "measuredW": "148", + "measuredH": "42", + "w": "148", + "h": "42", + "x": "758", + "y": "2573", + "properties": { + "controlName": "105-application-skills:sharding-patterns" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "148", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "129", + "measuredH": "24", + "x": "9", + "y": "9", + "properties": { + "size": "16", + "text": "Sharding Patterns" + } + } + ] + } + } + }, + { + "ID": "2241", + "typeID": "__group__", + "zOrder": "288", + "measuredW": "95", + "measuredH": "42", + "w": "95", + "h": "42", + "x": "610", + "y": "3133", + "properties": { + "controlName": "104-troubleshooting-techniques:log-analysis:pg-cluu" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "95", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "52", + "measuredH": "24", + "x": "22", + "y": "9", + "properties": { + "size": "16", + "text": "pgCluu" + } + } + ] + } + } + }, + { + "ID": "2243", + "typeID": "__group__", + "zOrder": "289", + "measuredW": "214", + "measuredH": "42", + "w": "214", + "h": "42", + "x": "745", + "y": "2155", + "properties": { + "controlName": "103-postgresql-infrastructure-skills:monitoring:temboard" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "214", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "72", + "measuredH": "24", + "x": "71", + "y": "9", + "properties": { + "size": "16", + "text": "temBoard" + } + } + ] + } + } + }, + { + "ID": "2244", + "typeID": "__group__", + "zOrder": "290", + "measuredW": "213", + "measuredH": "42", + "w": "213", + "h": "42", + "x": "745", + "y": "2110", + "properties": { + "controlName": "102-postgresql-infrastructure-skills:monitoring:check-pgactivity" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "213", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "121", + "measuredH": "24", + "x": "46", + "y": "9", + "properties": { + "size": "16", + "text": "check_pgactivity" + } + } + ] + } + } + }, + { + "ID": "2245", + "typeID": "__group__", + "zOrder": "291", + "measuredW": "215", + "measuredH": "42", + "w": "215", + "h": "42", + "x": "745", + "y": "2200", + "properties": { + "controlName": "104-postgresql-infrastructure-skills:monitoring:check-pgbackrest" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "215", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "134", + "measuredH": "24", + "x": "41", + "y": "9", + "properties": { + "size": "16", + "text": "check_pgbackrest" + } + } + ] + } + } + }, + { + "ID": "2247", + "typeID": "__group__", + "zOrder": "292", + "measuredW": "274", + "measuredH": "42", + "w": "274", + "h": "42", + "x": "294", + "y": "2439", + "properties": { + "controlName": "103-learn-automation:terraform" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "274", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "71", + "measuredH": "24", + "x": "101", + "y": "9", + "properties": { + "size": "16", + "text": "Terraform" + } + } + ] + } + } + }, + { + "ID": "2248", + "typeID": "__group__", + "zOrder": "293", + "measuredW": "151", + "measuredH": "42", + "w": "151", + "h": "42", + "x": "264", + "y": "2017", + "properties": { + "controlName": "108-postgresql-infrastructure-skills:anonymization" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "151", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0" + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "105", + "measuredH": "24", + "x": "23", + "y": "9", + "properties": { + "size": "16", + "text": "Anonymization" + } + } + ] + } + } + }, + { + "ID": "2251", + "typeID": "Arrow", + "zOrder": "0", + "w": "1", + "h": "54", + "measuredW": "150", + "measuredH": "100", + "x": "339", + "y": "2042", + "properties": { + "curvature": "0", + "leftArrow": "false", + "rightArrow": "false", + "stroke": "dotted", + "color": "10027263", + "p0": { + "x": 0.4271178962662816, + "y": -0.5 + }, + "p1": { + "x": 0.49999999999999983, + "y": 2.753189908645436e-31 + }, + "p2": { + "x": 0.4271178962663953, + "y": 53.66666666666663 + } + } + }, + { + "ID": "2252", + "typeID": "__group__", + "zOrder": "294", + "measuredW": "197", + "measuredH": "42", + "w": "197", + "h": "42", + "x": "264", + "y": "2096", + "properties": { + "controlName": "100-postgresql-infrastructure-skills:anonymization:postgresql-anonymizer" + }, + "children": { + "controls": { + "control": [ + { + "ID": "0", + "typeID": "Canvas", + "zOrder": "0", + "w": "197", + "h": "42", + "measuredW": "100", + "measuredH": "70", + "x": "0", + "y": "0", + "properties": { + "color": "16770457" + } + }, + { + "ID": "1", + "typeID": "Label", + "zOrder": "1", + "measuredW": "175", + "measuredH": "24", + "x": "11", + "y": "9", + "properties": { + "size": "16", + "text": "PostgreSQL Anonymizer" + } + } + ] + } + } + } + ] + }, + "attributes": { + "name": "New Wireframe 9 copy", + "order": 1000116.0868550346, + "parentID": null, + "notes": null + }, + "branchID": "Master", + "resourceID": "73A38172-E66F-4B8C-9525-DB6AC79E153D", + "mockupH": "3687", + "mockupW": "1163", + "measuredW": "1395", + "measuredH": "3773", + "version": "1.0" + }, + "groupOffset": { + "x": 0, + "y": 0 + }, + "dependencies": [], + "projectID": "file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr" +} \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/102-check-pgactivity.md b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/102-check-pgactivity.md new file mode 100644 index 000000000000..8252cefe2da6 --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/102-check-pgactivity.md @@ -0,0 +1,45 @@ +# check_pgactivity + +## Check_pgactivity + +Check_pgactivity is a popular monitoring tool designed specifically for PostgreSQL. It is an efficient and flexible solution to monitor various aspects of a PostgreSQL database such as connectivity, queries, locks, and other key performance indicators. This tool provides an easy-to-use interface to collect and store PostgreSQL performance data, which makes it a helpful resource for database administrators and developers to keep their databases running efficiently. + +### Features + +- **Wide range of monitors:** Check_pgactivity offers numerous service checks, including database connections, query durations, transactions, WAL files, Bloat, and much more. This enables users to gain insights on virtually every important aspect of their PostgreSQL environment. + +- **Nagios Integration:** The tool seamlessly integrates with Nagios, a widely-used open-source monitoring solution, allowing administrators to include PostgreSQL monitoring into their existing monitoring setup with ease. + +- **Flexible output:** Check_pgactivity generates output that is compatible with various monitoring solutions, making it flexible enough to adapt to different systems' requirements. + +- **Custom thresholds and alerts:** Users can set specific thresholds and alerts for certain metrics, allowing them to detect potential issues early on and take appropriate action. + +- **Perl-based:** Being a Perl script, check_pgactivity is lightweight and easy to integrate into existing tools and workflows. + +### Usage + +To use check_pgactivity, you will first need to install it on your system. You can download the latest version from the [official repository](https://github.com/OPMDG/check_pgactivity/releases). Ensure that you have the required Perl modules (DBD::Pg and DBI) installed. + +Once installed, you can execute the script to perform different monitoring tasks: + +``` +check_pgactivity -s -h -U -p -d +``` + +Replace the placeholders with appropriate connection details, and choose the desired service check as per your monitoring requirements. For a full list of supported services, refer to the [official documentation](https://github.com/OPMDG/check_pgactivity/blob/master/doc/check_pgactivity.pod). + +### Examples + +To monitor the number of connections in a PostgreSQL database: + +``` +check_pgactivity -s connections -h localhost -U postgres -p 5432 -d my_database +``` + +To check the oldest transaction: + +``` +check_pgactivity -s oldest_2pc -h localhost -U postgres -p 5432 -d my_database +``` + +In conclusion, check_pgactivity is a powerful and versatile tool that can help you effectively monitor your PostgreSQL databases. By tracking various performance metrics and integrating with other monitoring solutions like Nagios, it provides comprehensive insights into your PostgreSQL environment and allows you to fine-tune and optimize its performance. \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/103-temboard.md b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/103-temboard.md new file mode 100644 index 000000000000..78d505f7790e --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/103-temboard.md @@ -0,0 +1,75 @@ +# temBoard + +## Monitoring with temBoard + +In this section, we'll explore a powerful management and monitoring tool for PostgreSQL: `temBoard`. It's a user-friendly, highly adaptable, and open-source web application designed to monitor and manage your database instances efficiently. + +### What is temBoard? + +`temBoard` is a comprehensive management and monitoring solution for PostgreSQL instances. It provides a real-time, detail-oriented view of databases and their current status allowing administrators to oversee their system efficiently. Key features of temBoard include: + +- Real-time monitoring of Key Performance Indicators (KPIs). +- Historical data analysis with a built-in data retention mechanism. +- An intuitive and customizable web interface. +- High-level security with role-based access control and SSL/TLS support. +- Management of multiple PostgreSQL clusters from one central location. +- Extensibility through plugins for specific tasks. + +### Installing temBoard + +You can install temBoard using `pip`, Python's standard package manager. Before installation, you need to install the following dependencies: + +1. Python 3.6 or higher: You can install Python from the official website or through your package manager. +2. PostgreSQL server 9.4 or higher: Your PostgreSQL instance should be compatible with temBoard for full feature support. + +Use the following command to install temBoard using `pip`: + +``` +pip install temboard +``` + +### Configuring and Running temBoard + +After installation, temBoard needs to be configured properly to start monitoring the PostgreSQL database. Follow these steps to configure temBoard: + +1. Create the temBoard configuration file: The default location is `/etc/temboard/temboard.conf`. You can use the following command to create and edit the file: + + ``` + sudo mkdir /etc/temboard + sudo touch /etc/temboard/temboard.conf + sudo nano /etc/temboard/temboard.conf + ``` + +2. Add the following contents to the configuration file and modify the values as needed: + + ``` + [temboard] + address = 0.0.0.0 + port = 8888 + ssl_cert_file = /etc/temboard/temboard_SERVER_NAME_chained.pem + ssl_key_file = /etc/temboard/temboard_SERVER_NAME.key + [repository] + host = localhost + port = 5432 + user = temboard + password = temboard_password + dbname = temboard + [logging] + method = stderr + level = INFO + format = %(asctime)s [%(levelname)s] %(message)s + ``` + +3. Initialize the temBoard repository: Use the following command to initialize the database for temBoard: + + ``` + temboard-admin -c /etc/temboard/temboard.conf initialize + ``` + +4. Start temBoard as a service: You can start temBoard using the following command: + + ``` + temboard -c /etc/temboard/temboard.conf + ``` + +After running temBoard, access the web interface using your browser at `https://:8888/`. You can now monitor and manage your PostgreSQL instances using the temBoard web interface. \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/104-check-pgbackrest.md b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/104-check-pgbackrest.md new file mode 100644 index 000000000000..9d5bd5bfe32f --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/106-monitoring/104-check-pgbackrest.md @@ -0,0 +1,35 @@ +# check_pgbackrest + +## Check pgBackRest + +In this section, we'll discuss the importance of monitoring your PostgreSQL backup and recovery solution, specifically focusing on `check pgBackRest`. `pgBackRest` is a widely-used backup tool for PostgreSQL databases, providing features like full, differential, incremental and archive backups, support for multiple repostories and threaded backup/restore processes. + +### Why should you monitor pgBackRest? + +Monitoring `pgBackRest` helps ensure that your PostgreSQL backups are consistent, up-to-date, and free from any potential issues. By regularly checking your backups, you'll be able to maintain a reliable and efficient backup-restore process for your PostgreSQL database. + +### How to check pgBackRest? + +`pgBackRest` provides a built-in command called `check` which performs various checks to validate your repository and configuration settings. The command is executed as follows: + +```sh +pgbackrest --stanza= check +``` + +`` should be replaced with the name of the stanza for which you want to verify the repository and configuration settings. + +### What does the check command do? + +When you run `check pgBackRest`, it performs the following tasks: + +1. **Configuration validation**: It verifies if the configuration file (`pgbackrest.conf`) contains valid settings and if the runtime parameters are properly set. + +2. **Backup consistency**: It checks the consistency of backup files within the stanza, ensuring that there are no missing or incomplete backups. + +3. **Archive validation**: It examines the state of WAL archive files, ensuring that they are present and retrievable as per the minimum and maximum settings specified in the configuration. + +4. **Remote connectivity**: If any remote repositories are configured, it checks the connectivity to remote hosts and verifies that the repository paths are accessible. + +### Conclusion + +Regularly monitoring and checking `pgBackRest` is essential for maintaining a reliable backup and recovery solution for your PostgreSQL database. By using the built-in `check` command, you can ensure that your repository and configuration settings are validated, backups are consistent, and archives are available, providing you with peace of mind and making it easier to recover your database in case of any disaster. \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/108-anonymization/100-postgresql-anonymizer.md b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/108-anonymization/100-postgresql-anonymizer.md new file mode 100644 index 000000000000..d3cf93569427 --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/108-anonymization/100-postgresql-anonymizer.md @@ -0,0 +1,49 @@ +# PostgreSQL Anonymizer + +PostgreSQL Anonymizer is an extension that helps you protect sensitive data by anonymizing and obfuscating it. It is essential for meeting privacy regulations and ensuring the security of personal information contained in your databases. + +## Key Features + +- **Dynamic Masking**: With dynamic masking, you can create specific views that display anonymized data. Therefore, you can have the real data in the underlying tables but only reveal necessary masked data to users or applications. + +```sql +CREATE MASKED VIEW masked_clients AS SELECT * FROM clients; +SELECT anon.mask_data('clients', 'masked_clients'); +``` +- **In-Place Anonymization**: You can also anonymize data in place, making the change permanent. This method is useful when you need to share databases between environments, such as testing and development, but want to ensure privacy. + +```sql +SELECT anon.anonymize('clients'); +``` +- **Extensible and Customizable Functions**: You can define your own anonymization functions, providing great flexibility in how you anonymize data. These custom functions can then be applied to specific columns or tables. + +```sql +CREATE FUNCTION anon_ssn(text) RETURNS text AS +$$ + DECLARE + ssn text := anon.pseudonymize_DISTRIBUTED($1); + BEGIN + RETURN substring(ssn for 2) || '-' || substring(ssn from 5 for 2) || '-' || substring(ssn from 8); + END; +$$ LANGUAGE plpgsql; +SELECT anon.set_anonymous_function('clients', 'ssn', 'anon_ssn(text)'); +``` + +## Getting Started + +1. Install the PostgreSQL Anonymizer extension: +```sql +CREATE EXTENSION IF NOT EXISTS anon CASCADE; +``` +2. Define the anonymization methods for each sensitive field in your tables. You can use the built-in functions or create your own. +```sql +SELECT anon.set_anonymous_function('clients', 'email', 'anon.email(text)'); +``` +3. Apply anonymization using either dynamic masking or in-place methods, depending on your requirements. + +## Additional Resources + +For further details on PostgreSQL Anonymizer, consult the following resources: + +- [Official PostgreSQL Anonymizer Documentation](https://postgresql-anonymizer.readthedocs.io/) +- [GitHub Repository](https://gitlab.com/dalibo/postgresql_anonymizer) \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/108-anonymization/index.md b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/108-anonymization/index.md new file mode 100644 index 000000000000..3b511db47e1f --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/107-postgresql-infrastructure-skills/108-anonymization/index.md @@ -0,0 +1,29 @@ +# Anonymization + +Anonymization is the process of protecting sensitive and personally identifiable information (PII) from being exposed, by replacing or changing the data in a way that it becomes impossible or extremely difficult to trace back to its original source. In the context of PostgreSQL, anonymization techniques are used to ensure the confidentiality and privacy of the data, while still making it available to perform analysis or testing. + +### Why is anonymization important? + +Anonymization has become a critical aspect of databasing due to the growing need for data protection and compliance with privacy regulations like GDPR, HIPAA, and CCPA. The consequences of non-compliance can result in fines, damage to brand reputation, and potential legal battles. + +### Techniques for anonymizing data in PostgreSQL + +1. **Data Masking**: Replacing sensitive information with random characters or numbers to make it unrecognizable. For example, replacing a person's name with random letters. + +2. **Generalization**: Aggregating data to a higher level of abstraction, such as converting exact ages to age groups or locations to regions. This will allow you to analyze the data at a higher level without compromising individual privacy. + +3. **Pseudonymization**: Replacing sensitive information with synthetic substitutes, while maintaining a mapping of the original data to the pseudonyms. This allows data to still be useful for analysis purposes but protects identifiable information. + +4. **Data Swapping**: Interchanging some sensitive data between records to create a level of ambiguity on the true data combination. For example, swapping salaries of some employees within a company. + +5. **Random Noise Addition**: Adding random noise to the data elements in a dataset, thus making it more difficult to identify individual records. + +### Tools for anonymizing data in PostgreSQL + +1. **pg_anonymize**: It's a PostgreSQL extension that can be used to mask and anonymize data. It can generate fake data, mask existing data or shuffle data between rows. + +2. **anon**: A PostgreSQL extension that offers built-in anonymization functions, like data masking, randomizing and anonymization with k-anonymity. + +3. **Data Masker**: A commercial solution that offers tools to mask and pseudonymize sensitive data according to your specific requirements. + +In conclusion, anonymization is an essential skill in any PostgreSQL infrastructure, aiming to protect sensitive and personally identifiable information. Implementing anonymization techniques will enable your organization to comply with data protection regulations and maintain the privacy of individuals, while still enabling you to analyze the patterns and trends in your data. \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/108-learn-automation/102-configuration-management/100-ansible.md b/src/data/roadmaps/postgresql-dba/content/108-learn-automation/102-configuration-management/100-ansible.md index 7d7b73ea1197..585befde2a75 100644 --- a/src/data/roadmaps/postgresql-dba/content/108-learn-automation/102-configuration-management/100-ansible.md +++ b/src/data/roadmaps/postgresql-dba/content/108-learn-automation/102-configuration-management/100-ansible.md @@ -55,6 +55,35 @@ Example playbook for installing PostgreSQL on Ubuntu: In this example, the playbook installs the required packages, configures PostgreSQL using a custom `pg_hba.conf` file (from a Jinja2 template), and then reloads and restarts the PostgreSQL service. +## pgLift for Ansible + +pgLift is a PostgreSQL automation tool that helps you manage your PostgreSQL servers and databases. It includes a set of Ansible modules that can be used to automate common tasks, such as creating databases, users, and extensions, or managing replication and backups. + +pgLift modules are available on [Ansible Galaxy](https://galaxy.ansible.com/pglift), and can be installed using the `ansible-galaxy` command: + +```bash +ansible-galaxy collection install pglift.pglift +``` + +Once installed, you can use the modules in your playbooks: + +```yaml +--- +- name: Create a database + hosts: all + become: yes + tasks: + - name: Create a database + pglift.pglift.postgresql_db: + name: mydb + owner: myuser + encoding: UTF8 + lc_collate: en_US.UTF-8 + lc_ctype: en_US.UTF-8 + template: template0 + state: present +``` + ## Conclusion -Ansible is a powerful configuration management tool that can greatly simplify the maintenance and deployment of PostgreSQL servers. By using Ansible playbooks and PostgreSQL modules, you can automate repetitive tasks, ensure consistent configurations, and reduce human error. \ No newline at end of file +Ansible is a powerful configuration management tool that can greatly simplify the maintenance and deployment of PostgreSQL servers. By using Ansible playbooks and PostgreSQL modules, you can automate repetitive tasks, ensure consistent configurations, and reduce human error. diff --git a/src/data/roadmaps/postgresql-dba/content/108-learn-automation/103-terraform.md b/src/data/roadmaps/postgresql-dba/content/108-learn-automation/103-terraform.md new file mode 100644 index 000000000000..3f7e7b488e61 --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/108-learn-automation/103-terraform.md @@ -0,0 +1,39 @@ +# Terraform + +Terraform is an Infrastructure as Code (IaC) tool developed by HashiCorp that allows you to streamline and automate the process of managing your infrastructure. With Terraform, you can define, provision, and manage resources like virtual machines, storage accounts, and networking resources using a declarative language called HashiCorp Configuration Language (HCL). You can also use JSON as an alternative to HCL, but HCL is more suitable for human-readable configuration. + +### Advantages of Terraform + +1. **Platform Agnostic**: Terraform supports a variety of cloud providers like AWS, Google Cloud, Azure, and many more, allowing you to manage multi-cloud deployments seamlessly. + +2. **Version Control**: By maintaining your infrastructure using code, you can leverage the power of version control systems like Git. This enables seamless collaboration, better understanding of changes, and the ability to roll back when needed. + +3. **Modularity**: Terraform promotes modular and reusable code, which simplifies the process of managing complex infrastructure setups. + +4. **State Management**: Terraform persists the state of your infrastructure, allowing you to determine real-time configuration and track changes over time. + +### Main Components of Terraform + +1. **Configuration Files**: These are written in HCL and describe the infrastructure you want to create, update, or delete. + +2. **Terraform CLI**: The command-line interface that helps you manage the lifecycle of your infrastructure. + +3. **State File**: This file stores the state of your infrastructure and is used by Terraform to determine the changes required during each operation. + +4. **Providers**: These are the plugins that integrate Terraform with various cloud providers and services. Some popular providers are AWS, Azure, Google Cloud, and many more. + +### Terraform Workflow + +The typical workflow when working with Terraform involves four main steps: + +1. **Write**: Describe your infrastructure using configuration files. + +2. **Initialize**: Run `terraform init` to download required providers and set up the backend for storing your state file. + +3. **Plan**: Run `terraform plan` to preview the actions Terraform will take to achieve the desired infrastructure state. + +4. **Apply**: Run `terraform apply` to execute the actions in the plan and provision your infrastructure. + +Keep in mind that Terraform is highly extensible, supporting custom providers, provisioners, and various third-party tools to make managing your infrastructure even more efficient. + +In conclusion, if you're looking to learn automation and improve your administration of PostgreSQL or any other infrastructure, becoming familiar with Terraform is an invaluable asset in your toolkit. \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/109-application-skills/100-migrations/101-liquidbase-sqitch-bytebase-ora2pg.md b/src/data/roadmaps/postgresql-dba/content/109-application-skills/100-migrations/101-liquidbase-sqitch-bytebase-ora2pg.md new file mode 100644 index 000000000000..7a7749c1bc81 --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/109-application-skills/100-migrations/101-liquidbase-sqitch-bytebase-ora2pg.md @@ -0,0 +1,29 @@ +# liquibase, sqitch, Bytebase, ora2pg etc + +Migrations are crucial in the lifecycle of database applications. As the application evolves, changes to the database schema and sometimes data itself become necessary. In this section, we will explore four popular migration tools—Liquibase, Sqitch, Bytebase, and Ora2Pg provide you with a brief summary of each. + +### Liquibase + +[Liquibase](https://www.liquibase.org/) is an open-source database-independent library for tracking, managing, and applying database schema changes. It can be integrated with various build environments, such as Maven or Gradle, and supports multiple database management systems, including PostgreSQL. + +Liquibase tracks changes in XML, YAML, JSON, or SQL format and utilizes a changeset to uniquely identify each migration. Some advantages of Liquibase include its robust support for various database platforms and its compatibility with version control systems like Git or SVN. + +### Sqitch + +[Sqitch](https://sqitch.org/) is another database-agnostic schema change management tool. It does not require a specific file format for migration scripts, allowing developers to work with their preferred language (e.g., PL/pgSQL or PL/Tcl). + +Sqitch stores metadata about changes in a separate schema, which makes it easy to understand the relationship between changes and their dependencies. Furthermore, it integrates well with version control systems, making it a popular choice for managing database migrations. + +### Bytebase + +[Bytebase](https://bytebase.io/) is a web-based, open-source database schema change management tool that plays well with PostgreSQL. It provides a user-friendly interface for managing migrations, collaborating with team members, and tracking the progress of changes across multiple environments. + +Bytebase offers features such as schema versioning, pull-request-style reviews, and automated deployment. Its intuitive interface and collaborative features make it an excellent choice for teams with non-technical users or organizations looking for more control over their migration process. + +### Ora2Pg + +[Ora2Pg](https://ora2pg.darold.net/) is a specific migration tool designed to facilitate the migration of Oracle database schemas and data to PostgreSQL. It provides support for various schema objects, including tables, indexes, sequences, views, and more. + +Ora2Pg can export schema information in various formats, including SQL or PL/pgSQL, and generate migration scripts to ease the transition from Oracle to PostgreSQL. If you're planning to switch from an Oracle database to PostgreSQL, Ora2Pg is a valuable tool to streamline the migration process. + +In conclusion, Liquibase, Sqitch, Bytebase, and Ora2Pg are four powerful migration tools that can help you manage your database schema changes in a PostgreSQL environment. By understanding each tool's capabilities, you can select the right one for your specific needs and ensure smooth database migrations throughout your application's lifecycle. \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/109-application-skills/100-migrations/101-liquidbase-sqitch-bytebase.md b/src/data/roadmaps/postgresql-dba/content/109-application-skills/100-migrations/101-liquidbase-sqitch-bytebase.md deleted file mode 100644 index 0529886f6854..000000000000 --- a/src/data/roadmaps/postgresql-dba/content/109-application-skills/100-migrations/101-liquidbase-sqitch-bytebase.md +++ /dev/null @@ -1,38 +0,0 @@ -# Liquidbase, Sqitch, & Bytebase - -In this section, we'll take a closer look at three popular tools for managing database migrations in PostgreSQL: Liquidbase, Sqitch, & Bytebase. Each tool has its own unique features and way of handling migrations, giving you options to choose the best one that fits your project's requirements. - -## Liquidbase - -[Liquidbase](https://www.liquibase.org/) is an open-source database-independent library for tracking, managing, and applying database schema changes. It uses a changelog file to keep track of each change applied to the database, ensuring that you can always know the state of your database schema. - -### Key Features: - -- Supports various databases including PostgreSQL, MySQL, Oracle, and more. -- Changelog support using XML, JSON, YAML, or SQL formats. -- Automatically generates rollback statements for applied changes. -- Supports advanced features such as contexts, labels, and preconditions. - -## Sqitch - -[Sqitch](https://sqitch.org/) is an open-source tool designed specifically for managing database schema changes, emphasizing simplicity, ease-of-use, and native SQL support. Unlike Liquidbase, Sqitch does not make use of a changelog file, instead focusing on individual migration files (scripts). - -### Key Features: - -- Native SQL support - write your migrations in pure SQL. -- No requirement for any special language or DSL. -- Supports PostgreSQL, MySQL, SQLite, Oracle, and more. -- Offers a powerful command-line interface (CLI) for managing your migrations. - -## Bytebase - -[Bytebase](https://bytebase.io/) is a modern, web-based database schema change management and version control tool. Bytebase allows you to manage and track schema changes across multiple environments, streamlining the process of deploying database schema changes. - -### Key Features: - -- Web-based UI for managing and tracking schema changes. -- Supports PostgreSQL, MySQL, and SQLite. -- Schema change review and approval workflows. -- Integrates with popular version control systems like GitHub, GitLab, and Bitbucket. - -In summary, Liquidbase, Sqitch, and Bytebase are all great options for managing migrations in PostgreSQL. Each tool offers unique features and approaches to handling migrations, allowing you to pick the one that best fits your project's architecture and requirements. The key is to choose the right tool based on your team's preferences, development processes, and the specific needs of your application's database schema. \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/109-application-skills/103-data-partitioning-sharding-patterns.md b/src/data/roadmaps/postgresql-dba/content/109-application-skills/103-data-partitioning-sharding-patterns.md deleted file mode 100644 index 75df29d0931b..000000000000 --- a/src/data/roadmaps/postgresql-dba/content/109-application-skills/103-data-partitioning-sharding-patterns.md +++ /dev/null @@ -1,33 +0,0 @@ -# Data Partitioning and Sharding Patterns - -In this section, we will discuss data partitioning and sharding patterns in PostgreSQL. When dealing with big datasets or high-throughput applications, it is essential to distribute the data across multiple databases or servers to achieve better performance, scalability, and maintainability. - -## Data Partitioning - -Data partitioning is a technique that divides a large table into smaller, more manageable pieces called partitions. Each partition is a smaller table that stores a subset of the data, usually based on specific criteria such as ranges, lists, or hashes. Partitioning can improve query performance, simplifies data maintenance tasks, and optimizes resource utilization. - -PostgreSQL supports different partitioning methods, such as: - -- **Range Partitioning:** The data in a range-partitioned table is separated into partitions based on a specified range of values for a given column. For example, orders could be partitioned by date range, with each partition containing orders within a specific date interval. - -- **List Partitioning:** The data in a list-partitioned table is separated into partitions based on specified discrete sets of values for a given column. For example, customers could be partitioned by their country, with each partition storing customers from a specific country. - -- **Hash Partitioning:** The data in a hash-partitioned table is divided into partitions using a hash function applied to one or more columns. This method distributes data uniformly across all partitions, which helps in load balancing and parallel query processing. For example, products could be hash partitioned based on the product ID. - -For more information on partitioning in PostgreSQL, refer to the [official documentation](https://www.postgresql.org/docs/current/ddl-partitioning.html). - -## Sharding - -Sharding is a technique that splits a large dataset across multiple database instances or servers, called shards. Each shard is an independent and self-contained unit that holds a portion of the overall data, and shards can be distributed across different geographical locations or infrastructures. - -In PostgreSQL environment, sharding can be achieved in different ways: - -- **Sharding at the application level:** The application defines the logic to decide which shard will store a specific data record. The application communicates directly with each shard for querying or modifying the data. - -- **Sharding using foreign data wrappers:** PostgreSQL provides a feature called foreign data wrappers (FDW) that allows a PostgreSQL server to access data stored in remote servers, treating them as local tables. By using this technique, the data can be sharded across multiple remote servers, and the local PostgreSQL instance acts as a coordinator for accessing these shards. - -- **Sharding using 3rd-party tools:** Several 3rd-party tools, such as Pgpool-II, Citus, and PLProxy, can be used for sharding purpose. These tools handle connection pooling, load balancing, and data distribution across multiple PostgreSQL instances. The choice of tools depends on the requirements, complexity, and the desired level of control over the sharding logic. - -For more information on sharding in PostgreSQL, refer to this [comprehensive guide](https://www.citusdata.com/blog/2017/07/31/sharding-in-postgresql/). - -Implementing data partitioning or sharding requires careful planning and analysis of data distribution, query patterns, and system resources. Balancing the trade-offs of manageability, performance, and scalability is crucial for a successful implementation. \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/109-application-skills/103-data-partitioning.md b/src/data/roadmaps/postgresql-dba/content/109-application-skills/103-data-partitioning.md new file mode 100644 index 000000000000..810dee128a76 --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/109-application-skills/103-data-partitioning.md @@ -0,0 +1,13 @@ +# Data Partitioning + +Data partitioning is a technique that divides a large table into smaller, more manageable pieces called partitions. Each partition is a smaller table that stores a subset of the data, usually based on specific criteria such as ranges, lists, or hashes. Partitioning can improve query performance, simplifies data maintenance tasks, and optimizes resource utilization. + +PostgreSQL supports different partitioning methods, such as: + +- **Range Partitioning:** The data in a range-partitioned table is separated into partitions based on a specified range of values for a given column. For example, orders could be partitioned by date range, with each partition containing orders within a specific date interval. + +- **List Partitioning:** The data in a list-partitioned table is separated into partitions based on specified discrete sets of values for a given column. For example, customers could be partitioned by their country, with each partition storing customers from a specific country. + +- **Hash Partitioning:** The data in a hash-partitioned table is divided into partitions using a hash function applied to one or more columns. This method distributes data uniformly across all partitions, which helps in load balancing and parallel query processing. For example, products could be hash partitioned based on the product ID. + +For more information on partitioning in PostgreSQL, refer to the [official documentation](https://www.postgresql.org/docs/current/ddl-partitioning.html). \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/109-application-skills/105-sharding-patterns.md b/src/data/roadmaps/postgresql-dba/content/109-application-skills/105-sharding-patterns.md new file mode 100644 index 000000000000..3bd1a29bdb7e --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/109-application-skills/105-sharding-patterns.md @@ -0,0 +1,11 @@ +# Sharding Patterns + +Sharding is a technique that splits a large dataset across multiple database instances or servers, called shards. Each shard is an independent and self-contained unit that holds a portion of the overall data, and shards can be distributed across different geographical locations or infrastructures. + +In PostgreSQL environment, sharding can be achieved in different ways: + +- **Sharding at the application level:** The application defines the logic to decide which shard will store a specific data record. The application communicates directly with each shard for querying or modifying the data. + +- **Sharding using foreign data wrappers:** PostgreSQL provides a feature called foreign data wrappers (FDW) that allows a PostgreSQL server to access data stored in remote servers, treating them as local tables. By using this technique, the data can be sharded across multiple remote servers, and the local PostgreSQL instance acts as a coordinator for accessing these shards. + +- **Sharding using 3rd-party tools:** Several 3rd-party tools, such as Pgpool-II, Citus, and PLProxy, can be used for sharding purpose. These tools handle connection pooling, load balancing, and data distribution across multiple PostgreSQL instances. The choice of tools depends on the requirements, complexity, and the desired level of control over the sharding logic. \ No newline at end of file diff --git a/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/104-explain-dalibo-com.md b/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/104-explain-dalibo-com.md new file mode 100644 index 000000000000..3b7d0148ec8d --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/103-query-analysis/104-explain-dalibo-com.md @@ -0,0 +1,5 @@ +# explain.dalibo.com + +explain.dalibo.com is a free service that allows you to analyze the execution plan of your queries. It is based on the [explain.depesz.com](explain.depesz.com) service. + +- [explain.dalibo.com](https://explain.dalibo.com/) diff --git a/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/106-log-analysis/104-pg-cluu.md b/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/106-log-analysis/104-pg-cluu.md new file mode 100644 index 000000000000..bc2fb98cac55 --- /dev/null +++ b/src/data/roadmaps/postgresql-dba/content/111-troubleshooting-techniques/106-log-analysis/104-pg-cluu.md @@ -0,0 +1,39 @@ +# pgCluu + +PgCluu is a powerful and easy-to-use PostgreSQL performance monitoring and tuning tool. This open-source program collects statistics and provides various metrics in order to analyze PostgreSQL databases, helping you discover performance bottlenecks and optimize your cluster's performance. + +## Key Features + +- Collects and analyzes PostgreSQL log files and system statistics. +- Provides real-time monitoring and reports with insights into various aspects, such as queries, locks, indexes, tablespaces, connections, and more. +- Offers customizable graphs for visualizing performance data. + +## Installation and Usage + +To install PgCluu, follow these steps: + +- Install the required dependencies: + ```bash + sudo apt-get install perl libdbi-perl libdbd-pg-perl libpg-perl libjson-perl rrdtool librrds-perl + ``` +- Download and extract the latest PgCluu release from [the official GitHub repository](https://github.com/darold/pgcluu/releases): + ```bash + wget https://github.com/darold/pgcluu/archive/refs/tags/v3.1.tar.gz + tar xzf v3.1.tar.gz + ``` +- Run the PgCluu collector to collect statistics: + ```bash + cd pgcluu-3.1/bin + ./pgcluu_collectd -D /path/to/output_directory -S [interval_seconds] -W [history_days] -C /path/to/pgcluu.conf + ``` +- Generate the report using the collected data: + ```bash + ./pgcluu -o /path/to/report_directory /path/to/output_directory + ``` +- Serve the report using a web server or browse the generated HTML files directly. + +## Configuration + +Before running the PgCluu collector (`pgcluu_collectd`), you can configure the `pgcluu.conf` file by providing the appropriate values for your PostgreSQL cluster, such as hostname, port number, database name, and login credentials. + +Apart from PostgreSQL-specific settings, you can also tweak other options, such as the RRDtool's data file format (JPG or SVG), time range for graphs, and more. \ No newline at end of file From 4142c7b51e4bb85be02aaf05e10f0b85d91eba5e Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Wed, 19 Apr 2023 21:55:56 +0100 Subject: [PATCH 4/5] Compress postgresql json --- public/jsons/roadmaps/postgresql-dba.json | 11966 +------------------- 1 file changed, 1 insertion(+), 11965 deletions(-) diff --git a/public/jsons/roadmaps/postgresql-dba.json b/public/jsons/roadmaps/postgresql-dba.json index bff5042e0ff5..954004041059 100644 --- a/public/jsons/roadmaps/postgresql-dba.json +++ b/public/jsons/roadmaps/postgresql-dba.json @@ -1,11965 +1 @@ -{ - "mockup": { - "controls": { - "control": [ - { - "ID": "1952", - "typeID": "Arrow", - "zOrder": "1", - "w": "1", - "h": "104", - "measuredW": "150", - "measuredH": "100", - "x": "874", - "y": "3459", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": -0.4129169328207354, - "y": 104.19580709381944 - }, - "p1": { - "x": 0.4999999999999998, - "y": 0 - }, - "p2": { - "x": -0.4129169328207354, - "y": -0.11774307773504233 - } - } - }, - { - "ID": "1953", - "typeID": "Arrow", - "zOrder": "2", - "w": "125", - "h": "50", - "measuredW": "150", - "measuredH": "100", - "x": "966", - "y": "3466", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.45156981064997126, - "y": -0.1889423318889385 - }, - "p1": { - "x": 0.6037511436413536, - "y": 0.08810612991765832 - }, - "p2": { - "x": 125.48082757665975, - "y": 50.08055305856897 - } - } - }, - { - "ID": "1954", - "typeID": "Arrow", - "zOrder": "3", - "w": "134", - "h": "85", - "measuredW": "150", - "measuredH": "100", - "x": "957", - "y": "3475", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.42883986877291136, - "y": -0.1662123900118786 - }, - "p1": { - "x": 0.5387556024255216, - "y": 0.1207487476931185 - }, - "p2": { - "x": 134.48082757665975, - "y": 84.90524134768566 - } - } - }, - { - "ID": "1955", - "typeID": "Arrow", - "zOrder": "4", - "w": "171", - "h": "2", - "measuredW": "150", - "measuredH": "100", - "x": "943", - "y": "3457", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.2502642458233595, - "y": -0.2116722737659984 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 171.71787682058277, - "y": 2 - } - } - }, - { - "ID": "1956", - "typeID": "Arrow", - "zOrder": "5", - "w": "129", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "853", - "y": "430", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 128.74379514298448, - "y": 53.88646773320312 - }, - "p1": { - "x": 0.3624836784055758, - "y": -0.08803194020926222 - }, - "p2": { - "x": -0.15234688382986405, - "y": -0.24991191805889912 - } - } - }, - { - "ID": "1957", - "typeID": "Arrow", - "zOrder": "6", - "w": "129", - "h": "12", - "measuredW": "150", - "measuredH": "100", - "x": "858", - "y": "424", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 128.8996408240571, - "y": 12.194895183281858 - }, - "p1": { - "x": 0.525055137952002, - "y": -0.03353659581377254 - }, - "p2": { - "x": 0.0034987972427416025, - "y": 0.5942424008685521 - } - } - }, - { - "ID": "1958", - "typeID": "Arrow", - "zOrder": "7", - "w": "134", - "h": "21", - "measuredW": "150", - "measuredH": "100", - "x": "849", - "y": "389", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 134.03275656325263, - "y": -0.49667736663946016 - }, - "p1": { - "x": 0.49455143506411814, - "y": 0.05494286199591283 - }, - "p2": { - "x": -0.01923114463420461, - "y": 20.126705357650792 - } - } - }, - { - "ID": "1959", - "typeID": "Arrow", - "zOrder": "8", - "w": "140", - "h": "60", - "measuredW": "150", - "measuredH": "100", - "x": "841", - "y": "341", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 140.74379514298448, - "y": -0.18824991656077827 - }, - "p1": { - "x": 0.523254983210688, - "y": 0.10945202543402179 - }, - "p2": { - "x": 0.2470003337568869, - "y": 59.10397541577379 - } - } - }, - { - "ID": "1960", - "typeID": "Arrow", - "zOrder": "9", - "w": "1", - "h": "162", - "measuredW": "150", - "measuredH": "100", - "x": "740", - "y": "232", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": -0.4129169328207354, - "y": 161.3884650838079 - }, - "p1": { - "x": 0.5000000000000004, - "y": 0 - }, - "p2": { - "x": -0.4129169328207354, - "y": -0.2593697375390036 - } - } - }, - { - "ID": "1961", - "typeID": "Arrow", - "zOrder": "10", - "w": "88", - "h": "36", - "measuredW": "150", - "measuredH": "100", - "x": "971", - "y": "3331", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": -0.03706521841161248, - "y": 35.08533148408014 - }, - "p1": { - "x": 0.47748925835979983, - "y": -0.13076779376050712 - }, - "p2": { - "x": 87.61231135982212, - "y": 0.2833731368405097 - } - } - }, - { - "ID": "1962", - "typeID": "Arrow", - "zOrder": "11", - "w": "202", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "884", - "y": "3378", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": -0.32381396365008186, - "y": 0 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 201.71787682058277, - "y": 0 - } - } - }, - { - "ID": "1963", - "typeID": "Arrow", - "zOrder": "12", - "w": "1", - "h": "142", - "measuredW": "150", - "measuredH": "100", - "x": "602", - "y": "3305", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.4999999999999997, - "y": 0 - }, - "p2": { - "x": 0.4271178962662816, - "y": 141.20936950191117 - } - } - }, - { - "ID": "1964", - "typeID": "Arrow", - "zOrder": "13", - "w": "1", - "h": "142", - "measuredW": "150", - "measuredH": "100", - "x": "510", - "y": "3305", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.4999999999999997, - "y": 0 - }, - "p2": { - "x": 0.4271178962662816, - "y": 141.20936950191117 - } - } - }, - { - "ID": "1965", - "typeID": "Arrow", - "zOrder": "14", - "w": "1", - "h": "142", - "measuredW": "150", - "measuredH": "100", - "x": "417", - "y": "3306", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.4999999999999997, - "y": 0 - }, - "p2": { - "x": 0.4271178962662816, - "y": 141.20936950191117 - } - } - }, - { - "ID": "1966", - "typeID": "Arrow", - "zOrder": "15", - "w": "202", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "548", - "y": "3377", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": -0.32381396365008186, - "y": 0 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 201.71787682058277, - "y": 0 - } - } - }, - { - "ID": "1967", - "typeID": "Arrow", - "zOrder": "16", - "w": "1", - "h": "295", - "measuredW": "150", - "measuredH": "100", - "x": "874", - "y": "3166", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": -0.4129169328207354, - "y": 295.29969269717276 - }, - "p1": { - "x": 0.4999999999999998, - "y": 0 - }, - "p2": { - "x": -0.4129169328207354, - "y": -0.11774307773504233 - } - } - }, - { - "ID": "1968", - "typeID": "Arrow", - "zOrder": "17", - "w": "202", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "678", - "y": "3164", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": -0.32381396365008186, - "y": 0 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 201.71787682058277, - "y": 0 - } - } - }, - { - "ID": "1969", - "typeID": "__group__", - "zOrder": "18", - "measuredW": "215", - "measuredH": "94", - "w": "215", - "h": "94", - "x": "501", - "y": "2876", - "properties": { - "controlName": "102-troubleshooting-techniques:operating-system-tools" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "215", - "h": "94", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "171", - "measuredH": "24", - "x": "19", - "y": "11", - "properties": { - "size": "16", - "text": "Operating System Tools" - } - } - ] - } - } - }, - { - "ID": "1970", - "typeID": "__group__", - "zOrder": "19", - "measuredW": "48", - "measuredH": "42", - "w": "48", - "h": "42", - "x": "511", - "y": "2918", - "properties": { - "controlName": "100-troubleshooting-techniques:operating-system-tools:top" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "48", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "12", - "y": "9", - "properties": { - "size": "16", - "text": "top" - } - } - ] - } - } - }, - { - "ID": "1971", - "typeID": "__group__", - "zOrder": "20", - "measuredW": "75", - "measuredH": "42", - "w": "75", - "h": "42", - "x": "563", - "y": "2918", - "properties": { - "controlName": "101-troubleshooting-techniques:operating-system-tools:sysstat" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "75", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "50", - "measuredH": "24", - "x": "13", - "y": "9", - "properties": { - "size": "16", - "text": "sysstat" - } - } - ] - } - } - }, - { - "ID": "1972", - "typeID": "__group__", - "zOrder": "21", - "measuredW": "60", - "measuredH": "42", - "w": "60", - "h": "42", - "x": "641", - "y": "2918", - "properties": { - "controlName": "102-troubleshooting-techniques:operating-system-tools:iotop" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "60", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "36", - "measuredH": "24", - "x": "12", - "y": "9", - "properties": { - "size": "16", - "text": "iotop" - } - } - ] - } - } - }, - { - "ID": "1973", - "typeID": "__group__", - "zOrder": "22", - "measuredW": "215", - "measuredH": "133", - "w": "215", - "h": "133", - "x": "501", - "y": "2966", - "properties": { - "controlName": "104-troubleshooting-techniques:profiling-tools" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "215", - "h": "133", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "100", - "measuredH": "24", - "x": "54", - "y": "8", - "properties": { - "size": "16", - "text": "Profiling Tools" - } - } - ] - } - } - }, - { - "ID": "1974", - "typeID": "__group__", - "zOrder": "23", - "measuredW": "57", - "measuredH": "42", - "w": "57", - "h": "42", - "x": "509", - "y": "3003", - "properties": { - "controlName": "100-troubleshooting-techniques:profiling-tools:gdb" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "57", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "28", - "measuredH": "24", - "x": "15", - "y": "9", - "properties": { - "size": "16", - "text": "gdb" - } - } - ] - } - } - }, - { - "ID": "1975", - "typeID": "__group__", - "zOrder": "24", - "measuredW": "86", - "measuredH": "42", - "w": "86", - "h": "42", - "x": "509", - "y": "3048", - "properties": { - "controlName": "103-troubleshooting-techniques:profiling-tools:perf-tools" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "86", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "70", - "measuredH": "24", - "x": "9", - "y": "9", - "properties": { - "size": "16", - "text": "perf-tools" - } - } - ] - } - } - }, - { - "ID": "1976", - "typeID": "__group__", - "zOrder": "25", - "measuredW": "109", - "measuredH": "42", - "w": "109", - "h": "42", - "x": "598", - "y": "3048", - "properties": { - "controlName": "104-troubleshooting-techniques:profiling-tools:core-dumps" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "109", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "91", - "measuredH": "24", - "x": "9", - "y": "9", - "properties": { - "size": "16", - "text": "Core Dumps" - } - } - ] - } - } - }, - { - "ID": "1977", - "typeID": "__group__", - "zOrder": "26", - "measuredW": "68", - "measuredH": "42", - "w": "68", - "h": "42", - "x": "569", - "y": "3003", - "properties": { - "controlName": "101-troubleshooting-techniques:profiling-tools:strace" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "68", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "46", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "strace" - } - } - ] - } - } - }, - { - "ID": "1978", - "typeID": "__group__", - "zOrder": "27", - "measuredW": "67", - "measuredH": "42", - "w": "67", - "h": "42", - "x": "640", - "y": "3003", - "properties": { - "controlName": "102-troubleshooting-techniques:profiling-tools:ebpf" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "67", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "33", - "measuredH": "24", - "x": "17", - "y": "9", - "properties": { - "size": "16", - "text": "ebpf" - } - } - ] - } - } - }, - { - "ID": "1979", - "typeID": "__group__", - "zOrder": "28", - "measuredW": "215", - "measuredH": "133", - "w": "215", - "h": "133", - "x": "501", - "y": "3096", - "properties": { - "controlName": "106-troubleshooting-techniques:log-analysis" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "215", - "h": "133", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "90", - "measuredH": "24", - "x": "63", - "y": "8", - "properties": { - "size": "16", - "text": "Log Analysis" - } - } - ] - } - } - }, - { - "ID": "1980", - "typeID": "__group__", - "zOrder": "29", - "measuredW": "95", - "measuredH": "42", - "w": "95", - "h": "42", - "x": "510", - "y": "3133", - "properties": { - "controlName": "100-troubleshooting-techniques:log-analysis:pg-badger" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "95", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "73", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "pgBadger" - } - } - ] - } - } - }, - { - "ID": "1981", - "typeID": "__group__", - "zOrder": "30", - "measuredW": "69", - "measuredH": "42", - "w": "69", - "h": "42", - "x": "575", - "y": "3179", - "properties": { - "controlName": "102-troubleshooting-techniques:log-analysis:grep" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "69", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "34", - "measuredH": "24", - "x": "18", - "y": "8", - "properties": { - "size": "16", - "text": "grep" - } - } - ] - } - } - }, - { - "ID": "1982", - "typeID": "__group__", - "zOrder": "31", - "measuredW": "61", - "measuredH": "42", - "w": "61", - "h": "42", - "x": "510", - "y": "3178", - "properties": { - "controlName": "101-troubleshooting-techniques:log-analysis:awk" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "61", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "28", - "measuredH": "24", - "x": "17", - "y": "9", - "properties": { - "size": "16", - "text": "awk" - } - } - ] - } - } - }, - { - "ID": "1983", - "typeID": "__group__", - "zOrder": "32", - "measuredW": "57", - "measuredH": "42", - "w": "57", - "h": "42", - "x": "649", - "y": "3178", - "properties": { - "controlName": "103-troubleshooting-techniques:log-analysis:sed" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "57", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "27", - "measuredH": "24", - "x": "15", - "y": "9", - "properties": { - "size": "16", - "text": "sed" - } - } - ] - } - } - }, - { - "ID": "1984", - "typeID": "__group__", - "zOrder": "282", - "measuredW": "209", - "measuredH": "96", - "w": "209", - "h": "96", - "x": "296", - "y": "2818", - "properties": { - "controlName": "101-troubleshooting-techniques:tools" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "209", - "h": "96", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "105", - "measuredH": "24", - "x": "52", - "y": "12", - "properties": { - "size": "16", - "text": "Postgres Tools" - } - } - ] - } - } - }, - { - "ID": "1985", - "typeID": "__group__", - "zOrder": "283", - "measuredW": "189", - "measuredH": "42", - "w": "189", - "h": "42", - "x": "306", - "y": "2862", - "properties": { - "controlName": "100-troubleshooting-techniques:tools:pgcenter" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "189", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "66", - "measuredH": "24", - "x": "62", - "y": "9", - "properties": { - "size": "16", - "text": "pgcenter" - } - } - ] - } - } - }, - { - "ID": "1986", - "typeID": "Arrow", - "zOrder": "33", - "w": "1", - "h": "97", - "measuredW": "150", - "measuredH": "100", - "x": "999", - "y": "2292", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 0 - }, - "p2": { - "x": 0.4271178962662816, - "y": 96.57440424601737 - } - } - }, - { - "ID": "1987", - "typeID": "Arrow", - "zOrder": "34", - "w": "1", - "h": "97", - "measuredW": "150", - "measuredH": "100", - "x": "681", - "y": "2293", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 0 - }, - "p2": { - "x": 0.4271178962662816, - "y": 96.57440424601737 - } - } - }, - { - "ID": "1988", - "typeID": "Canvas", - "zOrder": "35", - "w": "146", - "h": "164", - "measuredW": "100", - "measuredH": "70", - "x": "611", - "y": "2359" - }, - { - "ID": "1989", - "typeID": "Arrow", - "zOrder": "36", - "w": "1", - "h": "88", - "measuredW": "150", - "measuredH": "100", - "x": "434", - "y": "2458", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962663953, - "y": 0.3713024393487103 - }, - "p1": { - "x": 0.4999999999999998, - "y": 0 - }, - "p2": { - "x": 0.4271178962663953, - "y": 88.66666666666663 - } - } - }, - { - "ID": "1990", - "typeID": "Arrow", - "zOrder": "37", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "437", - "y": "2305", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "1991", - "typeID": "Arrow", - "zOrder": "38", - "w": "620", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "232", - "y": "1784", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 0.13465453284504747, - "y": -0.11774307773521286 - }, - "p1": { - "x": 0.5000000000000002, - "y": 0 - }, - "p2": { - "x": 619.7495916965531, - "y": -0.11774307773521286 - } - } - }, - { - "ID": "1992", - "typeID": "Arrow", - "zOrder": "39", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "594", - "y": "1975", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "1993", - "typeID": "Arrow", - "zOrder": "40", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "850", - "y": "1975", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "1994", - "typeID": "Arrow", - "zOrder": "41", - "w": "404", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "415", - "y": "1853", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962663953, - "y": 0 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 404.698868282416, - "y": 0 - } - } - }, - { - "ID": "1995", - "typeID": "Arrow", - "zOrder": "42", - "w": "1", - "h": "264", - "measuredW": "150", - "measuredH": "100", - "x": "1256", - "y": "1587", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": 0.2815709355738818 - }, - "p1": { - "x": 0.49999999999999994, - "y": 0 - }, - "p2": { - "x": 0.4271178962662816, - "y": 264.5 - } - } - }, - { - "ID": "1996", - "typeID": "Arrow", - "zOrder": "43", - "w": "1", - "h": "65", - "measuredW": "150", - "measuredH": "100", - "x": "852", - "y": "1792", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.4999999999999998, - "y": 0 - }, - "p2": { - "x": 0.4271178962662816, - "y": 64.5 - } - } - }, - { - "ID": "1997", - "typeID": "Arrow", - "zOrder": "44", - "w": "1", - "h": "53", - "measuredW": "150", - "measuredH": "100", - "x": "1007", - "y": "1792", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.4999999999999999, - "y": 0 - }, - "p2": { - "x": 0.4271178962662816, - "y": 52.5 - } - } - }, - { - "ID": "1998", - "typeID": "Arrow", - "zOrder": "45", - "w": "102", - "h": "42", - "measuredW": "150", - "measuredH": "100", - "x": "701", - "y": "1729", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": -0.3637224596427586, - "y": 0.4123432898111332 - }, - "p1": { - "x": 0.5571092804064476, - "y": -0.10882932503976735 - }, - "p2": { - "x": 101.56767757191813, - "y": 41.71540129516461 - } - } - }, - { - "ID": "1999", - "typeID": "Arrow", - "zOrder": "46", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "641", - "y": "2046", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "2000", - "typeID": "Arrow", - "zOrder": "47", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "849", - "y": "1858", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "2001", - "typeID": "Arrow", - "zOrder": "48", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "1078", - "y": "1933", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "2002", - "typeID": "Canvas", - "zOrder": "49", - "w": "188", - "h": "157", - "measuredW": "100", - "measuredH": "70", - "x": "977", - "y": "1980" - }, - { - "ID": "2003", - "typeID": "Arrow", - "zOrder": "50", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "1257", - "y": "1849", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "2004", - "typeID": "Arrow", - "zOrder": "51", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "1078", - "y": "1846", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "2005", - "typeID": "__group__", - "zOrder": "52", - "measuredW": "418", - "measuredH": "47", - "w": "418", - "h": "47", - "x": "977", - "y": "1830", - "properties": { - "controlName": "102-postgresql-infrastructure-skills:backup-recovery-tools" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "418", - "h": "47", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "180", - "measuredH": "24", - "x": "120", - "y": "12", - "properties": { - "size": "16", - "text": "Backup / Recovery Tools" - } - } - ] - } - } - }, - { - "ID": "2006", - "typeID": "Arrow", - "zOrder": "53", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "1257", - "y": "1929", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "2007", - "typeID": "Canvas", - "zOrder": "54", - "w": "235", - "h": "157", - "measuredW": "100", - "measuredH": "70", - "x": "1160", - "y": "1980" - }, - { - "ID": "2008", - "typeID": "Arrow", - "zOrder": "55", - "w": "1", - "h": "287", - "measuredW": "150", - "measuredH": "100", - "x": "946", - "y": "1509", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": -0.4129169328207354, - "y": 286.97930395280105 - }, - "p1": { - "x": 0.5000000000000001, - "y": 0 - }, - "p2": { - "x": -0.4129169328207354, - "y": -0.11774307773504233 - } - } - }, - { - "ID": "2009", - "typeID": "Arrow", - "zOrder": "56", - "w": "165", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "780", - "y": "1509", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 0.4483238886820118, - "y": -0.11774307773521286 - }, - "p1": { - "x": 0.5000000000000002, - "y": 0 - }, - "p2": { - "x": 165.74959169655313, - "y": -0.11774307773521286 - } - } - }, - { - "ID": "2010", - "typeID": "Arrow", - "zOrder": "57", - "w": "1", - "h": "191", - "measuredW": "150", - "measuredH": "100", - "x": "628", - "y": "1406", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962663953, - "y": 0 - }, - "p1": { - "x": 0.4999999999999999, - "y": 0 - }, - "p2": { - "x": 0.4271178962663953, - "y": 190.66666666666663 - } - } - }, - { - "ID": "2011", - "typeID": "Arrow", - "zOrder": "58", - "w": "127", - "h": "34", - "measuredW": "150", - "measuredH": "100", - "x": "454", - "y": "1512", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.11994957005373408, - "y": 33.764875280635124 - }, - "p1": { - "x": 0.48226186491714973, - "y": 0.07717329440735292 - }, - "p2": { - "x": 126.93000271100163, - "y": 0.32046566104463636 - } - } - }, - { - "ID": "2012", - "typeID": "Arrow", - "zOrder": "59", - "w": "117", - "h": "40", - "measuredW": "150", - "measuredH": "100", - "x": "449", - "y": "1450", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": -0.45411869987805176, - "y": -0.38780237568789744 - }, - "p1": { - "x": 0.5058786326070862, - "y": -0.07078943628709435 - }, - "p2": { - "x": 116.60131496868928, - "y": 40.02419258131749 - } - } - }, - { - "ID": "2013", - "typeID": "Arrow", - "zOrder": "60", - "w": "191", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "406", - "y": "1501", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962663953, - "y": 0 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 191, - "y": 0 - } - } - }, - { - "ID": "2014", - "typeID": "Arrow", - "zOrder": "61", - "w": "134", - "h": "98", - "measuredW": "150", - "measuredH": "100", - "x": "421", - "y": "1172", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.3333333333333144, - "y": 97.66666666666663 - }, - "p1": { - "x": 0.5069805639200657, - "y": 0.10073911853271315 - }, - "p2": { - "x": 134.13752000020185, - "y": -0.3173254102676992 - }, - "color": "10027263" - } - }, - { - "ID": "2015", - "typeID": "Arrow", - "zOrder": "62", - "w": "147", - "h": "44", - "measuredW": "150", - "measuredH": "100", - "x": "407", - "y": "1171", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.3333333333333144, - "y": 44 - }, - "p1": { - "x": 0.5300999629766752, - "y": 0.0764901888189561 - }, - "p2": { - "x": 147, - "y": 0 - }, - "color": "10027263" - } - }, - { - "ID": "2016", - "typeID": "Arrow", - "zOrder": "63", - "w": "128", - "h": "41", - "measuredW": "150", - "measuredH": "100", - "x": "425", - "y": "1071", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.3333333333333144, - "y": 0 - }, - "p1": { - "x": 0.4922100240848163, - "y": -0.11071038048662071 - }, - "p2": { - "x": 127.66666666666669, - "y": 39.33333333333337 - }, - "color": "10027263" - } - }, - { - "ID": "2017", - "typeID": "Arrow", - "zOrder": "64", - "w": "136", - "h": "92", - "measuredW": "150", - "measuredH": "100", - "x": "425", - "y": "1021", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": -0.3333333333333144, - "y": 0 - }, - "p1": { - "x": 0.4922100240848163, - "y": -0.11071038048662066 - }, - "p2": { - "x": 135.72190217879785, - "y": 91.72550749825871 - }, - "color": "10027263" - } - }, - { - "ID": "2018", - "typeID": "Arrow", - "zOrder": "65", - "w": "189", - "h": "6", - "measuredW": "150", - "measuredH": "100", - "x": "374", - "y": "1158", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.4271178962663953, - "y": 6 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 189.67849256059174, - "y": 0.26114628054824607 - }, - "color": "10027263" - } - }, - { - "ID": "2019", - "typeID": "Arrow", - "zOrder": "66", - "w": "188", - "h": "7", - "measuredW": "150", - "measuredH": "100", - "x": "364", - "y": "1119", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.4271178962663953, - "y": 0 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 188.66666666666669, - "y": 6.666666666666629 - }, - "color": "10027263" - } - }, - { - "ID": "2020", - "typeID": "Arrow", - "zOrder": "67", - "w": "1", - "h": "191", - "measuredW": "150", - "measuredH": "100", - "x": "557", - "y": "1051", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.4271178962663953, - "y": 0 - }, - "p1": { - "x": 0.4999999999999999, - "y": 0 - }, - "p2": { - "x": 0.4271178962663953, - "y": 190.66666666666663 - }, - "color": "10027263" - } - }, - { - "ID": "2021", - "typeID": "Arrow", - "zOrder": "68", - "w": "128", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "734", - "y": "1141", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 128.3182218608979, - "y": 0 - }, - "p1": { - "x": 0.5000000000000001, - "y": 0 - }, - "p2": { - "x": 0, - "y": 0 - }, - "color": "10027263" - } - }, - { - "ID": "2022", - "typeID": "__group__", - "zOrder": "69", - "measuredW": "304", - "measuredH": "202", - "w": "304", - "h": "202", - "x": "1084", - "y": "1238", - "properties": { - "controlName": "103-learn-sql-concepts:advanced-topics" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "304", - "h": "202", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "122", - "measuredH": "24", - "x": "91", - "y": "18", - "properties": { - "size": "16", - "text": "Advanced Topics" - } - } - ] - } - } - }, - { - "ID": "2023", - "typeID": "Arrow", - "zOrder": "70", - "w": "258", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "946", - "y": "920", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.49987434137158676, - "y": 0.00022818425917650698 - }, - "p2": { - "x": 258, - "y": 0 - } - } - }, - { - "ID": "2024", - "typeID": "Arrow", - "zOrder": "71", - "w": "258", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "946", - "y": "903", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 0, - "y": 0 - }, - "p1": { - "x": 0.49987434137158676, - "y": 0.00022818425917650698 - }, - "p2": { - "x": 258, - "y": 0 - } - } - }, - { - "ID": "2025", - "typeID": "Arrow", - "zOrder": "72", - "w": "1", - "h": "106", - "measuredW": "150", - "measuredH": "100", - "x": "1309", - "y": "912", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0, - "y": 106.43592685891701 - }, - "p1": { - "x": 0.5000000000000001, - "y": 0 - }, - "p2": { - "x": 0, - "y": 0 - } - } - }, - { - "ID": "2026", - "typeID": "Arrow", - "zOrder": "73", - "w": "1", - "h": "106", - "measuredW": "150", - "measuredH": "100", - "x": "1158", - "y": "912", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0, - "y": 106.43592685891701 - }, - "p1": { - "x": 0.5000000000000001, - "y": 0 - }, - "p2": { - "x": 0, - "y": 0 - } - } - }, - { - "ID": "2027", - "typeID": "__group__", - "zOrder": "74", - "measuredW": "154", - "measuredH": "241", - "w": "154", - "h": "241", - "x": "1085", - "y": "969", - "properties": { - "controlName": "100-learn-sql-concepts:ddl-queries" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "154", - "h": "241", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "95", - "measuredH": "24", - "x": "29", - "y": "13", - "properties": { - "size": "16", - "text": "DDL Queries" - } - } - ] - } - } - }, - { - "ID": "2028", - "typeID": "__group__", - "zOrder": "75", - "measuredW": "130", - "measuredH": "42", - "w": "130", - "h": "42", - "x": "1097", - "y": "1106", - "properties": { - "controlName": "102-learn-sql-concepts:ddl-queries:data-types" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "130", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "81", - "measuredH": "24", - "x": "24", - "y": "9", - "properties": { - "size": "16", - "text": "Data Types" - } - } - ] - } - } - }, - { - "ID": "2029", - "typeID": "__group__", - "zOrder": "76", - "measuredW": "130", - "measuredH": "42", - "w": "130", - "h": "42", - "x": "1096", - "y": "1013", - "properties": { - "controlName": "100-learn-sql-concepts:ddl-queries:for-schemas" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "130", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "95", - "measuredH": "24", - "x": "19", - "y": "9", - "properties": { - "size": "16", - "text": "For Schemas" - } - } - ] - } - } - }, - { - "ID": "2030", - "typeID": "__group__", - "zOrder": "77", - "measuredW": "130", - "measuredH": "42", - "w": "130", - "h": "42", - "x": "1096", - "y": "1059", - "properties": { - "controlName": "101-learn-sql-concepts:ddl-queries:for-tables" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "130", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "75", - "measuredH": "24", - "x": "29", - "y": "9", - "properties": { - "size": "16", - "text": "For Tables" - } - } - ] - } - } - }, - { - "ID": "2031", - "typeID": "Arrow", - "zOrder": "78", - "w": "1", - "h": "213", - "measuredW": "150", - "measuredH": "100", - "x": "946", - "y": "690", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": -0.4129169328207354, - "y": 212.3884650838079 - }, - "p1": { - "x": 0.5000000000000002, - "y": 0 - }, - "p2": { - "x": -0.4129169328207354, - "y": -0.11774307773504233 - } - } - }, - { - "ID": "2032", - "typeID": "Arrow", - "zOrder": "79", - "w": "128", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "1107", - "y": "685", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 128.3182218608979, - "y": 0 - }, - "p1": { - "x": 0.5000000000000001, - "y": 0 - }, - "p2": { - "x": 0, - "y": 0 - } - } - }, - { - "ID": "2033", - "typeID": "Arrow", - "zOrder": "80", - "w": "1", - "h": "147", - "measuredW": "150", - "measuredH": "100", - "x": "1077", - "y": "613", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0, - "y": -0.12826052131362076 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 0, - "y": 147.29881929523685 - } - } - }, - { - "ID": "2034", - "typeID": "Arrow", - "zOrder": "81", - "w": "172", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "753", - "y": "686", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 0, - "y": -0.11774307773505654 - }, - "p1": { - "x": 0.5000000000000002, - "y": 2.0577493387487696e-32 - }, - "p2": { - "x": 171.58708306717926, - "y": -0.11774307773504233 - } - } - }, - { - "ID": "2035", - "typeID": "Arrow", - "zOrder": "82", - "w": "171", - "h": "258", - "measuredW": "150", - "measuredH": "100", - "x": "571", - "y": "414", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 171, - "y": 0 - }, - "p1": { - "x": 0.5854320642684712, - "y": 0.23339886429384038 - }, - "p2": { - "x": 0.008847042366596725, - "y": 257.51497904447774 - } - } - }, - { - "ID": "2036", - "typeID": "Arrow", - "zOrder": "83", - "w": "1", - "h": "78", - "measuredW": "150", - "measuredH": "100", - "x": "640", - "y": "707", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962663953, - "y": 0 - }, - "p1": { - "x": 0.49999999999999994, - "y": 0 - }, - "p2": { - "x": 0.4271178962663953, - "y": 78.47632623201923 - } - } - }, - { - "ID": "2037", - "typeID": "Arrow", - "zOrder": "84", - "w": "1", - "h": "94", - "measuredW": "150", - "measuredH": "100", - "x": "355", - "y": "691", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962663953, - "y": 0.3919582050954773 - }, - "p1": { - "x": 0.4999999999999999, - "y": 0 - }, - "p2": { - "x": 0.4271178962663953, - "y": 94.47632623201923 - } - } - }, - { - "ID": "2038", - "typeID": "Arrow", - "zOrder": "85", - "w": "191", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "352", - "y": "686", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962663953, - "y": 0 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 191, - "y": 0 - } - } - }, - { - "ID": "2039", - "typeID": "Label", - "zOrder": "86", - "measuredW": "152", - "measuredH": "36", - "x": "666", - "y": "181", - "properties": { - "size": "28", - "text": "PostgreSQL" - } - }, - { - "ID": "2040", - "typeID": "Arrow", - "zOrder": "87", - "w": "1", - "h": "84", - "measuredW": "150", - "measuredH": "100", - "x": "741", - "y": "86", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0, - "y": -0.3333333333333428 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 0, - "y": 84 - } - } - }, - { - "ID": "2041", - "typeID": "__group__", - "zOrder": "88", - "measuredW": "269", - "measuredH": "49", - "w": "269", - "h": "49", - "x": "506", - "y": "662", - "properties": { - "controlName": "102-rdbms-concepts" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "269", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "187", - "measuredH": "25", - "x": "41", - "y": "12", - "properties": { - "text": "Basic RDBMS Concepts", - "size": "17" - } - } - ] - } - } - }, - { - "ID": "2042", - "typeID": "__group__", - "zOrder": "89", - "measuredW": "184", - "measuredH": "42", - "w": "184", - "h": "42", - "x": "259", - "y": "666", - "properties": { - "controlName": "100-rdbms-concepts:object-model" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "184", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "98", - "measuredH": "24", - "x": "43", - "y": "9", - "properties": { - "text": "Object Model", - "size": "16" - } - } - ] - } - } - }, - { - "ID": "2043", - "typeID": "__group__", - "zOrder": "90", - "measuredW": "269", - "measuredH": "42", - "w": "269", - "h": "42", - "x": "506", - "y": "897", - "properties": { - "controlName": "104-rdbms-concepts:high-level-database-concepts:query-processing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "269", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "128", - "measuredH": "24", - "x": "71", - "y": "9", - "properties": { - "size": "16", - "text": "Query Processing" - } - } - ] - } - } - }, - { - "ID": "2044", - "typeID": "__group__", - "zOrder": "91", - "measuredW": "184", - "measuredH": "42", - "w": "184", - "h": "42", - "x": "259", - "y": "484", - "properties": { - "controlName": "105-rdbms-concepts:object-model:data-types" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "184", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "81", - "measuredH": "24", - "x": "51", - "y": "9", - "properties": { - "size": "16", - "text": "Data Types" - } - } - ] - } - } - }, - { - "ID": "2045", - "typeID": "__group__", - "zOrder": "92", - "measuredW": "82", - "measuredH": "42", - "w": "82", - "h": "42", - "x": "259", - "y": "529", - "properties": { - "controlName": "103-rdbms-concepts:object-model:rows" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "82", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "40", - "measuredH": "24", - "x": "21", - "y": "9", - "properties": { - "size": "16", - "text": "Rows" - } - } - ] - } - } - }, - { - "ID": "2046", - "typeID": "__group__", - "zOrder": "93", - "measuredW": "99", - "measuredH": "42", - "w": "99", - "h": "42", - "x": "344", - "y": "529", - "properties": { - "controlName": "104-rdbms-concepts:object-model:columns" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "99", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "64", - "measuredH": "24", - "x": "18", - "y": "9", - "properties": { - "size": "16", - "text": "Columns" - } - } - ] - } - } - }, - { - "ID": "2047", - "typeID": "__group__", - "zOrder": "94", - "measuredW": "82", - "measuredH": "42", - "w": "82", - "h": "42", - "x": "259", - "y": "574", - "properties": { - "controlName": "101-rdbms-concepts:object-model:tables" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "82", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "47", - "measuredH": "24", - "x": "17", - "y": "9", - "properties": { - "size": "16", - "text": "Tables" - } - } - ] - } - } - }, - { - "ID": "2048", - "typeID": "__group__", - "zOrder": "95", - "measuredW": "99", - "measuredH": "42", - "w": "99", - "h": "42", - "x": "344", - "y": "574", - "properties": { - "controlName": "102-rdbms-concepts:object-model:schemas" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "99", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "67", - "measuredH": "24", - "x": "16", - "y": "9", - "properties": { - "size": "16", - "text": "Schemas" - } - } - ] - } - } - }, - { - "ID": "2049", - "typeID": "__group__", - "zOrder": "96", - "measuredW": "184", - "measuredH": "42", - "w": "184", - "h": "42", - "x": "259", - "y": "620", - "properties": { - "controlName": "100-rdbms-concepts:object-model:databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "184", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "78", - "measuredH": "24", - "x": "53", - "y": "9", - "properties": { - "size": "16", - "text": "Databases" - } - } - ] - } - } - }, - { - "ID": "2050", - "typeID": "__group__", - "zOrder": "97", - "measuredW": "184", - "measuredH": "42", - "w": "184", - "h": "42", - "x": "259", - "y": "439", - "properties": { - "controlName": "106-rdbms-concepts:object-model:queries" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "184", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "58", - "measuredH": "24", - "x": "63", - "y": "9", - "properties": { - "size": "16", - "text": "Queries" - } - } - ] - } - } - }, - { - "ID": "2051", - "typeID": "__group__", - "zOrder": "98", - "measuredW": "184", - "measuredH": "42", - "w": "184", - "h": "42", - "x": "259", - "y": "756", - "properties": { - "controlName": "101-rdbms-concepts:relational-model" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "184", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "123", - "measuredH": "24", - "x": "30", - "y": "9", - "properties": { - "size": "16", - "text": "Relational Model" - } - } - ] - } - } - }, - { - "ID": "2052", - "typeID": "__group__", - "zOrder": "99", - "measuredW": "92", - "measuredH": "42", - "w": "92", - "h": "42", - "x": "258", - "y": "803", - "properties": { - "controlName": "100-rdbms-concepts:relational-model:domains" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "92", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "64", - "measuredH": "24", - "x": "14", - "y": "9", - "properties": { - "size": "16", - "text": "Domains" - } - } - ] - } - } - }, - { - "ID": "2053", - "typeID": "__group__", - "zOrder": "100", - "measuredW": "89", - "measuredH": "42", - "w": "89", - "h": "42", - "x": "354", - "y": "803", - "properties": { - "controlName": "101-rdbms-concepts:relational-model:attributes" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "89", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "70", - "measuredH": "24", - "x": "10", - "y": "9", - "properties": { - "size": "16", - "text": "Attributes" - } - } - ] - } - } - }, - { - "ID": "2054", - "typeID": "__group__", - "zOrder": "101", - "measuredW": "92", - "measuredH": "42", - "w": "92", - "h": "42", - "x": "258", - "y": "849", - "properties": { - "controlName": "102-rdbms-concepts:relational-model:tuples" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "92", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "48", - "measuredH": "24", - "x": "24", - "y": "9", - "properties": { - "size": "16", - "text": "Tuples" - } - } - ] - } - } - }, - { - "ID": "2055", - "typeID": "__group__", - "zOrder": "102", - "measuredW": "89", - "measuredH": "42", - "w": "89", - "h": "42", - "x": "354", - "y": "849", - "properties": { - "controlName": "103-rdbms-concepts:relational-model:relations" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "89", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "69", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "Relations" - } - } - ] - } - } - }, - { - "ID": "2056", - "typeID": "__group__", - "zOrder": "103", - "measuredW": "106", - "measuredH": "42", - "w": "106", - "h": "42", - "x": "258", - "y": "895", - "properties": { - "controlName": "104-rdbms-concepts:relational-model:constraints" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "106", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "83", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "Constraints" - } - } - ] - } - } - }, - { - "ID": "2057", - "typeID": "__group__", - "zOrder": "104", - "measuredW": "73", - "measuredH": "42", - "w": "73", - "h": "42", - "x": "370", - "y": "895", - "properties": { - "controlName": "105-rdbms-concepts:relational-model:null" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "73", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "43", - "measuredH": "24", - "x": "15", - "y": "9", - "properties": { - "size": "16", - "text": "NULL" - } - } - ] - } - } - }, - { - "ID": "2058", - "typeID": "__group__", - "zOrder": "105", - "measuredW": "269", - "measuredH": "42", - "w": "269", - "h": "42", - "x": "506", - "y": "758", - "properties": { - "controlName": "102-rdbms-concepts:high-level-database-concepts" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "269", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "225", - "measuredH": "24", - "x": "22", - "y": "9", - "properties": { - "size": "16", - "text": "High Level Database Concepts" - } - } - ] - } - } - }, - { - "ID": "2059", - "typeID": "__group__", - "zOrder": "106", - "measuredW": "64", - "measuredH": "42", - "w": "64", - "h": "42", - "x": "506", - "y": "805", - "properties": { - "controlName": "100-rdbms-concepts:high-level-database-concepts:acid" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "64", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "38", - "measuredH": "24", - "x": "13", - "y": "9", - "properties": { - "size": "16", - "text": "ACID" - } - } - ] - } - } - }, - { - "ID": "2060", - "typeID": "__group__", - "zOrder": "107", - "measuredW": "74", - "measuredH": "42", - "w": "74", - "h": "42", - "x": "575", - "y": "805", - "properties": { - "controlName": "101-rdbms-concepts:high-level-database-concepts:mvcc" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "74", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "46", - "measuredH": "24", - "x": "14", - "y": "9", - "properties": { - "size": "16", - "text": "MVCC" - } - } - ] - } - } - }, - { - "ID": "2061", - "typeID": "__group__", - "zOrder": "108", - "measuredW": "122", - "measuredH": "42", - "w": "122", - "h": "42", - "x": "653", - "y": "805", - "properties": { - "controlName": "102-rdbms-concepts:high-level-database-concepts:transactions" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "122", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "93", - "measuredH": "24", - "x": "14", - "y": "9", - "properties": { - "size": "16", - "text": "Transactions" - } - } - ] - } - } - }, - { - "ID": "2062", - "typeID": "__group__", - "zOrder": "109", - "measuredW": "269", - "measuredH": "42", - "w": "269", - "h": "42", - "x": "506", - "y": "851", - "properties": { - "controlName": "103-rdbms-concepts:high-level-database-concepts:write-ahead-log" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "269", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "122", - "measuredH": "24", - "x": "74", - "y": "9", - "properties": { - "size": "16", - "text": "Write-ahead Log" - } - } - ] - } - } - }, - { - "ID": "2063", - "typeID": "__group__", - "zOrder": "110", - "measuredW": "247", - "measuredH": "49", - "w": "247", - "h": "49", - "x": "876", - "y": "662", - "properties": { - "controlName": "103-installation-and-setup" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "247", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "166", - "measuredH": "25", - "x": "41", - "y": "12", - "properties": { - "size": "17", - "text": "Installation and Setup" - } - } - ] - } - } - }, - { - "ID": "2064", - "typeID": "__group__", - "zOrder": "111", - "measuredW": "180", - "measuredH": "42", - "w": "180", - "h": "42", - "x": "975", - "y": "583", - "properties": { - "controlName": "100-installation-and-setup:package-managers" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "180", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "141", - "measuredH": "24", - "x": "19", - "y": "9", - "properties": { - "size": "16", - "text": "Package Managers" - } - } - ] - } - } - }, - { - "ID": "2065", - "typeID": "__group__", - "zOrder": "112", - "measuredW": "180", - "measuredH": "42", - "w": "180", - "h": "42", - "x": "975", - "y": "537", - "properties": { - "controlName": "101-installation-and-setup:using-docker" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "180", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "98", - "measuredH": "24", - "x": "41", - "y": "9", - "properties": { - "size": "16", - "text": "Using Docker" - } - } - ] - } - } - }, - { - "ID": "2066", - "typeID": "__group__", - "zOrder": "113", - "measuredW": "189", - "measuredH": "42", - "w": "189", - "h": "42", - "x": "973", - "y": "745", - "properties": { - "controlName": "102-installation-and-setup:connect-using-psql" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "189", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "146", - "measuredH": "24", - "x": "22", - "y": "9", - "properties": { - "size": "16", - "text": "Connect using `psql`" - } - } - ] - } - } - }, - { - "ID": "2067", - "typeID": "Canvas", - "zOrder": "114", - "w": "189", - "h": "189", - "measuredW": "100", - "measuredH": "70", - "x": "1199", - "y": "592" - }, - { - "ID": "2068", - "typeID": "Label", - "zOrder": "115", - "measuredW": "140", - "measuredH": "24", - "x": "1224", - "y": "603", - "properties": { - "size": "16", - "text": "Managing Postgres" - } - }, - { - "ID": "2069", - "typeID": "__group__", - "zOrder": "116", - "measuredW": "170", - "measuredH": "42", - "w": "170", - "h": "42", - "x": "1209", - "y": "635", - "properties": { - "controlName": "104-installation-and-setup:using-systemd" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "170", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "112", - "measuredH": "24", - "x": "29", - "y": "9", - "properties": { - "size": "16", - "text": "Using `systemd`" - } - } - ] - } - } - }, - { - "ID": "2070", - "typeID": "__group__", - "zOrder": "117", - "measuredW": "170", - "measuredH": "42", - "w": "170", - "h": "42", - "x": "1209", - "y": "682", - "properties": { - "controlName": "105-installation-and-setup:using-pgctl" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "170", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "98", - "measuredH": "24", - "x": "36", - "y": "9", - "properties": { - "size": "16", - "text": "Using `pg_ctl`" - } - } - ] - } - } - }, - { - "ID": "2071", - "typeID": "__group__", - "zOrder": "118", - "measuredW": "170", - "measuredH": "42", - "w": "170", - "h": "42", - "x": "1209", - "y": "728", - "properties": { - "controlName": "106-installation-and-setup:using-pgctlcluster" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "170", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "147", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "Using `pg_ctlcluster`" - } - } - ] - } - } - }, - { - "ID": "2072", - "typeID": "__group__", - "zOrder": "119", - "measuredW": "189", - "measuredH": "42", - "w": "189", - "h": "42", - "x": "973", - "y": "791", - "properties": { - "controlName": "103-installation-and-setup:deployment-in-cloud" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "189", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "150", - "measuredH": "24", - "x": "20", - "y": "9", - "properties": { - "size": "16", - "text": "Deployment in Cloud" - } - } - ] - } - } - }, - { - "ID": "2073", - "typeID": "__group__", - "zOrder": "120", - "measuredW": "303", - "measuredH": "49", - "w": "303", - "h": "49", - "x": "1085", - "y": "887", - "properties": { - "controlName": "104-learn-sql-concepts" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "303", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "161", - "measuredH": "25", - "x": "71", - "y": "12", - "properties": { - "size": "17", - "text": "Learn SQL Concepts" - } - } - ] - } - } - }, - { - "ID": "2074", - "typeID": "__group__", - "zOrder": "121", - "measuredW": "154", - "measuredH": "234", - "w": "154", - "h": "234", - "x": "1234", - "y": "969", - "properties": { - "controlName": "101-learn-sql-concepts:dml-queries" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "154", - "h": "234", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "97", - "measuredH": "24", - "x": "28", - "y": "14", - "properties": { - "size": "16", - "text": "DML Queries" - } - } - ] - } - } - }, - { - "ID": "2075", - "typeID": "__group__", - "zOrder": "122", - "measuredW": "132", - "measuredH": "42", - "w": "132", - "h": "42", - "x": "1245", - "y": "1013", - "properties": { - "controlName": "100-learn-sql-concepts:dml-queries:querying-data" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "132", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "105", - "measuredH": "24", - "x": "13", - "y": "9", - "properties": { - "size": "16", - "text": "Querying Data" - } - } - ] - } - } - }, - { - "ID": "2076", - "typeID": "__group__", - "zOrder": "123", - "measuredW": "132", - "measuredH": "42", - "w": "132", - "h": "42", - "x": "1245", - "y": "1105", - "properties": { - "controlName": "102-learn-sql-concepts:dml-queries:modifying-data" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "132", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "109", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "Modifying Data" - } - } - ] - } - } - }, - { - "ID": "2077", - "typeID": "__group__", - "zOrder": "124", - "measuredW": "132", - "measuredH": "42", - "w": "132", - "h": "42", - "x": "1245", - "y": "1059", - "properties": { - "controlName": "101-learn-sql-concepts:dml-queries:filtering-data" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "132", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "98", - "measuredH": "24", - "x": "17", - "y": "9", - "properties": { - "size": "16", - "text": "Filtering Data" - } - } - ] - } - } - }, - { - "ID": "2078", - "typeID": "__group__", - "zOrder": "125", - "measuredW": "130", - "measuredH": "42", - "w": "130", - "h": "42", - "x": "1246", - "y": "1151", - "properties": { - "controlName": "103-learn-sql-concepts:dml-queries:joining-tables" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "130", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "103", - "measuredH": "24", - "x": "13", - "y": "9", - "properties": { - "size": "16", - "text": "Joining Tables" - } - } - ] - } - } - }, - { - "ID": "2079", - "typeID": "Arrow", - "zOrder": "126", - "w": "1", - "h": "571", - "measuredW": "150", - "measuredH": "100", - "x": "946", - "y": "920", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": -0.4129169328207354, - "y": 570.8537254716314 - }, - "p1": { - "x": 0.5000000000000002, - "y": 0 - }, - "p2": { - "x": -0.4129169328207354, - "y": -0.11774307773504233 - } - } - }, - { - "ID": "2080", - "typeID": "__group__", - "zOrder": "127", - "measuredW": "303", - "measuredH": "42", - "w": "303", - "h": "42", - "x": "1085", - "y": "1200", - "properties": { - "controlName": "102-learn-sql-concepts:import-export-using-copy" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "303", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "208", - "measuredH": "24", - "x": "48", - "y": "9", - "properties": { - "size": "16", - "text": "Import / Export using `COPY`" - } - } - ] - } - } - }, - { - "ID": "2081", - "typeID": "__group__", - "zOrder": "128", - "measuredW": "130", - "measuredH": "42", - "w": "130", - "h": "42", - "x": "1098", - "y": "1289", - "properties": { - "controlName": "100-learn-sql-concepts:advanced-topics:transactions" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "130", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "93", - "measuredH": "24", - "x": "18", - "y": "9", - "properties": { - "size": "16", - "text": "Transactions" - } - } - ] - } - } - }, - { - "ID": "2082", - "typeID": "__group__", - "zOrder": "129", - "measuredW": "141", - "measuredH": "42", - "w": "141", - "h": "42", - "x": "1234", - "y": "1289", - "properties": { - "controlName": "101-learn-sql-concepts:advanced-topics:cte" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "141", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "32", - "measuredH": "24", - "x": "55", - "y": "9", - "properties": { - "size": "16", - "text": "CTE" - } - } - ] - } - } - }, - { - "ID": "2083", - "typeID": "__group__", - "zOrder": "130", - "measuredW": "130", - "measuredH": "42", - "w": "130", - "h": "42", - "x": "1098", - "y": "1337", - "properties": { - "controlName": "102-learn-sql-concepts:advanced-topics:subqueries" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "130", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "83", - "measuredH": "24", - "x": "23", - "y": "9", - "properties": { - "size": "16", - "text": "Subqueries" - } - } - ] - } - } - }, - { - "ID": "2084", - "typeID": "__group__", - "zOrder": "131", - "measuredW": "141", - "measuredH": "42", - "w": "141", - "h": "42", - "x": "1234", - "y": "1337", - "properties": { - "controlName": "103-learn-sql-concepts:advanced-topics:lateral-join" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "141", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "84", - "measuredH": "24", - "x": "29", - "y": "9", - "properties": { - "size": "16", - "text": "Lateral Join" - } - } - ] - } - } - }, - { - "ID": "2085", - "typeID": "__group__", - "zOrder": "132", - "measuredW": "130", - "measuredH": "42", - "w": "130", - "h": "42", - "x": "1098", - "y": "1384", - "properties": { - "controlName": "104-learn-sql-concepts:advanced-topics:grouping" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "130", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "67", - "measuredH": "24", - "x": "31", - "y": "9", - "properties": { - "size": "16", - "text": "Grouping" - } - } - ] - } - } - }, - { - "ID": "2086", - "typeID": "__group__", - "zOrder": "133", - "measuredW": "141", - "measuredH": "42", - "w": "141", - "h": "42", - "x": "1234", - "y": "1384", - "properties": { - "controlName": "105-learn-sql-concepts:advanced-topics:set-operations" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "141", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "109", - "measuredH": "24", - "x": "16", - "y": "9", - "properties": { - "size": "16", - "text": "Set Operations" - } - } - ] - } - } - }, - { - "ID": "2087", - "typeID": "__group__", - "zOrder": "134", - "measuredW": "240", - "measuredH": "49", - "w": "240", - "h": "49", - "x": "791", - "y": "1117", - "properties": { - "controlName": "105-configuring-postgresql" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "240", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "186", - "measuredH": "25", - "x": "27", - "y": "12", - "properties": { - "size": "17", - "text": "Configuring PostgreSQL" - } - } - ] - } - } - }, - { - "ID": "2088", - "typeID": "Canvas", - "zOrder": "135", - "w": "245", - "h": "79", - "measuredW": "100", - "measuredH": "70", - "x": "508", - "y": "1102" - }, - { - "ID": "2089", - "typeID": "Label", - "zOrder": "136", - "measuredW": "180", - "measuredH": "25", - "x": "530", - "y": "1116", - "properties": { - "text": "Following {color:blue}postgres.conf{color}", - "size": "17" - } - }, - { - "ID": "2090", - "typeID": "Label", - "zOrder": "137", - "measuredW": "186", - "measuredH": "25", - "x": "530", - "y": "1143", - "properties": { - "text": "configurations and more", - "size": "17" - } - }, - { - "ID": "2091", - "typeID": "__group__", - "zOrder": "138", - "measuredW": "174", - "measuredH": "42", - "w": "174", - "h": "42", - "x": "259", - "y": "1004", - "properties": { - "controlName": "100-configuring-postgresql:resources-usage" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "174", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "130", - "measuredH": "24", - "x": "22", - "y": "9", - "properties": { - "size": "16", - "text": "Resources Usage" - } - } - ] - } - } - }, - { - "ID": "2092", - "typeID": "__group__", - "zOrder": "139", - "measuredW": "174", - "measuredH": "42", - "w": "174", - "h": "42", - "x": "259", - "y": "1050", - "properties": { - "controlName": "101-configuring-postgresql:write-ahead-log" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "174", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "122", - "measuredH": "24", - "x": "26", - "y": "9", - "properties": { - "size": "16", - "text": "Write-ahead Log" - } - } - ] - } - } - }, - { - "ID": "2093", - "typeID": "__group__", - "zOrder": "140", - "measuredW": "174", - "measuredH": "67", - "w": "174", - "h": "67", - "x": "259", - "y": "1235", - "properties": { - "controlName": "105-configuring-postgresql:checkpoints-background-writer" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "174", - "h": "67", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "91", - "measuredH": "24", - "x": "41", - "y": "11", - "properties": { - "size": "16", - "text": "Checkpoints" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "2", - "measuredW": "135", - "measuredH": "24", - "x": "21", - "y": "34", - "properties": { - "size": "16", - "text": "Background Writer" - } - } - ] - } - } - }, - { - "ID": "2094", - "typeID": "__group__", - "zOrder": "141", - "measuredW": "174", - "measuredH": "42", - "w": "174", - "h": "42", - "x": "259", - "y": "1097", - "properties": { - "controlName": "102-configuring-postgresql:vacuums" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "174", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "66", - "measuredH": "24", - "x": "54", - "y": "9", - "properties": { - "size": "16", - "text": "Vacuums" - } - } - ] - } - } - }, - { - "ID": "2095", - "typeID": "__group__", - "zOrder": "142", - "measuredW": "174", - "measuredH": "42", - "w": "174", - "h": "42", - "x": "259", - "y": "1143", - "properties": { - "controlName": "103-configuring-postgresql:replication" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "174", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "82", - "measuredH": "24", - "x": "46", - "y": "9", - "properties": { - "size": "16", - "text": "Replication" - } - } - ] - } - } - }, - { - "ID": "2096", - "typeID": "__group__", - "zOrder": "143", - "measuredW": "174", - "measuredH": "42", - "w": "174", - "h": "42", - "x": "259", - "y": "1189", - "properties": { - "controlName": "104-configuring-postgresql:query-planner" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "174", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "104", - "measuredH": "24", - "x": "35", - "y": "9", - "properties": { - "size": "16", - "text": "Query Planner" - } - } - ] - } - } - }, - { - "ID": "2097", - "typeID": "__group__", - "zOrder": "144", - "measuredW": "283", - "measuredH": "42", - "w": "283", - "h": "42", - "x": "509", - "y": "1023", - "properties": { - "controlName": "107-configuring-postgresql:reporting-logging-statistics" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "283", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "236", - "measuredH": "24", - "x": "24", - "y": "9", - "properties": { - "size": "16", - "text": "Reporting Logging and Statistics" - } - } - ] - } - } - }, - { - "ID": "2098", - "typeID": "__group__", - "zOrder": "145", - "measuredW": "283", - "measuredH": "42", - "w": "283", - "h": "42", - "x": "509", - "y": "1220", - "properties": { - "controlName": "106-configuring-postgresql:adding-extensions" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "283", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "175", - "measuredH": "24", - "x": "54", - "y": "9", - "properties": { - "size": "16", - "text": "Adding Extra Extensions" - } - } - ] - } - } - }, - { - "ID": "2099", - "typeID": "Arrow", - "zOrder": "146", - "w": "176", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "770", - "y": "1491", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 0.4483238886820118, - "y": -0.11774307773521286 - }, - "p1": { - "x": 0.5000000000000002, - "y": 0 - }, - "p2": { - "x": 176.47256858280025, - "y": -0.11774307773521286 - } - } - }, - { - "ID": "2100", - "typeID": "__group__", - "zOrder": "147", - "measuredW": "245", - "measuredH": "49", - "w": "245", - "h": "49", - "x": "547", - "y": "1477", - "properties": { - "controlName": "106-postgresql-security-concepts" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "245", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "211", - "measuredH": "25", - "x": "17", - "y": "12", - "properties": { - "size": "17", - "text": "Postgres Security Concepts" - } - } - ] - } - } - }, - { - "ID": "2101", - "typeID": "__group__", - "zOrder": "148", - "measuredW": "202", - "measuredH": "42", - "w": "202", - "h": "42", - "x": "259", - "y": "1436", - "properties": { - "controlName": "102-postgresql-security-concepts:authentication-models" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "202", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "162", - "measuredH": "24", - "x": "20", - "y": "9", - "properties": { - "size": "16", - "text": "Authentication Models" - } - } - ] - } - } - }, - { - "ID": "2102", - "typeID": "__group__", - "zOrder": "149", - "measuredW": "76", - "measuredH": "42", - "w": "76", - "h": "42", - "x": "259", - "y": "1481", - "properties": { - "controlName": "103-postgresql-security-concepts:roles" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "76", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "42", - "measuredH": "24", - "x": "17", - "y": "9", - "properties": { - "size": "16", - "text": "Roles" - } - } - ] - } - } - }, - { - "ID": "2103", - "typeID": "__group__", - "zOrder": "150", - "measuredW": "122", - "measuredH": "42", - "w": "122", - "h": "42", - "x": "339", - "y": "1481", - "properties": { - "controlName": "104-postgresql-security-concepts:pg-hba-conf" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "122", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "91", - "measuredH": "24", - "x": "15", - "y": "9", - "properties": { - "size": "16", - "text": "pg_hba.conf" - } - } - ] - } - } - }, - { - "ID": "2104", - "typeID": "__group__", - "zOrder": "151", - "measuredW": "202", - "measuredH": "42", - "w": "202", - "h": "42", - "x": "259", - "y": "1526", - "properties": { - "controlName": "105-postgresql-security-concepts:ssl-settings" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "202", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "92", - "measuredH": "24", - "x": "55", - "y": "9", - "properties": { - "size": "16", - "text": "SSL Settings" - } - } - ] - } - } - }, - { - "ID": "2105", - "typeID": "__group__", - "zOrder": "152", - "measuredW": "184", - "measuredH": "42", - "w": "184", - "h": "42", - "x": "548", - "y": "1402", - "properties": { - "controlName": "100-postgresql-security-concepts:object-priviliges" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "184", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "117", - "measuredH": "24", - "x": "33", - "y": "9", - "properties": { - "size": "16", - "text": "Object Priviliges" - } - } - ] - } - } - }, - { - "ID": "2106", - "typeID": "__group__", - "zOrder": "153", - "measuredW": "184", - "measuredH": "42", - "w": "184", - "h": "42", - "x": "548", - "y": "1357", - "properties": { - "controlName": "100-postgresql-security-concepts:object-priviliges:grant-revoke" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "184", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "111", - "measuredH": "24", - "x": "36", - "y": "9", - "properties": { - "size": "16", - "text": "Grant / Revoke" - } - } - ] - } - } - }, - { - "ID": "2107", - "typeID": "__group__", - "zOrder": "154", - "measuredW": "184", - "measuredH": "42", - "w": "184", - "h": "42", - "x": "548", - "y": "1312", - "properties": { - "controlName": "101-postgresql-security-concepts:object-priviliges:default-priviliges" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "184", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "127", - "measuredH": "24", - "x": "28", - "y": "9", - "properties": { - "size": "16", - "text": "Default Privileges" - } - } - ] - } - } - }, - { - "ID": "2108", - "typeID": "__group__", - "zOrder": "155", - "measuredW": "184", - "measuredH": "42", - "w": "184", - "h": "42", - "x": "548", - "y": "1562", - "properties": { - "controlName": "101-postgresql-security-concepts:advanced-topics" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "184", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "122", - "measuredH": "24", - "x": "31", - "y": "9", - "properties": { - "size": "16", - "text": "Advanced Topics" - } - } - ] - } - } - }, - { - "ID": "2109", - "typeID": "__group__", - "zOrder": "156", - "measuredW": "184", - "measuredH": "42", - "w": "184", - "h": "42", - "x": "548", - "y": "1608", - "properties": { - "controlName": "100-postgresql-security-concepts:advanced-topics:row-level-security" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "184", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "138", - "measuredH": "24", - "x": "23", - "y": "9", - "properties": { - "size": "16", - "text": "Row-Level Security" - } - } - ] - } - } - }, - { - "ID": "2110", - "typeID": "__group__", - "zOrder": "157", - "measuredW": "184", - "measuredH": "42", - "w": "184", - "h": "42", - "x": "548", - "y": "1653", - "properties": { - "controlName": "101-postgresql-security-concepts:advanced-topics:selinux" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "184", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "59", - "measuredH": "24", - "x": "62", - "y": "9", - "properties": { - "size": "16", - "text": "SELinux" - } - } - ] - } - } - }, - { - "ID": "2111", - "typeID": "__group__", - "zOrder": "158", - "measuredW": "278", - "measuredH": "49", - "w": "278", - "h": "49", - "x": "788", - "y": "1756", - "properties": { - "controlName": "107-postgresql-infrastructure-skills" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "278", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "216", - "measuredH": "25", - "x": "31", - "y": "12", - "properties": { - "size": "17", - "text": "Develop Infrastructure Skills" - } - } - ] - } - } - }, - { - "ID": "2112", - "typeID": "__group__", - "zOrder": "159", - "measuredW": "221", - "measuredH": "143", - "w": "221", - "h": "143", - "x": "1148", - "y": "1487", - "properties": { - "controlName": "100-postgresql-infrastructure-skills:replication" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "221", - "h": "143", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "82", - "measuredH": "24", - "x": "70", - "y": "108", - "properties": { - "size": "16", - "text": "Replication" - } - } - ] - } - } - }, - { - "ID": "2113", - "typeID": "__group__", - "zOrder": "160", - "measuredW": "194", - "measuredH": "42", - "w": "194", - "h": "42", - "x": "1162", - "y": "1545", - "properties": { - "controlName": "101-postgresql-infrastructure-skills:replication:streaming-replication" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "194", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "160", - "measuredH": "24", - "x": "17", - "y": "9", - "properties": { - "size": "16", - "text": "Streaming Replication" - } - } - ] - } - } - }, - { - "ID": "2114", - "typeID": "__group__", - "zOrder": "161", - "measuredW": "194", - "measuredH": "42", - "w": "194", - "h": "42", - "x": "1162", - "y": "1499", - "properties": { - "controlName": "100-postgresql-infrastructure-skills:replication:logical-replication" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "194", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "139", - "measuredH": "24", - "x": "27", - "y": "9", - "properties": { - "size": "16", - "text": "Logical Replication" - } - } - ] - } - } - }, - { - "ID": "2115", - "typeID": "__group__", - "zOrder": "162", - "measuredW": "103", - "measuredH": "42", - "w": "103", - "h": "42", - "x": "1169", - "y": "1991", - "properties": { - "controlName": "104-postgresql-infrastructure-skills:backup-recovery-tools:pg-dump" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "103", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "69", - "measuredH": "24", - "x": "17", - "y": "9", - "properties": { - "size": "16", - "text": "pg_dump" - } - } - ] - } - } - }, - { - "ID": "2116", - "typeID": "__group__", - "zOrder": "163", - "measuredW": "108", - "measuredH": "42", - "w": "108", - "h": "42", - "x": "1277", - "y": "1991", - "properties": { - "controlName": "105-postgresql-infrastructure-skills:backup-recovery-tools:pg-dumpall" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "108", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "86", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "pg_dumpall" - } - } - ] - } - } - }, - { - "ID": "2117", - "typeID": "__group__", - "zOrder": "164", - "measuredW": "216", - "measuredH": "42", - "w": "216", - "h": "42", - "x": "1169", - "y": "2038", - "properties": { - "controlName": "106-postgresql-infrastructure-skills:backup-recovery-tools:pg-restore" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "216", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "81", - "measuredH": "24", - "x": "67", - "y": "9", - "properties": { - "size": "16", - "text": "pg_restore" - } - } - ] - } - } - }, - { - "ID": "2118", - "typeID": "__group__", - "zOrder": "165", - "measuredW": "216", - "measuredH": "42", - "w": "216", - "h": "42", - "x": "1169", - "y": "2084", - "properties": { - "controlName": "107-postgresql-infrastructure-skills:backup-recovery-tools:pg-basebackup" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "216", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "117", - "measuredH": "24", - "x": "49", - "y": "9", - "properties": { - "size": "16", - "text": "pg_basebackup" - } - } - ] - } - } - }, - { - "ID": "2119", - "typeID": "Label", - "zOrder": "166", - "measuredW": "87", - "measuredH": "24", - "x": "1214", - "y": "1911", - "properties": { - "size": "16", - "text": "Builtin Tools" - } - }, - { - "ID": "2120", - "typeID": "Label", - "zOrder": "167", - "measuredW": "66", - "measuredH": "24", - "x": "1046", - "y": "1911", - "properties": { - "size": "16", - "text": "3rd Party" - } - }, - { - "ID": "2121", - "typeID": "__group__", - "zOrder": "168", - "measuredW": "81", - "measuredH": "42", - "w": "81", - "h": "42", - "x": "986", - "y": "1991", - "properties": { - "controlName": "100-postgresql-infrastructure-skills:backup-recovery-tools:barman" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "81", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "56", - "measuredH": "24", - "x": "13", - "y": "9", - "properties": { - "size": "16", - "text": "barman" - } - } - ] - } - } - }, - { - "ID": "2122", - "typeID": "__group__", - "zOrder": "169", - "measuredW": "166", - "measuredH": "42", - "w": "166", - "h": "42", - "x": "986", - "y": "2037", - "properties": { - "controlName": "102-postgresql-infrastructure-skills:backup-recovery-tools:pgbackrest" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "166", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "81", - "measuredH": "24", - "x": "42", - "y": "9", - "properties": { - "size": "16", - "text": "pgbackrest" - } - } - ] - } - } - }, - { - "ID": "2123", - "typeID": "__group__", - "zOrder": "170", - "measuredW": "166", - "measuredH": "42", - "w": "166", - "h": "42", - "x": "986", - "y": "2082", - "properties": { - "controlName": "103-postgresql-infrastructure-skills:backup-recovery-tools:pg-probackup" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "166", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "105", - "measuredH": "24", - "x": "30", - "y": "9", - "properties": { - "size": "16", - "text": "pg_probackup" - } - } - ] - } - } - }, - { - "ID": "2124", - "typeID": "__group__", - "zOrder": "171", - "measuredW": "80", - "measuredH": "42", - "w": "80", - "h": "42", - "x": "1072", - "y": "1991", - "properties": { - "controlName": "101-postgresql-infrastructure-skills:backup-recovery-tools:wal-g" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "80", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "51", - "measuredH": "24", - "x": "14", - "y": "9", - "properties": { - "size": "16", - "text": "WAL-G" - } - } - ] - } - } - }, - { - "ID": "2125", - "typeID": "__group__", - "zOrder": "172", - "measuredW": "418", - "measuredH": "42", - "w": "418", - "h": "42", - "x": "977", - "y": "2133", - "properties": { - "controlName": "108-postgresql-infrastructure-skills:backup-recovery-tools:backup-validation-procedures" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "418", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "217", - "measuredH": "24", - "x": "98", - "y": "9", - "properties": { - "size": "16", - "text": "Backup Validation Procedures" - } - } - ] - } - } - }, - { - "ID": "2126", - "typeID": "__group__", - "zOrder": "173", - "measuredW": "211", - "measuredH": "42", - "w": "211", - "h": "42", - "x": "745", - "y": "1832", - "properties": { - "controlName": "103-postgresql-infrastructure-skills:upgrade-procedures" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "211", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "152", - "measuredH": "24", - "x": "30", - "y": "9", - "properties": { - "size": "16", - "text": "Upgrade Procedures" - } - } - ] - } - } - }, - { - "ID": "2127", - "typeID": "__group__", - "zOrder": "174", - "measuredW": "211", - "measuredH": "42", - "w": "211", - "h": "42", - "x": "745", - "y": "1902", - "properties": { - "controlName": "100-postgresql-infrastructure-skills:upgrade-procedures:using-pg-upgrade" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "211", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "142", - "measuredH": "24", - "x": "35", - "y": "9", - "properties": { - "size": "16", - "text": "Using `pg_upgrade`" - } - } - ] - } - } - }, - { - "ID": "2128", - "typeID": "__group__", - "zOrder": "175", - "measuredW": "211", - "measuredH": "42", - "w": "211", - "h": "42", - "x": "745", - "y": "1948", - "properties": { - "controlName": "101-postgresql-infrastructure-skills:upgrade-procedures:using-logical-replication" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "211", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "184", - "measuredH": "24", - "x": "14", - "y": "9", - "properties": { - "size": "16", - "text": "Using Logical Replication" - } - } - ] - } - } - }, - { - "ID": "2129", - "typeID": "__group__", - "zOrder": "176", - "measuredW": "221", - "measuredH": "143", - "w": "221", - "h": "143", - "x": "1146", - "y": "1664", - "properties": { - "controlName": "101-postgresql-infrastructure-skills:connection-pooling" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "221", - "h": "143", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "141", - "measuredH": "24", - "x": "40", - "y": "108", - "properties": { - "size": "16", - "text": "Connection Pooling" - } - } - ] - } - } - }, - { - "ID": "2130", - "typeID": "__group__", - "zOrder": "177", - "measuredW": "194", - "measuredH": "42", - "w": "194", - "h": "42", - "x": "1160", - "y": "1722", - "properties": { - "controlName": "101-postgresql-infrastructure-skills:connection-pooling:pg-bouncer-alternatives" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "194", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "170", - "measuredH": "24", - "x": "12", - "y": "9", - "properties": { - "size": "16", - "text": "PgBouncer Alternatives" - } - } - ] - } - } - }, - { - "ID": "2131", - "typeID": "__group__", - "zOrder": "178", - "measuredW": "194", - "measuredH": "42", - "w": "194", - "h": "42", - "x": "1160", - "y": "1676", - "properties": { - "controlName": "100-postgresql-infrastructure-skills:connection-pooling:pg-bouncer" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "194", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "81", - "measuredH": "24", - "x": "56", - "y": "9", - "properties": { - "size": "16", - "text": "PgBouncer" - } - } - ] - } - } - }, - { - "ID": "2133", - "typeID": "__group__", - "zOrder": "179", - "measuredW": "211", - "measuredH": "42", - "w": "211", - "h": "42", - "x": "745", - "y": "2017", - "properties": { - "controlName": "106-postgresql-infrastructure-skills:monitoring" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "211", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "78", - "measuredH": "24", - "x": "67", - "y": "9", - "properties": { - "size": "16", - "text": "Monitoring" - } - } - ] - } - } - }, - { - "ID": "2134", - "typeID": "__group__", - "zOrder": "180", - "measuredW": "112", - "measuredH": "42", - "w": "112", - "h": "42", - "x": "745", - "y": "2064", - "properties": { - "controlName": "100-postgresql-infrastructure-skills:monitoring:prometheus" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "112", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "88", - "measuredH": "24", - "x": "12", - "y": "9", - "properties": { - "size": "16", - "text": "Prometheus" - } - } - ] - } - } - }, - { - "ID": "2135", - "typeID": "__group__", - "zOrder": "181", - "measuredW": "94", - "measuredH": "42", - "w": "94", - "h": "42", - "x": "862", - "y": "2064", - "properties": { - "controlName": "101-postgresql-infrastructure-skills:monitoring:zabbix" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "94", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "49", - "measuredH": "24", - "x": "22", - "y": "9", - "properties": { - "size": "16", - "text": "Zabbix" - } - } - ] - } - } - }, - { - "ID": "2136", - "typeID": "Arrow", - "zOrder": "182", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "595", - "y": "1858", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "2137", - "typeID": "__group__", - "zOrder": "183", - "measuredW": "211", - "measuredH": "42", - "w": "211", - "h": "42", - "x": "491", - "y": "1832", - "properties": { - "controlName": "104-postgresql-infrastructure-skills:cluster-management" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "211", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "153", - "measuredH": "24", - "x": "29", - "y": "9", - "properties": { - "size": "16", - "text": "Cluster Management" - } - } - ] - } - } - }, - { - "ID": "2138", - "typeID": "__group__", - "zOrder": "184", - "measuredW": "211", - "measuredH": "42", - "w": "211", - "h": "42", - "x": "491", - "y": "1902", - "properties": { - "controlName": "100-postgresql-infrastructure-skills:cluster-management:patroni" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "211", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "51", - "measuredH": "24", - "x": "80", - "y": "9", - "properties": { - "size": "16", - "text": "Patroni" - } - } - ] - } - } - }, - { - "ID": "2139", - "typeID": "__group__", - "zOrder": "185", - "measuredW": "211", - "measuredH": "42", - "w": "211", - "h": "42", - "x": "491", - "y": "1948", - "properties": { - "controlName": "101-postgresql-infrastructure-skills:cluster-management:patroni-alternatives" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "211", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "140", - "measuredH": "24", - "x": "36", - "y": "9", - "properties": { - "size": "16", - "text": "Patroni Alternatives" - } - } - ] - } - } - }, - { - "ID": "2140", - "typeID": "Arrow", - "zOrder": "186", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "542", - "y": "2042", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "2141", - "typeID": "__group__", - "zOrder": "187", - "measuredW": "301", - "measuredH": "42", - "w": "301", - "h": "42", - "x": "426", - "y": "2016", - "properties": { - "controlName": "107-postgresql-infrastructure-skills:load-balancing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "301", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "262", - "measuredH": "24", - "x": "22", - "y": "9", - "properties": { - "size": "16", - "text": "Load Balancing & Service Discovery" - } - } - ] - } - } - }, - { - "ID": "2142", - "typeID": "__group__", - "zOrder": "188", - "measuredW": "106", - "measuredH": "42", - "w": "106", - "h": "42", - "x": "484", - "y": "2086", - "properties": { - "controlName": "100-postgresql-infrastructure-skills:load-balancing:ha-proxy" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "106", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "61", - "measuredH": "24", - "x": "22", - "y": "9", - "properties": { - "size": "16", - "text": "HAProxy" - } - } - ] - } - } - }, - { - "ID": "2143", - "typeID": "__group__", - "zOrder": "189", - "measuredW": "106", - "measuredH": "42", - "w": "106", - "h": "42", - "x": "484", - "y": "2132", - "properties": { - "controlName": "102-postgresql-infrastructure-skills:load-balancing:keep-alived" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "106", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "81", - "measuredH": "24", - "x": "12", - "y": "9", - "properties": { - "size": "16", - "text": "KeepAlived" - } - } - ] - } - } - }, - { - "ID": "2144", - "typeID": "__group__", - "zOrder": "190", - "measuredW": "91", - "measuredH": "42", - "w": "91", - "h": "42", - "x": "595", - "y": "2086", - "properties": { - "controlName": "101-postgresql-infrastructure-skills:load-balancing:consul" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "91", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "50", - "measuredH": "24", - "x": "21", - "y": "9", - "properties": { - "size": "16", - "text": "Consul" - } - } - ] - } - } - }, - { - "ID": "2145", - "typeID": "__group__", - "zOrder": "191", - "measuredW": "91", - "measuredH": "42", - "w": "91", - "h": "42", - "x": "595", - "y": "2133", - "properties": { - "controlName": "103-postgresql-infrastructure-skills:load-balancing:etcd" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "91", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "33", - "measuredH": "24", - "x": "29", - "y": "9", - "properties": { - "size": "16", - "text": "Etcd" - } - } - ] - } - } - }, - { - "ID": "2146", - "typeID": "Arrow", - "zOrder": "192", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "354", - "y": "1858", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "2147", - "typeID": "__group__", - "zOrder": "193", - "measuredW": "197", - "measuredH": "42", - "w": "197", - "h": "42", - "x": "264", - "y": "1832", - "properties": { - "controlName": "105-postgresql-infrastructure-skills:kubernetes-deployment" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "197", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "175", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "Kubernetes Deployment" - } - } - ] - } - } - }, - { - "ID": "2148", - "typeID": "__group__", - "zOrder": "194", - "measuredW": "197", - "measuredH": "42", - "w": "197", - "h": "42", - "x": "264", - "y": "1902", - "properties": { - "controlName": "100-postgresql-infrastructure-skills:kubernetes-deployment:simple-stateful-setup" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "197", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "154", - "measuredH": "24", - "x": "22", - "y": "9", - "properties": { - "size": "16", - "text": "Simple Stateful Setup" - } - } - ] - } - } - }, - { - "ID": "2149", - "typeID": "__group__", - "zOrder": "195", - "measuredW": "90", - "measuredH": "42", - "w": "90", - "h": "42", - "x": "264", - "y": "1948", - "properties": { - "controlName": "101-postgresql-infrastructure-skills:kubernetes-deployment:helm" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "90", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "38", - "measuredH": "24", - "x": "26", - "y": "9", - "properties": { - "size": "16", - "text": "Helm" - } - } - ] - } - } - }, - { - "ID": "2150", - "typeID": "__group__", - "zOrder": "196", - "measuredW": "104", - "measuredH": "42", - "w": "104", - "h": "42", - "x": "358", - "y": "1948", - "properties": { - "controlName": "102-postgresql-infrastructure-skills:kubernetes-deployment:operators" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "104", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "74", - "measuredH": "24", - "x": "20", - "y": "9", - "properties": { - "size": "16", - "text": "Operators" - } - } - ] - } - } - }, - { - "ID": "2151", - "typeID": "__group__", - "zOrder": "197", - "measuredW": "427", - "measuredH": "42", - "w": "427", - "h": "42", - "x": "288", - "y": "1715", - "properties": { - "controlName": "100-postgresql-infrastructure-skills:resource-usage-provisioing-capacity-planning" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "427", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "382", - "measuredH": "24", - "x": "23", - "y": "9", - "properties": { - "size": "16", - "text": "Resource Usage and Provisioning, Capacity Planning" - } - } - ] - } - } - }, - { - "ID": "2152", - "typeID": "Arrow", - "zOrder": "198", - "w": "1", - "h": "508", - "measuredW": "150", - "measuredH": "100", - "x": "232", - "y": "1784", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": -0.4129169328207354, - "y": 507.5072332031234 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": -0.4129169328207354, - "y": -0.5 - } - } - }, - { - "ID": "2153", - "typeID": "Arrow", - "zOrder": "199", - "w": "1151", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "232", - "y": "2292", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 0.13465453284504747, - "y": -0.11774307773521286 - }, - "p1": { - "x": 0.5000000000000001, - "y": 0 - }, - "p2": { - "x": 1150.9611057996974, - "y": -0.11774307773521286 - } - } - }, - { - "ID": "2154", - "typeID": "__group__", - "zOrder": "200", - "measuredW": "274", - "measuredH": "49", - "w": "274", - "h": "49", - "x": "294", - "y": "2268", - "properties": { - "controlName": "108-learn-automation" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "274", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "215", - "measuredH": "25", - "x": "29", - "y": "12", - "properties": { - "size": "17", - "text": "Learn to Automate Routines" - } - } - ] - } - } - }, - { - "ID": "2155", - "typeID": "__group__", - "zOrder": "201", - "measuredW": "274", - "measuredH": "42", - "w": "274", - "h": "42", - "x": "294", - "y": "2347", - "properties": { - "controlName": "100-learn-automation:shell-scripts" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "274", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "89", - "measuredH": "24", - "x": "92", - "y": "9", - "properties": { - "size": "16", - "text": "Shell Scripts" - } - } - ] - } - } - }, - { - "ID": "2156", - "typeID": "__group__", - "zOrder": "202", - "measuredW": "274", - "measuredH": "42", - "w": "274", - "h": "42", - "x": "294", - "y": "2393", - "properties": { - "controlName": "101-learn-automation:programming-language" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "274", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "204", - "measuredH": "24", - "x": "35", - "y": "9", - "properties": { - "size": "16", - "text": "Any Programming Language" - } - } - ] - } - } - }, - { - "ID": "2157", - "typeID": "__group__", - "zOrder": "203", - "measuredW": "274", - "measuredH": "42", - "w": "274", - "h": "42", - "x": "294", - "y": "2524", - "properties": { - "controlName": "102-learn-automation:configuration-management" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "274", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "198", - "measuredH": "24", - "x": "38", - "y": "9", - "properties": { - "size": "16", - "text": "Configuration Management" - } - } - ] - } - } - }, - { - "ID": "2158", - "typeID": "__group__", - "zOrder": "204", - "measuredW": "75", - "measuredH": "42", - "w": "75", - "h": "42", - "x": "294", - "y": "2572", - "properties": { - "controlName": "100-learn-automation:configuration-management:ansible" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "75", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "53", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "Ansible" - } - } - ] - } - } - }, - { - "ID": "2159", - "typeID": "__group__", - "zOrder": "205", - "measuredW": "53", - "measuredH": "42", - "w": "53", - "h": "42", - "x": "374", - "y": "2572", - "properties": { - "controlName": "101-learn-automation:configuration-management:salt" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "53", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "28", - "measuredH": "24", - "x": "13", - "y": "9", - "properties": { - "size": "16", - "text": "Salt" - } - } - ] - } - } - }, - { - "ID": "2160", - "typeID": "__group__", - "zOrder": "206", - "measuredW": "57", - "measuredH": "42", - "w": "57", - "h": "42", - "x": "431", - "y": "2572", - "properties": { - "controlName": "102-learn-automation:configuration-management:chef" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "57", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "35", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "Chef" - } - } - ] - } - } - }, - { - "ID": "2161", - "typeID": "__group__", - "zOrder": "207", - "measuredW": "75", - "measuredH": "42", - "w": "75", - "h": "42", - "x": "493", - "y": "2572", - "properties": { - "controlName": "103-learn-automation:configuration-management:puppet" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "75", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "52", - "measuredH": "24", - "x": "12", - "y": "9", - "properties": { - "size": "16", - "text": "Puppet" - } - } - ] - } - } - }, - { - "ID": "2162", - "typeID": "__group__", - "zOrder": "208", - "measuredW": "274", - "measuredH": "49", - "w": "274", - "h": "49", - "x": "627", - "y": "2268", - "properties": { - "controlName": "109-application-skills" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "274", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "128", - "measuredH": "25", - "x": "73", - "y": "12", - "properties": { - "size": "17", - "text": "Application Skills" - } - } - ] - } - } - }, - { - "ID": "2163", - "typeID": "__group__", - "zOrder": "209", - "measuredW": "109", - "measuredH": "42", - "w": "109", - "h": "42", - "x": "627", - "y": "2347", - "properties": { - "controlName": "100-application-skills:migrations" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "109", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "76", - "measuredH": "24", - "x": "17", - "y": "9", - "properties": { - "size": "16", - "text": "Migrations" - } - } - ] - } - } - }, - { - "ID": "2164", - "typeID": "__group__", - "zOrder": "210", - "measuredW": "300", - "measuredH": "42", - "w": "300", - "h": "42", - "x": "627", - "y": "2396", - "properties": { - "controlName": "100-application-skills:migrations:practical-patterns" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "300", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "252", - "measuredH": "24", - "x": "24", - "y": "9", - "properties": { - "size": "16", - "text": "Practical Patterns and Antipatterns" - } - } - ] - } - } - }, - { - "ID": "2165", - "typeID": "__group__", - "zOrder": "211", - "measuredW": "300", - "measuredH": "42", - "w": "300", - "h": "42", - "x": "627", - "y": "2442", - "properties": { - "controlName": "101-application-skills:migrations:liquidbase-sqitch-bytebase-ora2pg" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "300", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "276", - "measuredH": "24", - "x": "12", - "y": "9", - "properties": { - "size": "16", - "text": "liquibase, sqitch, Bytebase, ora2pg etc" - } - } - ] - } - } - }, - { - "ID": "2166", - "typeID": "Label", - "zOrder": "212", - "measuredW": "110", - "measuredH": "24", - "x": "627", - "y": "2488", - "properties": { - "size": "16", - "text": "Migration Tools" - } - }, - { - "ID": "2167", - "typeID": "__group__", - "zOrder": "213", - "measuredW": "297", - "measuredH": "42", - "w": "297", - "h": "42", - "x": "609", - "y": "2528", - "properties": { - "controlName": "102-application-skills:bulk-load-process-data" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "297", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "249", - "measuredH": "24", - "x": "24", - "y": "9", - "properties": { - "size": "16", - "text": "Bulk Loading and Processing Data" - } - } - ] - } - } - }, - { - "ID": "2168", - "typeID": "__group__", - "zOrder": "214", - "measuredW": "145", - "measuredH": "42", - "w": "145", - "h": "42", - "x": "609", - "y": "2573", - "properties": { - "controlName": "103-application-skills:data-partitioning" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "145", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "121", - "measuredH": "24", - "x": "12", - "y": "9", - "properties": { - "size": "16", - "text": "Data Partitioning" - } - } - ] - } - } - }, - { - "ID": "2169", - "typeID": "__group__", - "zOrder": "215", - "measuredW": "297", - "measuredH": "42", - "w": "297", - "h": "42", - "x": "609", - "y": "2618", - "properties": { - "controlName": "104-application-skills:data-normalization-normal-forms" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "297", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "257", - "measuredH": "24", - "x": "20", - "y": "9", - "properties": { - "size": "16", - "text": "Data Normalization / Normal Forms" - } - } - ] - } - } - }, - { - "ID": "2170", - "typeID": "Canvas", - "zOrder": "216", - "w": "146", - "h": "126", - "measuredW": "100", - "measuredH": "70", - "x": "608", - "y": "2682" - }, - { - "ID": "2171", - "typeID": "__group__", - "zOrder": "217", - "measuredW": "109", - "measuredH": "42", - "w": "109", - "h": "42", - "x": "619", - "y": "2663", - "properties": { - "controlName": "101-application-skills:queues" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "109", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "58", - "measuredH": "24", - "x": "26", - "y": "9", - "properties": { - "size": "16", - "text": "Queues" - } - } - ] - } - } - }, - { - "ID": "2172", - "typeID": "__group__", - "zOrder": "218", - "measuredW": "279", - "measuredH": "42", - "w": "279", - "h": "42", - "x": "618", - "y": "2711", - "properties": { - "controlName": "100-application-skills:queues:practical-patterns-antipatterns" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "279", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "252", - "measuredH": "24", - "x": "14", - "y": "9", - "properties": { - "size": "16", - "text": "Practical Patterns and Antipatterns" - } - } - ] - } - } - }, - { - "ID": "2173", - "typeID": "__group__", - "zOrder": "219", - "measuredW": "279", - "measuredH": "42", - "w": "279", - "h": "42", - "x": "618", - "y": "2756", - "properties": { - "controlName": "101-application-skills:queues:skytools-pgq" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "279", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "99", - "measuredH": "24", - "x": "12", - "y": "9", - "properties": { - "size": "16", - "text": "Skytools PGQ" - } - } - ] - } - } - }, - { - "ID": "2174", - "typeID": "__group__", - "zOrder": "220", - "measuredW": "299", - "measuredH": "49", - "w": "299", - "h": "49", - "x": "949", - "y": "2268", - "properties": { - "controlName": "110-advanced-topics" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "299", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "130", - "measuredH": "25", - "x": "85", - "y": "12", - "properties": { - "size": "17", - "text": "Advanced Topics" - } - } - ] - } - } - }, - { - "ID": "2175", - "typeID": "__group__", - "zOrder": "221", - "measuredW": "169", - "measuredH": "330", - "w": "169", - "h": "330", - "x": "949", - "y": "2359", - "properties": { - "controlName": "100-advanced-topics:low-level-internals" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "169", - "h": "330", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "140", - "measuredH": "24", - "x": "15", - "y": "15", - "properties": { - "size": "16", - "text": "Low Level Internals" - } - } - ] - } - } - }, - { - "ID": "2176", - "typeID": "__group__", - "zOrder": "222", - "measuredW": "286", - "measuredH": "42", - "w": "286", - "h": "42", - "x": "962", - "y": "2409", - "properties": { - "controlName": "100-advanced-topics:low-level-internals:process-memory-arch" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "286", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "261", - "measuredH": "24", - "x": "12", - "y": "9", - "properties": { - "size": "16", - "text": "Processes and memory architecture" - } - } - ] - } - } - }, - { - "ID": "2177", - "typeID": "__group__", - "zOrder": "223", - "measuredW": "286", - "measuredH": "42", - "w": "286", - "h": "42", - "x": "962", - "y": "2454", - "properties": { - "controlName": "101-advanced-topics:low-level-internals:vacuum-processing" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "286", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "143", - "measuredH": "24", - "x": "71", - "y": "9", - "properties": { - "size": "16", - "text": "Vacuum Processing" - } - } - ] - } - } - }, - { - "ID": "2178", - "typeID": "__group__", - "zOrder": "224", - "measuredW": "286", - "measuredH": "42", - "w": "286", - "h": "42", - "x": "962", - "y": "2499", - "properties": { - "controlName": "102-advanced-topics:low-level-internals:buffer-management" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "286", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "144", - "measuredH": "24", - "x": "71", - "y": "9", - "properties": { - "size": "16", - "text": "Buffer Management" - } - } - ] - } - } - }, - { - "ID": "2179", - "typeID": "__group__", - "zOrder": "225", - "measuredW": "286", - "measuredH": "42", - "w": "286", - "h": "42", - "x": "962", - "y": "2544", - "properties": { - "controlName": "103-advanced-topics:low-level-internals:lock-management" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "286", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "135", - "measuredH": "24", - "x": "75", - "y": "9", - "properties": { - "size": "16", - "text": "Lock Management" - } - } - ] - } - } - }, - { - "ID": "2180", - "typeID": "__group__", - "zOrder": "226", - "measuredW": "286", - "measuredH": "42", - "w": "286", - "h": "42", - "x": "962", - "y": "2589", - "properties": { - "controlName": "104-advanced-topics:low-level-internals:physical-storage-and-file-layout" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "286", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "234", - "measuredH": "24", - "x": "26", - "y": "9", - "properties": { - "size": "16", - "text": "Physical Storage and File Layout" - } - } - ] - } - } - }, - { - "ID": "2181", - "typeID": "__group__", - "zOrder": "227", - "measuredW": "286", - "measuredH": "42", - "w": "286", - "h": "42", - "x": "962", - "y": "2634", - "properties": { - "controlName": "105-advanced-topics:low-level-internals:system-catalog" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "286", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "113", - "measuredH": "24", - "x": "86", - "y": "9", - "properties": { - "size": "16", - "text": "System Catalog" - } - } - ] - } - } - }, - { - "ID": "2182", - "typeID": "__group__", - "zOrder": "228", - "measuredW": "169", - "measuredH": "195", - "w": "169", - "h": "195", - "x": "950", - "y": "2696", - "properties": { - "controlName": "101-advanced-topics:fine-grained-tuning" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "169", - "h": "195", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "147", - "measuredH": "24", - "x": "11", - "y": "14", - "properties": { - "size": "16", - "text": "Fine Grained Tuning" - } - } - ] - } - } - }, - { - "ID": "2183", - "typeID": "__group__", - "zOrder": "229", - "measuredW": "369", - "measuredH": "42", - "w": "369", - "h": "42", - "x": "962", - "y": "2743", - "properties": { - "controlName": "100-advanced-topics:fine-grained-tuning:per-user-per-database-settings" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "369", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "232", - "measuredH": "24", - "x": "14", - "y": "9", - "properties": { - "size": "16", - "text": "Per-user, Per-Database Settings" - } - } - ] - } - } - }, - { - "ID": "2184", - "typeID": "__group__", - "zOrder": "230", - "measuredW": "369", - "measuredH": "42", - "w": "369", - "h": "42", - "x": "962", - "y": "2788", - "properties": { - "controlName": "101-advanced-topics:fine-grained-tuning:storage-parameters" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "369", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "145", - "measuredH": "24", - "x": "13", - "y": "9", - "properties": { - "size": "16", - "text": "Storage Parameters" - } - } - ] - } - } - }, - { - "ID": "2185", - "typeID": "__group__", - "zOrder": "231", - "measuredW": "369", - "measuredH": "42", - "w": "369", - "h": "42", - "x": "962", - "y": "2834", - "properties": { - "controlName": "102-advanced-topics:fine-grained-tuning:workload-dependant-tuning" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "369", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "341", - "measuredH": "24", - "x": "13", - "y": "9", - "properties": { - "size": "16", - "text": "Workload-dependant tuning: OLTP, OLAP, HTAP" - } - } - ] - } - } - }, - { - "ID": "2186", - "typeID": "__group__", - "zOrder": "232", - "measuredW": "169", - "measuredH": "195", - "w": "169", - "h": "195", - "x": "950", - "y": "2897", - "properties": { - "controlName": "102-advanced-topics:advanced-sql" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "169", - "h": "195", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "107", - "measuredH": "24", - "x": "31", - "y": "14", - "properties": { - "size": "16", - "text": "Advanced SQL" - } - } - ] - } - } - }, - { - "ID": "2187", - "typeID": "__group__", - "zOrder": "233", - "measuredW": "103", - "measuredH": "42", - "w": "103", - "h": "42", - "x": "962", - "y": "2944", - "properties": { - "controlName": "100-advanced-topics:advanced-sql:pl-pgsql" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "103", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "77", - "measuredH": "24", - "x": "14", - "y": "9", - "properties": { - "size": "16", - "text": "PL/pgSQL" - } - } - ] - } - } - }, - { - "ID": "2188", - "typeID": "__group__", - "zOrder": "234", - "measuredW": "103", - "measuredH": "42", - "w": "103", - "h": "42", - "x": "962", - "y": "2989", - "properties": { - "controlName": "102-advanced-topics:advanced-sql:triggers" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "103", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "61", - "measuredH": "24", - "x": "21", - "y": "9", - "properties": { - "size": "16", - "text": "Triggers" - } - } - ] - } - } - }, - { - "ID": "2189", - "typeID": "__group__", - "zOrder": "235", - "measuredW": "328", - "measuredH": "42", - "w": "328", - "h": "42", - "x": "962", - "y": "3035", - "properties": { - "controlName": "104-advanced-topics:advanced-sql:aggregate-and-window-functions" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "328", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "234", - "measuredH": "24", - "x": "13", - "y": "9", - "properties": { - "size": "16", - "text": "Aggregate and window functions" - } - } - ] - } - } - }, - { - "ID": "2190", - "typeID": "__group__", - "zOrder": "236", - "measuredW": "219", - "measuredH": "42", - "w": "219", - "h": "42", - "x": "1069", - "y": "2944", - "properties": { - "controlName": "101-advanced-topics:advanced-sql:procedures-and-functions" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "219", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "190", - "measuredH": "24", - "x": "14", - "y": "9", - "properties": { - "size": "16", - "text": "Procedures and Functions" - } - } - ] - } - } - }, - { - "ID": "2191", - "typeID": "__group__", - "zOrder": "237", - "measuredW": "219", - "measuredH": "42", - "w": "219", - "h": "42", - "x": "1069", - "y": "2989", - "properties": { - "controlName": "103-advanced-topics:advanced-sql:recursive-cte" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "219", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "109", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "Recursive CTE" - } - } - ] - } - } - }, - { - "ID": "2192", - "typeID": "Arrow", - "zOrder": "238", - "w": "1", - "h": "873", - "measuredW": "150", - "measuredH": "100", - "x": "1382", - "y": "2293", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": -0.4129169328207354, - "y": 872.4114173726703 - }, - "p1": { - "x": 0.4999999999999997, - "y": 0 - }, - "p2": { - "x": -0.4129169328207354, - "y": -0.11774307773504233 - } - } - }, - { - "ID": "2193", - "typeID": "Arrow", - "zOrder": "239", - "w": "446", - "h": "1", - "measuredW": "150", - "measuredH": "100", - "x": "936", - "y": "3166", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": 0, - "y": -0.11774307773521286 - }, - "p1": { - "x": 0.49999999999999994, - "y": 0 - }, - "p2": { - "x": 446, - "y": -0.11774307773521286 - } - } - }, - { - "ID": "2194", - "typeID": "__group__", - "zOrder": "240", - "measuredW": "252", - "measuredH": "49", - "w": "252", - "h": "49", - "x": "792", - "y": "3141", - "properties": { - "controlName": "111-troubleshooting-techniques" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "252", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "216", - "measuredH": "25", - "x": "18", - "y": "12", - "properties": { - "size": "17", - "text": "Troubleshooting Techniques" - } - } - ] - } - } - }, - { - "ID": "2195", - "typeID": "__group__", - "zOrder": "284", - "measuredW": "209", - "measuredH": "135", - "w": "209", - "h": "135", - "x": "296", - "y": "2688", - "properties": { - "controlName": "100-troubleshooting-techniques:system-views" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "209", - "h": "135", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "166", - "measuredH": "24", - "x": "21", - "y": "10", - "properties": { - "size": "16", - "text": "Postgres System Views" - } - } - ] - } - } - }, - { - "ID": "2196", - "typeID": "__group__", - "zOrder": "285", - "measuredW": "190", - "measuredH": "42", - "w": "190", - "h": "42", - "x": "305", - "y": "2727", - "properties": { - "controlName": "100-troubleshooting-techniques:system-views:pg-stat-activity" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "190", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "115", - "measuredH": "24", - "x": "37", - "y": "9", - "properties": { - "size": "16", - "text": "pg_stat_activity" - } - } - ] - } - } - }, - { - "ID": "2197", - "typeID": "__group__", - "zOrder": "286", - "measuredW": "190", - "measuredH": "42", - "w": "190", - "h": "42", - "x": "305", - "y": "2771", - "properties": { - "controlName": "101-troubleshooting-techniques:system-views:pg-stat-statements" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "190", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "146", - "measuredH": "24", - "x": "26", - "y": "9", - "properties": { - "size": "16", - "text": "pg_stat_statements" - } - } - ] - } - } - }, - { - "ID": "2198", - "typeID": "__group__", - "zOrder": "241", - "measuredW": "209", - "measuredH": "191", - "w": "209", - "h": "191", - "x": "296", - "y": "2910", - "properties": { - "controlName": "103-troubleshooting-techniques:query-analysis" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "209", - "h": "191", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "106", - "measuredH": "24", - "x": "51", - "y": "11", - "properties": { - "size": "16", - "text": "Query Analysis" - } - } - ] - } - } - }, - { - "ID": "2199", - "typeID": "__group__", - "zOrder": "242", - "measuredW": "97", - "measuredH": "42", - "w": "97", - "h": "42", - "x": "305", - "y": "2957", - "properties": { - "controlName": "100-troubleshooting-techniques:query-analysis:explain" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "97", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "66", - "measuredH": "24", - "x": "16", - "y": "9", - "properties": { - "size": "16", - "text": "EXPLAIN" - } - } - ] - } - } - }, - { - "ID": "2200", - "typeID": "__group__", - "zOrder": "243", - "measuredW": "87", - "measuredH": "42", - "w": "87", - "h": "42", - "x": "406", - "y": "2957", - "properties": { - "controlName": "101-troubleshooting-techniques:query-analysis:depesz" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "87", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "56", - "measuredH": "24", - "x": "16", - "y": "9", - "properties": { - "size": "16", - "text": "Depesz" - } - } - ] - } - } - }, - { - "ID": "2201", - "typeID": "__group__", - "zOrder": "244", - "measuredW": "97", - "measuredH": "42", - "w": "97", - "h": "42", - "x": "305", - "y": "3002", - "properties": { - "controlName": "102-troubleshooting-techniques:query-analysis:pev2" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "97", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "40", - "measuredH": "24", - "x": "29", - "y": "9", - "properties": { - "size": "16", - "text": "PEV2" - } - } - ] - } - } - }, - { - "ID": "2202", - "typeID": "__group__", - "zOrder": "245", - "measuredW": "87", - "measuredH": "42", - "w": "87", - "h": "42", - "x": "406", - "y": "3002", - "properties": { - "controlName": "103-troubleshooting-techniques:query-analysis:tenser" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "87", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "50", - "measuredH": "24", - "x": "16", - "y": "9", - "properties": { - "size": "16", - "text": "Tenser" - } - } - ] - } - } - }, - { - "ID": "2203", - "typeID": "__group__", - "zOrder": "246", - "measuredW": "209", - "measuredH": "133", - "w": "209", - "h": "133", - "x": "296", - "y": "3096", - "properties": { - "controlName": "105-troubleshooting-techniques:troubleshooting-methods" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "209", - "h": "133", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "184", - "measuredH": "24", - "x": "12", - "y": "9", - "properties": { - "size": "16", - "text": "Troubleshooting Methods" - } - } - ] - } - } - }, - { - "ID": "2204", - "typeID": "__group__", - "zOrder": "247", - "measuredW": "97", - "measuredH": "42", - "w": "97", - "h": "42", - "x": "305", - "y": "3133", - "properties": { - "controlName": "100-troubleshooting-techniques:troubleshooting-methods:use" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "97", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "32", - "measuredH": "24", - "x": "33", - "y": "9", - "properties": { - "size": "16", - "text": "USE" - } - } - ] - } - } - }, - { - "ID": "2205", - "typeID": "__group__", - "zOrder": "248", - "measuredW": "87", - "measuredH": "42", - "w": "87", - "h": "42", - "x": "406", - "y": "3133", - "properties": { - "controlName": "101-troubleshooting-techniques:troubleshooting-methods:red" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "87", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "34", - "measuredH": "24", - "x": "27", - "y": "9", - "properties": { - "size": "16", - "text": "RED" - } - } - ] - } - } - }, - { - "ID": "2206", - "typeID": "__group__", - "zOrder": "249", - "measuredW": "188", - "measuredH": "42", - "w": "188", - "h": "42", - "x": "305", - "y": "3178", - "properties": { - "controlName": "102-troubleshooting-techniques:troubleshooting-methods:golden-signals" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "188", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "109", - "measuredH": "24", - "x": "39", - "y": "9", - "properties": { - "size": "16", - "text": "Golden Signals" - } - } - ] - } - } - }, - { - "ID": "2207", - "typeID": "__group__", - "zOrder": "250", - "measuredW": "265", - "measuredH": "49", - "w": "265", - "h": "49", - "x": "726", - "y": "3353", - "properties": { - "controlName": "112-sql-optimization-techniques" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "265", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "227", - "measuredH": "25", - "x": "19", - "y": "12", - "properties": { - "size": "17", - "text": "SQL Optimization Techniques" - } - } - ] - } - } - }, - { - "ID": "2208", - "typeID": "__group__", - "zOrder": "251", - "measuredW": "270", - "measuredH": "42", - "w": "270", - "h": "42", - "x": "375", - "y": "3353", - "properties": { - "controlName": "100-sql-optimization-techniques:indexes-usecases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "270", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "202", - "measuredH": "24", - "x": "34", - "y": "9", - "properties": { - "size": "16", - "text": "Indexes and their Usecases" - } - } - ] - } - } - }, - { - "ID": "2209", - "typeID": "__group__", - "zOrder": "252", - "measuredW": "87", - "measuredH": "42", - "w": "87", - "h": "42", - "x": "374", - "y": "3280", - "properties": { - "controlName": "100-sql-optimization-techniques:indexes-usecases:b-tree" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "87", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "49", - "measuredH": "24", - "x": "19", - "y": "9", - "properties": { - "size": "16", - "text": "B-Tree" - } - } - ] - } - } - }, - { - "ID": "2210", - "typeID": "__group__", - "zOrder": "253", - "measuredW": "87", - "measuredH": "42", - "w": "87", - "h": "42", - "x": "467", - "y": "3280", - "properties": { - "controlName": "101-sql-optimization-techniques:indexes-usecases:hash" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "87", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "38", - "measuredH": "24", - "x": "25", - "y": "9", - "properties": { - "size": "16", - "text": "Hash" - } - } - ] - } - } - }, - { - "ID": "2211", - "typeID": "__group__", - "zOrder": "254", - "measuredW": "87", - "measuredH": "42", - "w": "87", - "h": "42", - "x": "559", - "y": "3280", - "properties": { - "controlName": "102-sql-optimization-techniques:indexes-usecases:gist" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "87", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "35", - "measuredH": "24", - "x": "26", - "y": "9", - "properties": { - "size": "16", - "text": "GiST" - } - } - ] - } - } - }, - { - "ID": "2212", - "typeID": "__group__", - "zOrder": "255", - "measuredW": "87", - "measuredH": "42", - "w": "87", - "h": "42", - "x": "374", - "y": "3426", - "properties": { - "controlName": "103-sql-optimization-techniques:indexes-usecases:sp-gist" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "87", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "61", - "measuredH": "24", - "x": "13", - "y": "9", - "properties": { - "size": "16", - "text": "SP-GiST" - } - } - ] - } - } - }, - { - "ID": "2213", - "typeID": "__group__", - "zOrder": "256", - "measuredW": "84", - "measuredH": "42", - "w": "84", - "h": "42", - "x": "469", - "y": "3426", - "properties": { - "controlName": "104-sql-optimization-techniques:indexes-usecases:gin" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "84", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "29", - "measuredH": "24", - "x": "27", - "y": "9", - "properties": { - "size": "16", - "text": "GIN" - } - } - ] - } - } - }, - { - "ID": "2214", - "typeID": "__group__", - "zOrder": "257", - "measuredW": "84", - "measuredH": "42", - "w": "84", - "h": "42", - "x": "561", - "y": "3426", - "properties": { - "controlName": "105-sql-optimization-techniques:indexes-usecases:brin" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "84", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "40", - "measuredH": "24", - "x": "22", - "y": "9", - "properties": { - "size": "16", - "text": "BRIN" - } - } - ] - } - } - }, - { - "ID": "2215", - "typeID": "__group__", - "zOrder": "258", - "measuredW": "320", - "measuredH": "42", - "w": "320", - "h": "42", - "x": "1049", - "y": "3360", - "properties": { - "controlName": "102-sql-optimization-techniques:schema-query-patterns" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "320", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "253", - "measuredH": "24", - "x": "33", - "y": "9", - "properties": { - "size": "16", - "text": "SQL Query Patterns / Anti-patterns" - } - } - ] - } - } - }, - { - "ID": "2216", - "typeID": "__group__", - "zOrder": "259", - "measuredW": "320", - "measuredH": "42", - "w": "320", - "h": "42", - "x": "1049", - "y": "3313", - "properties": { - "controlName": "101-sql-optimization-techniques:schema-design-patterns" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "320", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "289", - "measuredH": "24", - "x": "15", - "y": "9", - "properties": { - "size": "16", - "text": "Schema Design Patterns / Anti-patterns" - } - } - ] - } - } - }, - { - "ID": "2217", - "typeID": "__group__", - "zOrder": "260", - "measuredW": "269", - "measuredH": "49", - "w": "269", - "h": "49", - "x": "604", - "y": "391", - "properties": { - "controlName": "101-introduction" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "269", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "93", - "measuredH": "25", - "x": "88", - "y": "12", - "properties": { - "size": "17", - "text": "Introduction" - } - } - ] - } - } - }, - { - "ID": "2218", - "typeID": "__group__", - "zOrder": "261", - "measuredW": "290", - "measuredH": "42", - "w": "290", - "h": "42", - "x": "974", - "y": "321", - "properties": { - "controlName": "100-introduction:what-are-relational-databases" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "290", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "233", - "measuredH": "24", - "x": "28", - "y": "9", - "properties": { - "size": "16", - "text": "What are Relational Databases?" - } - } - ] - } - } - }, - { - "ID": "2219", - "typeID": "__group__", - "zOrder": "262", - "measuredW": "290", - "measuredH": "42", - "w": "290", - "h": "42", - "x": "974", - "y": "367", - "properties": { - "controlName": "101-introduction:rdbms-benefits-limitations" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "290", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "236", - "measuredH": "24", - "x": "27", - "y": "9", - "properties": { - "size": "16", - "text": "RDBMS Benefits and Limitations" - } - } - ] - } - } - }, - { - "ID": "2220", - "typeID": "__group__", - "zOrder": "263", - "measuredW": "290", - "measuredH": "42", - "w": "290", - "h": "42", - "x": "974", - "y": "412", - "properties": { - "controlName": "102-introduction:postgresql-vs-others" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "290", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "214", - "measuredH": "24", - "x": "38", - "y": "9", - "properties": { - "size": "16", - "text": "PostgreSQL vs Other RDBMS" - } - } - ] - } - } - }, - { - "ID": "2221", - "typeID": "__group__", - "zOrder": "264", - "measuredW": "290", - "measuredH": "42", - "w": "290", - "h": "42", - "x": "974", - "y": "458", - "properties": { - "controlName": "103-introduction:postgresql-vs-nosql" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "290", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "246", - "measuredH": "24", - "x": "22", - "y": "9", - "properties": { - "size": "16", - "text": "PostgreSQL vs NoSQL Databases" - } - } - ] - } - } - }, - { - "ID": "2222", - "typeID": "__group__", - "zOrder": "265", - "measuredW": "265", - "measuredH": "49", - "w": "265", - "h": "49", - "x": "725", - "y": "3435", - "properties": { - "controlName": "113-get-involved-in-development" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "265", - "h": "49", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16776960" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "222", - "measuredH": "25", - "x": "22", - "y": "12", - "properties": { - "size": "17", - "text": "Get Involved in Development" - } - } - ] - } - } - }, - { - "ID": "2223", - "typeID": "__group__", - "zOrder": "266", - "measuredW": "178", - "measuredH": "42", - "w": "178", - "h": "42", - "x": "1082", - "y": "3432", - "properties": { - "controlName": "100-get-involved-in-development:mailing-lists" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "178", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "91", - "measuredH": "24", - "x": "43", - "y": "9", - "properties": { - "size": "16", - "text": "Mailing Lists" - } - } - ] - } - } - }, - { - "ID": "2224", - "typeID": "__group__", - "zOrder": "267", - "measuredW": "178", - "measuredH": "42", - "w": "178", - "h": "42", - "x": "1082", - "y": "3479", - "properties": { - "controlName": "101-get-involved-in-development:reviewing-patches" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "178", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "137", - "measuredH": "24", - "x": "20", - "y": "9", - "properties": { - "size": "16", - "text": "Reviewing Patches" - } - } - ] - } - } - }, - { - "ID": "2225", - "typeID": "__group__", - "zOrder": "268", - "measuredW": "178", - "measuredH": "42", - "w": "178", - "h": "42", - "x": "1082", - "y": "3526", - "properties": { - "controlName": "102-get-involved-in-development:writing-patches" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "178", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "114", - "measuredH": "24", - "x": "32", - "y": "9", - "properties": { - "size": "16", - "text": "Writing Patches" - } - } - ] - } - } - }, - { - "ID": "2226", - "typeID": "Label", - "zOrder": "269", - "measuredW": "161", - "measuredH": "32", - "x": "794", - "y": "3575", - "properties": { - "size": "24", - "text": "Keep Learning" - } - }, - { - "ID": "2227", - "typeID": "Arrow", - "zOrder": "270", - "w": "1", - "h": "67", - "measuredW": "150", - "measuredH": "100", - "x": "874", - "y": "3634", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "color": "10027263", - "p0": { - "x": -0.4129169328207354, - "y": 67 - }, - "p1": { - "x": 0.4999999999999997, - "y": 0 - }, - "p2": { - "x": -0.4129169328207354, - "y": -0.11774307773504233 - }, - "stroke": "dotted" - } - }, - { - "ID": "2228", - "typeID": "Arrow", - "zOrder": "271", - "w": "171", - "h": "2", - "measuredW": "150", - "measuredH": "100", - "x": "777", - "y": "3771", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "p0": { - "x": 0.2502642458233595, - "y": -0.2116722737659984 - }, - "p1": { - "x": 0.5, - "y": 0 - }, - "p2": { - "x": 171.71787682058277, - "y": 2 - }, - "color": "16777215" - } - }, - { - "ID": "2229", - "typeID": "Canvas", - "zOrder": "272", - "w": "350", - "h": "141", - "measuredW": "100", - "measuredH": "70", - "x": "975", - "y": "134" - }, - { - "ID": "2230", - "typeID": "Label", - "zOrder": "273", - "measuredW": "314", - "measuredH": "25", - "x": "989", - "y": "151", - "properties": { - "size": "17", - "text": "Find the detailed version of this roadmap" - } - }, - { - "ID": "2231", - "typeID": "Label", - "zOrder": "274", - "measuredW": "319", - "measuredH": "25", - "x": "989", - "y": "179", - "properties": { - "size": "17", - "text": "along with resources and other roadmaps" - } - }, - { - "ID": "2232", - "typeID": "__group__", - "zOrder": "275", - "measuredW": "320", - "measuredH": "45", - "w": "320", - "h": "45", - "x": "990", - "y": "215", - "properties": { - "controlName": "ext_link:roadmap.sh" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "320", - "h": "45", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "borderColor": "4273622", - "color": "4273622" - } - }, - { - "ID": "2", - "typeID": "Label", - "zOrder": "1", - "measuredW": "172", - "measuredH": "28", - "x": "74", - "y": "8", - "properties": { - "color": "16777215", - "size": "20", - "text": "https://roadmap.sh" - } - } - ] - } - } - }, - { - "ID": "2233", - "typeID": "Canvas", - "zOrder": "276", - "w": "300", - "h": "141", - "measuredW": "100", - "measuredH": "70", - "x": "261", - "y": "130" - }, - { - "ID": "2234", - "typeID": "__group__", - "zOrder": "277", - "measuredW": "181", - "measuredH": "25", - "w": "181", - "h": "25", - "x": "284", - "y": "192", - "properties": { - "controlName": "ext_link:roadmap.sh/mongodb" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Label", - "zOrder": "0", - "measuredW": "148", - "measuredH": "24", - "x": "33", - "y": "0", - "properties": { - "size": "16", - "text": "MongoDB Roadmap" - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "1", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - }, - { - "ID": "2235", - "typeID": "Label", - "zOrder": "278", - "measuredW": "175", - "measuredH": "28", - "x": "286", - "y": "151", - "properties": { - "size": "20", - "text": "Related Roadmaps" - } - }, - { - "ID": "2236", - "typeID": "__group__", - "zOrder": "279", - "measuredW": "172", - "measuredH": "25", - "w": "172", - "h": "25", - "x": "284", - "y": "225", - "properties": { - "controlName": "ext_link:roadmap.sh/backend" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Label", - "zOrder": "0", - "measuredW": "139", - "measuredH": "24", - "x": "33", - "y": "0", - "properties": { - "size": "16", - "text": "Backend Roadmap" - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "2", - "typeID": "Icon", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "1", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "10066329" - } - } - ] - } - } - }, - { - "ID": "2237", - "typeID": "__group__", - "zOrder": "280", - "measuredW": "300", - "measuredH": "54", - "w": "300", - "h": "54", - "x": "261", - "y": "288", - "properties": { - "controlName": "100-roadmap-note" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "TextArea", - "zOrder": "0", - "w": "300", - "h": "54", - "measuredW": "200", - "measuredH": "140", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "199", - "measuredH": "24", - "x": "50", - "y": "15", - "properties": { - "text": "Important Note / Click here", - "size": "16" - } - }, - { - "ID": "2", - "typeID": "__group__", - "zOrder": "2", - "measuredW": "24", - "measuredH": "24", - "w": "24", - "h": "24", - "x": "18", - "y": "18", - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Icon", - "zOrder": "0", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "color": "16777215", - "icon": { - "ID": "circle", - "size": "small" - } - } - }, - { - "ID": "1", - "typeID": "Icon", - "zOrder": "1", - "measuredW": "24", - "measuredH": "24", - "x": "0", - "y": "0", - "properties": { - "icon": { - "ID": "check-circle", - "size": "small" - }, - "color": "13576743" - } - } - ] - } - } - } - ] - } - } - }, - { - "ID": "2238", - "typeID": "__group__", - "zOrder": "281", - "measuredW": "189", - "measuredH": "42", - "w": "189", - "h": "42", - "x": "305", - "y": "3047", - "properties": { - "controlName": "102-troubleshooting-techniques:query-analysis:explain-dalibo-com" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "189", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "132", - "measuredH": "24", - "x": "29", - "y": "9", - "properties": { - "size": "16", - "text": "explain.dalibo.com" - } - } - ] - } - } - }, - { - "ID": "2240", - "typeID": "__group__", - "zOrder": "287", - "measuredW": "148", - "measuredH": "42", - "w": "148", - "h": "42", - "x": "758", - "y": "2573", - "properties": { - "controlName": "105-application-skills:sharding-patterns" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "148", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "129", - "measuredH": "24", - "x": "9", - "y": "9", - "properties": { - "size": "16", - "text": "Sharding Patterns" - } - } - ] - } - } - }, - { - "ID": "2241", - "typeID": "__group__", - "zOrder": "288", - "measuredW": "95", - "measuredH": "42", - "w": "95", - "h": "42", - "x": "610", - "y": "3133", - "properties": { - "controlName": "104-troubleshooting-techniques:log-analysis:pg-cluu" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "95", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "52", - "measuredH": "24", - "x": "22", - "y": "9", - "properties": { - "size": "16", - "text": "pgCluu" - } - } - ] - } - } - }, - { - "ID": "2243", - "typeID": "__group__", - "zOrder": "289", - "measuredW": "214", - "measuredH": "42", - "w": "214", - "h": "42", - "x": "745", - "y": "2155", - "properties": { - "controlName": "103-postgresql-infrastructure-skills:monitoring:temboard" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "214", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "72", - "measuredH": "24", - "x": "71", - "y": "9", - "properties": { - "size": "16", - "text": "temBoard" - } - } - ] - } - } - }, - { - "ID": "2244", - "typeID": "__group__", - "zOrder": "290", - "measuredW": "213", - "measuredH": "42", - "w": "213", - "h": "42", - "x": "745", - "y": "2110", - "properties": { - "controlName": "102-postgresql-infrastructure-skills:monitoring:check-pgactivity" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "213", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "121", - "measuredH": "24", - "x": "46", - "y": "9", - "properties": { - "size": "16", - "text": "check_pgactivity" - } - } - ] - } - } - }, - { - "ID": "2245", - "typeID": "__group__", - "zOrder": "291", - "measuredW": "215", - "measuredH": "42", - "w": "215", - "h": "42", - "x": "745", - "y": "2200", - "properties": { - "controlName": "104-postgresql-infrastructure-skills:monitoring:check-pgbackrest" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "215", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "134", - "measuredH": "24", - "x": "41", - "y": "9", - "properties": { - "size": "16", - "text": "check_pgbackrest" - } - } - ] - } - } - }, - { - "ID": "2247", - "typeID": "__group__", - "zOrder": "292", - "measuredW": "274", - "measuredH": "42", - "w": "274", - "h": "42", - "x": "294", - "y": "2439", - "properties": { - "controlName": "103-learn-automation:terraform" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "274", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "71", - "measuredH": "24", - "x": "101", - "y": "9", - "properties": { - "size": "16", - "text": "Terraform" - } - } - ] - } - } - }, - { - "ID": "2248", - "typeID": "__group__", - "zOrder": "293", - "measuredW": "151", - "measuredH": "42", - "w": "151", - "h": "42", - "x": "264", - "y": "2017", - "properties": { - "controlName": "108-postgresql-infrastructure-skills:anonymization" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "151", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0" - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "105", - "measuredH": "24", - "x": "23", - "y": "9", - "properties": { - "size": "16", - "text": "Anonymization" - } - } - ] - } - } - }, - { - "ID": "2251", - "typeID": "Arrow", - "zOrder": "0", - "w": "1", - "h": "54", - "measuredW": "150", - "measuredH": "100", - "x": "339", - "y": "2042", - "properties": { - "curvature": "0", - "leftArrow": "false", - "rightArrow": "false", - "stroke": "dotted", - "color": "10027263", - "p0": { - "x": 0.4271178962662816, - "y": -0.5 - }, - "p1": { - "x": 0.49999999999999983, - "y": 2.753189908645436e-31 - }, - "p2": { - "x": 0.4271178962663953, - "y": 53.66666666666663 - } - } - }, - { - "ID": "2252", - "typeID": "__group__", - "zOrder": "294", - "measuredW": "197", - "measuredH": "42", - "w": "197", - "h": "42", - "x": "264", - "y": "2096", - "properties": { - "controlName": "100-postgresql-infrastructure-skills:anonymization:postgresql-anonymizer" - }, - "children": { - "controls": { - "control": [ - { - "ID": "0", - "typeID": "Canvas", - "zOrder": "0", - "w": "197", - "h": "42", - "measuredW": "100", - "measuredH": "70", - "x": "0", - "y": "0", - "properties": { - "color": "16770457" - } - }, - { - "ID": "1", - "typeID": "Label", - "zOrder": "1", - "measuredW": "175", - "measuredH": "24", - "x": "11", - "y": "9", - "properties": { - "size": "16", - "text": "PostgreSQL Anonymizer" - } - } - ] - } - } - } - ] - }, - "attributes": { - "name": "New Wireframe 9 copy", - "order": 1000116.0868550346, - "parentID": null, - "notes": null - }, - "branchID": "Master", - "resourceID": "73A38172-E66F-4B8C-9525-DB6AC79E153D", - "mockupH": "3687", - "mockupW": "1163", - "measuredW": "1395", - "measuredH": "3773", - "version": "1.0" - }, - "groupOffset": { - "x": 0, - "y": 0 - }, - "dependencies": [], - "projectID": "file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr" -} \ No newline at end of file +{"mockup":{"controls":{"control":[{"ID":"1952","typeID":"Arrow","zOrder":"1","w":"1","h":"104","measuredW":"150","measuredH":"100","x":"874","y":"3459","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":104.19580709381944},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1953","typeID":"Arrow","zOrder":"2","w":"125","h":"50","measuredW":"150","measuredH":"100","x":"966","y":"3466","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.45156981064997126,"y":-0.1889423318889385},"p1":{"x":0.6037511436413536,"y":0.08810612991765832},"p2":{"x":125.48082757665975,"y":50.08055305856897}}},{"ID":"1954","typeID":"Arrow","zOrder":"3","w":"134","h":"85","measuredW":"150","measuredH":"100","x":"957","y":"3475","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.42883986877291136,"y":-0.1662123900118786},"p1":{"x":0.5387556024255216,"y":0.1207487476931185},"p2":{"x":134.48082757665975,"y":84.90524134768566}}},{"ID":"1955","typeID":"Arrow","zOrder":"4","w":"171","h":"2","measuredW":"150","measuredH":"100","x":"943","y":"3457","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.2502642458233595,"y":-0.2116722737659984},"p1":{"x":0.5,"y":0},"p2":{"x":171.71787682058277,"y":2}}},{"ID":"1956","typeID":"Arrow","zOrder":"5","w":"129","h":"54","measuredW":"150","measuredH":"100","x":"853","y":"430","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.74379514298448,"y":53.88646773320312},"p1":{"x":0.3624836784055758,"y":-0.08803194020926222},"p2":{"x":-0.15234688382986405,"y":-0.24991191805889912}}},{"ID":"1957","typeID":"Arrow","zOrder":"6","w":"129","h":"12","measuredW":"150","measuredH":"100","x":"858","y":"424","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.8996408240571,"y":12.194895183281858},"p1":{"x":0.525055137952002,"y":-0.03353659581377254},"p2":{"x":0.0034987972427416025,"y":0.5942424008685521}}},{"ID":"1958","typeID":"Arrow","zOrder":"7","w":"134","h":"21","measuredW":"150","measuredH":"100","x":"849","y":"389","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":134.03275656325263,"y":-0.49667736663946016},"p1":{"x":0.49455143506411814,"y":0.05494286199591283},"p2":{"x":-0.01923114463420461,"y":20.126705357650792}}},{"ID":"1959","typeID":"Arrow","zOrder":"8","w":"140","h":"60","measuredW":"150","measuredH":"100","x":"841","y":"341","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":140.74379514298448,"y":-0.18824991656077827},"p1":{"x":0.523254983210688,"y":0.10945202543402179},"p2":{"x":0.2470003337568869,"y":59.10397541577379}}},{"ID":"1960","typeID":"Arrow","zOrder":"9","w":"1","h":"162","measuredW":"150","measuredH":"100","x":"740","y":"232","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":161.3884650838079},"p1":{"x":0.5000000000000004,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.2593697375390036}}},{"ID":"1961","typeID":"Arrow","zOrder":"10","w":"88","h":"36","measuredW":"150","measuredH":"100","x":"971","y":"3331","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.03706521841161248,"y":35.08533148408014},"p1":{"x":0.47748925835979983,"y":-0.13076779376050712},"p2":{"x":87.61231135982212,"y":0.2833731368405097}}},{"ID":"1962","typeID":"Arrow","zOrder":"11","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"884","y":"3378","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1963","typeID":"Arrow","zOrder":"12","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"602","y":"3305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1964","typeID":"Arrow","zOrder":"13","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"510","y":"3305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1965","typeID":"Arrow","zOrder":"14","w":"1","h":"142","measuredW":"150","measuredH":"100","x":"417","y":"3306","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":0.4271178962662816,"y":141.20936950191117}}},{"ID":"1966","typeID":"Arrow","zOrder":"15","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"548","y":"3377","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1967","typeID":"Arrow","zOrder":"16","w":"1","h":"295","measuredW":"150","measuredH":"100","x":"874","y":"3166","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":295.29969269717276},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"1968","typeID":"Arrow","zOrder":"17","w":"202","h":"1","measuredW":"150","measuredH":"100","x":"678","y":"3164","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.32381396365008186,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":201.71787682058277,"y":0}}},{"ID":"1969","typeID":"__group__","zOrder":"18","measuredW":"215","measuredH":"94","w":"215","h":"94","x":"501","y":"2876","properties":{"controlName":"102-troubleshooting-techniques:operating-system-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"94","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"171","measuredH":"24","x":"19","y":"11","properties":{"size":"16","text":"Operating System Tools"}}]}}},{"ID":"1970","typeID":"__group__","zOrder":"19","measuredW":"48","measuredH":"42","w":"48","h":"42","x":"511","y":"2918","properties":{"controlName":"100-troubleshooting-techniques:operating-system-tools:top"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"48","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"24","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"top"}}]}}},{"ID":"1971","typeID":"__group__","zOrder":"20","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"563","y":"2918","properties":{"controlName":"101-troubleshooting-techniques:operating-system-tools:sysstat"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"sysstat"}}]}}},{"ID":"1972","typeID":"__group__","zOrder":"21","measuredW":"60","measuredH":"42","w":"60","h":"42","x":"641","y":"2918","properties":{"controlName":"102-troubleshooting-techniques:operating-system-tools:iotop"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"60","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"36","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"iotop"}}]}}},{"ID":"1973","typeID":"__group__","zOrder":"22","measuredW":"215","measuredH":"133","w":"215","h":"133","x":"501","y":"2966","properties":{"controlName":"104-troubleshooting-techniques:profiling-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"100","measuredH":"24","x":"54","y":"8","properties":{"size":"16","text":"Profiling Tools"}}]}}},{"ID":"1974","typeID":"__group__","zOrder":"23","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"509","y":"3003","properties":{"controlName":"100-troubleshooting-techniques:profiling-tools:gdb"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"gdb"}}]}}},{"ID":"1975","typeID":"__group__","zOrder":"24","measuredW":"86","measuredH":"42","w":"86","h":"42","x":"509","y":"3048","properties":{"controlName":"103-troubleshooting-techniques:profiling-tools:perf-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"86","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"70","measuredH":"24","x":"9","y":"9","properties":{"size":"16","text":"perf-tools"}}]}}},{"ID":"1976","typeID":"__group__","zOrder":"25","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"598","y":"3048","properties":{"controlName":"104-troubleshooting-techniques:profiling-tools:core-dumps"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"9","y":"9","properties":{"size":"16","text":"Core Dumps"}}]}}},{"ID":"1977","typeID":"__group__","zOrder":"26","measuredW":"68","measuredH":"42","w":"68","h":"42","x":"569","y":"3003","properties":{"controlName":"101-troubleshooting-techniques:profiling-tools:strace"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"68","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"46","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"strace"}}]}}},{"ID":"1978","typeID":"__group__","zOrder":"27","measuredW":"67","measuredH":"42","w":"67","h":"42","x":"640","y":"3003","properties":{"controlName":"102-troubleshooting-techniques:profiling-tools:ebpf"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"67","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"ebpf"}}]}}},{"ID":"1979","typeID":"__group__","zOrder":"28","measuredW":"215","measuredH":"133","w":"215","h":"133","x":"501","y":"3096","properties":{"controlName":"106-troubleshooting-techniques:log-analysis"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"90","measuredH":"24","x":"63","y":"8","properties":{"size":"16","text":"Log Analysis"}}]}}},{"ID":"1980","typeID":"__group__","zOrder":"29","measuredW":"95","measuredH":"42","w":"95","h":"42","x":"510","y":"3133","properties":{"controlName":"100-troubleshooting-techniques:log-analysis:pg-badger"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"95","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"73","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"pgBadger"}}]}}},{"ID":"1981","typeID":"__group__","zOrder":"30","measuredW":"69","measuredH":"42","w":"69","h":"42","x":"575","y":"3179","properties":{"controlName":"102-troubleshooting-techniques:log-analysis:grep"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"69","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"34","measuredH":"24","x":"18","y":"8","properties":{"size":"16","text":"grep"}}]}}},{"ID":"1982","typeID":"__group__","zOrder":"31","measuredW":"61","measuredH":"42","w":"61","h":"42","x":"510","y":"3178","properties":{"controlName":"101-troubleshooting-techniques:log-analysis:awk"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"61","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"awk"}}]}}},{"ID":"1983","typeID":"__group__","zOrder":"32","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"649","y":"3178","properties":{"controlName":"103-troubleshooting-techniques:log-analysis:sed"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"27","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"sed"}}]}}},{"ID":"1984","typeID":"__group__","zOrder":"282","measuredW":"209","measuredH":"96","w":"209","h":"96","x":"296","y":"2818","properties":{"controlName":"101-troubleshooting-techniques:tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"96","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"52","y":"12","properties":{"size":"16","text":"Postgres Tools"}}]}}},{"ID":"1985","typeID":"__group__","zOrder":"283","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"306","y":"2862","properties":{"controlName":"100-troubleshooting-techniques:tools:pgcenter"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"62","y":"9","properties":{"size":"16","text":"pgcenter"}}]}}},{"ID":"1986","typeID":"Arrow","zOrder":"33","w":"1","h":"97","measuredW":"150","measuredH":"100","x":"999","y":"2292","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":0},"p2":{"x":0.4271178962662816,"y":96.57440424601737}}},{"ID":"1987","typeID":"Arrow","zOrder":"34","w":"1","h":"97","measuredW":"150","measuredH":"100","x":"681","y":"2293","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":0},"p2":{"x":0.4271178962662816,"y":96.57440424601737}}},{"ID":"1988","typeID":"Canvas","zOrder":"35","w":"146","h":"164","measuredW":"100","measuredH":"70","x":"611","y":"2359"},{"ID":"1989","typeID":"Arrow","zOrder":"36","w":"1","h":"88","measuredW":"150","measuredH":"100","x":"434","y":"2458","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0.3713024393487103},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":0.4271178962663953,"y":88.66666666666663}}},{"ID":"1990","typeID":"Arrow","zOrder":"37","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"437","y":"2305","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1991","typeID":"Arrow","zOrder":"38","w":"620","h":"1","measuredW":"150","measuredH":"100","x":"232","y":"1784","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.13465453284504747,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":619.7495916965531,"y":-0.11774307773521286}}},{"ID":"1992","typeID":"Arrow","zOrder":"39","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"594","y":"1975","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1993","typeID":"Arrow","zOrder":"40","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"850","y":"1975","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"1994","typeID":"Arrow","zOrder":"41","w":"404","h":"1","measuredW":"150","measuredH":"100","x":"415","y":"1853","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":404.698868282416,"y":0}}},{"ID":"1995","typeID":"Arrow","zOrder":"42","w":"1","h":"264","measuredW":"150","measuredH":"100","x":"1256","y":"1587","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":0.2815709355738818},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.4271178962662816,"y":264.5}}},{"ID":"1996","typeID":"Arrow","zOrder":"43","w":"1","h":"65","measuredW":"150","measuredH":"100","x":"852","y":"1792","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999998,"y":0},"p2":{"x":0.4271178962662816,"y":64.5}}},{"ID":"1997","typeID":"Arrow","zOrder":"44","w":"1","h":"53","measuredW":"150","measuredH":"100","x":"1007","y":"1792","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962662816,"y":52.5}}},{"ID":"1998","typeID":"Arrow","zOrder":"45","w":"102","h":"42","measuredW":"150","measuredH":"100","x":"701","y":"1729","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.3637224596427586,"y":0.4123432898111332},"p1":{"x":0.5571092804064476,"y":-0.10882932503976735},"p2":{"x":101.56767757191813,"y":41.71540129516461}}},{"ID":"1999","typeID":"Arrow","zOrder":"46","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"641","y":"2046","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2000","typeID":"Arrow","zOrder":"47","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"849","y":"1858","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2001","typeID":"Arrow","zOrder":"48","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1078","y":"1933","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2002","typeID":"Canvas","zOrder":"49","w":"188","h":"157","measuredW":"100","measuredH":"70","x":"977","y":"1980"},{"ID":"2003","typeID":"Arrow","zOrder":"50","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1257","y":"1849","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2004","typeID":"Arrow","zOrder":"51","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1078","y":"1846","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2005","typeID":"__group__","zOrder":"52","measuredW":"418","measuredH":"47","w":"418","h":"47","x":"977","y":"1830","properties":{"controlName":"102-postgresql-infrastructure-skills:backup-recovery-tools"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"418","h":"47","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"180","measuredH":"24","x":"120","y":"12","properties":{"size":"16","text":"Backup / Recovery Tools"}}]}}},{"ID":"2006","typeID":"Arrow","zOrder":"53","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"1257","y":"1929","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2007","typeID":"Canvas","zOrder":"54","w":"235","h":"157","measuredW":"100","measuredH":"70","x":"1160","y":"1980"},{"ID":"2008","typeID":"Arrow","zOrder":"55","w":"1","h":"287","measuredW":"150","measuredH":"100","x":"946","y":"1509","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":286.97930395280105},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2009","typeID":"Arrow","zOrder":"56","w":"165","h":"1","measuredW":"150","measuredH":"100","x":"780","y":"1509","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.4483238886820118,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":165.74959169655313,"y":-0.11774307773521286}}},{"ID":"2010","typeID":"Arrow","zOrder":"57","w":"1","h":"191","measuredW":"150","measuredH":"100","x":"628","y":"1406","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":190.66666666666663}}},{"ID":"2011","typeID":"Arrow","zOrder":"58","w":"127","h":"34","measuredW":"150","measuredH":"100","x":"454","y":"1512","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.11994957005373408,"y":33.764875280635124},"p1":{"x":0.48226186491714973,"y":0.07717329440735292},"p2":{"x":126.93000271100163,"y":0.32046566104463636}}},{"ID":"2012","typeID":"Arrow","zOrder":"59","w":"117","h":"40","measuredW":"150","measuredH":"100","x":"449","y":"1450","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":-0.45411869987805176,"y":-0.38780237568789744},"p1":{"x":0.5058786326070862,"y":-0.07078943628709435},"p2":{"x":116.60131496868928,"y":40.02419258131749}}},{"ID":"2013","typeID":"Arrow","zOrder":"60","w":"191","h":"1","measuredW":"150","measuredH":"100","x":"406","y":"1501","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":191,"y":0}}},{"ID":"2014","typeID":"Arrow","zOrder":"61","w":"134","h":"98","measuredW":"150","measuredH":"100","x":"421","y":"1172","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":97.66666666666663},"p1":{"x":0.5069805639200657,"y":0.10073911853271315},"p2":{"x":134.13752000020185,"y":-0.3173254102676992},"color":"10027263"}},{"ID":"2015","typeID":"Arrow","zOrder":"62","w":"147","h":"44","measuredW":"150","measuredH":"100","x":"407","y":"1171","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.3333333333333144,"y":44},"p1":{"x":0.5300999629766752,"y":0.0764901888189561},"p2":{"x":147,"y":0},"color":"10027263"}},{"ID":"2016","typeID":"Arrow","zOrder":"63","w":"128","h":"41","measuredW":"150","measuredH":"100","x":"425","y":"1071","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":0},"p1":{"x":0.4922100240848163,"y":-0.11071038048662071},"p2":{"x":127.66666666666669,"y":39.33333333333337},"color":"10027263"}},{"ID":"2017","typeID":"Arrow","zOrder":"64","w":"136","h":"92","measuredW":"150","measuredH":"100","x":"425","y":"1021","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":-0.3333333333333144,"y":0},"p1":{"x":0.4922100240848163,"y":-0.11071038048662066},"p2":{"x":135.72190217879785,"y":91.72550749825871},"color":"10027263"}},{"ID":"2018","typeID":"Arrow","zOrder":"65","w":"189","h":"6","measuredW":"150","measuredH":"100","x":"374","y":"1158","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":6},"p1":{"x":0.5,"y":0},"p2":{"x":189.67849256059174,"y":0.26114628054824607},"color":"10027263"}},{"ID":"2019","typeID":"Arrow","zOrder":"66","w":"188","h":"7","measuredW":"150","measuredH":"100","x":"364","y":"1119","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":188.66666666666669,"y":6.666666666666629},"color":"10027263"}},{"ID":"2020","typeID":"Arrow","zOrder":"67","w":"1","h":"191","measuredW":"150","measuredH":"100","x":"557","y":"1051","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":190.66666666666663},"color":"10027263"}},{"ID":"2021","typeID":"Arrow","zOrder":"68","w":"128","h":"1","measuredW":"150","measuredH":"100","x":"734","y":"1141","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":128.3182218608979,"y":0},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0},"color":"10027263"}},{"ID":"2022","typeID":"__group__","zOrder":"69","measuredW":"304","measuredH":"202","w":"304","h":"202","x":"1084","y":"1238","properties":{"controlName":"103-learn-sql-concepts:advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"304","h":"202","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"91","y":"18","properties":{"size":"16","text":"Advanced Topics"}}]}}},{"ID":"2023","typeID":"Arrow","zOrder":"70","w":"258","h":"1","measuredW":"150","measuredH":"100","x":"946","y":"920","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.49987434137158676,"y":0.00022818425917650698},"p2":{"x":258,"y":0}}},{"ID":"2024","typeID":"Arrow","zOrder":"71","w":"258","h":"1","measuredW":"150","measuredH":"100","x":"946","y":"903","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":0},"p1":{"x":0.49987434137158676,"y":0.00022818425917650698},"p2":{"x":258,"y":0}}},{"ID":"2025","typeID":"Arrow","zOrder":"72","w":"1","h":"106","measuredW":"150","measuredH":"100","x":"1309","y":"912","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":106.43592685891701},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"2026","typeID":"Arrow","zOrder":"73","w":"1","h":"106","measuredW":"150","measuredH":"100","x":"1158","y":"912","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":106.43592685891701},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"2027","typeID":"__group__","zOrder":"74","measuredW":"154","measuredH":"241","w":"154","h":"241","x":"1085","y":"969","properties":{"controlName":"100-learn-sql-concepts:ddl-queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"154","h":"241","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"95","measuredH":"24","x":"29","y":"13","properties":{"size":"16","text":"DDL Queries"}}]}}},{"ID":"2028","typeID":"__group__","zOrder":"75","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1097","y":"1106","properties":{"controlName":"102-learn-sql-concepts:ddl-queries:data-types"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Data Types"}}]}}},{"ID":"2029","typeID":"__group__","zOrder":"76","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1096","y":"1013","properties":{"controlName":"100-learn-sql-concepts:ddl-queries:for-schemas"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"95","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"For Schemas"}}]}}},{"ID":"2030","typeID":"__group__","zOrder":"77","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1096","y":"1059","properties":{"controlName":"101-learn-sql-concepts:ddl-queries:for-tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"75","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"For Tables"}}]}}},{"ID":"2031","typeID":"Arrow","zOrder":"78","w":"1","h":"213","measuredW":"150","measuredH":"100","x":"946","y":"690","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":212.3884650838079},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2032","typeID":"Arrow","zOrder":"79","w":"128","h":"1","measuredW":"150","measuredH":"100","x":"1107","y":"685","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":128.3182218608979,"y":0},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":0,"y":0}}},{"ID":"2033","typeID":"Arrow","zOrder":"80","w":"1","h":"147","measuredW":"150","measuredH":"100","x":"1077","y":"613","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":-0.12826052131362076},"p1":{"x":0.5,"y":0},"p2":{"x":0,"y":147.29881929523685}}},{"ID":"2034","typeID":"Arrow","zOrder":"81","w":"172","h":"1","measuredW":"150","measuredH":"100","x":"753","y":"686","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":-0.11774307773505654},"p1":{"x":0.5000000000000002,"y":2.0577493387487696e-32},"p2":{"x":171.58708306717926,"y":-0.11774307773504233}}},{"ID":"2035","typeID":"Arrow","zOrder":"82","w":"171","h":"258","measuredW":"150","measuredH":"100","x":"571","y":"414","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":171,"y":0},"p1":{"x":0.5854320642684712,"y":0.23339886429384038},"p2":{"x":0.008847042366596725,"y":257.51497904447774}}},{"ID":"2036","typeID":"Arrow","zOrder":"83","w":"1","h":"78","measuredW":"150","measuredH":"100","x":"640","y":"707","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":0.4271178962663953,"y":78.47632623201923}}},{"ID":"2037","typeID":"Arrow","zOrder":"84","w":"1","h":"94","measuredW":"150","measuredH":"100","x":"355","y":"691","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0.3919582050954773},"p1":{"x":0.4999999999999999,"y":0},"p2":{"x":0.4271178962663953,"y":94.47632623201923}}},{"ID":"2038","typeID":"Arrow","zOrder":"85","w":"191","h":"1","measuredW":"150","measuredH":"100","x":"352","y":"686","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962663953,"y":0},"p1":{"x":0.5,"y":0},"p2":{"x":191,"y":0}}},{"ID":"2039","typeID":"Label","zOrder":"86","measuredW":"152","measuredH":"36","x":"666","y":"181","properties":{"size":"28","text":"PostgreSQL"}},{"ID":"2040","typeID":"Arrow","zOrder":"87","w":"1","h":"84","measuredW":"150","measuredH":"100","x":"741","y":"86","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0,"y":-0.3333333333333428},"p1":{"x":0.5,"y":0},"p2":{"x":0,"y":84}}},{"ID":"2041","typeID":"__group__","zOrder":"88","measuredW":"269","measuredH":"49","w":"269","h":"49","x":"506","y":"662","properties":{"controlName":"102-rdbms-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"187","measuredH":"25","x":"41","y":"12","properties":{"text":"Basic RDBMS Concepts","size":"17"}}]}}},{"ID":"2042","typeID":"__group__","zOrder":"89","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"666","properties":{"controlName":"100-rdbms-concepts:object-model"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"43","y":"9","properties":{"text":"Object Model","size":"16"}}]}}},{"ID":"2043","typeID":"__group__","zOrder":"90","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"897","properties":{"controlName":"104-rdbms-concepts:high-level-database-concepts:query-processing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"128","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Query Processing"}}]}}},{"ID":"2044","typeID":"__group__","zOrder":"91","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"484","properties":{"controlName":"105-rdbms-concepts:object-model:data-types"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"51","y":"9","properties":{"size":"16","text":"Data Types"}}]}}},{"ID":"2045","typeID":"__group__","zOrder":"92","measuredW":"82","measuredH":"42","w":"82","h":"42","x":"259","y":"529","properties":{"controlName":"103-rdbms-concepts:object-model:rows"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"82","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Rows"}}]}}},{"ID":"2046","typeID":"__group__","zOrder":"93","measuredW":"99","measuredH":"42","w":"99","h":"42","x":"344","y":"529","properties":{"controlName":"104-rdbms-concepts:object-model:columns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"99","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"64","measuredH":"24","x":"18","y":"9","properties":{"size":"16","text":"Columns"}}]}}},{"ID":"2047","typeID":"__group__","zOrder":"94","measuredW":"82","measuredH":"42","w":"82","h":"42","x":"259","y":"574","properties":{"controlName":"101-rdbms-concepts:object-model:tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"82","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"47","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Tables"}}]}}},{"ID":"2048","typeID":"__group__","zOrder":"95","measuredW":"99","measuredH":"42","w":"99","h":"42","x":"344","y":"574","properties":{"controlName":"102-rdbms-concepts:object-model:schemas"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"99","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"67","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Schemas"}}]}}},{"ID":"2049","typeID":"__group__","zOrder":"96","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"620","properties":{"controlName":"100-rdbms-concepts:object-model:databases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"78","measuredH":"24","x":"53","y":"9","properties":{"size":"16","text":"Databases"}}]}}},{"ID":"2050","typeID":"__group__","zOrder":"97","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"439","properties":{"controlName":"106-rdbms-concepts:object-model:queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"58","measuredH":"24","x":"63","y":"9","properties":{"size":"16","text":"Queries"}}]}}},{"ID":"2051","typeID":"__group__","zOrder":"98","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"259","y":"756","properties":{"controlName":"101-rdbms-concepts:relational-model"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"123","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"Relational Model"}}]}}},{"ID":"2052","typeID":"__group__","zOrder":"99","measuredW":"92","measuredH":"42","w":"92","h":"42","x":"258","y":"803","properties":{"controlName":"100-rdbms-concepts:relational-model:domains"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"92","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"64","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Domains"}}]}}},{"ID":"2053","typeID":"__group__","zOrder":"100","measuredW":"89","measuredH":"42","w":"89","h":"42","x":"354","y":"803","properties":{"controlName":"101-rdbms-concepts:relational-model:attributes"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"89","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"70","measuredH":"24","x":"10","y":"9","properties":{"size":"16","text":"Attributes"}}]}}},{"ID":"2054","typeID":"__group__","zOrder":"101","measuredW":"92","measuredH":"42","w":"92","h":"42","x":"258","y":"849","properties":{"controlName":"102-rdbms-concepts:relational-model:tuples"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"92","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"48","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Tuples"}}]}}},{"ID":"2055","typeID":"__group__","zOrder":"102","measuredW":"89","measuredH":"42","w":"89","h":"42","x":"354","y":"849","properties":{"controlName":"103-rdbms-concepts:relational-model:relations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"89","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"69","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Relations"}}]}}},{"ID":"2056","typeID":"__group__","zOrder":"103","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"258","y":"895","properties":{"controlName":"104-rdbms-concepts:relational-model:constraints"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"83","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Constraints"}}]}}},{"ID":"2057","typeID":"__group__","zOrder":"104","measuredW":"73","measuredH":"42","w":"73","h":"42","x":"370","y":"895","properties":{"controlName":"105-rdbms-concepts:relational-model:null"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"73","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"43","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"NULL"}}]}}},{"ID":"2058","typeID":"__group__","zOrder":"105","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"758","properties":{"controlName":"102-rdbms-concepts:high-level-database-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"225","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"High Level Database Concepts"}}]}}},{"ID":"2059","typeID":"__group__","zOrder":"106","measuredW":"64","measuredH":"42","w":"64","h":"42","x":"506","y":"805","properties":{"controlName":"100-rdbms-concepts:high-level-database-concepts:acid"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"64","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"ACID"}}]}}},{"ID":"2060","typeID":"__group__","zOrder":"107","measuredW":"74","measuredH":"42","w":"74","h":"42","x":"575","y":"805","properties":{"controlName":"101-rdbms-concepts:high-level-database-concepts:mvcc"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"74","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"46","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"MVCC"}}]}}},{"ID":"2061","typeID":"__group__","zOrder":"108","measuredW":"122","measuredH":"42","w":"122","h":"42","x":"653","y":"805","properties":{"controlName":"102-rdbms-concepts:high-level-database-concepts:transactions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"122","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Transactions"}}]}}},{"ID":"2062","typeID":"__group__","zOrder":"109","measuredW":"269","measuredH":"42","w":"269","h":"42","x":"506","y":"851","properties":{"controlName":"103-rdbms-concepts:high-level-database-concepts:write-ahead-log"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"74","y":"9","properties":{"size":"16","text":"Write-ahead Log"}}]}}},{"ID":"2063","typeID":"__group__","zOrder":"110","measuredW":"247","measuredH":"49","w":"247","h":"49","x":"876","y":"662","properties":{"controlName":"103-installation-and-setup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"247","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"166","measuredH":"25","x":"41","y":"12","properties":{"size":"17","text":"Installation and Setup"}}]}}},{"ID":"2064","typeID":"__group__","zOrder":"111","measuredW":"180","measuredH":"42","w":"180","h":"42","x":"975","y":"583","properties":{"controlName":"100-installation-and-setup:package-managers"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"180","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"141","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"Package Managers"}}]}}},{"ID":"2065","typeID":"__group__","zOrder":"112","measuredW":"180","measuredH":"42","w":"180","h":"42","x":"975","y":"537","properties":{"controlName":"101-installation-and-setup:using-docker"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"180","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"41","y":"9","properties":{"size":"16","text":"Using Docker"}}]}}},{"ID":"2066","typeID":"__group__","zOrder":"113","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"973","y":"745","properties":{"controlName":"102-installation-and-setup:connect-using-psql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"146","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Connect using `psql`"}}]}}},{"ID":"2067","typeID":"Canvas","zOrder":"114","w":"189","h":"189","measuredW":"100","measuredH":"70","x":"1199","y":"592"},{"ID":"2068","typeID":"Label","zOrder":"115","measuredW":"140","measuredH":"24","x":"1224","y":"603","properties":{"size":"16","text":"Managing Postgres"}},{"ID":"2069","typeID":"__group__","zOrder":"116","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"635","properties":{"controlName":"104-installation-and-setup:using-systemd"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"112","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Using `systemd`"}}]}}},{"ID":"2070","typeID":"__group__","zOrder":"117","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"682","properties":{"controlName":"105-installation-and-setup:using-pgctl"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Using `pg_ctl`"}}]}}},{"ID":"2071","typeID":"__group__","zOrder":"118","measuredW":"170","measuredH":"42","w":"170","h":"42","x":"1209","y":"728","properties":{"controlName":"106-installation-and-setup:using-pgctlcluster"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"170","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"147","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Using `pg_ctlcluster`"}}]}}},{"ID":"2072","typeID":"__group__","zOrder":"119","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"973","y":"791","properties":{"controlName":"103-installation-and-setup:deployment-in-cloud"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"150","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Deployment in Cloud"}}]}}},{"ID":"2073","typeID":"__group__","zOrder":"120","measuredW":"303","measuredH":"49","w":"303","h":"49","x":"1085","y":"887","properties":{"controlName":"104-learn-sql-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"303","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"161","measuredH":"25","x":"71","y":"12","properties":{"size":"17","text":"Learn SQL Concepts"}}]}}},{"ID":"2074","typeID":"__group__","zOrder":"121","measuredW":"154","measuredH":"234","w":"154","h":"234","x":"1234","y":"969","properties":{"controlName":"101-learn-sql-concepts:dml-queries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"154","h":"234","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"97","measuredH":"24","x":"28","y":"14","properties":{"size":"16","text":"DML Queries"}}]}}},{"ID":"2075","typeID":"__group__","zOrder":"122","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1013","properties":{"controlName":"100-learn-sql-concepts:dml-queries:querying-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Querying Data"}}]}}},{"ID":"2076","typeID":"__group__","zOrder":"123","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1105","properties":{"controlName":"102-learn-sql-concepts:dml-queries:modifying-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Modifying Data"}}]}}},{"ID":"2077","typeID":"__group__","zOrder":"124","measuredW":"132","measuredH":"42","w":"132","h":"42","x":"1245","y":"1059","properties":{"controlName":"101-learn-sql-concepts:dml-queries:filtering-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"132","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"98","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Filtering Data"}}]}}},{"ID":"2078","typeID":"__group__","zOrder":"125","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1246","y":"1151","properties":{"controlName":"103-learn-sql-concepts:dml-queries:joining-tables"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"103","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Joining Tables"}}]}}},{"ID":"2079","typeID":"Arrow","zOrder":"126","w":"1","h":"571","measuredW":"150","measuredH":"100","x":"946","y":"920","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":570.8537254716314},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2080","typeID":"__group__","zOrder":"127","measuredW":"303","measuredH":"42","w":"303","h":"42","x":"1085","y":"1200","properties":{"controlName":"102-learn-sql-concepts:import-export-using-copy"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"303","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"208","measuredH":"24","x":"48","y":"9","properties":{"size":"16","text":"Import / Export using `COPY`"}}]}}},{"ID":"2081","typeID":"__group__","zOrder":"128","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1289","properties":{"controlName":"100-learn-sql-concepts:advanced-topics:transactions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"24","x":"18","y":"9","properties":{"size":"16","text":"Transactions"}}]}}},{"ID":"2082","typeID":"__group__","zOrder":"129","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1289","properties":{"controlName":"101-learn-sql-concepts:advanced-topics:cte"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"24","x":"55","y":"9","properties":{"size":"16","text":"CTE"}}]}}},{"ID":"2083","typeID":"__group__","zOrder":"130","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1337","properties":{"controlName":"102-learn-sql-concepts:advanced-topics:subqueries"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"83","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Subqueries"}}]}}},{"ID":"2084","typeID":"__group__","zOrder":"131","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1337","properties":{"controlName":"103-learn-sql-concepts:advanced-topics:lateral-join"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"84","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Lateral Join"}}]}}},{"ID":"2085","typeID":"__group__","zOrder":"132","measuredW":"130","measuredH":"42","w":"130","h":"42","x":"1098","y":"1384","properties":{"controlName":"104-learn-sql-concepts:advanced-topics:grouping"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"130","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"67","measuredH":"24","x":"31","y":"9","properties":{"size":"16","text":"Grouping"}}]}}},{"ID":"2086","typeID":"__group__","zOrder":"133","measuredW":"141","measuredH":"42","w":"141","h":"42","x":"1234","y":"1384","properties":{"controlName":"105-learn-sql-concepts:advanced-topics:set-operations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"141","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Set Operations"}}]}}},{"ID":"2087","typeID":"__group__","zOrder":"134","measuredW":"240","measuredH":"49","w":"240","h":"49","x":"791","y":"1117","properties":{"controlName":"105-configuring-postgresql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"240","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"186","measuredH":"25","x":"27","y":"12","properties":{"size":"17","text":"Configuring PostgreSQL"}}]}}},{"ID":"2088","typeID":"Canvas","zOrder":"135","w":"245","h":"79","measuredW":"100","measuredH":"70","x":"508","y":"1102"},{"ID":"2089","typeID":"Label","zOrder":"136","measuredW":"180","measuredH":"25","x":"530","y":"1116","properties":{"text":"Following {color:blue}postgres.conf{color}","size":"17"}},{"ID":"2090","typeID":"Label","zOrder":"137","measuredW":"186","measuredH":"25","x":"530","y":"1143","properties":{"text":"configurations and more","size":"17"}},{"ID":"2091","typeID":"__group__","zOrder":"138","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1004","properties":{"controlName":"100-configuring-postgresql:resources-usage"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"130","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Resources Usage"}}]}}},{"ID":"2092","typeID":"__group__","zOrder":"139","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1050","properties":{"controlName":"101-configuring-postgresql:write-ahead-log"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Write-ahead Log"}}]}}},{"ID":"2093","typeID":"__group__","zOrder":"140","measuredW":"174","measuredH":"67","w":"174","h":"67","x":"259","y":"1235","properties":{"controlName":"105-configuring-postgresql:checkpoints-background-writer"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"67","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"41","y":"11","properties":{"size":"16","text":"Checkpoints"}},{"ID":"2","typeID":"Label","zOrder":"2","measuredW":"135","measuredH":"24","x":"21","y":"34","properties":{"size":"16","text":"Background Writer"}}]}}},{"ID":"2094","typeID":"__group__","zOrder":"141","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1097","properties":{"controlName":"102-configuring-postgresql:vacuums"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"54","y":"9","properties":{"size":"16","text":"Vacuums"}}]}}},{"ID":"2095","typeID":"__group__","zOrder":"142","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1143","properties":{"controlName":"103-configuring-postgresql:replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"82","measuredH":"24","x":"46","y":"9","properties":{"size":"16","text":"Replication"}}]}}},{"ID":"2096","typeID":"__group__","zOrder":"143","measuredW":"174","measuredH":"42","w":"174","h":"42","x":"259","y":"1189","properties":{"controlName":"104-configuring-postgresql:query-planner"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"174","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"104","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Query Planner"}}]}}},{"ID":"2097","typeID":"__group__","zOrder":"144","measuredW":"283","measuredH":"42","w":"283","h":"42","x":"509","y":"1023","properties":{"controlName":"107-configuring-postgresql:reporting-logging-statistics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"283","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"236","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Reporting Logging and Statistics"}}]}}},{"ID":"2098","typeID":"__group__","zOrder":"145","measuredW":"283","measuredH":"42","w":"283","h":"42","x":"509","y":"1220","properties":{"controlName":"106-configuring-postgresql:adding-extensions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"283","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"175","measuredH":"24","x":"54","y":"9","properties":{"size":"16","text":"Adding Extra Extensions"}}]}}},{"ID":"2099","typeID":"Arrow","zOrder":"146","w":"176","h":"1","measuredW":"150","measuredH":"100","x":"770","y":"1491","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.4483238886820118,"y":-0.11774307773521286},"p1":{"x":0.5000000000000002,"y":0},"p2":{"x":176.47256858280025,"y":-0.11774307773521286}}},{"ID":"2100","typeID":"__group__","zOrder":"147","measuredW":"245","measuredH":"49","w":"245","h":"49","x":"547","y":"1477","properties":{"controlName":"106-postgresql-security-concepts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"245","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"211","measuredH":"25","x":"17","y":"12","properties":{"size":"17","text":"Postgres Security Concepts"}}]}}},{"ID":"2101","typeID":"__group__","zOrder":"148","measuredW":"202","measuredH":"42","w":"202","h":"42","x":"259","y":"1436","properties":{"controlName":"102-postgresql-security-concepts:authentication-models"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"202","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"162","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Authentication Models"}}]}}},{"ID":"2102","typeID":"__group__","zOrder":"149","measuredW":"76","measuredH":"42","w":"76","h":"42","x":"259","y":"1481","properties":{"controlName":"103-postgresql-security-concepts:roles"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"76","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"42","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Roles"}}]}}},{"ID":"2103","typeID":"__group__","zOrder":"150","measuredW":"122","measuredH":"42","w":"122","h":"42","x":"339","y":"1481","properties":{"controlName":"104-postgresql-security-concepts:pg-hba-conf"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"122","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"pg_hba.conf"}}]}}},{"ID":"2104","typeID":"__group__","zOrder":"151","measuredW":"202","measuredH":"42","w":"202","h":"42","x":"259","y":"1526","properties":{"controlName":"105-postgresql-security-concepts:ssl-settings"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"202","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"92","measuredH":"24","x":"55","y":"9","properties":{"size":"16","text":"SSL Settings"}}]}}},{"ID":"2105","typeID":"__group__","zOrder":"152","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1402","properties":{"controlName":"100-postgresql-security-concepts:object-priviliges"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"117","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"Object Priviliges"}}]}}},{"ID":"2106","typeID":"__group__","zOrder":"153","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1357","properties":{"controlName":"100-postgresql-security-concepts:object-priviliges:grant-revoke"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"111","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Grant / Revoke"}}]}}},{"ID":"2107","typeID":"__group__","zOrder":"154","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1312","properties":{"controlName":"101-postgresql-security-concepts:object-priviliges:default-priviliges"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"127","measuredH":"24","x":"28","y":"9","properties":{"size":"16","text":"Default Privileges"}}]}}},{"ID":"2108","typeID":"__group__","zOrder":"155","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1562","properties":{"controlName":"101-postgresql-security-concepts:advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"122","measuredH":"24","x":"31","y":"9","properties":{"size":"16","text":"Advanced Topics"}}]}}},{"ID":"2109","typeID":"__group__","zOrder":"156","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1608","properties":{"controlName":"100-postgresql-security-concepts:advanced-topics:row-level-security"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"138","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Row-Level Security"}}]}}},{"ID":"2110","typeID":"__group__","zOrder":"157","measuredW":"184","measuredH":"42","w":"184","h":"42","x":"548","y":"1653","properties":{"controlName":"101-postgresql-security-concepts:advanced-topics:selinux"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"184","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"59","measuredH":"24","x":"62","y":"9","properties":{"size":"16","text":"SELinux"}}]}}},{"ID":"2111","typeID":"__group__","zOrder":"158","measuredW":"278","measuredH":"49","w":"278","h":"49","x":"788","y":"1756","properties":{"controlName":"107-postgresql-infrastructure-skills"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"278","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"216","measuredH":"25","x":"31","y":"12","properties":{"size":"17","text":"Develop Infrastructure Skills"}}]}}},{"ID":"2112","typeID":"__group__","zOrder":"159","measuredW":"221","measuredH":"143","w":"221","h":"143","x":"1148","y":"1487","properties":{"controlName":"100-postgresql-infrastructure-skills:replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"221","h":"143","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"82","measuredH":"24","x":"70","y":"108","properties":{"size":"16","text":"Replication"}}]}}},{"ID":"2113","typeID":"__group__","zOrder":"160","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1162","y":"1545","properties":{"controlName":"101-postgresql-infrastructure-skills:replication:streaming-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"160","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Streaming Replication"}}]}}},{"ID":"2114","typeID":"__group__","zOrder":"161","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1162","y":"1499","properties":{"controlName":"100-postgresql-infrastructure-skills:replication:logical-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"139","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"Logical Replication"}}]}}},{"ID":"2115","typeID":"__group__","zOrder":"162","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"1169","y":"1991","properties":{"controlName":"104-postgresql-infrastructure-skills:backup-recovery-tools:pg-dump"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"69","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"pg_dump"}}]}}},{"ID":"2116","typeID":"__group__","zOrder":"163","measuredW":"108","measuredH":"42","w":"108","h":"42","x":"1277","y":"1991","properties":{"controlName":"105-postgresql-infrastructure-skills:backup-recovery-tools:pg-dumpall"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"108","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"86","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"pg_dumpall"}}]}}},{"ID":"2117","typeID":"__group__","zOrder":"164","measuredW":"216","measuredH":"42","w":"216","h":"42","x":"1169","y":"2038","properties":{"controlName":"106-postgresql-infrastructure-skills:backup-recovery-tools:pg-restore"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"216","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"67","y":"9","properties":{"size":"16","text":"pg_restore"}}]}}},{"ID":"2118","typeID":"__group__","zOrder":"165","measuredW":"216","measuredH":"42","w":"216","h":"42","x":"1169","y":"2084","properties":{"controlName":"107-postgresql-infrastructure-skills:backup-recovery-tools:pg-basebackup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"216","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"117","measuredH":"24","x":"49","y":"9","properties":{"size":"16","text":"pg_basebackup"}}]}}},{"ID":"2119","typeID":"Label","zOrder":"166","measuredW":"87","measuredH":"24","x":"1214","y":"1911","properties":{"size":"16","text":"Builtin Tools"}},{"ID":"2120","typeID":"Label","zOrder":"167","measuredW":"66","measuredH":"24","x":"1046","y":"1911","properties":{"size":"16","text":"3rd Party"}},{"ID":"2121","typeID":"__group__","zOrder":"168","measuredW":"81","measuredH":"42","w":"81","h":"42","x":"986","y":"1991","properties":{"controlName":"100-postgresql-infrastructure-skills:backup-recovery-tools:barman"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"81","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"barman"}}]}}},{"ID":"2122","typeID":"__group__","zOrder":"169","measuredW":"166","measuredH":"42","w":"166","h":"42","x":"986","y":"2037","properties":{"controlName":"102-postgresql-infrastructure-skills:backup-recovery-tools:pgbackrest"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"166","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"42","y":"9","properties":{"size":"16","text":"pgbackrest"}}]}}},{"ID":"2123","typeID":"__group__","zOrder":"170","measuredW":"166","measuredH":"42","w":"166","h":"42","x":"986","y":"2082","properties":{"controlName":"103-postgresql-infrastructure-skills:backup-recovery-tools:pg-probackup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"166","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"pg_probackup"}}]}}},{"ID":"2124","typeID":"__group__","zOrder":"171","measuredW":"80","measuredH":"42","w":"80","h":"42","x":"1072","y":"1991","properties":{"controlName":"101-postgresql-infrastructure-skills:backup-recovery-tools:wal-g"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"80","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"51","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"WAL-G"}}]}}},{"ID":"2125","typeID":"__group__","zOrder":"172","measuredW":"418","measuredH":"42","w":"418","h":"42","x":"977","y":"2133","properties":{"controlName":"108-postgresql-infrastructure-skills:backup-recovery-tools:backup-validation-procedures"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"418","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"217","measuredH":"24","x":"98","y":"9","properties":{"size":"16","text":"Backup Validation Procedures"}}]}}},{"ID":"2126","typeID":"__group__","zOrder":"173","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1832","properties":{"controlName":"103-postgresql-infrastructure-skills:upgrade-procedures"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"152","measuredH":"24","x":"30","y":"9","properties":{"size":"16","text":"Upgrade Procedures"}}]}}},{"ID":"2127","typeID":"__group__","zOrder":"174","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1902","properties":{"controlName":"100-postgresql-infrastructure-skills:upgrade-procedures:using-pg-upgrade"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"142","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Using `pg_upgrade`"}}]}}},{"ID":"2128","typeID":"__group__","zOrder":"175","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"1948","properties":{"controlName":"101-postgresql-infrastructure-skills:upgrade-procedures:using-logical-replication"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"184","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Using Logical Replication"}}]}}},{"ID":"2129","typeID":"__group__","zOrder":"176","measuredW":"221","measuredH":"143","w":"221","h":"143","x":"1146","y":"1664","properties":{"controlName":"101-postgresql-infrastructure-skills:connection-pooling"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"221","h":"143","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"141","measuredH":"24","x":"40","y":"108","properties":{"size":"16","text":"Connection Pooling"}}]}}},{"ID":"2130","typeID":"__group__","zOrder":"177","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1160","y":"1722","properties":{"controlName":"101-postgresql-infrastructure-skills:connection-pooling:pg-bouncer-alternatives"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"170","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"PgBouncer Alternatives"}}]}}},{"ID":"2131","typeID":"__group__","zOrder":"178","measuredW":"194","measuredH":"42","w":"194","h":"42","x":"1160","y":"1676","properties":{"controlName":"100-postgresql-infrastructure-skills:connection-pooling:pg-bouncer"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"194","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"56","y":"9","properties":{"size":"16","text":"PgBouncer"}}]}}},{"ID":"2133","typeID":"__group__","zOrder":"179","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"745","y":"2017","properties":{"controlName":"106-postgresql-infrastructure-skills:monitoring"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"78","measuredH":"24","x":"67","y":"9","properties":{"size":"16","text":"Monitoring"}}]}}},{"ID":"2134","typeID":"__group__","zOrder":"180","measuredW":"112","measuredH":"42","w":"112","h":"42","x":"745","y":"2064","properties":{"controlName":"100-postgresql-infrastructure-skills:monitoring:prometheus"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"112","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"88","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Prometheus"}}]}}},{"ID":"2135","typeID":"__group__","zOrder":"181","measuredW":"94","measuredH":"42","w":"94","h":"42","x":"862","y":"2064","properties":{"controlName":"101-postgresql-infrastructure-skills:monitoring:zabbix"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"94","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"49","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Zabbix"}}]}}},{"ID":"2136","typeID":"Arrow","zOrder":"182","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"595","y":"1858","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2137","typeID":"__group__","zOrder":"183","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1832","properties":{"controlName":"104-postgresql-infrastructure-skills:cluster-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"153","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Cluster Management"}}]}}},{"ID":"2138","typeID":"__group__","zOrder":"184","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1902","properties":{"controlName":"100-postgresql-infrastructure-skills:cluster-management:patroni"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"51","measuredH":"24","x":"80","y":"9","properties":{"size":"16","text":"Patroni"}}]}}},{"ID":"2139","typeID":"__group__","zOrder":"185","measuredW":"211","measuredH":"42","w":"211","h":"42","x":"491","y":"1948","properties":{"controlName":"101-postgresql-infrastructure-skills:cluster-management:patroni-alternatives"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"211","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"140","measuredH":"24","x":"36","y":"9","properties":{"size":"16","text":"Patroni Alternatives"}}]}}},{"ID":"2140","typeID":"Arrow","zOrder":"186","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"542","y":"2042","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2141","typeID":"__group__","zOrder":"187","measuredW":"301","measuredH":"42","w":"301","h":"42","x":"426","y":"2016","properties":{"controlName":"107-postgresql-infrastructure-skills:load-balancing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"301","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"262","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Load Balancing & Service Discovery"}}]}}},{"ID":"2142","typeID":"__group__","zOrder":"188","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"484","y":"2086","properties":{"controlName":"100-postgresql-infrastructure-skills:load-balancing:ha-proxy"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"HAProxy"}}]}}},{"ID":"2143","typeID":"__group__","zOrder":"189","measuredW":"106","measuredH":"42","w":"106","h":"42","x":"484","y":"2132","properties":{"controlName":"102-postgresql-infrastructure-skills:load-balancing:keep-alived"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"106","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"81","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"KeepAlived"}}]}}},{"ID":"2144","typeID":"__group__","zOrder":"190","measuredW":"91","measuredH":"42","w":"91","h":"42","x":"595","y":"2086","properties":{"controlName":"101-postgresql-infrastructure-skills:load-balancing:consul"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"91","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Consul"}}]}}},{"ID":"2145","typeID":"__group__","zOrder":"191","measuredW":"91","measuredH":"42","w":"91","h":"42","x":"595","y":"2133","properties":{"controlName":"103-postgresql-infrastructure-skills:load-balancing:etcd"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"91","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"33","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"Etcd"}}]}}},{"ID":"2146","typeID":"Arrow","zOrder":"192","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"354","y":"1858","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2147","typeID":"__group__","zOrder":"193","measuredW":"197","measuredH":"42","w":"197","h":"42","x":"264","y":"1832","properties":{"controlName":"105-postgresql-infrastructure-skills:kubernetes-deployment"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"197","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"175","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Kubernetes Deployment"}}]}}},{"ID":"2148","typeID":"__group__","zOrder":"194","measuredW":"197","measuredH":"42","w":"197","h":"42","x":"264","y":"1902","properties":{"controlName":"100-postgresql-infrastructure-skills:kubernetes-deployment:simple-stateful-setup"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"197","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"154","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"Simple Stateful Setup"}}]}}},{"ID":"2149","typeID":"__group__","zOrder":"195","measuredW":"90","measuredH":"42","w":"90","h":"42","x":"264","y":"1948","properties":{"controlName":"101-postgresql-infrastructure-skills:kubernetes-deployment:helm"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"90","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Helm"}}]}}},{"ID":"2150","typeID":"__group__","zOrder":"196","measuredW":"104","measuredH":"42","w":"104","h":"42","x":"358","y":"1948","properties":{"controlName":"102-postgresql-infrastructure-skills:kubernetes-deployment:operators"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"104","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"74","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Operators"}}]}}},{"ID":"2151","typeID":"__group__","zOrder":"197","measuredW":"427","measuredH":"42","w":"427","h":"42","x":"288","y":"1715","properties":{"controlName":"100-postgresql-infrastructure-skills:resource-usage-provisioing-capacity-planning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"427","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"382","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Resource Usage and Provisioning, Capacity Planning"}}]}}},{"ID":"2152","typeID":"Arrow","zOrder":"198","w":"1","h":"508","measuredW":"150","measuredH":"100","x":"232","y":"1784","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":507.5072332031234},"p1":{"x":0.5,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.5}}},{"ID":"2153","typeID":"Arrow","zOrder":"199","w":"1151","h":"1","measuredW":"150","measuredH":"100","x":"232","y":"2292","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0.13465453284504747,"y":-0.11774307773521286},"p1":{"x":0.5000000000000001,"y":0},"p2":{"x":1150.9611057996974,"y":-0.11774307773521286}}},{"ID":"2154","typeID":"__group__","zOrder":"200","measuredW":"274","measuredH":"49","w":"274","h":"49","x":"294","y":"2268","properties":{"controlName":"108-learn-automation"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"215","measuredH":"25","x":"29","y":"12","properties":{"size":"17","text":"Learn to Automate Routines"}}]}}},{"ID":"2155","typeID":"__group__","zOrder":"201","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2347","properties":{"controlName":"100-learn-automation:shell-scripts"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"89","measuredH":"24","x":"92","y":"9","properties":{"size":"16","text":"Shell Scripts"}}]}}},{"ID":"2156","typeID":"__group__","zOrder":"202","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2393","properties":{"controlName":"101-learn-automation:programming-language"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"204","measuredH":"24","x":"35","y":"9","properties":{"size":"16","text":"Any Programming Language"}}]}}},{"ID":"2157","typeID":"__group__","zOrder":"203","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2524","properties":{"controlName":"102-learn-automation:configuration-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"198","measuredH":"24","x":"38","y":"9","properties":{"size":"16","text":"Configuration Management"}}]}}},{"ID":"2158","typeID":"__group__","zOrder":"204","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"294","y":"2572","properties":{"controlName":"100-learn-automation:configuration-management:ansible"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"53","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Ansible"}}]}}},{"ID":"2159","typeID":"__group__","zOrder":"205","measuredW":"53","measuredH":"42","w":"53","h":"42","x":"374","y":"2572","properties":{"controlName":"101-learn-automation:configuration-management:salt"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"53","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"28","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Salt"}}]}}},{"ID":"2160","typeID":"__group__","zOrder":"206","measuredW":"57","measuredH":"42","w":"57","h":"42","x":"431","y":"2572","properties":{"controlName":"102-learn-automation:configuration-management:chef"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"57","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"35","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Chef"}}]}}},{"ID":"2161","typeID":"__group__","zOrder":"207","measuredW":"75","measuredH":"42","w":"75","h":"42","x":"493","y":"2572","properties":{"controlName":"103-learn-automation:configuration-management:puppet"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"75","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"52","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Puppet"}}]}}},{"ID":"2162","typeID":"__group__","zOrder":"208","measuredW":"274","measuredH":"49","w":"274","h":"49","x":"627","y":"2268","properties":{"controlName":"109-application-skills"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"128","measuredH":"25","x":"73","y":"12","properties":{"size":"17","text":"Application Skills"}}]}}},{"ID":"2163","typeID":"__group__","zOrder":"209","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"627","y":"2347","properties":{"controlName":"100-application-skills:migrations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"76","measuredH":"24","x":"17","y":"9","properties":{"size":"16","text":"Migrations"}}]}}},{"ID":"2164","typeID":"__group__","zOrder":"210","measuredW":"300","measuredH":"42","w":"300","h":"42","x":"627","y":"2396","properties":{"controlName":"100-application-skills:migrations:practical-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"300","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"252","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Practical Patterns and Antipatterns"}}]}}},{"ID":"2165","typeID":"__group__","zOrder":"211","measuredW":"300","measuredH":"42","w":"300","h":"42","x":"627","y":"2442","properties":{"controlName":"101-application-skills:migrations:liquidbase-sqitch-bytebase-ora2pg"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"300","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"276","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"liquibase, sqitch, Bytebase, ora2pg etc"}}]}}},{"ID":"2166","typeID":"Label","zOrder":"212","measuredW":"110","measuredH":"24","x":"627","y":"2488","properties":{"size":"16","text":"Migration Tools"}},{"ID":"2167","typeID":"__group__","zOrder":"213","measuredW":"297","measuredH":"42","w":"297","h":"42","x":"609","y":"2528","properties":{"controlName":"102-application-skills:bulk-load-process-data"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"297","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"249","measuredH":"24","x":"24","y":"9","properties":{"size":"16","text":"Bulk Loading and Processing Data"}}]}}},{"ID":"2168","typeID":"__group__","zOrder":"214","measuredW":"145","measuredH":"42","w":"145","h":"42","x":"609","y":"2573","properties":{"controlName":"103-application-skills:data-partitioning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"145","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"121","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Data Partitioning"}}]}}},{"ID":"2169","typeID":"__group__","zOrder":"215","measuredW":"297","measuredH":"42","w":"297","h":"42","x":"609","y":"2618","properties":{"controlName":"104-application-skills:data-normalization-normal-forms"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"297","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"257","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Data Normalization / Normal Forms"}}]}}},{"ID":"2170","typeID":"Canvas","zOrder":"216","w":"146","h":"126","measuredW":"100","measuredH":"70","x":"608","y":"2682"},{"ID":"2171","typeID":"__group__","zOrder":"217","measuredW":"109","measuredH":"42","w":"109","h":"42","x":"619","y":"2663","properties":{"controlName":"101-application-skills:queues"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"109","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"58","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Queues"}}]}}},{"ID":"2172","typeID":"__group__","zOrder":"218","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"618","y":"2711","properties":{"controlName":"100-application-skills:queues:practical-patterns-antipatterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"252","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Practical Patterns and Antipatterns"}}]}}},{"ID":"2173","typeID":"__group__","zOrder":"219","measuredW":"279","measuredH":"42","w":"279","h":"42","x":"618","y":"2756","properties":{"controlName":"101-application-skills:queues:skytools-pgq"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"279","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"99","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Skytools PGQ"}}]}}},{"ID":"2174","typeID":"__group__","zOrder":"220","measuredW":"299","measuredH":"49","w":"299","h":"49","x":"949","y":"2268","properties":{"controlName":"110-advanced-topics"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"299","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"130","measuredH":"25","x":"85","y":"12","properties":{"size":"17","text":"Advanced Topics"}}]}}},{"ID":"2175","typeID":"__group__","zOrder":"221","measuredW":"169","measuredH":"330","w":"169","h":"330","x":"949","y":"2359","properties":{"controlName":"100-advanced-topics:low-level-internals"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"330","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"140","measuredH":"24","x":"15","y":"15","properties":{"size":"16","text":"Low Level Internals"}}]}}},{"ID":"2176","typeID":"__group__","zOrder":"222","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2409","properties":{"controlName":"100-advanced-topics:low-level-internals:process-memory-arch"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"261","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Processes and memory architecture"}}]}}},{"ID":"2177","typeID":"__group__","zOrder":"223","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2454","properties":{"controlName":"101-advanced-topics:low-level-internals:vacuum-processing"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"143","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Vacuum Processing"}}]}}},{"ID":"2178","typeID":"__group__","zOrder":"224","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2499","properties":{"controlName":"102-advanced-topics:low-level-internals:buffer-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"144","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"Buffer Management"}}]}}},{"ID":"2179","typeID":"__group__","zOrder":"225","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2544","properties":{"controlName":"103-advanced-topics:low-level-internals:lock-management"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"135","measuredH":"24","x":"75","y":"9","properties":{"size":"16","text":"Lock Management"}}]}}},{"ID":"2180","typeID":"__group__","zOrder":"226","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2589","properties":{"controlName":"104-advanced-topics:low-level-internals:physical-storage-and-file-layout"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"234","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"Physical Storage and File Layout"}}]}}},{"ID":"2181","typeID":"__group__","zOrder":"227","measuredW":"286","measuredH":"42","w":"286","h":"42","x":"962","y":"2634","properties":{"controlName":"105-advanced-topics:low-level-internals:system-catalog"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"286","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"113","measuredH":"24","x":"86","y":"9","properties":{"size":"16","text":"System Catalog"}}]}}},{"ID":"2182","typeID":"__group__","zOrder":"228","measuredW":"169","measuredH":"195","w":"169","h":"195","x":"950","y":"2696","properties":{"controlName":"101-advanced-topics:fine-grained-tuning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"195","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"147","measuredH":"24","x":"11","y":"14","properties":{"size":"16","text":"Fine Grained Tuning"}}]}}},{"ID":"2183","typeID":"__group__","zOrder":"229","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2743","properties":{"controlName":"100-advanced-topics:fine-grained-tuning:per-user-per-database-settings"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"232","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Per-user, Per-Database Settings"}}]}}},{"ID":"2184","typeID":"__group__","zOrder":"230","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2788","properties":{"controlName":"101-advanced-topics:fine-grained-tuning:storage-parameters"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"145","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Storage Parameters"}}]}}},{"ID":"2185","typeID":"__group__","zOrder":"231","measuredW":"369","measuredH":"42","w":"369","h":"42","x":"962","y":"2834","properties":{"controlName":"102-advanced-topics:fine-grained-tuning:workload-dependant-tuning"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"369","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"341","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Workload-dependant tuning: OLTP, OLAP, HTAP"}}]}}},{"ID":"2186","typeID":"__group__","zOrder":"232","measuredW":"169","measuredH":"195","w":"169","h":"195","x":"950","y":"2897","properties":{"controlName":"102-advanced-topics:advanced-sql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"169","h":"195","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"107","measuredH":"24","x":"31","y":"14","properties":{"size":"16","text":"Advanced SQL"}}]}}},{"ID":"2187","typeID":"__group__","zOrder":"233","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"962","y":"2944","properties":{"controlName":"100-advanced-topics:advanced-sql:pl-pgsql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"77","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"PL/pgSQL"}}]}}},{"ID":"2188","typeID":"__group__","zOrder":"234","measuredW":"103","measuredH":"42","w":"103","h":"42","x":"962","y":"2989","properties":{"controlName":"102-advanced-topics:advanced-sql:triggers"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"103","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"21","y":"9","properties":{"size":"16","text":"Triggers"}}]}}},{"ID":"2189","typeID":"__group__","zOrder":"235","measuredW":"328","measuredH":"42","w":"328","h":"42","x":"962","y":"3035","properties":{"controlName":"104-advanced-topics:advanced-sql:aggregate-and-window-functions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"328","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"234","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"Aggregate and window functions"}}]}}},{"ID":"2190","typeID":"__group__","zOrder":"236","measuredW":"219","measuredH":"42","w":"219","h":"42","x":"1069","y":"2944","properties":{"controlName":"101-advanced-topics:advanced-sql:procedures-and-functions"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"219","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"190","measuredH":"24","x":"14","y":"9","properties":{"size":"16","text":"Procedures and Functions"}}]}}},{"ID":"2191","typeID":"__group__","zOrder":"237","measuredW":"219","measuredH":"42","w":"219","h":"42","x":"1069","y":"2989","properties":{"controlName":"103-advanced-topics:advanced-sql:recursive-cte"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"219","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"Recursive CTE"}}]}}},{"ID":"2192","typeID":"Arrow","zOrder":"238","w":"1","h":"873","measuredW":"150","measuredH":"100","x":"1382","y":"2293","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":872.4114173726703},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233}}},{"ID":"2193","typeID":"Arrow","zOrder":"239","w":"446","h":"1","measuredW":"150","measuredH":"100","x":"936","y":"3166","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":0,"y":-0.11774307773521286},"p1":{"x":0.49999999999999994,"y":0},"p2":{"x":446,"y":-0.11774307773521286}}},{"ID":"2194","typeID":"__group__","zOrder":"240","measuredW":"252","measuredH":"49","w":"252","h":"49","x":"792","y":"3141","properties":{"controlName":"111-troubleshooting-techniques"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"252","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"216","measuredH":"25","x":"18","y":"12","properties":{"size":"17","text":"Troubleshooting Techniques"}}]}}},{"ID":"2195","typeID":"__group__","zOrder":"284","measuredW":"209","measuredH":"135","w":"209","h":"135","x":"296","y":"2688","properties":{"controlName":"100-troubleshooting-techniques:system-views"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"135","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"166","measuredH":"24","x":"21","y":"10","properties":{"size":"16","text":"Postgres System Views"}}]}}},{"ID":"2196","typeID":"__group__","zOrder":"285","measuredW":"190","measuredH":"42","w":"190","h":"42","x":"305","y":"2727","properties":{"controlName":"100-troubleshooting-techniques:system-views:pg-stat-activity"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"190","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"115","measuredH":"24","x":"37","y":"9","properties":{"size":"16","text":"pg_stat_activity"}}]}}},{"ID":"2197","typeID":"__group__","zOrder":"286","measuredW":"190","measuredH":"42","w":"190","h":"42","x":"305","y":"2771","properties":{"controlName":"101-troubleshooting-techniques:system-views:pg-stat-statements"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"190","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"146","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"pg_stat_statements"}}]}}},{"ID":"2198","typeID":"__group__","zOrder":"241","measuredW":"209","measuredH":"191","w":"209","h":"191","x":"296","y":"2910","properties":{"controlName":"103-troubleshooting-techniques:query-analysis"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"191","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"106","measuredH":"24","x":"51","y":"11","properties":{"size":"16","text":"Query Analysis"}}]}}},{"ID":"2199","typeID":"__group__","zOrder":"242","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"2957","properties":{"controlName":"100-troubleshooting-techniques:query-analysis:explain"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"66","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"EXPLAIN"}}]}}},{"ID":"2200","typeID":"__group__","zOrder":"243","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"2957","properties":{"controlName":"101-troubleshooting-techniques:query-analysis:depesz"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"56","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Depesz"}}]}}},{"ID":"2201","typeID":"__group__","zOrder":"244","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"3002","properties":{"controlName":"102-troubleshooting-techniques:query-analysis:pev2"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"PEV2"}}]}}},{"ID":"2202","typeID":"__group__","zOrder":"245","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"3002","properties":{"controlName":"103-troubleshooting-techniques:query-analysis:tenser"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"50","measuredH":"24","x":"16","y":"9","properties":{"size":"16","text":"Tenser"}}]}}},{"ID":"2203","typeID":"__group__","zOrder":"246","measuredW":"209","measuredH":"133","w":"209","h":"133","x":"296","y":"3096","properties":{"controlName":"105-troubleshooting-techniques:troubleshooting-methods"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"209","h":"133","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"184","measuredH":"24","x":"12","y":"9","properties":{"size":"16","text":"Troubleshooting Methods"}}]}}},{"ID":"2204","typeID":"__group__","zOrder":"247","measuredW":"97","measuredH":"42","w":"97","h":"42","x":"305","y":"3133","properties":{"controlName":"100-troubleshooting-techniques:troubleshooting-methods:use"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"97","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"32","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"USE"}}]}}},{"ID":"2205","typeID":"__group__","zOrder":"248","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"406","y":"3133","properties":{"controlName":"101-troubleshooting-techniques:troubleshooting-methods:red"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"34","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"RED"}}]}}},{"ID":"2206","typeID":"__group__","zOrder":"249","measuredW":"188","measuredH":"42","w":"188","h":"42","x":"305","y":"3178","properties":{"controlName":"102-troubleshooting-techniques:troubleshooting-methods:golden-signals"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"188","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"109","measuredH":"24","x":"39","y":"9","properties":{"size":"16","text":"Golden Signals"}}]}}},{"ID":"2207","typeID":"__group__","zOrder":"250","measuredW":"265","measuredH":"49","w":"265","h":"49","x":"726","y":"3353","properties":{"controlName":"112-sql-optimization-techniques"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"265","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"227","measuredH":"25","x":"19","y":"12","properties":{"size":"17","text":"SQL Optimization Techniques"}}]}}},{"ID":"2208","typeID":"__group__","zOrder":"251","measuredW":"270","measuredH":"42","w":"270","h":"42","x":"375","y":"3353","properties":{"controlName":"100-sql-optimization-techniques:indexes-usecases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"270","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"202","measuredH":"24","x":"34","y":"9","properties":{"size":"16","text":"Indexes and their Usecases"}}]}}},{"ID":"2209","typeID":"__group__","zOrder":"252","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"374","y":"3280","properties":{"controlName":"100-sql-optimization-techniques:indexes-usecases:b-tree"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"49","measuredH":"24","x":"19","y":"9","properties":{"size":"16","text":"B-Tree"}}]}}},{"ID":"2210","typeID":"__group__","zOrder":"253","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"467","y":"3280","properties":{"controlName":"101-sql-optimization-techniques:indexes-usecases:hash"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"38","measuredH":"24","x":"25","y":"9","properties":{"size":"16","text":"Hash"}}]}}},{"ID":"2211","typeID":"__group__","zOrder":"254","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"559","y":"3280","properties":{"controlName":"102-sql-optimization-techniques:indexes-usecases:gist"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"35","measuredH":"24","x":"26","y":"9","properties":{"size":"16","text":"GiST"}}]}}},{"ID":"2212","typeID":"__group__","zOrder":"255","measuredW":"87","measuredH":"42","w":"87","h":"42","x":"374","y":"3426","properties":{"controlName":"103-sql-optimization-techniques:indexes-usecases:sp-gist"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"87","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"61","measuredH":"24","x":"13","y":"9","properties":{"size":"16","text":"SP-GiST"}}]}}},{"ID":"2213","typeID":"__group__","zOrder":"256","measuredW":"84","measuredH":"42","w":"84","h":"42","x":"469","y":"3426","properties":{"controlName":"104-sql-optimization-techniques:indexes-usecases:gin"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"84","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"29","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"GIN"}}]}}},{"ID":"2214","typeID":"__group__","zOrder":"257","measuredW":"84","measuredH":"42","w":"84","h":"42","x":"561","y":"3426","properties":{"controlName":"105-sql-optimization-techniques:indexes-usecases:brin"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"84","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"40","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"BRIN"}}]}}},{"ID":"2215","typeID":"__group__","zOrder":"258","measuredW":"320","measuredH":"42","w":"320","h":"42","x":"1049","y":"3360","properties":{"controlName":"102-sql-optimization-techniques:schema-query-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"253","measuredH":"24","x":"33","y":"9","properties":{"size":"16","text":"SQL Query Patterns / Anti-patterns"}}]}}},{"ID":"2216","typeID":"__group__","zOrder":"259","measuredW":"320","measuredH":"42","w":"320","h":"42","x":"1049","y":"3313","properties":{"controlName":"101-sql-optimization-techniques:schema-design-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"289","measuredH":"24","x":"15","y":"9","properties":{"size":"16","text":"Schema Design Patterns / Anti-patterns"}}]}}},{"ID":"2217","typeID":"__group__","zOrder":"260","measuredW":"269","measuredH":"49","w":"269","h":"49","x":"604","y":"391","properties":{"controlName":"101-introduction"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"269","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"93","measuredH":"25","x":"88","y":"12","properties":{"size":"17","text":"Introduction"}}]}}},{"ID":"2218","typeID":"__group__","zOrder":"261","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"321","properties":{"controlName":"100-introduction:what-are-relational-databases"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"233","measuredH":"24","x":"28","y":"9","properties":{"size":"16","text":"What are Relational Databases?"}}]}}},{"ID":"2219","typeID":"__group__","zOrder":"262","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"367","properties":{"controlName":"101-introduction:rdbms-benefits-limitations"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"236","measuredH":"24","x":"27","y":"9","properties":{"size":"16","text":"RDBMS Benefits and Limitations"}}]}}},{"ID":"2220","typeID":"__group__","zOrder":"263","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"412","properties":{"controlName":"102-introduction:postgresql-vs-others"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"214","measuredH":"24","x":"38","y":"9","properties":{"size":"16","text":"PostgreSQL vs Other RDBMS"}}]}}},{"ID":"2221","typeID":"__group__","zOrder":"264","measuredW":"290","measuredH":"42","w":"290","h":"42","x":"974","y":"458","properties":{"controlName":"103-introduction:postgresql-vs-nosql"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"290","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"246","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"PostgreSQL vs NoSQL Databases"}}]}}},{"ID":"2222","typeID":"__group__","zOrder":"265","measuredW":"265","measuredH":"49","w":"265","h":"49","x":"725","y":"3435","properties":{"controlName":"113-get-involved-in-development"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"265","h":"49","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16776960"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"222","measuredH":"25","x":"22","y":"12","properties":{"size":"17","text":"Get Involved in Development"}}]}}},{"ID":"2223","typeID":"__group__","zOrder":"266","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3432","properties":{"controlName":"100-get-involved-in-development:mailing-lists"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"91","measuredH":"24","x":"43","y":"9","properties":{"size":"16","text":"Mailing Lists"}}]}}},{"ID":"2224","typeID":"__group__","zOrder":"267","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3479","properties":{"controlName":"101-get-involved-in-development:reviewing-patches"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"137","measuredH":"24","x":"20","y":"9","properties":{"size":"16","text":"Reviewing Patches"}}]}}},{"ID":"2225","typeID":"__group__","zOrder":"268","measuredW":"178","measuredH":"42","w":"178","h":"42","x":"1082","y":"3526","properties":{"controlName":"102-get-involved-in-development:writing-patches"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"178","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"114","measuredH":"24","x":"32","y":"9","properties":{"size":"16","text":"Writing Patches"}}]}}},{"ID":"2226","typeID":"Label","zOrder":"269","measuredW":"161","measuredH":"32","x":"794","y":"3575","properties":{"size":"24","text":"Keep Learning"}},{"ID":"2227","typeID":"Arrow","zOrder":"270","w":"1","h":"67","measuredW":"150","measuredH":"100","x":"874","y":"3634","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","color":"10027263","p0":{"x":-0.4129169328207354,"y":67},"p1":{"x":0.4999999999999997,"y":0},"p2":{"x":-0.4129169328207354,"y":-0.11774307773504233},"stroke":"dotted"}},{"ID":"2228","typeID":"Arrow","zOrder":"271","w":"171","h":"2","measuredW":"150","measuredH":"100","x":"777","y":"3771","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","p0":{"x":0.2502642458233595,"y":-0.2116722737659984},"p1":{"x":0.5,"y":0},"p2":{"x":171.71787682058277,"y":2},"color":"16777215"}},{"ID":"2229","typeID":"Canvas","zOrder":"272","w":"350","h":"141","measuredW":"100","measuredH":"70","x":"975","y":"134"},{"ID":"2230","typeID":"Label","zOrder":"273","measuredW":"314","measuredH":"25","x":"989","y":"151","properties":{"size":"17","text":"Find the detailed version of this roadmap"}},{"ID":"2231","typeID":"Label","zOrder":"274","measuredW":"319","measuredH":"25","x":"989","y":"179","properties":{"size":"17","text":"along with resources and other roadmaps"}},{"ID":"2232","typeID":"__group__","zOrder":"275","measuredW":"320","measuredH":"45","w":"320","h":"45","x":"990","y":"215","properties":{"controlName":"ext_link:roadmap.sh"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"320","h":"45","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"borderColor":"4273622","color":"4273622"}},{"ID":"2","typeID":"Label","zOrder":"1","measuredW":"172","measuredH":"28","x":"74","y":"8","properties":{"color":"16777215","size":"20","text":"https://roadmap.sh"}}]}}},{"ID":"2233","typeID":"Canvas","zOrder":"276","w":"300","h":"141","measuredW":"100","measuredH":"70","x":"261","y":"130"},{"ID":"2234","typeID":"__group__","zOrder":"277","measuredW":"181","measuredH":"25","w":"181","h":"25","x":"284","y":"192","properties":{"controlName":"ext_link:roadmap.sh/mongodb"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"148","measuredH":"24","x":"33","y":"0","properties":{"size":"16","text":"MongoDB Roadmap"}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"1","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10066329"}}]}}},{"ID":"2235","typeID":"Label","zOrder":"278","measuredW":"175","measuredH":"28","x":"286","y":"151","properties":{"size":"20","text":"Related Roadmaps"}},{"ID":"2236","typeID":"__group__","zOrder":"279","measuredW":"172","measuredH":"25","w":"172","h":"25","x":"284","y":"225","properties":{"controlName":"ext_link:roadmap.sh/backend"},"children":{"controls":{"control":[{"ID":"0","typeID":"Label","zOrder":"0","measuredW":"139","measuredH":"24","x":"33","y":"0","properties":{"size":"16","text":"Backend Roadmap"}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"2","typeID":"Icon","zOrder":"2","measuredW":"24","measuredH":"24","x":"0","y":"1","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"10066329"}}]}}},{"ID":"2237","typeID":"__group__","zOrder":"280","measuredW":"300","measuredH":"54","w":"300","h":"54","x":"261","y":"288","properties":{"controlName":"100-roadmap-note"},"children":{"controls":{"control":[{"ID":"0","typeID":"TextArea","zOrder":"0","w":"300","h":"54","measuredW":"200","measuredH":"140","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"199","measuredH":"24","x":"50","y":"15","properties":{"text":"Important Note / Click here","size":"16"}},{"ID":"2","typeID":"__group__","zOrder":"2","measuredW":"24","measuredH":"24","w":"24","h":"24","x":"18","y":"18","children":{"controls":{"control":[{"ID":"0","typeID":"Icon","zOrder":"0","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"color":"16777215","icon":{"ID":"circle","size":"small"}}},{"ID":"1","typeID":"Icon","zOrder":"1","measuredW":"24","measuredH":"24","x":"0","y":"0","properties":{"icon":{"ID":"check-circle","size":"small"},"color":"13576743"}}]}}}]}}},{"ID":"2238","typeID":"__group__","zOrder":"281","measuredW":"189","measuredH":"42","w":"189","h":"42","x":"305","y":"3047","properties":{"controlName":"102-troubleshooting-techniques:query-analysis:explain-dalibo-com"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"189","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"132","measuredH":"24","x":"29","y":"9","properties":{"size":"16","text":"explain.dalibo.com"}}]}}},{"ID":"2240","typeID":"__group__","zOrder":"287","measuredW":"148","measuredH":"42","w":"148","h":"42","x":"758","y":"2573","properties":{"controlName":"105-application-skills:sharding-patterns"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"148","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"129","measuredH":"24","x":"9","y":"9","properties":{"size":"16","text":"Sharding Patterns"}}]}}},{"ID":"2241","typeID":"__group__","zOrder":"288","measuredW":"95","measuredH":"42","w":"95","h":"42","x":"610","y":"3133","properties":{"controlName":"104-troubleshooting-techniques:log-analysis:pg-cluu"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"95","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"52","measuredH":"24","x":"22","y":"9","properties":{"size":"16","text":"pgCluu"}}]}}},{"ID":"2243","typeID":"__group__","zOrder":"289","measuredW":"214","measuredH":"42","w":"214","h":"42","x":"745","y":"2155","properties":{"controlName":"103-postgresql-infrastructure-skills:monitoring:temboard"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"214","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"72","measuredH":"24","x":"71","y":"9","properties":{"size":"16","text":"temBoard"}}]}}},{"ID":"2244","typeID":"__group__","zOrder":"290","measuredW":"213","measuredH":"42","w":"213","h":"42","x":"745","y":"2110","properties":{"controlName":"102-postgresql-infrastructure-skills:monitoring:check-pgactivity"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"213","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"121","measuredH":"24","x":"46","y":"9","properties":{"size":"16","text":"check_pgactivity"}}]}}},{"ID":"2245","typeID":"__group__","zOrder":"291","measuredW":"215","measuredH":"42","w":"215","h":"42","x":"745","y":"2200","properties":{"controlName":"104-postgresql-infrastructure-skills:monitoring:check-pgbackrest"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"215","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"134","measuredH":"24","x":"41","y":"9","properties":{"size":"16","text":"check_pgbackrest"}}]}}},{"ID":"2247","typeID":"__group__","zOrder":"292","measuredW":"274","measuredH":"42","w":"274","h":"42","x":"294","y":"2439","properties":{"controlName":"103-learn-automation:terraform"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"274","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"71","measuredH":"24","x":"101","y":"9","properties":{"size":"16","text":"Terraform"}}]}}},{"ID":"2248","typeID":"__group__","zOrder":"293","measuredW":"151","measuredH":"42","w":"151","h":"42","x":"264","y":"2017","properties":{"controlName":"108-postgresql-infrastructure-skills:anonymization"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"151","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0"},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"105","measuredH":"24","x":"23","y":"9","properties":{"size":"16","text":"Anonymization"}}]}}},{"ID":"2251","typeID":"Arrow","zOrder":"0","w":"1","h":"54","measuredW":"150","measuredH":"100","x":"339","y":"2042","properties":{"curvature":"0","leftArrow":"false","rightArrow":"false","stroke":"dotted","color":"10027263","p0":{"x":0.4271178962662816,"y":-0.5},"p1":{"x":0.49999999999999983,"y":2.753189908645436e-31},"p2":{"x":0.4271178962663953,"y":53.66666666666663}}},{"ID":"2252","typeID":"__group__","zOrder":"294","measuredW":"197","measuredH":"42","w":"197","h":"42","x":"264","y":"2096","properties":{"controlName":"100-postgresql-infrastructure-skills:anonymization:postgresql-anonymizer"},"children":{"controls":{"control":[{"ID":"0","typeID":"Canvas","zOrder":"0","w":"197","h":"42","measuredW":"100","measuredH":"70","x":"0","y":"0","properties":{"color":"16770457"}},{"ID":"1","typeID":"Label","zOrder":"1","measuredW":"175","measuredH":"24","x":"11","y":"9","properties":{"size":"16","text":"PostgreSQL Anonymizer"}}]}}}]},"attributes":{"name":"New Wireframe 9 copy","order":1000116.0868550346,"parentID":null,"notes":null},"branchID":"Master","resourceID":"73A38172-E66F-4B8C-9525-DB6AC79E153D","mockupH":"3687","mockupW":"1163","measuredW":"1395","measuredH":"3773","version":"1.0"},"groupOffset":{"x":0,"y":0},"dependencies":[],"projectID":"file:///Users/kamranahmed/Desktop/AWS%20Roadmap.bmpr"} \ No newline at end of file From bc4d9f9e2fb795cc1962c12809788b01066214b1 Mon Sep 17 00:00:00 2001 From: Kamran Ahmed Date: Wed, 19 Apr 2023 22:11:00 +0100 Subject: [PATCH 5/5] Add postgresql dba pdf --- public/pdfs/roadmaps/postgresql-dba.pdf | Bin 0 -> 160067 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/pdfs/roadmaps/postgresql-dba.pdf diff --git a/public/pdfs/roadmaps/postgresql-dba.pdf b/public/pdfs/roadmaps/postgresql-dba.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a55479f3b55ad2e382a528011e806946b4aa86fe GIT binary patch literal 160067 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

I%Nk%Z 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