Get Your "Virtual DBA Assistant" Today!
19 December 2007 — This article explains how to test the performance of a large database with MySQL 5.1, showing the advantages of using partitions. The test database uses data published by the US Bureau of Transportation Statistics. Currently, the data consists of ~ 113 million records (7.5 GB data + 5.2 GB index).
18 December 2007 — Registration is now open for the sixth annual MySQL Conference & Expo. Co-presented by MySQL AB and O'Reilly Media, the conference will take place April 14-17, 2008, in Santa Clara, California. The event is expected to bring together over 1,600 open source and database users from some of the most exciting and fastest-growing companies in the world, as well as from the large and active MySQL Community. The program for 2008 will include keynote presentations by Jacek Becla of Stanford Linear Accelerator and MySQL CEO Marten Mickos.
More information is available at www.mysqlconf.com.
13 December 2007 — In this article, we discuss the XML functionality available in MySQL, with an emphasis on new features coming online in MySQL 5.1 and MySQL 6.0. We assume that you already have a working knowledge of XML, and that you know what the terms “valid” and “well-formed” mean. We also assume that you have some knowledge of XPath.
12 December 2007 — In part 2 we discussed the internals of MPP and how MPP can be used with LVS to create a failover strategy. In this part 3 we will discuss how to configure and operate MPP, and additionally use MPP with MySQL Proxy to create a failover strategy.
26 November 2007 — In September, the Developer Zone featured Chapter 6 of Paul DuBois' MySQL, 3rd edition on Writing C Programs with the MySQL C API. This month, we continue in this series on developing MySQL applications in C with a tutorial from Mark Schoonover about using the Eclipse CDT (C Development Toolkit) as an IDE for developing C applications for MySQL.
10 November 2007 — In Part 1 we have seen how the concept of state management works. Now it's time to apply that concept to a load-balancer. In this Part 2 we will look at a strategy for using Linux Virtual Server with MPP for failover, and also take a closer look at the mechanics of MPP itself.
7 November 2007 — MySQL AB will be exhibiting at next week's Oracle OpenWorld event, November 12-15 in San Francisco; Moscone South Hall, kiosk booth PSP 32.
In the past year, the Independent Oracle Users Group has produced surveys of its membership that show that MySQL is an increasingly popular complementary database within Oracle customers' IT departments. Between one-quarter and one-third of IOUG members report using MySQL in their organizations today -- and a majority plan to grow their adoption of open source database technology in the next year.
For a free copy of the most recent IOUG open source survey, as well as technical MySQL resources for Oracle developers and DBAs, please visit www.mysql.com/oracle.
1 November 2007 — Having a strategy for failover has become almost standard in the business world. Whether it is a total site failover from a NOC in one city to another, or just a simple redundant server. Over the years many technology solutions have been created for or adopted to MySQL to provide this type of strategy.
26 October 2007 — When Sun Microsystems released the ZFS filesystem in 2004, they set out to remove all of the practical limits on filesystem storage, and to make the arcane details of storage management a thing of the past. ZFS is a 128-bit filesystem with - to name just a few features - copy-on-write transactional semantics, fast snapshots, and optional compression.
18 October 2007 — MySQL data load and search are very important business requirements in any Windows or Internet web application development. In general, any application needs to show a result set of data and/or a single record to the end-users. In Windows applications it is very popular to show a result set of data by using the DataGridView, ListView or TreeView controls. A single record can be shown by the simple combination of the following controls: TextBox, ComboBox, ListBox, CheckBox, RadioButton, etc. MySQL data search is provided by using the required ADO.NET data objects and by refreshing the controls if necessary. These two processes, data load and search, should be fast and should be done with the proper code which depends on the controls in the Windows Form or Web Page. In this article I will show you how load and sort MySQL data using the DataGridView control. To search MySQL data the LIKE SQL operator will be used. Both programming implementations are done by using stored procedures for MySQL 5.0 database engine.
5 October 2007 — Christopher Cordray, a ScienceLogic founder and the principal software architect behind the EM7 appliances, has more than fifteen years experience with networking, management systems and technology-related operations. Passionate about improving IT operations and application efficiency, Cordray has architected and developed various commercial and custom solutions for companies including Verizon Global Networks, Interliant, Inc and Edison International.
28 September 2007 — Many web developers view development of C programs as a bit of a black art. Development of programs in a compiled language such as C is vastly different from the development of applications in a scripting language. To familiarize more developers with the MySQL C API, we present a three-part series of articles tailored to developers looking to get into C program development with MySQL. This first article is the full chapter from Paul DuBois' industry-standard work, MySQL, Third Edition, from Pearson Publishers. The second article, from Mark Schoonover, to be published next week, will cover development with the C API using the Eclipse CDT to write a sample program. The third article, also from Mark Schoonover, will go into more depth and expand the example program using more advanced features of the API.
18 September 2007 — PDO is a PHP extension providing a data-access abstraction layer that can be used with a variety of databases. This gives you the flexibility of changing the database backend without having to alter your access methods. Even if you use MySQL exclusively, PDO can provide advantages; you can use the same data-access methods regardless of the MySQL version. This does away with the need for using the standard MySQL extension with older versions of MySQL and using the MySQLi extension for later versions. An additional advantage is the ability to use object-oriented code regardless of the version of MySQL.
18 September 2007 — The Falcon transactional storage engine uses the concept of user-defined tablespaces that are more in line with what one would find in Oracle (tablespaces) or SQL Server (filegroups). Let’s take a quick look at how tablespaces are used within Falcon and what you can and can’t do with them.
18 September 2007 — The phrase "security vulnerability" gives most of us the creeps. We are afraid of them. Looking at them rationally, they share a trait with other bugs: All are a pain, but some are a bigger pain than others. And instead of trying to avoid the evil by not talking about it, let's take a look at MySQL's security vulnerability track record over the years, and explain the rationale behind our actions using actual cases from past years.
11 September 2007 — So, someone had a great idea to go back through the Developer Zone, which has become a bit disorganized of late, and put together an article with links and summaries for all the Dev Zone articles that discussed MySQL 5.1 features. I have done so, and also linked in many community member's blog articles and tutorials to give everyone a good dose of the features that make MySQL 5.1 worth investigating.
11 September 2007 — MySQL AB today announced that it plans to release alpha and beta versions of several new Free and Open Source Software (FOSS) products this month, including a 'release candidate' of MySQL 5.1 -- a major new upgrade of the world’s most popular open source database server.
The announcement was made this morning at the inaugural Japanese MySQL Users Conference being held here this week.
10 September 2007 — You've decided to obtain MySQL certification and that's great! Now it's a matter of how to go about it? You can go the traditional routes and take a class, or you can prepare on your own. I did the latter, and 2 exams later during MySQL Conference 2007, I passed the Certified MySQL Database Administrator (CMDBA) exams. I wanted to share my exam preparation experience, as I've never found this information in any other place. I took what I learned from how to study math and applied it to preparing for the MySQL exams. These techniques will probably work with other certifications, and I'm sure you'll come up with some of your own techniques to share.
4 September 2007 — New MySQL 6.0 Alpha Release
22 August 2007 — According to recent survey, over 20% of MySQL users plan to migrate a Microsoft Access applications to MySQL over the next 12 months. However there are few documents available that describe best practices for performing such a migration.
This document summarizes discussion from the “MS Access Migration” session at the 2007 MySQL User Group meeting in California. That session brought together a number of MySQL users with a goal of identifying key success factors for moving MS Access applications to MySQL.
17 August 2007 — The launch of MySQL Proxy has caused quite a commotion in the community. And with reason. For feature hungry people, this is undeniably the most exciting addition to MySQL set of tools.
If the last statement has left you baffled, because you don't see the added value, don't worry. This article aims at giving you the feeling of what the Proxy can do.
2 August 2007 — David Axmark co-founded MySQL AB together with Michael "Monty" Widenius and Allan Larsson in 1995. Today, he is a member of the MySQL Community Relations team and has an advisory role in the MySQL Management. He travels all across the globe to advocate for MySQL and Open Source Software in general and has just recently moved from Uppsala, Sweden to Ascot in the United Kingdom, where he lives with his wife and two children.
28 July 2007 — Submitting patches to Open Source code doesn't come naturally to everyone. It is not easy, since it requires coding skills that the average user does not have. Moreover, code patches require a fair amount of additional documentation, without which the patch itself is virtually useless. These notes will walk you through the requirements of a good patch for MySQL server and perhaps other projects.
26 July 2007 — One of the most popular keynotes of the MySQL Conference & Expo 2007 was called "The Clash of the DB Egos". It was a fight amongst seven database luminaries, all playing an important role either within MySQL AB or as providers of Storage Engines that work closely with MySQL. This article attempts at giving a picture of what the fight was about, through reciting the egos and the questions posed to them by the referee.
12 July 2007 — Damien Seguy had an interesting observation on my use of self joins for generating rolling sums.
4 July 2007 — What's behind MySQL bugs processing? Who handles your bug report? Why does it take so long? These, and many other questions are answered in this article about the internals of MySQL organization.
28 June 2007 — MySQL users often dream about a more powerful yet stable database server. They want a server with more features, like expanding macros, customized logging, access to shell commands, access to live tables from other DBMS. Every feature, given enough development time, can be eventually implemented, but users want them now, with the current GA server. It can be done. Using a proxy server, some of those dreams come true. Today.
27 June 2007 — During my years as a Developer/DBA hearing the words "customizable" or "extensible" always brought a slight smile to my face, particularly when they were used in conjunction with a software sales pitch or evaluation. In fact, more often than not, while presented as product features, these words often really mean, "you can do some additional things with this software if you are willing to invest significant time and resources into doing so". Even today, some of the most popular open source and commercial software solutions provide application programming interfaces (APIs) and plug-ins that are really nothing more than containers that allow you to provide your own code. The goal being to make an off-the-shelf product more applicable to the problems you are attempting to solve without having to write a customized application from scratch.
25 June 2007 — Lookup tables contain, in general, a fixed list of data. This data doesn’t change very often in database business applications. Examples of this data could be a product list, category type, supplier list, state name, zip code, phone area code, etc. In Windows and Internet web business applications, most of these lookup tables are graphically implemented by using ComboBox, ListBox or CheckListBox read-only controls. These controls are loaded with data using two main columns, ID and Name. For example, the USA state table, the ID could be ‘CA’ and the Name ‘California’. Some times, for standard Windows form and Internet web page we need to show data to the end-users from many of these lookup tables. A fast data loading process and defining the main column values for each lookup table is required. In this article I will show you standard lookup data loading procedure and the generic classes object to store and read-only the values of the ID and Name columns from the lookup tables. Selecting and finding the ID and Name values will be provided. Executing stored procedures with input/output parameters in MySQL 5.0/VB.NET 2005 will be covered in detail too.
21 June 2007 — Today, Lenz was putting together some stats on PlanetMySQL feeds added since January this year, and asked in an email whether he should include totals in the stats. I responded yes, and offered a quick SQL solution to get those numbers out of the database. I thought it might be useful for others, so here goes...
16 June 2007 — MySQL AB today published a "Do's & Don'ts" summary article on the 'Top 5 Common Scale-Out Pitfalls to Avoid' -- based on the real-world experiences of the vendor's veteran professional services team. These database experts have helped countless businesses manage their 'growing pains' and be more successful with their scale-out solutions through consulting engagements. They have seen many companies fall into a few common traps when they first design their systems, only to run into performance issues once the explosive growth hits.
The full article is available here.
13 June 2007 — The admission I'm about to make will likely cause me to lose some friends/colleagues in the open source world, but I have to be honest: I like using Microsoft Windows. Except for Windows 3.0-3.1, I always have. Further, I personally much prefer managing databases on Windows than Unix and will also give Windows the nod over Linux in certain areas. See, I came from managing DB2 on the mainframe to running data warehouses with Teradata on their proprietary platform, and then did a long run with Oracle on UNIX (AIX and HPUX).
8 June 2007 — Jan Kneschke works for the MySQL Development Team and is the author of the very popular lighttpd web server. I recently had the opportunity to ask him a few questions about himself and his work.
6 June 2007 — There is a popular myth about the SQL GROUP BY clause. The myth holds that 'standard SQL' requires columns referenced in the SELECT list of a query to also appear in the GROUP BY clause, unless these columns appear exclusively in an aggregated expression. MySQL is often accused of violating this standard. In this article I will attempt to debunk this myth, and to provide a more balanced view regarding MySQL's treatment of GROUP BY at the same time.
21 May 2007 — The value of timely information regarding maintenance releases, including specific information of what bugs have been fixed and when and where to get the upgrade, proves very compelling for those DBAs and developers with little to no bandwidth. The good news is MySQL Enterprise takes the guesswork out of deciding which version of the MySQL server you should be running by providing regularly scheduled Monthly Updates and quarterly Service Packs for the Enterprise Server.
24 April 2007 — MySQL AB’s CEO Marten Mickos kicked off the opening day of the 2007 MySQL Conference & Expo this morning with a keynote exploring the phenomenal momentum of open source software as both a disruptive force on the traditional enterprise software industry and a positive communal movement among individual software developers.
17 April 2007 — Robin Schumacher recently gave us an excellent rundown on sessions at the upcoming MySQL Conference and Expo (April 23-26th in Santa Clara) for DBAs. As a proud developer I wanted to make sure that our enormous developer community had a similar guide. Now, developers will encounter the same problem that Robin pointed out: with so many excellent sessions, you'll be required to make some difficult choices sometimes in what sessions you attend. This guide will hopefully allow you to navigate the waters. I've broken the guide down into a general section and also into programming language specific sections.
12 April 2007 — Sebastopol, CA -- April 10, 2007 -- The 2007 MySQL Conference & Expo is gearing up for April 23-26 at the Santa Clara Convention Center in Santa Clara, California. This year's program includes more than 110 tutorials and sessions to be delivered by some of the most successful companies and fast growing web sites in today's Internet economy -- including YouTube, Flickr, and Wikipedia, whose participation underscores the influence of MySQL's open source database. According to Tim O'Reilly, CEO and founder of O'Reilly Media, Inc., "Every killer app on the Internet is a database application. And that makes MySQL the 'Intel Inside' of the next-generation of computer applications."
5 April 2007 — One of the great things about MySQL is the superior innovation model that’s used to deliver database server software. Rather than relying solely on internal engineers who create and maintain a piece of software (as in a traditional software company), MySQL partners with the millions of active users across the world who take advantage of the open source model and daily extend the MySQL server to do new and pioneering things. These innovations can then be submitted to MySQL AB, tested, validated, and rolled into the database server so everyone can benefit from the creativity of the very active MySQL community.
13 March 2007 — I live in absolute and abject poverty. No, I don't mean financially - I've been blessed beyond what I deserve and MySQL pays me very well. What I mean is that I am utterly time poor. Isn't it amazing how you can be so free in terms of lifestyle and yet have so little time to enjoy and benefit from it all? There are so many options and choices in the world that many times you have a hard time knowing just what to say "Yes" to and what to turn down. Trust me - you'll face this dilemma at the upcoming MySQL User's Conference. Our chairman, Jay Pipes, has outdone himself and put together the most engaging and power-packed agenda that we've ever had. The presenter's list reads like a who's who in the open source and modern database world, with sessions that address everything from deep dives down into database internals to the business side of implementing online database applications. You will find yourself hard-pressed to put together a personal attendee schedule because there will be so much you'll want to see and hear.
13 March 2007 — This year many American states and Canadian provinces will switch to daylight saving time on March 11 (the second Sunday of March) instead of switching on the first Sunday of April as happened during previous years.
8 March 2007 — In Windows and Internet web business applications development the connection to the MySQL database server is critical and requires high-level of security. In ADO.NET database technology the connection is defined in the Connection String property of the connection object. Defining and storing the MySQL Connection String properly is an important application setting task for developers today. In this article I'll show you how to setup and secure MySQL Connection String for Windows application development using VB.NET 2005. Also the difference of programming code between VB.NET 2003 and 2005 will be provided for data loading using MySQL Connector/NET 5.0.3 database driver.
28 February 2007 — Every now and then I get a big reminder of how great it is to be a part of the open source way of doing things. Having a strong community of MySQL lovers who use the free and open source MySQL database server and pay MySQL AB with code contributions and bug reports is truly a great way to develop rock solid and innovative software. Some contributions that come back to MySQL are small, but others are very large indeed. What would be large, you ask? How about a new, powerful transactional storage engine?
19 February 2007 — In Part 1 of this article series, we looked at how the Falcon transactional storage engine was architected and how it compared to some of the other MySQL storage engines. Part 2 covered how Falcon handles transaction management and concurrency. In this final article in the series, I’ll look at how Falcon manages tables and indexes, and also cover backup/recovery along with migration topics.
9 February 2007 — In Part 1 of this article series, we looked at how the Falcon transactional storage engine was architected and how it compared to some of the other MySQL storage engines. In this article, I’ll focus on how Falcon performs transaction management, including some special points on where Falcon differs from some of MySQL’s other transactional engines.
2 February 2007 — If you’ve been using MySQL for any time at all, you know that a unique advantage afforded MySQL users is the ability to use multiple storage engines to manage the underlying data stored on the server. This efficient and modular architecture provides large performance and manageability benefits for those wishing to specifically target a particular application need – such as data warehousing, transaction processing, high availability situations, etc. – while enjoying the advantage of utilizing a set of interfaces and services that are independent of any one storage engine. The MySQL server supplies engines that are internally developed, provided by third-party software vendors, and also allows a user to build their own storage engine if they desire.
18 January 2007 — One of the new features in upcoming MySQL 5.1 Server will be the Event Scheduler. This feature was implemented by Andrey Hristov within the scope of a master's thesis for the University of Applied Sciences in Stuttgart. We incorporated his contribution into our code base - you can read more about this feature in this article from Peter Gulutzan. Andrey is now employed by MySQL AB as a Software Developer. Lenz Grimmer asked him if he would be interested in sharing his story and provide some more background about himself.

