Presentations/Videos

How I hacked the HP Mini Mobile drive port to be a normal USB port

So I got my hands on an HP mini 1000 last week. Not bad for $250 at Best Buy, although it has needed some help, namely:

- External USB hard drive - I got the Mini 1000 that comes with a 16 Gb SSD, and want this to be my primary computer (I'm not a gamer, just web surfing and *occasional* video editing). I bought a 320Gb Buffalo Mini Station, for about $60 at Microcenter.

- 2 Gb RAM - already had a stick, free for me (otherwise $20), easy to pop in.

- USB to VGA adapter - HP has a nice proprietary VGA port, to which they didn't have an adapter for a long time (6 months or so)....now, the adapters exist, but they're out of stock. I bought a USB to VGA adaptor at Microcenter for about $70.

Video: Optimizing MySQL Performance with ZFS

Video for the presentation at the 2009 MySQL Conference: Optimizing MySQL Performance with ZFS Allan Packer (Sun Microsystems), Neelakanth Nadgir (Sun Microsystems) The official conference page is at http://www.mysqlconf.com/mysql2009/public/schedule/detail/7121 Play the video directly in your browser Download the video

Video: ScaleDB Storage Engine

Video for the presentation at the 2009 MySQL Conference: The ScaleDB Storage Engine: Enabling High Performance and Scalability Using Materialized Views and a Shared-Disk Clustering Architecture Moshe Shadmon (ScaleDB) Slides The official conference page is at http://www.mysqlconf.com/mysql2009/public/schedule/detail/7112 Play the video directly in your browser Download the video

Video: Beginner Guide to Website Performance with MySQL and memcached

Video for the presentation at the 2009 MySQL Conference: Beginner's Guide to Website Performance with MySQL and memcached Adam Donnison (Sun Microsystems) Slides The official conference page is at http://www.mysqlconf.com/mysql2009/public/schedule/detail/7009 Play the video directly in your browser Download the video

Video: High Performance Ruby on Rails and MySQL

Video for the presentation at the 2009 MySQL Conference: High Performance Ruby on Rails and MySQL David Berube (Berube Consulting) The official conference page is at http://www.mysqlconf.com/mysql2009/public/schedule/detail/6942 Play the video directly in your browser Download the video

Video: Tricks and Tradeoffs of Deploying MySQL Clusters in the Cloud

Video for the presentation at the 2009 MySQL Conference: Tricks and Tradeoffs of Deploying MySQL Clusters in the Cloud Thorsten von Eicken (RightScale, Inc) Slides The official conference page is at http://www.mysqlconf.com/mysql2009/public/schedule/detail/6912 Unfortunately, this video was cutoff, but most of the presentation is available. Play the video directly in your browser Download the video

Video: Advanced Query Manipulation with MySQL Proxy

Video for the presentation at the 2009 MySQL Conference Advanced Query Manipulation with MySQL Proxy Kay Roepke (Sun Microsystems) The official conference page is at http://www.mysqlconf.com/mysql2009/public/schedule/detail/7040 Play the video directly in your browser Download the video

Video: Testing with the MySQL Random Query Generator

Video from the 2009 MySQL Conference presentation: If You Love It, Break It: Testing MySQL with the Random Query Generator Philip Stoev (Sun Microsystems) The description is at: http://www.mysqlconf.com/mysql2009/public/schedule/detail/6363 Download the presentation slides (ppt).

Video: Starring Sakila: Data Warehousing Explained, Illustrated, and Subtitled

The video for the 2009 MySQL Conference presentation: Starring Sakila: Data Warehousing Explained, Illustrated, and Subtitled Roland Bouman (XCDSQL Solutions / Strukton Rail), Matt Casters (Pentaho Corp.) Description (no slides available at the time of the posting).

Video: Understanding How MySQL Works by Understanding Metadata, part 2

Part 2 of "Understanding How MySQL Works by Understanding Metadata", presented by Sheeri K. Cabral (The Pythian Group) and Patrick Galbraith (Lycos Inc.). This was a 3-hour tutorial. The PDF of the slides can be found at http://technocation.org/files/doc/2009_04_Understanding.pdf. From the official abstract at http://www.mysqlconf.com/mysql2009/public/schedule/detail/5682: We have spent countless hours researching over 1,000 pieces of metadata. In the process, we have learned a lot about how MySQL works, and realized that it was a pretty good learning method. Examples: Understanding the “query_cache%” system variables and “Qcache%” status variables helps us learn about the query cache—what it is, when it is used, how to examine query cache efficiency, how to tune the query cache. This relates to the GLOBAL_VARIABLES and GLOBAL_STATUS system views and corresponding SHOW commands. The CHECKSUM field of the TABLES system view in the INFORMATION_SCHEMA DATABASE seems straightforward—it holds the checksum. But when is that field updated, and for which storage engines? Like CHECKSUM, there are many storage-engine features that are hiding in plain sight. By reverse engineering MySQL’s metadata, we will show you many of these features.

Video: Understanding How MySQL Works by Understanding Metadata, part 1

Part 1 of "Understanding How MySQL Works by Understanding Metadata", presented by Sheeri K. Cabral (The Pythian Group) and Patrick Galbraith (Lycos Inc.). This was a 3-hour tutorial. The PDF of the slides can be found at http://technocation.org/files/doc/2009_04_Understanding.pdf. From the official abstract at http://www.mysqlconf.com/mysql2009/public/schedule/detail/5682: We have spent countless hours researching over 1,000 pieces of metadata. In the process, we have learned a lot about how MySQL works, and realized that it was a pretty good learning method. Examples: Understanding the “query_cache%” system variables and “Qcache%” status variables helps us learn about the query cache—what it is, when it is used, how to examine query cache efficiency, how to tune the query cache. This relates to the GLOBAL_VARIABLES and GLOBAL_STATUS system views and corresponding SHOW commands. The CHECKSUM field of the TABLES system view in the INFORMATION_SCHEMA DATABASE seems straightforward—it holds the checksum. But when is that field updated, and for which storage engines? Like CHECKSUM, there are many storage-engine features that are hiding in plain sight. By reverse engineering MySQL’s metadata, we will show you many of these features.

Video: What the MySQL Is This, Anyway?

Giuseppe Maxia and I are in the exact middle of our leg of the MySQL Campus Tour. Yesterday's session was recorded -- play the video online right in your browser at http://technocation.org/node/700/play or download the 80 Mb .mov file at http://technocation.org/node/700/download. A PDF of the slides can be downloaded at http://technocation.org/files/doc/2009_04_Tour.pdf (21 Mb). Click on the thumbnails for larger pictures of the standing-room only crowd, and lunch with the great folks at Cal Poly afterwards: http://sheeri.com/photos/view/PhotoFrame.view/detail.php?name=2009_04_MySQL&page=5 http://sheeri.com/photos/view/PhotoFrame.view/detail.php?name=2009_04_MySQL&page=6 http://sheeri.com/photos/view/PhotoFrame.view/detail.php?name=2009_04_MySQL&page=7 http://sheeri.com/photos/view/PhotoFrame.view/detail.php?name=2009_04_MySQL&page=8 Links referred to in the presentation, or related to the presentation: The MySQL forge can be found at http://forge.mysql.com, which contains the Wiki (http://forge.mysql.com/wiki) as well as the worklog, code snippets and tools for use with MySQL. To keep up to date with us, read Giuseppe's blog, my blog and where I work. Planet MySQL is an aggregate of MySQL-related blogs, including Giuseppe's and mine. The website for the 2009 MySQL User Conference and Expo is at http://mysqlconf.com. MySQL Camp is a free conference at the same time as the User Conference. The details, including the schedule, are at http://forge.mysql.com/wiki/MySQLCamp2009Sessions. A collection of User Group videos is at http://technocation.org/category/areas/user-group. All the videos, including User Group ones, are at http://technocation.org/category/areas/presentationsvideos. The videos from the 2008 MySQL User Conference and Expo are at http://forge.mysql.com/wiki/MySQLConf2008Notes The videos from the 2007 MySQL User Conference and Expo are at http://www.technocation.org/content/2007-mysql-user-conference-and-expo-presentations-and-videos Episodes of the MySQL podcast can be found at http://technocation.org/category/areas/podcasts Learn more about MySQL University, a free, drop-in, weekly in-depth session of technical issues (such as MySQL internals) at http://forge.mysql.com/wiki/MySQL_University. MySQL Proxy information, including a getting started guide, can be found at http://forge.mysql.com/wiki/MySQL_Proxy.

Tom Kyte Presents: Why Upgrade to Oracle 11g?

Tom Kyte speaks for about an hour on the newest features in Oracle 11g, including how many new features and enhancements there are. The presentation itself can be downloaded from Tom's site and the video can be watched or downloaded using the links from this post.

Real Time Data Warehousing Presentation

At the March Boston MySQL User Group meeting, Jacob Nikom of MIT's Lincoln Laboratory presented "Optimizing Concurrent Storage and Retrieval Operations for Real-Time Surveillance Applications." In the middle of the talk, Jacob said he sometimes calls what he did in this application as "real-time data warehousing", which was so accurate I decided to give that title to this blog post. The slides can be downloaded in PDF format (1.3 Mb) at http://www.technocation.org/files/doc/Concurrent_database_performance_02.pdf. The 54 minute video can be downloaded (644Mb) at http://technocation.org/node/693/download or streamed directly in your browser at http://technocation.org/node/693/play. This talk discussed how to do real-time retrieval operations while doing concurrent high volume insertion, including:
  • How to keep up with 1.5 Mb/second per server incoming data stream
  • server hardware comparison between a multi-core AMD Opteron and a multi core Intel Xeon
  • MySQL/Postgres comparison
  • schema design
  • design of the storage/retrieval benchmark
  • tuning MySQL
Jacob showed the insertion time from the number of applied indexes. He also demonstrated the excellent responsiveness of the MySQL server both in simulated and actual surveillance. At about 7 minutes into the presentation, Jacob begins to discuss "marshalling", which is converting the XML to data and back. After the 20-minute mark, an audience member asks about what marshalling is, so I wanted to make sure that folks have the definition ahead of time.

Video: Partitioning in MySQL 5.1

At the January 2009 Boston User Group I presented a session on the new partitioning feature in MySQL 5.1. I go through how to define partitions, how partitioning makes queries faster, the different types of partitioning and when to use each type, and the restrictions and limitations of partitioning. The sildes are available at http://www.technocation.org/files/doc/2009_01_Partitioning.pdf. The 380.6 Mb .mov movie (1 hr 16 min) can be played directly in your browser at http://technocation.org/node/671/play or downloaded at http://technocation.org/node/671/download. Notes: The partitioning part of the MySQL Manual is at: http://dev.mysql.com/doc/refman/5.1/en/partitioning-overview.html. The functions that are not allowed in partitioning expressions are listed at: http://dev.mysql.com/doc/refman/5.1/en/partitioning-limitations.html We also had an interesting development -- according to the manual, an INSERT to a partitioned table that includes values that do not have a partition should insert all values up to the failure point. The example I used (and that you can see in the video) is:
insert into nums_list_mod (id) VALUES (4001, 4004, 4002);
Where 4001 and 4002 fit into partitions but there is no partition defined that will accept 4004. According to the manual, the value 4001 should be inserted, but 4004 and 4002 should not. Instead, we got the behavior that nothing was inserted (sql_mode='' and this was not within a transaction). Enjoy the presentation!