Tuesday Oct 13, 2009

MySQL Architecture and Solutions

Today I made a presentation to 100+ audience mostly comprising of DBAs and software consultants about MySQL Architecture and Solutions. You can download the presentation slides. This focuses on architecture overview of MySQL products and solutions.

Friday Aug 01, 2008

How to dump mysql table definition file header

If you decide to copy over one table from MySQL installation to another installation, this could be done as simple as copying over your-table-name.\* in data directory. Ofcourse, to do this, the database should not be running at the time of copying.

For example, for tables created by MyISAM storage engine, the files to be copied for table mytable are mytable.frm, mytable.MYD and mytable.MYI. The ".frm" file contains table definition, the ".MYI" contains info about index and ".MYD" contains data.

If you do this kind of stuff often, you may want to dump the header of the ".frm" header file. I just wrote a script for this. You can download this php script "frmdump" from here. Note that it is a php script, but meant to be run from command line (not to be used as web page) :

   $  ./frmdump   mytable.frm
Dumping  mytable.frm using .frm header format ...

 OFFSET |Len| Expected   | Found  | Comments
 (Dec)  |   |  (Hex)     | (Hex)  |
 0      | 2 |  FE 01     | fe 01  | Magic mark. 0xFE 01
 2      | 1 |  09        | 09     | FRMVER + 3 + VarcharInTab?1:0
 3      | 1 |  09(MyISAM)| 09     | Found type: DB_TYPE_MYISAM
 4      | 1 |  ??        | 03     | ??
 5      | 1 |   0        | 00     | Always 0
 6      | 2 |  00 10     | 00 10  | IO_SIZE 4096(dec)is 0x1000(LittleEnd)
 8      | 2 |  01 00     | 01 00  | ???
 \*      | \* |  .......   | ...... | .......
 33     | 1 |  05        | 05     | Marked 5 for Ver5 FRM File
 38     | 1 |  08? 2e?   | 2e     | default charset num for this table.
                                  | 08 is latin1 default. 2e is utf8_bin
 51     | 4 |  Version   | 00ea66 | MySQL Version ID Found: Dec: 60006

Just notice the 4 bytes at offset 51. That is the MySQL version ID that created this .frm file! The decimal 60006 indicates that this is 6.0.6 (it is now alpha) release.

If you want to know more about the file format you can check out this link

Tuesday Jul 29, 2008

Report for MySQL Camp, 29th July 2008, Bangalore

This MySQL event with Kaj Arno was well received. Kaj talked about the product, from different aspects, both technical and business with bit of short history, how the community could contribute, how safe MySQL at the hands of Sun, etc. It was very engaging and informative.

In his typical style of localising presentations beyond english , he started the presentations with speaking couple of sentences in few local languages: Kannada, Tamil and Hindi. The audiences were pleasantly surprised and this received huge applause.

Kaj's picture

I talked about specifically how to contribute code to MySQL-- how to get started with a focus to contribute code. I put lots of urls through out the presentation and I promised to make the slides available through my blog. Here is the slides uploaded to slideshare.net :

I have also uploaded the presentation to Bangalore MySQL User Group website: http://mysql.meetup.com/297

Kaj had shown many screen shots of many of these urls in his talk, that is good, because it will be hard to miss those details.

Thursday Jul 24, 2008

MySQL Camp with Kaj Arno in Bangalore : 29th July 2008

Good news for everyone interested in MySQL looking to connect to fellow MySQL'ers and all opensource enthusiasts! We are organizing MySQL Camp in Bangalore on coming 29th July 2008. This is a free event open to all, so invite your friends and every one... Here is the details ... I have been circulating the following contents to every one so that it will be easier for them to forward by e-mail. Feel free to forward these contents:

What : MySQL Camp With Kaj Arno

When : 29th July 2009, 4PM - 7PM

Where : Hi-Tech Seminar Hall,
DES Block (Dept of Electrical Science)
M S Ramaiah Institute of Technology
Near MS Ramaiah hospital
MSR Nagar, Bangalore - 560054

Location Map: http://tinyurl.com/msrit-bangalore

RSVPs and Details are available at
Bangalore MySQL User Group URL : http://mysql.meetup.com/297

Scheduled Sessions:

1. MySQL - The community, The Product, The Company by Kaj Arno

An overview of all things MySQL, from a combined technical and business perspective.
A short history of MySQL, the company, the product. What the MySQL Community is, and
how MySQL works with it. How MySQL is being integrated into Sun. (One Hour)

About Speaker : Kaj Arno is a well known community leader promoting open source and bringing cross cultural teams to work together.

2. How to Contribute Code to MySQL by Thava Alagu

A discussion on How the community can contribute code to the MySQL DB Project. (30 mins)

About Speaker: Thava Alagu is database expert with 14 years of experience in computer industry. He works for Database group in Sun Microsystems, Bangalore.

3. Performance Optimisation in Enterprise Applications by Sonali Minocha
A discussion on how performance optimisation can be carried out using MySQL for Enterprise Applications. (30 mins)

About Speaker: Sonali Minocha is well-known International MySQL Trainer & Consultant. Sonali is India's first certified MySQL DBA & MySQL Authorized Instructor; Sonali is also a co-founder of Open Source Community - OSScamp. She has worked with MySQL database for more than 5 years.

Note: This event is organized by Sun Microsystems, India and OSS Cube.
OSS Cube is MySQL authorized training partner.

This is free event. There is no entry fee.

