{
    "componentChunkName": "component---src-templates-note-note-js",
    "path": "/notes/CAP-Theorem",
    "result": {"data":{"mdx":{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"blockquote\", null, mdx(\"p\", {\n    parentName: \"blockquote\"\n  }, \"So, the CAP theorem helps you decide what's most important for your system when things get tough: having everyone see the same data, keeping the system working, or handling problems in the network. You can't have all three perfect at once, so you need to choose what fits best for what you're building.\")), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Consistency\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Availability\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Partition Tolerance\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"everyone see same data\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"keep the system working\"), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"handling problems in network\")))), mdx(\"p\", null, \"\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/network-failure\",\n    \"title\": \"network failure\"\n  }, \"network failure\"), \" is a critical piece in CAP theorem\"));\n}\n;\nMDXContent.isMDXComponent = true;","inboundReferences":[{"id":"628b4928-0a4f-54f9-bca4-8c35e95efbf9","slug":"internal/jobs/high-level-design"},{"id":"e21cd08e-1b05-5721-811a-be8f4374b705","slug":"shared-memory"}]}},"pageContext":{"slug":"CAP-Theorem","node":{"childMdx":{"slug":"CAP-Theorem"}}}},
    "staticQueryHashes": []}