Archive for the ‘tools’ tag
In the MySQL ecosphere there is an ecosystem of tools. Like real-world ecosystems, the “creatures” in the MySQL tools ecosystem can be classified and organized by a taxonomy. There are already multiple taxonomies of software bugs (e.g. A Taxonomy of Bugs), but as far as I know this is the first Taxonomy of Database Tools. A taxonomy of database tools serves useful purposes, as discussed in the previously linked page. For me, the most useful purpose is the high-level ecosystem view which I use to compare MySQL tools to Drizzle tools. In so doing, one sees clearly how the MySQL tools ecosystem is thriving whereas the Drizzle tools ecosystem is just budding, so to speak. For other people, I imagine two overarching interests in a taxonomy of database tools.
First, by laying out the ecosphere in a simple, organized, and comprehensible fashion, a taxonomy of database tools can permit a user (DBA, sysadmin, etc.) to see how well they are “tooled”. For example, when I gave a presentation on pt-table-checksum at PLMCE 2012, I was surprised to learn how many people never used a tool to verify replication data integrity. I did not bother to ask why, but I suspect it is because they were not aware that such tools existed. By looking at this taxonomy of database tools, some users might discover a new type of tool of which there are already many examples.
Second, a taxonomy of database tools is interesting for developers because it reveals where a database server has missing capabilities that users compensate for with tools. Point in case: pt-table-checksum is used to verifying replication data integrity because until MySQL 5.6 this capability did not exist in the database server. It is debatable whether all types of tools could be implemented natively in a database server; in theory, they probably could. This debate becomes a practical concern for modularly-designed database servers like Drizzle because in my humble opinion it is far easier to write plugins and thus tools-as-plugins for Drizzle than for MySQL.
This Taxonomy of Database Tools is still a work in progress. A lot of the descriptions need to be expanded, traits refined, and more examples added. If you do not agree with its organization, you can suggest a change, or develop your own taxonomy. In any case, I will continue to refine this Taxonomy of Database Tools to see where it leads and what it reveals.
Although I no longer maintain hackmysql.com, I still actively develop MySQL tools. An article I wrote, 10 essential MySQL tools for admin, was published today. I hope no one’s feelings are hurt if their tool isn’t in the list, but it was rather difficult to compile the list given that so many tools are either not actively developed, not tested, or not well documented. Given lag time between writing and publishing, I was not able to write about Yoshinori’s MHA or newer tools. And given length constraints, I was not able to write about more tools. In any case, the world of MySQL tools is alive and well.
I’m surprised, and flattered, to see that people still use, write and recommend mysqlsla, mysqlreport and–most surprisingly–mysqlsniffer. In truth, however, I consider all the original Hack MySQL tools as retired. Maatkit consumes the majority of my development time and provides better replacements for all the Hack MySQL tools. The mk tools are better because–most importantly–they’re tested, their code is more robust, and they benefit from the collected knowledge and experience of the community’s top minds (whereas the Hack MySQL tools are brain-children of only my knowledge and experience circa several years ago).
Thus I created a new tools page where I list and briefly profile free, open-source MySQL tools. As the intro paragraph states, MySQL Forge does this, too, but imho the forge is a dense jungle in which it is difficult to discern the useful bits from the less-than-useful bits. My tools page is meant to 1) inform people that the Hack MySQL tools are retired, 2) list replacements for them, and 3) give people new to the MySQL universe a quick, simple list of tools they’ll probably want to become familiar with.
Kind thanks to all who used, wrote about, contributed to and recommend the Hack MySQL tools over the years.