"Participate, Learn and Share!"

Here is the poster which is designed by Nirbhay Choubey:

MySQL Camp Poster

Here are some more blogs/links related to the event

Thursday Apr 24, 2008

Database SQL standards

The SQL standards are unlike most other standards -- virtually no database vendor could claim full conformance of the latest standards. Often innovations and new extensions happen even before the standards are in place. Also it is common for vendors not to implement certain features depending on the returns Vs other factors.

National Institute of Standards and Technology (NIST) used to develop SQL conformance tests. NIST stopped developing SQL conformance tests since 1996. You can download the conformance test for SQL-92 from their SQL Test Suite Download page

Currently there is no international body which has developed conformance test for the latest standards SQL:1999 and SQL:2003. Neverthless, it pays to understand the history and high level understanding of the spec, if you are in the business of developing database or writing non-trivial database applications.

Here is the latest SQL:2008 draft standard if you like to take a look.

Here are some more interesting links :

Friday Apr 11, 2008

Talk on Java and Database Connectivity at NIT, Jamshedpur

Recently I made a trip to National Institute Of Technology (NIT) at Jamshedpur to conduct a workshop on "Java and database connectivityā€¯ for students from colleges participating in the tech-festival. Here is the slides for the talk:

Some notes from the trip down my memory lane ..

The flight was gliding down and I could see the aerial view of Kolkata. It was a bright sunny day, 11:30 Am, Sunday March 30, 2008. From more than thousand meters up there, the buildings appeared like tiny dots. I was after all getting the big picture of things which, now a days, is increasingly expected out of me. But now, it was all just there, all of that big city for me to see. I just needed to relax and live that moment. Forget the past, and forget the future, just see the nature's glory and allow yourself to be amazed, I thought to myself.

I was pleasantly surprised to see that the Kolkata airport looked decent. It looked definitely much bigger than the present Bangalore airport (not the yet-to-open new one), and many other airports in India. I had couple of hours to be consumed by idleness.

It was an hour long flight from Kolkata to Jamshedpur. From the top, the city looked built well planned. Traces of many industries and manufacturing units there all over the city. There was this river almost turned to be like sewage water running through the city, I was wondering if it were a clean river in the past.

Nishanth, our Sun campus ambassador in NIT Jamshedpur, came to airport to receive me along with his classmates Vijendar and Azad Ravi. It was a good feeling to meet them right at the airport. We drove into the heart of the city of Jamshedpur on Azad Ravi's car. The roads close to the airport region were in excellent condition mainly due to Tata's maintenance. Some parts of the city is still maintained by Tata. Much of Jamshedpur's establishment and fame is due to Tata's Steel plant and we could also see lots of small scale industries in the city which thrive on supplying parts and components to the plant.

We located a nice hotel with WIFI connectivity and I settled down for the day. I needed some rest for the next day's main event. we were concerned by the fact that the teachers were on strike on certain demands and they didn't like the students participating in the tech festival!

In spite of all that drama, it turned out next day that the talk was well attended. We got the biggest auditorium they had. Around 100 students attended the talk. Nishanth later told me that if it had not been for the teachers' strike, the hall would have been full with around 400 students.

The topic was "Java and Database Connectivity". It was a workshop scheduled for 3 hours between 3pm to 6pm. There was lot of enthusiasm among students. I knew students were excited and looking forward for the talk from such a well known and reputed company Sun microsystems. So I knew I had to keep them engaged, keep the session interactive and alive given it was going to be a long session.

I used the opportunity to introduce them to highlevel database models such as Hierarchical, Network, Relational and Object-Relational. Then I got into the details of JDBC starting with 4 types of JDBC drivers and so on. I encouraged them to ask questions as the talk progressed without waiting until the end. There were lots of questions, so I knew they were not sleeping. They seemed to be enjoying the session thouroghly and so did I. After the talk, I showed them a demo of JavaDB and simple JDBC program. I used Netbeans IDE. So it was a good thing for them to see JavaDB and Netbeans both in action. I also encouraged them to explore the whole world of opensource and also other databases such as MySQL and PostgreSQL. The reason for me to choose JavaDB for the demo was-- it was easily available and the easiest to setup and kickstart learning.

Then we had a written quiz of around 35 objective type questions. The students were given 30 minutes to answer them. Most questions should have simple after attending the session but some of them were quite tricky. At the end, I went over the questions, asked the audience for the answer for each question and explained the answers especially for the ones which were not so obvious.

After the talk, I got to chat with many students. Being from reputed institute, they looked sincere and enthusiastic. A second year student, who had just finished their DBMS course on their 4th semester, thanked me for the talk and he said it was excellent and he never knew there is so much to databases. The feedback I got from other students were similar. I felt I have helped stimulate some interests among atleast some of those students in opensource databases and sun technologies. That's was just what I was hoping for at the moment.

On the way back, I took the flight next morning to Kolkata and hired a taxi and went around. It was my first trip inside Kolkata and I was glad to see that the main city was fairly clean with broad roads inspite of many remarks I have heard about the city being dirty and so on. I went around the suburbs as well, which was congested but no better or no worse than many other cities I have seen in India. I saw ganga riverside, Victoria hall, howra bridge, Chowringee Road (main shopping market area) and most of city's main roads.

When I boarded the Indian Airlines flight at 8:00pm to Bangalore, the air hostess welcomed me with a smile and I could not resist a smile in return. After all, it was a great trip.




« July 2016