{"id":245,"date":"2010-01-06T11:21:39","date_gmt":"2010-01-06T11:21:39","guid":{"rendered":"https:\/\/kari.world.ikari.fi\/2010\/01\/06\/going-to-db\/"},"modified":"2010-01-06T11:21:39","modified_gmt":"2010-01-06T11:21:39","slug":"going-to-db","status":"publish","type":"post","link":"https:\/\/kari.world.ikari.fi\/?p=245","title":{"rendered":"Going to DB&#8230;"},"content":{"rendered":"<p><a href=\"http:\/\/java-source.net\/open-source\/database-engines\">Open Source Database Engines in Java<\/a><\/p>\n<p>Hmm&#8230;. <a href=\"http:\/\/www.h2database.com\/html\/main.html\">H2?<\/a> When developing software with Java, why anyone would bother with non-Java DB, i.e. all the problems with native library compatibility and such (32bit\/64bit, Linux\/Windows\/etc., M$XP\/M$Vista\/M$7\/&#8230;)? Especially interesting sounds the possibility to <a href=\"http:\/\/www.h2database.com\/html\/features.html#connection_modes\">embed<\/a> DB into java process, thus avoiding having separate process and socket (or such) communication with it.<\/p>\n<p>And is Java based DB then slow? If these <a href=\"http:\/\/www.h2database.com\/html\/performance.html\">results<\/a> are correct, then performance is very well comparable to PostgresSQL. I&#8217;m betting that performance difference comes from the fact that when DB and process using it are both java, then some redundant communication overhead and conversions (for example, String) are avoided. Especially embedded mode performance looks quite impressive compared to PostgresSQL (<strong>7X<\/strong> faster on statements per second).<\/p>\n<p>References:<br \/>\n<a href=\"http:\/\/java-source.net\/open-source\/database-engines\">Open Source Database Engines in Java<\/a><br \/>\n<a href=\"http:\/\/www.h2database.com\/html\/main.html\">H2<\/a><br \/>\n<a href=\"http:\/\/stackoverflow.com\/questions\/439958\/highest-performance-database-in-java\">Highest Performance Database in Java<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Open Source Database Engines in Java Hmm&#8230;. H2? When developing software with Java, why anyone would bother with non-Java DB, i.e. all the problems with native library compatibility and such (32bit\/64bit, Linux\/Windows\/etc., M$XP\/M$Vista\/M$7\/&#8230;)? Especially interesting sounds the possibility to embed DB into java process, thus avoiding having separate process and socket (or such) communication with&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[],"class_list":["post-245","post","type-post","status-publish","format-standard","hentry","category-java"],"_links":{"self":[{"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=\/wp\/v2\/posts\/245","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=245"}],"version-history":[{"count":0,"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=\/wp\/v2\/posts\/245\/revisions"}],"wp:attachment":[{"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=245"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=245"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kari.world.ikari.fi\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=245"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}