{"id":706,"date":"2008-01-28T19:44:38","date_gmt":"2008-01-29T00:44:38","guid":{"rendered":"http:\/\/www.bytebot.net\/blog\/archives\/2008\/01\/28\/morning-sessions-at-mysql-miniconf"},"modified":"2008-01-28T19:48:57","modified_gmt":"2008-01-29T00:48:57","slug":"morning-sessions-at-mysql-miniconf","status":"publish","type":"post","link":"http:\/\/www.bytebot.net\/blog\/archives\/2008\/01\/28\/morning-sessions-at-mysql-miniconf","title":{"rendered":"Morning sessions at MySQL MiniConf"},"content":{"rendered":"<p><b>Upcoming MySQL Features &#8211; Stewart Smith<\/b><\/p>\n<p>Stewart&#8217;s talk on Upcoming MySQL Features was sort of a <i>roadmap<\/i> of what one might expect to see in MySQL 5.1 and above &#8211; he touched on Falcon, online backup, batched key access, Maria, Proxy, Workbench, and some cluster changes. When he shares his slides, it might be great to link to Worklog items, and Forge pages about these new features and previews (because, believe me, the stuff thats coming in future, is clearly very exciting).<\/p>\n<p><b>MySQL Indexing Methods &#8211; Jonathon Coombes<\/b><\/p>\n<p>Sitting in Jonathon Coombes session on MySQL Indexing Methods now &#8211; he&#8217;s going through covering indexes, the B+-tree index, hash index, full text indexing.<\/p>\n<p>Some select points, that aren&#8217;t in the slides (otherwise, the slides themselves are very verbose, and when they make it online, it will provide some great reading material):<\/p>\n<ul>\n<li>InnoDB uses a B+-tree, and a secondary hash index.<\/li>\n<li>MyISAM has R-Tree index support, so it can be used quite usefully for GIS applications. MyISAM is not the only engine that supports spatial indexing, but its the only one that uses R-Tree indexes.<\/li>\n<li>T-Tree index is used in MySQL Cluster<\/li>\n<li>Touched on the Lucene search engine, with at least about 8 hands going up, as to people using it in production. It does allow live indexing, does proximity searches<\/li>\n<li>Sphinx, has a high indexing speed, and by default it sits outside the database, however you can set it to be a storage engine as well. Sphinx is distributed, so its similar to the way memcached is architectured. Distributed indexing. Full text fields.<\/li>\n<li>Bitmap indexes, not available yet, but its something people are waiting for<\/li>\n<\/ul>\n<p>Bit weird seeing Jonathon now showing off OpenQuery, as opposed to Cybersite!<\/p>\n<p><b>MySQL Optimisation by Design &#8211; Arjen Lentz<\/b><br \/>Its a training course that Arjen is working on, a one day event. He has no slides, per se, so he&#8217;s going to use the whiteboard instead. So this is something you&#8217;ve got to hope to get a video of, at least.<\/p>\n<p>If you use MySQL, quite often you stick a database abstraction layer in between. However, you never usually ever port to another database, and the abstraction layer always <i>leaks<\/i>. <\/p>\n<p>Arjen now walks us thru engines available, by firing up the MySQL monitor, and going through the output of <tt>show storage engines;<\/tt>. <\/p>\n<p>Arjen then goes through a demonstration, on how many rows per second you can INSERT. These are 60-byte rows, from data acquisition styled information (IP addresses from a router, web clicks, etc.). Using MyISAM. No indexes. Sustained inserts of about 150,000 rows per second (40 million rows, in about 5 minutes, till his disk got full), on his Mac OS X Leopard laptop (and he can&#8217;t max anything out). This demo, is of course, for Arjen&#8217;s new gizmo, that&#8217;s written using the MySQL C API, that currently is in development. The application makes use of a multi-row insert.<\/p>\n<p>Using Blackhole, it holds at about 245,000 rows per second, for INSERTs. So, we&#8217;re seeing the slowdown, in really, disk I\/O.<\/p>\n<p>Codename: <i><b>lossylogger<\/b><\/i>.<\/p>\n<p>Its called lossy, because its allowed to loose some data. If you&#8217;re tracking web clicks, does it really make a difference, if you&#8217;ve lost some clicks, in the grand scheme of things? Not really. It makes use of UDP, so you&#8217;re not opening connections either. So, occasionally, you get a buffer overflow, and occasionally you lose data, but its no big deal, in the grand scheme of things.<\/p>\n<p>Most interestingly, at the tail-end of Arjen&#8217;s talk, I see the MySQL Australia account manager (sales), Ralph, walking in. Yes, we have sales in Australia\/New Zealand now!<\/p>\n<p>Technorati Tags: <a class=\"performancingtags\" href=\"http:\/\/technorati.com\/tag\/mysql\" rel=\"tag\">mysql<\/a>, <a class=\"performancingtags\" href=\"http:\/\/technorati.com\/tag\/mysql%20miniconf\" rel=\"tag\">mysql miniconf<\/a>, <a class=\"performancingtags\" href=\"http:\/\/technorati.com\/tag\/linux.conf.au\" rel=\"tag\">linux.conf.au<\/a>, <a class=\"performancingtags\" href=\"http:\/\/technorati.com\/tag\/lca08\" rel=\"tag\">lca08<\/a><\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"mailto:?subject=%5BShared%20Post%5D%20Morning%20sessions%20at%20MySQL%20MiniConf&body=http%3A%2F%2Fwww.bytebot.net%2Fblog%2Farchives%2F2008%2F01%2F28%2Fmorning-sessions-at-mysql-miniconf&share=email\" target=\"_blank\" title=\"Click to email a link to a friend\" data-email-share-error-title=\"Do you have email set up?\" data-email-share-error-text=\"If you&#039;re having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself.\" data-email-share-nonce=\"92059d7de7\" data-email-share-track-url=\"http:\/\/www.bytebot.net\/blog\/archives\/2008\/01\/28\/morning-sessions-at-mysql-miniconf?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-706\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2008\/01\/28\/morning-sessions-at-mysql-miniconf?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-706\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2008\/01\/28\/morning-sessions-at-mysql-miniconf?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-706\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2008\/01\/28\/morning-sessions-at-mysql-miniconf?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Upcoming MySQL Features &#8211; Stewart Smith Stewart&#8217;s talk on Upcoming MySQL Features was sort of a roadmap of what one might expect to see in MySQL 5.1 and above &#8211; he touched on Falcon, online backup, batched key access, Maria, Proxy, Workbench, and some cluster changes. When he shares his slides, it might be great [&hellip;]<\/p>\n<div class=\"sharedaddy sd-sharing-enabled\"><div class=\"robots-nocontent sd-block sd-social sd-social-icon-text sd-sharing\"><h3 class=\"sd-title\">Share this:<\/h3><div class=\"sd-content\"><ul><li class=\"share-email\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"\" class=\"share-email sd-button share-icon\" href=\"mailto:?subject=%5BShared%20Post%5D%20Morning%20sessions%20at%20MySQL%20MiniConf&body=http%3A%2F%2Fwww.bytebot.net%2Fblog%2Farchives%2F2008%2F01%2F28%2Fmorning-sessions-at-mysql-miniconf&share=email\" target=\"_blank\" title=\"Click to email a link to a friend\" data-email-share-error-title=\"Do you have email set up?\" data-email-share-error-text=\"If you&#039;re having problems sharing via email, you might not have email set up for your browser. You may need to create a new email yourself.\" data-email-share-nonce=\"92059d7de7\" data-email-share-track-url=\"http:\/\/www.bytebot.net\/blog\/archives\/2008\/01\/28\/morning-sessions-at-mysql-miniconf?share=email\"><span>Email<\/span><\/a><\/li><li class=\"share-facebook\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-facebook-706\" class=\"share-facebook sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2008\/01\/28\/morning-sessions-at-mysql-miniconf?share=facebook\" target=\"_blank\" title=\"Click to share on Facebook\" ><span>Facebook<\/span><\/a><\/li><li class=\"share-linkedin\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-linkedin-706\" class=\"share-linkedin sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2008\/01\/28\/morning-sessions-at-mysql-miniconf?share=linkedin\" target=\"_blank\" title=\"Click to share on LinkedIn\" ><span>LinkedIn<\/span><\/a><\/li><li class=\"share-twitter\"><a rel=\"nofollow noopener noreferrer\" data-shared=\"sharing-twitter-706\" class=\"share-twitter sd-button share-icon\" href=\"http:\/\/www.bytebot.net\/blog\/archives\/2008\/01\/28\/morning-sessions-at-mysql-miniconf?share=twitter\" target=\"_blank\" title=\"Click to share on Twitter\" ><span>Twitter<\/span><\/a><\/li><li class=\"share-end\"><\/li><\/ul><\/div><\/div><\/div>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_options":[]},"categories":[23],"tags":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4vJD-bo","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":716,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2008\/02\/14\/mysql-miniconf-videos-from-linuxconfau-2008","url_meta":{"origin":706,"position":0},"title":"MySQL Miniconf videos, from linux.conf.au 2008","date":"14\/2\/2008","format":false,"excerpt":"If you couldn't make the MySQL MiniConf at linux.conf.au 2008, no worries - there's recorded video!Upcoming MySQL Features (Stewart Smith) - focused on the future, as opposed to what's available right now\/soonMySQL Indexing Methods (Jonathon Coombes) AND MySQL Optimisation by Design (Arjen Lentz)- the slides are viewable from the video,\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2286,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/practical-mysql-indexing-guidelines-by-stephane-combaudon","url_meta":{"origin":706,"position":1},"title":"Practical MySQL Indexing guidelines by St\u00c3\u00a9phane Combaudon","date":"5\/2\/2012","format":false,"excerpt":"St\u00e9phane Combaudon of Dailymotion. Index: separate data structure to speed up SELECTs. Think of index in a book. In MySQL, key=index. Consider that indexes are trees. InnoDB's clustered index - data is stored with the Primary Key (PK) so PK lookups are fast. Secondary keys hold the PK values. Designing\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":796,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2008\/04\/17\/what-mysql-can-learn-from-postgresql","url_meta":{"origin":706,"position":2},"title":"What MySQL Can Learn from PostgreSQL","date":"17\/4\/2008","format":false,"excerpt":"Hi! So this is completely my notes taken from the conference, without my thoughts attached to it. I should definitely post a lot more about this, and how the community can \"improve\" in time. Just not today. Believe me, sitting in the talk, was highly painful, and I'm wondering where\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":463,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2007\/01\/15\/mysql-miniconf-rocked","url_meta":{"origin":706,"position":3},"title":"MySQL MiniConf rocked!","date":"15\/1\/2007","format":false,"excerpt":"Stewart was hoping the MySQL MiniConf (hereinafter called mysql.conf.au) would rock. In fact, it actually did. At any one time, we had over 60-75 people in the room. It was a standing room, with full attendance at all the talks! As soon as I get all the slides, I'll place\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2259,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2012\/02\/05\/how-to-offload-mysql-server-with-sphinx-by-vladimir-fedorkov","url_meta":{"origin":706,"position":4},"title":"How to offload MySQL server with Sphinx by Vladimir Fedorkov","date":"5\/2\/2012","format":false,"excerpt":"Vladimir Fedorkov of Sphinx. Presentation started out with a very nice presentation of candies to all the audience members. What is Sphinx? Another (C++) daemon on your boxes. Can be queried via API (PHP, Python, etc.) or MySQL-compatible protocol and SQL queries (SphinxQL). Some query examples are in the slides,\u2026","rel":"","context":"In &quot;MySQL&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":2832,"url":"http:\/\/www.bytebot.net\/blog\/archives\/2013\/11\/30\/groonga-fulltext-search-library-for-cloud-web","url_meta":{"origin":706,"position":5},"title":"groonga &#8211; fulltext search library for cloud &#038; web","date":"30\/11\/2013","format":false,"excerpt":"This is an incomplete fragment from 2011. Figure its worth publishing this now, considering MariaDB is likely to get groonga in the near future. The groonga team have released MariaDB 10.0.6 binaries as well. This is all part of the mroonga\u00a0project. These were my quick notes from the groonga talk\u2026","rel":"","context":"In &quot;MariaDB&quot;","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"amp_enabled":true,"_links":{"self":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/706"}],"collection":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/comments?post=706"}],"version-history":[{"count":0,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/posts\/706\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/media?parent=706"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/categories?post=706"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.bytebot.net\/blog\/wp-json\/wp\/v2\/tags?post=706"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}