Both Oracle and MySQL provide a number of sample schemas so users can build different schema environments and load them with data. So I thought I'd get one of the Oracle sample schemas and go through the exercise of converting it to a MySQL schema. I could have gone in either direction, since this is more of a MySQL blog I made MySQL the destination. Before I start let me introduce some of
I had written about this but mostly in parts. Here is a step by step guide to optimizing mysql. Following variables should be looked into for optimizing mysql.Memory consumption: Total memory consumption should be less than the available RAM. You should also leave a small amount of memory for the OS. Total memory consumption can be calculated using this formula (for myisam tables):Key_buffer + (
In an earlier post, the pursuit of openness, I announced that MySQL is working at a new release model.
There are still a few details to sort out, but the general plan is ready. The new release model has been approved and starts to operate immediately.
The basic principles of this model are:
- The trunk is always at least in beta quality.
- A milestone starts in beta quality ( never in alpha) with a merge between the trunk and a stage tree;
- Milestone releases, with RC quality, released every three to six months.
- Integration windows between milestones allow the insertion of new features from stage trees
- GA releases happen every 12 to 18 months;
- There are not more than two releases in active …
In an earlier post, the pursuit of openness, I announced that MySQL is working at a new release model.
There are still a few details to sort out, but the general plan is ready. The new release model has been approved and starts to operate immediately.
The basic principles of this model are:
- The trunk is always at least in beta quality.
- A milestone starts in beta quality ( never in alpha) with a merge between the trunk and a stage tree;
- Milestone releases, with RC quality, released every three to six months.
- Integration windows between milestones allow the insertion of new features from stage trees
- GA releases happen every 12 to 18 months;
- There are not more than two releases in active …
MySQL clients uses COM_* commands to communicate with the MySQL server. MySQL show status breaks these commands into many categories and displays how many times each of these commands were executed. It, however, does not display the time taken to processes those commands as well as how many times the command execution resulted in an error. Enter Dtrace
I wrote a small DTrace script to figure out what commands(COM_*) are being executed on the server and summarize them. If you have used truss -c on Solaris before, you must liked its concise summary; I have tried to present the output in a similar fashion.
For Sysbench read-write (10 queries per transaction) test with 1 thread, each executing 1 transaction, you see
# ./cmdtruss Sampling... Hit Ctrl-C to end. ^C Command seconds calls errors Query 0.042 2 Quit 0.000 2 CloseStmt …[Read more]
Image via Wikipedia
Todd Hoff has posted a link to a Los Alamos National Lab presentation on Graph Databases. In this paper they provide a revisit on the classic RDBMS vs Graph database debate.
The Relational Database hasn’t maintained its dominance out of dumb luck. Instead the RDBMS has consistently outperformed while providing the most general use capability of all the variety of platforms that have been available. Many other approaches have been tried, often these have provided better object model integration (OODBMS) or better data model representation. But when the …
[Read more]
Articles on this blog have been pretty scanty of late for a
simple reason--we have been 100% heads-down in Tungsten
code since the recent MySQL Conference. The result has been a
number of excellent improvements that are already in Subversion
and will appear as open source builds over the next couple of
weeks.
Tungsten has a simple goal: create highly available, performant
database clusters using unaltered commodity databases that are
simple to manage and look as close to a single database as
possible for applications. Over the last two months we completed
the integration of individual Tungsten components necessary to
make this happen.
Full integration is a big step forward and finally gets us to the
ease-of-use we were seeking. Imagine you want to add a slave
database to the cluster. …
Hi All!
I was just reading PlanetMySQL and noticed Mike Hillyer's
recent post on a user-friendly age function for MySQL.
Basically, this function accepts two DATETIME values
and returns an indication of the time between the two dates in
the form of a human-readable string. For example:
mysql> select TimeDiffUnits('2001-05-01', '2002-01-01')
+-------------------------------------------+
| TimeDiffUnits('2001-05-01', '2002-01-01') |
+-------------------------------------------+
| 8 Months |
+-------------------------------------------+
1 row in set (0.00 sec)
Just for fun, I decided to try and refactor it, and I'm …
|
If you have missed Michael McFadden's session at the last MySQL Conference, here's a chance to catch up. On June 11, at 17:00 UTC Michael McFadden will present at a free webinar, on the subject of Faster Data Reduction and Smoothing for Analysis & Archival in MySQL. Don't let the "For ISVs" distract you. This session is a collection of very practical and down to earth tips for tasks that can be in the TODO list of any DBA. |
In addition to being practical, …
[Read more]
Here is a bit of code I worked up for us a recently for
Drizzle:
drizzle> DELIMITER |
Note that there is no semicolon after the '|' symbol, which we
will use as the delimiter for our purposes. You have to choose a
delimiter that does not appear in your procedure, and it can be
more than one character.
drizzle> CREATE PROCEDURE perl_hello (param1 string)
-> return "Hello " . $_[0] . "!"
-> |
Query OK, 0 rows affected (0.05 sec)
drizzle> CALL perl_hello('Brian');
-> |
Query OK, 1 row affected (0.00 sec)
drizzle> DELIMITER ;
drizzle> SELECT @perl\G
*************************** 1. row
***************************
@perl: Hello Brian!
1 row in set (0.00 sec)
Stored Procedures!?!
In an actual language!?!
About a week ago I was talking to a CTO for a …