From Oscwiki

Jump to: navigation, search



Regular Sessions

Want to propose a session? Please send it to the mailing list!

Robert Treat: What is Database Replication?

What is database replication, and how do you choose the right solution? How can you connect an external replication system into, for example, Drizzle?

Everyone wants database replication, but people often don't know what it is. While the internals of how database replication works can be fairly complicated, understanding the different types of replication systems from a high level can go a long way in helping make sure you have chosen the right solution for your problem. In this talk we will discuss the difference between synchronous, semi-synchronous, and asynchronous solutions, different server configuration styles including master-slave, multi-master, dual-master, cascading-slaves, and also discuss the ideas behind replicating for scalability vs. replicating for fail over. Note that we won't be focusing on any one particular replication solution, but instead we will seek to find a common set of definitions so that people can look at the solutions available and determine what they are really getting and not have to listen to what they are being sold.

Vadim Tkachenko: Percona's MySQL Patches

Vadim will talk about Percona patches for MySQL. What features there are and how to use them. (Builds with these patches are covered in the OurDelta talk.) Vadim is the CTO of Percona.

For: mostly users

Arjen Lentz: OurDelta - Builds for MySQL

A project based on a tree of patches? Hmm, that's different - does it work? What, how, why, OurDelta-specific features (such as the distro packaging), and what's cooking right now? How do I get involved?

For: (wannabe) developers, users

Arjen Lentz & Others: Using bzr for sane revision control

bzr allows us to finally unwarp our brains and development process from the clutches of cvs/svn. It's not just about distributed version control, it's another way of working. Unfortunately, someone who's been using cvs/svn for ages will be kinda used to that, although they will have essentially adapted their development process to the way those systems work.

(happy to co-do this with Jay or other heavy bzr users!)

For: any developers

Jay Pipes: Join-Fu or Legend of the Drunken Query Master

Jay's legendary sessions on how to write better queries. Come for a good time, and to learn a lot.

For: users

Jay Pipes: Google Proto Buffers: The Benefits of Managed Messaging

Jay is a developer for the Drizzle project. This session will reveal how Drizzle is benefiting from replacing a lot of custom code with Google's Protocol Buffers.

For: developers

Dr. Richard Hipp: How SQL Database Engines Work

To many programmers, SQL RDBMSes are a magical black box. A talk can help clear up a lot of the mystery. SQL users tend to make better use of the language once they have a rough idea of what is going on beneath the covers.

Dr. Hipp is the creator of SQLite.

For: developers.

Dr. Richard Hipp: The philosophy of SQLite

Many people, especially people coming from an enterprise database background, do not understand the point of SQLite. There is, after all, a lot that SQLite does not do. This talk tries to clear up the confusion by explaining how SQLite is not attempting to compete with the traditional client/server database. To summarize: SQLite is not intended to replace Oracle - it is intended to replace fopen().

Dr. Hipp is the creator of SQLite.

For: users

This talk may be combined with "How SQL Database Engines Work."

Dr. Richard Hipp: Atomic Commit In SQLite

Topics include the assumptions that SQLite makes about the underlying operating system and hardware, a step-by-step explanation of what it takes to do a commit that is atomic across a power failure, how the hardware assumptions mentioned above are often violated, the "speed of light" for atomic transactions, why a serverless database has great difficulty implementing table-level or row-level locking, and the Firefox bug - the Linux kernel problem that hit many Firefox 3 users and forced Mozilla to use a commit strategy that is unsafe in the face of power loss.


"Testing an open-source SQL database." When you have hundreds of millions of users, many with mission-critical applications, testing takes on greater importance. The test harness and test scripts now comprise 75% of the SQLite code base and is growing rapidly. This talk describes how SQLite is tested.

For: developers

Piotr Biel: Sphinx Full-Text Search

Piotr will talk about Sphinx and when and how to use it to supplement (or even replace completely) a database server.

Piotr is a consultant with Percona.

For: mostly users.

Peter Zaitsev: Scaling MySQL via Replication and Sharding

Peter's experience in scaling systems with MySQL is second to none. This session discusses how to use replication and sharding to scale your systems very large.

