Many vendors are going to performance based testing, also known as hands on exams. Most of the criticisms I receive on a regular basis that that all Certification Exams are PICKY or rely too much on the memorization of trivia. 'Besides, a real {DBA|Developer} never uses most of those commands in Real LifeTM!'
Well, your next MySQL Exam just may eschew most of those complaints. Developers could be asked to normalize tables, DBAs could be asked to set up replication, and Cluster DBAs could be asked to set up a full cluster. There are many details to be worked out.
One of these details are tools that do not come with your MySQL Server. I find the MySQL Administrator a very valuable tool for quick, day-to-day DBA tasks. I am probably not alone in using it. But would it be fair to allow it on a hands on exam? How about other tools?
So, if YOU have an opinion, please let me know and help guide the MySQL 6.0 Exam development.
I am a MySQL Community Manager. Part of the job is working with you to help define MySQL future. Please feel free to let me know where you want MySQL to be next month, next year, and next decade. And the views expressed on this blog are my own and do not necessarily reflect the views of Oracle.
Friday, May 30, 2008
Friday, May 23, 2008
CMA Exam -- Transactions
The Certified MySQL Associate Exam is a general overview of the MySQL database. It is designed for those new to databases and/or MySQL.
The subject of transactions has caused a few folks to stumble on their exams. For someone with a background in programming where you change data and it stays that way, transactions take a little effort to understand.
The usual example is a payment at a bank. A pays B 100 units. If something happens between the time the system takes the 100 out of A's account and puts it into B's account, there is a large chance that both A and B will not be happy. So the subtract 100 and add 100 are treated as one unit and either both have to be completed as a unit or not at all.
So all or nothing.
You type START TRANSACTION, input the needed changes, and COMMIT. And your changes are done as one to your database. Or half way through you realize that something is wrong and use ROLLBACK to get back to where you were when you typed START TRANSACTION.
Almost.
First, you have to use a storage engine that supports transactions. Try using START TRANSACTION and COMMIT with MyISAM and see how it reacts.
Second, some commands like CREATE TABLE, DROP TABLE, or UNLOCK TABLES (see MySQL Reference Manual section 12.4.3) can cause MySQL to implicitly issue a COMMIT on your behalf. You have better know these to help you pass the exam and to keep your sanity on the job.
The subject of transactions has caused a few folks to stumble on their exams. For someone with a background in programming where you change data and it stays that way, transactions take a little effort to understand.
The usual example is a payment at a bank. A pays B 100 units. If something happens between the time the system takes the 100 out of A's account and puts it into B's account, there is a large chance that both A and B will not be happy. So the subtract 100 and add 100 are treated as one unit and either both have to be completed as a unit or not at all.
So all or nothing.
You type START TRANSACTION, input the needed changes, and COMMIT. And your changes are done as one to your database. Or half way through you realize that something is wrong and use ROLLBACK to get back to where you were when you typed START TRANSACTION.
Almost.
First, you have to use a storage engine that supports transactions. Try using START TRANSACTION and COMMIT with MyISAM and see how it reacts.
Second, some commands like CREATE TABLE, DROP TABLE, or UNLOCK TABLES (see MySQL Reference Manual section 12.4.3) can cause MySQL to implicitly issue a COMMIT on your behalf. You have better know these to help you pass the exam and to keep your sanity on the job.
Sunday, May 11, 2008
DBA Knowledge
Work on the next generation of MySQL Database Administrator Exams has started and it raises the question of 'What does a DBA actually do?
The vivacious Sheeri Kritzer Cabral had a list of Best Practices for Database Administrators that is a good starting point. A lot of the items she lists are hard to quantify, especially for someone who has to write performance reviews and make salary increase recommendations.
I used to work for a program manager who was very good at managing developers by the numbers of lines of code generated, bugs fixed, and number of hours spent in the little gray cubicles. DBA work is not as easy to quantify. It was frustrating for both of us as there was no discrete output to log, report and graph. And how can examining buffer cache hits rates be valued by an employer in comparison to someone putting new options on a web page.
There is not a little pile of widgets at the end of the day to count and then divide by the numbers of hours worked to prove productivity. So, let us look at the quality of the work instead of a quantity.
What should a very good DBA fresh off the street be able to do the first day of a new job? Or what are the things you should check on a new job.
So the next generation of exams are going to be less based on knowledge of syntax, options or keywords and more on actual job performance. New advances in testing technology will allow us to quantify skills with a MySQL database and add much more value to the MySQL Database Administrator Certification.
More on the new exams will be posted here when the news is available.
The vivacious Sheeri Kritzer Cabral had a list of Best Practices for Database Administrators that is a good starting point. A lot of the items she lists are hard to quantify, especially for someone who has to write performance reviews and make salary increase recommendations.
I used to work for a program manager who was very good at managing developers by the numbers of lines of code generated, bugs fixed, and number of hours spent in the little gray cubicles. DBA work is not as easy to quantify. It was frustrating for both of us as there was no discrete output to log, report and graph. And how can examining buffer cache hits rates be valued by an employer in comparison to someone putting new options on a web page.
There is not a little pile of widgets at the end of the day to count and then divide by the numbers of hours worked to prove productivity. So, let us look at the quality of the work instead of a quantity.
What should a very good DBA fresh off the street be able to do the first day of a new job? Or what are the things you should check on a new job.
- Check to make sure the root account has a password? Do all the accounts have passwords? Do the hosts exclusion or inclusion fit the current network?
- Are backups being made? Are they any good? IS everything being backed up?
- Is replication running?
- Is the server optimized?
- What versions of software are in use? How old is that?
So the next generation of exams are going to be less based on knowledge of syntax, options or keywords and more on actual job performance. New advances in testing technology will allow us to quantify skills with a MySQL database and add much more value to the MySQL Database Administrator Certification.
More on the new exams will be posted here when the news is available.
Sunday, May 4, 2008
Getting Started wit MySQL & North Texas MySQL
Saturday was the Dallas Tech Fest. Several hundred developers heard presentations on the latest and greatest from several vendors and speakers. Sun was was on the sponsors and I spent a few hours meeting and greeting.
Several people were interested in MySQL but had no idea where to start. MySQL's download page really needs a 'hey, first timers who want to learn MySQL, click here to get the server and GUI tools in one fell swoop'.
As one of the shrinking numbers of CLI-centric dinosaurs, I acknowledge that most of the world prefers point-and-click and the MySQL Administrator makes quick work of many statements that require fussy typing. The Query Browser is also one of those tools that quickly becomes a regular in your arsenal. Add in the Workbench and you have a pretty complete set of tools for designing, administrating, and using your databases.
Then you need a good book on MySQL. I will try to do a rapid review next entry.
--
If you are in the Dallas/Fort Worth Area, Monday night at 7:00pm will be a meeting of the North Texas Linux Users Group. We will have a quick presentation on getting started with MySQL on Unbuntu. Then we will discuss moving the meetings to someplace more Dallas-centric (or not) like the Sun Office off the Dallas Tollway. After the meeting, adults can go celebrate the day most of Americas thinks is Mexican Independence Day (it is really in September but 'Cinco De Mayo' is a little easier to pronounce for non-Spanish speakers than the 16th of September in Spanish).
Several people were interested in MySQL but had no idea where to start. MySQL's download page really needs a 'hey, first timers who want to learn MySQL, click here to get the server and GUI tools in one fell swoop'.
As one of the shrinking numbers of CLI-centric dinosaurs, I acknowledge that most of the world prefers point-and-click and the MySQL Administrator makes quick work of many statements that require fussy typing. The Query Browser is also one of those tools that quickly becomes a regular in your arsenal. Add in the Workbench and you have a pretty complete set of tools for designing, administrating, and using your databases.
Then you need a good book on MySQL. I will try to do a rapid review next entry.
--
If you are in the Dallas/Fort Worth Area, Monday night at 7:00pm will be a meeting of the North Texas Linux Users Group. We will have a quick presentation on getting started with MySQL on Unbuntu. Then we will discuss moving the meetings to someplace more Dallas-centric (or not) like the Sun Office off the Dallas Tollway. After the meeting, adults can go celebrate the day most of Americas thinks is Mexican Independence Day (it is really in September but 'Cinco De Mayo' is a little easier to pronounce for non-Spanish speakers than the 16th of September in Spanish).
Subscribe to:
Posts (Atom)