|
@@ -0,0 +1,63 @@
|
|
|
|
|
+<mxfile host="app.diagrams.net">
|
|
|
|
|
+ <diagram name="Esquema físico de bases de datos" id="HnYMl3Ge32o6pUl2H81z">
|
|
|
|
|
+ <mxGraphModel dx="1414" dy="791" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
|
|
|
|
|
+ <root>
|
|
|
|
|
+ <mxCell id="0" />
|
|
|
|
|
+ <mxCell id="1" parent="0" />
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-1" parent="1" style="swimlane;horizontal=0;startSize=30;fillColor=#E3F2FD;strokeColor=#1565C0;fontSize=16;" value="Shard Database" vertex="1">
|
|
|
|
|
+ <mxGeometry height="520" width="370" x="210" y="90" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-29" edge="1" parent="xlYSylfd2xAS62EDcqBX-1" source="xlYSylfd2xAS62EDcqBX-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" target="xlYSylfd2xAS62EDcqBX-28">
|
|
|
|
|
+ <mxGeometry relative="1" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-15" parent="xlYSylfd2xAS62EDcqBX-1" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;shadow=0;strokeWidth=2;fontColor=#333333;fontSize=15;" value="<div style="box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;"><b>PLAYER</b></div><table style="width: 100%;" cellpadding="2" cellspacing="0"><tbody><tr><td>PK</td><td>id</td></tr><tr><td>IX</td><td>external_player_id</td></tr><tr><td></td><td>created_at<br>score</td></tr></tbody></table>" vertex="1">
|
|
|
|
|
+ <mxGeometry height="110" width="180" x="115" y="70" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-28" parent="xlYSylfd2xAS62EDcqBX-1" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;shadow=0;strokeWidth=2;fontColor=#333333;fontSize=15;" value="<div style="box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;"><b>WORLD_EVENTS</b></div><table style="width: 100%;" cellpadding="2" cellspacing="0"><tbody><tr><td>PK</td><td>id</td></tr><tr><td>FK</td><td>player_id</td></tr><tr><td></td><td>event_type<br>action<br>points_delta<br>winner<br>timestamp<br>payload</td></tr></tbody></table>" vertex="1">
|
|
|
|
|
+ <mxGeometry height="190" width="180" x="115" y="290" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-5" parent="1" style="swimlane;horizontal=0;startSize=30;fillColor=#FFF3E0;strokeColor=#EF6C00;fontSize=16;" value="Master Database" vertex="1">
|
|
|
|
|
+ <mxGeometry height="520" width="790" x="620" y="90" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-16" parent="xlYSylfd2xAS62EDcqBX-5" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;shadow=0;strokeWidth=2;fontColor=#333333;fontSize=15;" value="<div style="box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;"><b>PLAYER_GLOBAL</b></div><table style="width: 100%;" cellpadding="2" cellspacing="0"><tbody><tr><td>PK</td><td>id</td></tr><tr><td>IX</td><td>external_player_id</td></tr><tr><td></td><td>first_seen_at<br>last_seen_at<br>global_score</td></tr></tbody></table>" vertex="1">
|
|
|
|
|
+ <mxGeometry height="130" width="180" x="320" y="30" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-18" parent="xlYSylfd2xAS62EDcqBX-5" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;shadow=0;strokeWidth=2;fontColor=#333333;fontSize=15;" value="<div style="box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;"><b>SHARD</b></div><table style="width: 100%;" cellpadding="2" cellspacing="0"><tbody><tr><td>PK</td><td>id</td></tr><tr><td><br><br><br><br><br><br><br><br></td><td>external_id<br>name<br>location<br>status<br>created_at<br>started_at<br>last_heartbeat<br><br></td></tr></tbody></table>" vertex="1">
|
|
|
|
|
+ <mxGeometry height="180" width="180" x="320" y="190" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-22" edge="1" parent="xlYSylfd2xAS62EDcqBX-5" source="xlYSylfd2xAS62EDcqBX-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=2;" target="xlYSylfd2xAS62EDcqBX-16">
|
|
|
|
|
+ <mxGeometry relative="1" as="geometry">
|
|
|
|
|
+ <mxPoint x="310" y="60" as="targetPoint" />
|
|
|
|
|
+ </mxGeometry>
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-23" edge="1" parent="xlYSylfd2xAS62EDcqBX-5" source="xlYSylfd2xAS62EDcqBX-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=2;" target="xlYSylfd2xAS62EDcqBX-18">
|
|
|
|
|
+ <mxGeometry relative="1" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-17" parent="xlYSylfd2xAS62EDcqBX-5" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;shadow=0;strokeWidth=2;fontColor=#333333;fontSize=14;" value="<div style="box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;"><b>MASTER_EVENTS</b></div><table style="width: 100%;" cellpadding="2" cellspacing="0"><tbody><tr><td>PK</td><td>id</td></tr><tr><td>FK<br>FK<br><br><br><br><br><br><br></td><td>shard_id<br>player_id<br>timestamp<br>event_type<br>action<br>points_delta<br>winner<br>payload</td></tr></tbody></table>" vertex="1">
|
|
|
|
|
+ <mxGeometry height="190" width="180" x="60" y="60" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-24" edge="1" parent="xlYSylfd2xAS62EDcqBX-5" source="xlYSylfd2xAS62EDcqBX-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.25;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=2;" target="xlYSylfd2xAS62EDcqBX-16">
|
|
|
|
|
+ <mxGeometry relative="1" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-25" edge="1" parent="xlYSylfd2xAS62EDcqBX-5" source="xlYSylfd2xAS62EDcqBX-20" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.75;exitDx=0;exitDy=0;entryX=1;entryY=0.25;entryDx=0;entryDy=0;strokeWidth=2;" target="xlYSylfd2xAS62EDcqBX-18">
|
|
|
|
|
+ <mxGeometry relative="1" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-20" parent="xlYSylfd2xAS62EDcqBX-5" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;shadow=0;strokeWidth=2;fontColor=#333333;fontSize=15;" value="<div style="box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;"><b>SHARD_PLAYER_STATS</b></div><table style="width: 100%;" cellpadding="2" cellspacing="0"><tbody><tr><td>PK</td><td>id</td></tr><tr><td>FK<br>FK<br><br><br><br><br><br><br></td><td>shard_id<br>player_id<br>score<br>totalActions<br>explores<br>gathers<br>fights<br>rests</td></tr></tbody></table>" vertex="1">
|
|
|
|
|
+ <mxGeometry height="200" width="180" x="580" y="100" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-27" edge="1" parent="xlYSylfd2xAS62EDcqBX-5" source="xlYSylfd2xAS62EDcqBX-21" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;strokeWidth=2;" target="xlYSylfd2xAS62EDcqBX-18">
|
|
|
|
|
+ <mxGeometry relative="1" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-21" parent="xlYSylfd2xAS62EDcqBX-5" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;shadow=0;strokeWidth=2;fontColor=#333333;fontSize=15;" value="<div style="box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;"><b>SHARD_WORLD_SNAPSHOTS</b></div><table style="width: 100%;" cellpadding="2" cellspacing="0"><tbody><tr><td>PK</td><td>id</td></tr><tr><td>FK<br><br><br><br><br><br></td><td>id_shard<br>total_players<br>total_events<br>snapshot_at<br><br><br></td></tr></tbody></table>" vertex="1">
|
|
|
|
|
+ <mxGeometry height="130" width="230" x="70" y="370" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-26" edge="1" parent="xlYSylfd2xAS62EDcqBX-5" source="xlYSylfd2xAS62EDcqBX-19" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=0.75;entryDx=0;entryDy=0;strokeWidth=2;" target="xlYSylfd2xAS62EDcqBX-18">
|
|
|
|
|
+ <mxGeometry relative="1" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ <mxCell id="xlYSylfd2xAS62EDcqBX-19" parent="xlYSylfd2xAS62EDcqBX-5" style="verticalAlign=top;align=left;overflow=fill;html=1;whiteSpace=wrap;fillColor=#f5f5f5;strokeColor=#666666;shadow=0;strokeWidth=2;fontColor=#333333;fontSize=15;" value="<div style="box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;"><b>SHARD_LIFECYCLE_EVENT</b></div><table style="width: 100%;" cellpadding="2" cellspacing="0"><tbody><tr><td>PK</td><td>id</td></tr><tr><td>FK<br><br><br><br><br><br></td><td>shard_id<br>event_type<br>timestamp<br>details<br><br><br></td></tr></tbody></table>" vertex="1">
|
|
|
|
|
+ <mxGeometry height="130" width="210" x="520" y="370" as="geometry" />
|
|
|
|
|
+ </mxCell>
|
|
|
|
|
+ </root>
|
|
|
|
|
+ </mxGraphModel>
|
|
|
|
|
+ </diagram>
|
|
|
|
|
+</mxfile>
|