{"componentChunkName":"component---node-modules-gatsby-theme-medium-to-own-blog-src-templates-blog-post-js","path":"/do-you-really-need-an-rdms/","result":{"data":{"site":{"siteMetadata":{"siteUrl":"https://javame.netlify.app","githubUrl":"https://github.com/aterreno/blog"}},"mdx":{"fields":{"slug":"/do-you-really-need-an-rdms/"},"excerpt":"In the project where I’m working we are in the process of deciding for which tecnologies to go for, from the UI to the persistence layer…","timeToRead":1,"frontmatter":{"title":"Do you really need an RDMS?","description":"","categories":[],"date":"March 26, 2009","canonical_link":"https://javame.netlify.app//do-you-really-need-an-rdms-ac5af5f67a40"},"body":"function _extends() { _extends = Object.assign || 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); }\n\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; }\n\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\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"Do you really need an RDMS?\",\n  \"description\": \"\",\n  \"date\": \"2009-03-26T00:00:00.000Z\",\n  \"categories\": [],\n  \"published\": true,\n  \"canonical_link\": \"https://javame.netlify.app//do-you-really-need-an-rdms-ac5af5f67a40\",\n  \"redirect_from\": [\"/do-you-really-need-an-rdms-ac5af5f67a40\"]\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, [\"components\"]);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"In the project where I\\u2019m working we are in the process of deciding for which tecnologies to go for, from the UI to the persistence layer.\"), mdx(\"p\", null, \"Yesterday we had an interesting meeting about the persistence layer.\"), mdx(\"p\", null, \"It ended up having a chart of three available technologies for storing our data:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"http://en.wikipedia.org/wiki/Triple_Store\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Triple Store\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"http://en.wikipedia.org/wiki/Object_database\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Object Database\")), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", _extends({\n    parentName: \"li\"\n  }, {\n    \"href\": \"http://www.hibernate.org/\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Hibernate\"), \" / JPA\")), mdx(\"p\", null, \"I never heard of triple store before and I found it quite interesting, apparently there\\u2019s an \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"http://www.oracle.com/technology/tech/semantic_technologies/index.html\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Oracle 11g RDF\"), \" version to store triple stores, looking at the Oracle Web Site it seems like you need few patches and some hacks in order to \\u201Cinstall\\u201D the stored procedures to enable the RDMS to perform RDF queries.\"), mdx(\"p\", null, \"I\\u2019ve already had a look to \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"http://www.db4o.com/\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"db4o\"), \", but I\\u2019ve been impressed on the \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"http://www.versant.com/developer/resources/objectdatabase/whitepapers\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"white-papers\"), \" from \", mdx(\"a\", _extends({\n    parentName: \"p\"\n  }, {\n    \"href\": \"http://www.versant.com/\",\n    \"target\": \"_blank\",\n    \"rel\": \"nofollow noopener noreferrer\"\n  }), \"Versant\"), \" (that owns db4o).\"), mdx(\"p\", null, \"Hibernate and JPA are the default option, with their benefits and their well know cons.\"), mdx(\"p\", null, \"Now, the point is not which technology is better than the others but which one is best for your project and having such a conversation/investigation at the start of a project it\\u2019s something I never done before.\"), mdx(\"p\", null, \"We have some particular non functional requirements, like HA (five nines system), low latency, geographical clustering, complex computations and deep objects graphs so we a common stack probably might lead to big risks.\"), mdx(\"p\", null, \"My current preference goes to Objects Databases but I\\u2019ll keep posting my findings on this blog depending on how the investigations are going.\"));\n}\n;\nMDXContent.isMDXComponent = true;"},"allWebMentionEntry":{"nodes":[]}},"pageContext":{"id":"f9504f70-7327-5786-a63a-7ff428280951","previous":{"id":"8ba4f753-caed-5b90-a364-956df229e988","fields":{"slug":"/agile-is-not-enough/","published":true},"frontmatter":{"redirect_from":["/agile-is-not-enough-55af1e8080da"],"redirect_to":null,"title":"Agile is not enough"}},"next":{"id":"184c6a63-4210-56e8-932f-35c5de02bca5","fields":{"slug":"/spring-and-hessian-how-cool!/","published":true},"frontmatter":{"redirect_from":["/spring-hessian-how-cool-b45af3d22f24"],"redirect_to":null,"title":"Spring & Hessian, how cool!"}},"permalink":"https://javame.netlify.app/do-you-really-need-an-rdms/","themeOptions":{"plugins":[],"config":{"title":"Antonio Terreno","description":"Antonio Terreno's blog archive","shortBio":"","bio":"Principal Consultant at Equal Experts","author":"Antonio Terreno","githubUrl":"https://github.com/aterreno/blog","siteUrl":"https://javame.netlify.app/","social":{"twitter":"javame","medium":"","facebook":"","github":"aterreno","linkedin":"antonioterreno","instagram":"tritonitri"},"goatCounterCode":null}}}},"staticQueryHashes":["4131332129","645483741"]}