March 12, 2007 -- The schedule is nearly complete for the 2007 MySQL Conference & Expo, happening April 23-26 at the Santa Clara Convention Center in Santa Clara, California. This year's program promises to be the most exciting ever, offering more than 110 sessions and workshops for every type of user -- from experienced database administrators and programmers to MySQL beginners. Attendees who register by March 14 will save $200 off the standard fee. Other discounts are also available that may be used in conjunction with early registration for additional savings.
So, within MySQL it's not 'allowed' to release or name anything
prefixed with 'My' (but MySQL of course). An example is MyODBC
doesn't exists anymore, it's Connector/ODBC.
But you see lots of successful MyThis and MyThats.
Bah, anyway, there are lots of them of course. What's 'yours' on
the net?
In August 2006 I made a post about the MySQL blackhole engine and its possible use for replication scenarios.
Back then the primary focus was to reduce the amount of data being transferred between master and possible many slaves during normal business. This speeds up processing on the slaves, because they have considerably less data to first store to their relay logs and then immediately discard again.
What still takes a lot of time is the initial setup of a slave system. This is because there is a potentially large SQL based dump file to be executed on maybe relatively low-end systems (e. g. Celeron CPUs and single IDE hard drives). While this can be made to work reliably with a set of scripts to automate the process of downloading a zipped SQL file from a local server and running it against the clients' databases, it …
[Read more]In August 2006 I made a post about the MySQL blackhole engine and its possible use for replication scenarios.
Back then the primary focus was to reduce the amount of data being transferred between master and possible many slaves during normal business. This speeds up processing on the slaves, because they have considerably less data to first store to their relay logs and then immediately discard again.
What still takes a lot of time is the initial setup of a slave system. This is because there is a potentially large SQL based dump file to be executed on maybe relatively low-end systems (e. g. Celeron CPUs and single IDE hard drives). While this can be made to work reliably with a set of scripts to automate the process of downloading a zipped SQL file from a local server and running it against the clients' databases, it …
[Read more]There’s a lot of things about the MySQL bug tracking system i like… but there’s a few things that annoy the heck out of me.
Today it’s the fact that if you put a term in the “with any of the words” field on advanced search that’s an number (e.g. ‘839′ as you’re looking for bugs that talk about error 839) you get taken to bug numebr 839. Funnily enough, this has nothing to do with an NDB problem I’m trying to see the status of. grr…
and now, back to your regular programming…
So, within MySQL it's not 'allowed' to release or name anything
prefixed with 'My' (but MySQL of course). An example is MyODBC
doesn't exists anymore, it's Connector/ODBC.
But you see lots of successful MyThis and MyThats.
Bah, anyway, there are lots of them of course. What's 'yours' on
the net?
Back around November 2005, I started working on query profiling in MySQL via the SHOW PROFILE and SHOW PROFILES commands. It’s been an interesting ride, but profiling support is finally available in public releases of MySQL starting with MySQL Community 5.0.37!
I had a few thoughts on the process and the feature that I’d like to share:
It’s been rough — Although everyone at MySQL who had seen the patch had wildly positive feedback about it, it took almost a year and a half to get things committed. Chad Miller took up my cause (back in December?) with the profiling patch as well as many others, and things actually started making progress. …
[Read more]
I am a fan of using GUIDs as primary keys. They are
database
independent, object independent and I can either create them in
my
application or in the database (MySQL since 5.0 has had a
UUID()
function but since it does not replicate I don't use it
normally...
this has been fixed in 5.1 though).
What I have heard for years was that Innodb didn't handle them
very
well. I have had my doubts, but never taken the time to see if
this
was true or not.
This week I finally got around to putting this to a test.
/mysqlslap --concurrency=1,50,100,150,200,250,300 --iterations=10
--
number-int-cols=2 --number-char-cols=3 --auto-generate-sql
--auto-
generate-sql-add-autoincrement
--auto-generate-sql-load-type=update --
auto-generate-sql-execute-number=10000
--auto-generate-sql-unique-
write-number=10 --auto-generate-sql-write-number=100000 …
[Update 16/03/2007]: Wrapped up a short post about the proceedings.
Next Thrsday, March 15th 2007, I'll give a short presentation on HTTP Load Balancing & High Availability with Wackamole at the PHP User Group Dortmund. We can use eZ System's office (cheers!) at Emil-Figge-Strasse 80. If you're in the area consider saying hello. We meet at 18:30 (that's 6:30pm :-) and I'll start with the presentation as soon as everybody is there and everything is set up.
You'll learn about how to reliably spread a lot of HTTP requests over a set of machines and when and why it is a good idea to do so. I'll shed some light on the confusion (even if you're not aware of any) about Load Balancing and High Availability and how they relate to scaling HTTP. That done, …
[Read more]This is not about how to write a Stored Procedure (SP), But how to efficiently write a SP.
MySQL Query Browser
The easiest way to write a SP is to use a MySQL Query Browser, Just select the database and right click the dB and "Create Stored Routite..." This shall help you do easily modify, edit and create procedures.
Command Line
Unfortunately, not many of the dB guys could have access to GUI and create/edit access permissions, they may have to rely on the CLI. This is where create / edit of SPs is the most tedious. Lets set something in our system, before we log into MySQL.
- In your
~/.bashrc
add the following...
export EDITOR=vim VISUAl=vim
- Create / Edit
~/.vimrc
file, and add the following...
set noai set nonu
- Log into the MySQL CLI, and set the following command
delimiter //
…