I just uploaded the first ready-to-use package of the MySQL Index Analyzer (version 0.02). You can download it via its download site.
I recommend going to the MIA homepage to see what's new and how to use it.
I just uploaded the first ready-to-use package of the MySQL Index Analyzer (version 0.02). You can download it via its download site.
I recommend going to the MIA homepage to see what's new and how to use it.
Recently I was reminded painfully of the fact that habits you have taken to once hardly ever get laid off.
I usually consider myself someone who tries to write software after I have thought it through. I do not mean "over-engineering", "over-abstracting" and "over-prepare-for-anything-that-might-ever-come'ing". However I also believe that starting hacking blindly is not a good thing either. And I try to write "nice" code, even though it might be a little more work, as long as it is easier to read or just plain more stable (which is often the same).
Sometimes however, especially under a tight schedule, by force of habit I (and probably any developer out there) tend to do things that upon later review make me feel deeply embarrassed. Just so I did a couple of weeks ago...
I had to write a component that translates data from a legacy system, stored in plain text files, into a relational database, accessed through an object …
[Read more]Development of a more structured version is in progress. I just committed a set of changes to the repository that changes the current, rather monolithic, single-class design to what will be the first step of a more modular one.
Currently the generation of ALTER TABLE statements has been removed and the output format of the analysis is slightly different. But that is mere cosmetic.
What is much more important is that now the gathering of database schema information is based on a pluggable system, designed around an interface called IndexDescriptorProvider. Up to now I have just ported the MySQL 4 stuff that was already in the first version to this new architecture. Please feel free to have a look at it and tell me what you think.
Next thing I'll do is implement a provider based on the INFORMATION_SCHEMA database available in MySQL 5.x to see if I missed anything.
Go to …
[Read more]I posted some Basic Documentation for MySQL Index Analyzer including a simple example. This is intented to get started with the tool without having to read the code.
Any ideas and suggestions for improvements are appreciated :)
Back in January I posted a simple MySQL duplicate index finder tool. Because I read requests for such a tool on the MySQL Performance Blog I decided to open a new project on Google's code hosting service as well as a new blog to track it.
So if you are interested and maybe even want to contribute to it, go have a look.
Looking at the list of referrers for this blog, I found one coming from Mike Kruckenberg. First of all it is a nice post to read for anyone who (has to) work with databases, so be sure you take a look.
Moreover I learned about LogBuffer which I did not know before. So if anyone else dealing with databases does not know it yet, maybe you will it as interesting as I did.
It's time to turn our attention to the sixth edition of Log Buffer, a Carnival of the Vanities for the DBA community.
This week, like every week, DBAs all around the world have been hard at work writing about their experiences, many of them providing detailed instructions on new and interesting ways to use and manage a database.
For folks wondering if it's worth all the work, Eddie Awad's Blog now has the latest results from his Unofficial Oracle Developer/DBA Salary Survey. The results are interesting, and hopefully encouraging. While the data is why we all rush there to see where we stand, there's also a good summary of the process Eddie went through to run and process the …
[Read more]Setting up MySQL replication is fairly easy. Just tell the slaves which master they need to connect to and make sure the master is writing binlogs. Ok, it is a little more complicated, but in the end it's pretty straight-forward.
If however you have large number of slaves and a rather busy master machine, the network load can become significant. This is because all statements that are written to the binlog are transferred to all the slaves. They put them into their relay logs and asynchronously process them. Each slave may decide which statements need to be executed and which can be discarded. This is especially useful in setups where there are tables modified on the slaves that should not be replicated.
Use case
In a production scenario we have up to 35 slaves configured against a single master. The master does "full" binlogs, i. e. no exceptions are made. This is done on purpose, because the binlogs are backed up for …
[Read more]
This is more a reminder for myself than a regular post. Because I
have been fiddling around with the xorg.conf to get
my Linux desktop right with dual head and the right resolution on
each screen, I post my configuration here. If anybody finds it
useful, they are welcome to copy it.
I am currently using Ubuntu 6.06 (Dapper Drake) which comes with
X.Org 7.0. My machine has a GeForce 5600XT based graphics board
by LeadTek. It has a DVI-I and a VGA port. I installed the
closed-source nvidia driver to get hardware
acceleration and extended features the X.Org nv
driver does not provide. Moreover I could not get dual head right
with the X.Org driver.
The following configuration sets up two screens, one for the left display (analogue TFT, 1280x1024) and one for the right (CRT, 1024x768).
# /etc/X11/xorg.conf (xorg X Window System server configuration file) # # This file was generated by …[Read more]
Now this is the late "Part 1 of 2" (Part 2 was published first). Took me longer than expected, but I finally got it done.
In the beginning there was Windows...
I have been working with all versions of Windows starting with 3.0 on a 386SX16. Over the years I have gained extensive knowledge about many aspects of the inner workings, the weaknesses and strengths. Up to now I have been using Windows XP as my "main" operating system. It certainly has its flaws, but all told it is a fine piece of software.
I also believe to have a somewhat profound insight into Linux. I started with Debian Potato and have since used both newer Debian versions (Woody and Sarge) as well as several flavors of Red Hat (beginning with RH9, up to FC5) and some SuSE, too. Right now I am using Ubuntu Dapper Drake 6.06 to write this. However the majority of the …
[Read more]