{"id":834,"date":"2008-06-04T21:15:01","date_gmt":"2008-06-05T02:15:01","guid":{"rendered":"http:\/\/www.bytebot.net\/blog\/?p=834"},"modified":"2008-06-04T21:18:11","modified_gmt":"2008-06-05T02:18:11","slug":"horizontal-scaling-with-hivedb","status":"publish","type":"post","link":"https:\/\/www.bytebot.net\/blog\/archives\/2008\/06\/04\/horizontal-scaling-with-hivedb","title":{"rendered":"Horizontal Scaling with HiveDB"},"content":{"rendered":"<p>At the <a href=\"http:\/\/www.mysqlconf.com\/\">MySQL Conference &amp; Expo 2008<\/a>, Britt Crawford and Justin McCarthy, both from <a href=\"http:\/\/cafepress.com\/\">Cafepress.com<\/a>, gave us a very interesting talk on scaling with HiveDB. I took a few notes (pasted below), their <a href=\"http:\/\/assets.en.oreilly.com\/1\/event\/2\/Horizontal%20Scaling%20with%20HiveDB%20Presentation.pdf\">slides are online<\/a> (warning: 6.1MB PDF), and if you&#8217;re after their <a href=\"http:\/\/en.oreilly.com\/mysql2008\/public\/schedule\/detail\/728\">abstract<\/a> its available as well.<\/p>\n<p style=\"text-align: left;\">I also took a video of them (refer to Slide 12, for the IRC conversation):<\/p>\n<p style=\"text-align: center;\">\n<object width=\"425\" height=\"344\"><param name=\"movie\" value=\"http:\/\/www.youtube.com\/v\/8wpD3egsSOM&#038;hl=en\"><\/param><param name=\"wmode\" value=\"transparent\"><\/param><\/object>\n<\/p>\n<p>The quick notes:<\/p>\n<ul>\n<li>OLTP optimised (as it serves cafepress.com)<\/li>\n<li>Cannot lock tables, or take it offline<\/li>\n<li>Constant response time is more important than low latency (little slower query is ok, just not exponentially slower)<\/li>\n<li>Queries run might return wildly sized result sets.<\/li>\n<li>There can be growth and usage hotspots. You cannot predict this at all.<\/li>\n<li>Partition by key (the set of all partition keys is the partition dimension)<\/li>\n<li>Partitioned Hibernate from Google (Hibernate Shards). HiveDB is now married up with shards.<\/li>\n<li>Thought about MySQL Proxy to support high availability components, but it was dismissed<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>At the MySQL Conference &amp; Expo 2008, Britt Crawford and Justin McCarthy, both from Cafepress.com, gave us a very interesting talk on scaling with HiveDB. I took a few notes (pasted below), their slides are online (warning: 6.1MB PDF), and if you&#8217;re after their abstract its available as well. I also took a video of [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[23],"tags":[221,220,56,224,225,226,223,227,219,222,212],"class_list":["post-834","post","type-post","status-publish","format-standard","hentry","category-mysql","tag-hibernate-shards","tag-hivedb","tag-java","tag-mysqluc","tag-mysqluc08","tag-mysqluc2008","tag-partitioning","tag-performance","tag-scaling","tag-sharding","tag-video"],"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/p4vJD-ds","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"amp_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/834","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/comments?post=834"}],"version-history":[{"count":0,"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/834\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/media?parent=834"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/categories?post=834"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/tags?post=834"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}