Peter is the CEO of Percona.

For: users. has the video to play or download (if the video is 3.4M, that's an older copy, should be fixed Wed. 11/19).

Giuseppe Maxia: The MySQL Community server-side Replication Monitor

You can monitor a MySQL replication system in several ways, using free or commercial tools. Each tool is specific to some environment and has operating system constraints. There is a way of doing alternative monitoring on a replication system. Using MySQL 5.1 features, you can monitor a replication system from the inside. The system requires a plugin for the basic monitoring and and failover procedures.

Project home and wiki

For: developers (because the project is still veeeeery young)

Giuseppe is the Data Charmer. Enough said!

Greg Sabino Mullane: The Magic of MVCC

Learn how MVCC really works, why it's the best thing since sliced bread for concurrent read/write activity, and why it blows the locking approach out of the water. We'll focus on the way MVCC is implemented in Postgres, but the underlying concepts apply to all MVCC-based databases.

For users and developers.

Greg Sabino Mullane is a noted contributor to Postgres. has the video to play or download.

Greg Sabino Mullane: DBIx::Cache

Learn about this new module that combines DBI and memcached to provide seamless and efficient query caching.

Greg Sabino Mullane is a noted contributor to Postgres.

Eric Day: libdrizzle - A new client library for Drizzle and MySQL

The new drizzle client library has support for non-blocking I/O, connection pooling, improved buffer management, and the existing MySQL protocol (4.1 and newer, with new auth scheme). It is under the BSD license, and support for multiple languages interfaces, libevent integration, and a callback interface are also planned. The core functionality along with a PHP interface module will be ready to test. This talk will introduce the concepts being used with some example code and then go into a feedback session to see what features users and developers want.

Eric Day is a contributor to the Drizzle project.

For: Developers and users

Kelly McDonald: Postgres Extensions

Kelly implemented reporting and history-tracking extensions in Postgres. It keeps track of any changes to the system. This has been valuable in letting clients know what happened to their data, where bugs were happening in the system and generally saving our butts. The reporting system takes changes made in a attribute style table structure and arranges them in a standard table type structure for reporting. Kelly will explain why this system was built and how, including limitations of Postgres that had to be accommodated, and an introduction to writing Postgres extensions in C. has the video to play or download. for the slides for some C code for the extensions

Alex Esterkin: Infobright Column-Oriented Database Engine

Infobright is a novel column-oriented analytical database engine and a MySQL storage engine. Infobright query processing engine leverages the mathematical theory of rough sets. It employs the Knowledge Grid, which contains multiple layers of intelligence about data. Very efficient data compression allows for reducing database size by 10:1 or more (up to 40:1) and to store up to 30Tb of data on a single of-the-shelf server. Infobright Community Edition is distributed under GPL V.2 license.

Alex is Chief Architect. Prior to Infobright, he worked on numerous database engines, including Model-204, Oracle, SybaseIQ, and Dataupia.

For: users, developers, and open source integrators and consultants

Lightning Talks

  • Jeff Saxe: Latency is Everything. A look at the unintended slowdown in responsiveness of a client-server application whose architecture was changed from direct Visual Basic -> MS SQL stored procedure calls to Visual Basic -> SOAP-over-XML-serialized NTLM-authenticated HTTP .NET Web Services -> MS SQL, when the client is many milliseconds away from the Web Services server.
  • Baron: LVM 101. How to set up LVM, take a snapshot. How to calculate how big the snapshot needs to be.
  • Ronald Bradford: Monitoring and Graphing Solutions.
  • Baron Schwartz: Monitoring and Graphing with Cacti.
  • Greg Sabino Mullane: "Replication in PostgreSQL. Greg wrote a multi-master replication system (Bucardo) for PostgreSQL. Multi-master replication is a non-trivial problem.
  • Bradley C. Kuszmaul: Indexed insertion benchmarks. Tokutek built a GPL tool called iiBench, that measures indexed insertions into large databases, and offered a challenge to the MySQL community. Using iiBench, who can insert 1B rows into a MySQL table the fastest? Winner gets a $100 Starbucks card. Download contest info and the iiBench kit at for the video to play or download.

Personal tools