Showing entries 27221 to 27230 of 44125
« 10 Newer Entries | 10 Older Entries »
Intel X-25e and Mysql Part 1b: Don’t let your Drive Over Eat!

The plan was only to do two quick posts on RAID Performance on the X-25e, but this was compelling enough to post on it’s own.  So in part I Mark Callaghan asked hey what gives with  the SLC Intel’s single drive random write performance,  It’s  lower then the MLC drive.   To be completely honest with you I had overlooked it, after all I was focusing on RAID performance.  This was  my mistake because this is actually caused by one of the Achilles heals of most flash on the market today, crappy performance when you fill more of the drive.  I don’t really know what the official title for it is but I will call it “Drive Overeating”.

Let me try and put this simply:  a quick trick most vendors use to push better random write #’s and help wear leveling is to not …

[Read more]
MySQL reengineering project

Here's another chapter of the MySQL evolution saga.

We know that MySQL today, although hugely popular and effective, has many shortcomings. A Refactoring effort has been announced, after a few months of internal discussions.

The effort is open to external contributions. There is a mailing list for discussing the "what" and the "how" of the new path.

The goals of the project are basically

  • Modularity. Make it easier to add new features without breaking existing ones.
  • Pluggability. Make it easier for third parties to add functionality.
[Read more]
AWS Experience Part 1: Setting up the Tools

Hi all,

I've just been reassigned (partially) to make sense of using a MySQL database server in the cloud, namely in Amazon Web Services. I'll be blogging about my experiences. Today is part 1.

After creating the account, I got to work. I signed up for EC2 (Elastic Compute Cloud 2), Simple Storage, and EBS (storage that allows for persistence). I played around with starting an instance, terminating it, etc. Then I got started with the command line tools. This is what I did.

  • I made sure that my JAVA_HOME was set correctly in my mac: I typed
    export JAVA_HOME=/Library/Java/Home/
    in the terminal. Then I typed
    $JAVA_HOME/bin/java -version
    to confirm that the JAVA_HOME was indeed set correctly.
  • Then I made created a .ec2 directory in my home directory. I then added my private key and X.509 certificate to this directory. I also made sure to point to these locations
[Read more]
AWS Experience Part 1: Setting up the Tools

Hi all,

I've just been reassigned (partially) to make sense of using a MySQL database server in the cloud, namely in Amazon Web Services. I'll be blogging about my experiences. Today is part 1.

After creating the account, I got to work. I signed up for EC2 (Elastic Compute Cloud 2), Simple Storage, and EBS (storage that allows for persistence). I played around with starting an instance, terminating it, etc. Then I got started with the command line tools. This is what I did.

  • I made sure that my JAVA_HOME was set correctly in my mac: I typed
    export JAVA_HOME=/Library/Java/Home/
    in the terminal. Then I typed
    $JAVA_HOME/bin/java -version
    to confirm that the JAVA_HOME was indeed set correctly.
  • Then I made created a .ec2 directory in my home directory. I then added my private key and X.509 certificate to this directory. I also made sure to point to these locations
[Read more]
MySQL Connector/C++: working with Stored Procedures

Stored Procedures have been a MySQL 5.0 Key Feature. We have marketed them as an Enterprise Feature. Of course, the MySQL Connector/C++ supports them as far as possible. Using them is easy as long as you respect some limitations that still exist. The MySQL driver for C++ inherits those limitations from its underlying C-API. Which in turn cannot offer features not supported by the MySQL Client Server protocol. However, good news is: most things work just fine!

Setting up a connection for Stored Procedures

More good news first: no extra set up required with Connector/C++.

Stored Procedures can be invoked using the SQL command CALL. Unlike most other SQL statements, CALL statements can return more than one result set. CALL returns at least one result set to indicate the call status. In addition it can return further result sets returned by the statements executed by the stored procedure …

[Read more]
MySQL Connector/C++: working with Stored Procedures

Stored Procedures have been a MySQL 5.0 Key Feature. We have marketed them as an Enterprise Feature. Of course, the MySQL Connector/C++ supports them as far as possible. Using them is easy as long as you respect some limitations that still exist. The MySQL driver for C++ inherits those limitations from its underlying C-API. Which in turn cannot offer features not supported by the MySQL Client Server protocol. However, good news is: most things work just fine!

Setting up a connection for Stored Procedures

More good news first: no extra set up required with Connector/C++.

Stored Procedures can be invoked using the SQL command CALL. Unlike most other SQL statements, CALL statements can return more than one result set. CALL returns at least one result set to indicate the call status. In addition it can return further result sets returned by the statements executed by the stored procedure …

[Read more]
How To Set Up WebDAV With MySQL Authentication On Apache2 (Debian Lenny)

How To Set Up WebDAV With MySQL Authentication On Apache2 (Debian Lenny)

This guide explains how to set up WebDAV with MySQL authentication (using mod_auth_mysql) on Apache2 on a Debian Lenny server. WebDAV stands for Web-based Distributed Authoring and Versioning and is a set of extensions to the HTTP protocol that allow users to directly edit files on the Apache server so that they do not need to be downloaded/uploaded via FTP. Of course, WebDAV can also be used to upload and download files.

Webinar replay available: What’s New in the Next Generation of MySQL Cluster?

There is another live webinar on MySQL Cluster 7.0 scheduled for 27th May 09:00 (Western European time) / 08:00 (UK time) / 11:00 (Eastern European time) and you can register here.

Alternatively, if you can’t wait that long then you can watch/listen to the play-back of the original webinar.

Note that you may need to install the WebEx Player (Windows and Mac) - unfortunately, there doesn’t seem to be a simple, supported solution for LINUX users but you can always download the slides (PDF format) from the same link or else wait until 27th May and view it live.

What’s New in the Next Generation of MySQL Cluster?
Thursday, April 30, 2009

[Read more]
Connection pooling libmemcached

A while back I looked at the Memcached UDF for MySQL, and noticed that it didn't use libmemcached in an optimal way. In order to work in a multithreaded environment it used the following pattern:

   memcached_st* clone = memcached_clone(NULL, memc);

   ... memcached operations using the clone ---   

   memcached_free(clone);

Well, that doesn't look bad, does it? Well, it isn't that bad, but if you look at the network traffic you will see that we end up connecting / disconnecting to the involved memcached servers every time, and memcached is not optimized for "single-shot" connections.

So how should you solve this? Well, you should reuse your clones! And luckily for you, you don't have to reinvent the wheel. Yesterday I pushed a patch to libmemcached introducing a new library: libmemcachedutil. The intention of that library is to put utility functions built on top of libmemcached

[Read more]
Journal of Storage Engine Development on Drizzle

I’ve decided to start a series of blog entries on not-so-obvious findings that I’ve found while working on my new project. By archiving the findings, I’m hoping that I can help those that are looking into developing a storage engine for the MySQL family in the future.

Accumulating these mini-knowledge would also be useful for me since I can refer back to it when I forget something. Also, once I write enough entries I’m planning on summarizing them and making it available on the Drizzle Wiki. If MySQL is interested in updating the engine documentation, I would be more than happy to help there too.

So to begin with, I’ll describe something trivial that I stumbled across while trying to catch an error on duplicate primary key insertion to the data table.

[Read more]
Showing entries 27221 to 27230 of 44125
« 10 Newer Entries | 10 Older Entries »