esquema_fisico_bds.drawio 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <mxfile host="app.diagrams.net">
  2. <diagram name="Esquema físico de bases de datos" id="HnYMl3Ge32o6pUl2H81z">
  3. <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">
  4. <root>
  5. <mxCell id="0" />
  6. <mxCell id="1" parent="0" />
  7. <mxCell id="xlYSylfd2xAS62EDcqBX-1" parent="1" style="swimlane;horizontal=0;startSize=30;fillColor=#E3F2FD;strokeColor=#1565C0;fontSize=16;" value="Shard Database" vertex="1">
  8. <mxGeometry height="520" width="370" x="210" y="90" as="geometry" />
  9. </mxCell>
  10. <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">
  11. <mxGeometry relative="1" as="geometry" />
  12. </mxCell>
  13. <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="&lt;div style=&quot;box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;&quot;&gt;&lt;b&gt;PLAYER&lt;/b&gt;&lt;/div&gt;&lt;table style=&quot;width: 100%;&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;IX&lt;/td&gt;&lt;td&gt;external_player_id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;created_at&lt;br&gt;score&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" vertex="1">
  14. <mxGeometry height="110" width="180" x="115" y="70" as="geometry" />
  15. </mxCell>
  16. <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="&lt;div style=&quot;box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;&quot;&gt;&lt;b&gt;WORLD_EVENTS&lt;/b&gt;&lt;/div&gt;&lt;table style=&quot;width: 100%;&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK&lt;/td&gt;&lt;td&gt;player_id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;event_type&lt;br&gt;action&lt;br&gt;points_delta&lt;br&gt;winner&lt;br&gt;timestamp&lt;br&gt;payload&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" vertex="1">
  17. <mxGeometry height="190" width="180" x="115" y="290" as="geometry" />
  18. </mxCell>
  19. <mxCell id="xlYSylfd2xAS62EDcqBX-5" parent="1" style="swimlane;horizontal=0;startSize=30;fillColor=#FFF3E0;strokeColor=#EF6C00;fontSize=16;" value="Master Database" vertex="1">
  20. <mxGeometry height="520" width="790" x="620" y="90" as="geometry" />
  21. </mxCell>
  22. <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="&lt;div style=&quot;box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;&quot;&gt;&lt;b&gt;PLAYER_GLOBAL&lt;/b&gt;&lt;/div&gt;&lt;table style=&quot;width: 100%;&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;IX&lt;/td&gt;&lt;td&gt;external_player_id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;first_seen_at&lt;br&gt;last_seen_at&lt;br&gt;global_score&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" vertex="1">
  23. <mxGeometry height="130" width="180" x="320" y="30" as="geometry" />
  24. </mxCell>
  25. <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="&lt;div style=&quot;box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;&quot;&gt;&lt;b&gt;SHARD&lt;/b&gt;&lt;/div&gt;&lt;table style=&quot;width: 100%;&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;td&gt;external_id&lt;br&gt;name&lt;br&gt;location&lt;br&gt;status&lt;br&gt;created_at&lt;br&gt;started_at&lt;br&gt;last_heartbeat&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" vertex="1">
  26. <mxGeometry height="180" width="180" x="320" y="190" as="geometry" />
  27. </mxCell>
  28. <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">
  29. <mxGeometry relative="1" as="geometry">
  30. <mxPoint x="310" y="60" as="targetPoint" />
  31. </mxGeometry>
  32. </mxCell>
  33. <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">
  34. <mxGeometry relative="1" as="geometry" />
  35. </mxCell>
  36. <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="&lt;div style=&quot;box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;&quot;&gt;&lt;b&gt;MASTER_EVENTS&lt;/b&gt;&lt;/div&gt;&lt;table style=&quot;width: 100%;&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK&lt;br&gt;FK&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;td&gt;shard_id&lt;br&gt;player_id&lt;br&gt;timestamp&lt;br&gt;event_type&lt;br&gt;action&lt;br&gt;points_delta&lt;br&gt;winner&lt;br&gt;payload&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" vertex="1">
  37. <mxGeometry height="190" width="180" x="60" y="60" as="geometry" />
  38. </mxCell>
  39. <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">
  40. <mxGeometry relative="1" as="geometry" />
  41. </mxCell>
  42. <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">
  43. <mxGeometry relative="1" as="geometry" />
  44. </mxCell>
  45. <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="&lt;div style=&quot;box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;&quot;&gt;&lt;b&gt;SHARD_PLAYER_STATS&lt;/b&gt;&lt;/div&gt;&lt;table style=&quot;width: 100%;&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK&lt;br&gt;FK&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;td&gt;shard_id&lt;br&gt;player_id&lt;br&gt;score&lt;br&gt;totalActions&lt;br&gt;explores&lt;br&gt;gathers&lt;br&gt;fights&lt;br&gt;rests&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" vertex="1">
  46. <mxGeometry height="200" width="180" x="580" y="100" as="geometry" />
  47. </mxCell>
  48. <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">
  49. <mxGeometry relative="1" as="geometry" />
  50. </mxCell>
  51. <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="&lt;div style=&quot;box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;&quot;&gt;&lt;b&gt;SHARD_WORLD_SNAPSHOTS&lt;/b&gt;&lt;/div&gt;&lt;table style=&quot;width: 100%;&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;td&gt;id_shard&lt;br&gt;total_players&lt;br&gt;total_events&lt;br&gt;snapshot_at&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" vertex="1">
  52. <mxGeometry height="130" width="230" x="70" y="370" as="geometry" />
  53. </mxCell>
  54. <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">
  55. <mxGeometry relative="1" as="geometry" />
  56. </mxCell>
  57. <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="&lt;div style=&quot;box-sizing: border-box; width: 100%; background: rgb(228, 228, 228); padding: 2px;&quot;&gt;&lt;b&gt;SHARD_LIFECYCLE_EVENT&lt;/b&gt;&lt;/div&gt;&lt;table style=&quot;width: 100%;&quot; cellpadding=&quot;2&quot; cellspacing=&quot;0&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;PK&lt;/td&gt;&lt;td&gt;id&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;FK&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;td&gt;shard_id&lt;br&gt;event_type&lt;br&gt;timestamp&lt;br&gt;details&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;" vertex="1">
  58. <mxGeometry height="130" width="210" x="520" y="370" as="geometry" />
  59. </mxCell>
  60. </root>
  61. </mxGraphModel>
  62. </diagram>
  63. </mxfile>