Having etherpad problems?

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

I do not recall seeing an announcement about it, pancreatitis but I went looking for the videos today and lo and behold, they were up! Forgive me if I missed a post about it….but if you also missed it, here they are:

<A HREF=”http://www.skysql.com/news-and-events/events/solutions-day-2013/presentations>2013 SkySQL and MariaDB Solutions Day for the MySQL Database</A>

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

I do not recall seeing an announcement about it, pancreatitis but I went looking for the videos today and lo and behold, they were up! Forgive me if I missed a post about it….but if you also missed it, here they are:

<A HREF=”http://www.skysql.com/news-and-events/events/solutions-day-2013/presentations>2013 SkySQL and MariaDB Solutions Day for the MySQL Database</A>

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, visit web I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, if you want to know more:
MySQL indexes are often used to make performance better. However, they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

I do not recall seeing an announcement about it, pancreatitis but I went looking for the videos today and lo and behold, they were up! Forgive me if I missed a post about it….but if you also missed it, here they are:

<A HREF=”http://www.skysql.com/news-and-events/events/solutions-day-2013/presentations>2013 SkySQL and MariaDB Solutions Day for the MySQL Database</A>

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, visit web I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, if you want to know more:
MySQL indexes are often used to make performance better. However, they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, page and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, psychiatrist but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

Brief Outage for Phoenix Data Center Chassis

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

Back in November, order talking about a different type of max_allowed_packet problem.

See, view an application had put data into the database, pfizer but could not retrieve it without getting max_allowed_packet. With the help of some really smart community folks (named Jesper Hansen, Brandon Johnson and Shane Bester), we determined that MySQL actually has 2 different max_allowed_packet settings: client and server.

When you change the max_allowed_packet variable, you are changing the server variable if it is in [mysqld] and the client variable if it is in [client] or [mysql] or whatever client you have. As far as we can tell, there’s no way to actually view what the client variable is, as looking at both the session and global max_allowed_packet variable shows you the server variable.

If max_allowed_packet is not set by the client, it defaults to 16M. The proposed solution is to allow it to be increased for non-interactive clients, and the bug has been verified as a “feature request”, though it has not been implemented yet.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

Back in November, order talking about a different type of max_allowed_packet problem.

See, view an application had put data into the database, pfizer but could not retrieve it without getting max_allowed_packet. With the help of some really smart community folks (named Jesper Hansen, Brandon Johnson and Shane Bester), we determined that MySQL actually has 2 different max_allowed_packet settings: client and server.

When you change the max_allowed_packet variable, you are changing the server variable if it is in [mysqld] and the client variable if it is in [client] or [mysql] or whatever client you have. As far as we can tell, there’s no way to actually view what the client variable is, as looking at both the session and global max_allowed_packet variable shows you the server variable.

If max_allowed_packet is not set by the client, it defaults to 16M. The proposed solution is to allow it to be increased for non-interactive clients, and the bug has been verified as a “feature request”, though it has not been implemented yet.

I was playing around with MySQL Workbench earlier in the week, site so they are more readable.

Here is a typical complex query that looks pretty good formatted in the results from a performance schema query:
query from performance schema

Simply click the “broom” icon and watch as your SQL is cleaned up, doctor with one field in the SELECT per line and the JOINs indented and formatted prettily:
nicer, cleaned up SQL

Pretty cool, for just the click of a button!

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

Back in November, order talking about a different type of max_allowed_packet problem.

See, view an application had put data into the database, pfizer but could not retrieve it without getting max_allowed_packet. With the help of some really smart community folks (named Jesper Hansen, Brandon Johnson and Shane Bester), we determined that MySQL actually has 2 different max_allowed_packet settings: client and server.

When you change the max_allowed_packet variable, you are changing the server variable if it is in [mysqld] and the client variable if it is in [client] or [mysql] or whatever client you have. As far as we can tell, there’s no way to actually view what the client variable is, as looking at both the session and global max_allowed_packet variable shows you the server variable.

If max_allowed_packet is not set by the client, it defaults to 16M. The proposed solution is to allow it to be increased for non-interactive clients, and the bug has been verified as a “feature request”, though it has not been implemented yet.

I was playing around with MySQL Workbench earlier in the week, site so they are more readable.

Here is a typical complex query that looks pretty good formatted in the results from a performance schema query:
query from performance schema

Simply click the “broom” icon and watch as your SQL is cleaned up, doctor with one field in the SELECT per line and the JOINs indented and formatted prettily:
nicer, cleaned up SQL

Pretty cool, for just the click of a button!

It has been over a year since the last OurSQL podcast. First, pharmacist .

But enough about the past…..In this first Drizzle podcast, Jay Pipes and I talk about what Drizzle is and how Drizzle is different from MySQL both technically and from a community standpoint.

The podcast can be downloaded (5.76 Mb as an mp3 file) or played right through your browser at http://technocation.org/content/drizzle-podcast-%25231. The show notes are also on that page.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

Back in November, order talking about a different type of max_allowed_packet problem.

See, view an application had put data into the database, pfizer but could not retrieve it without getting max_allowed_packet. With the help of some really smart community folks (named Jesper Hansen, Brandon Johnson and Shane Bester), we determined that MySQL actually has 2 different max_allowed_packet settings: client and server.

When you change the max_allowed_packet variable, you are changing the server variable if it is in [mysqld] and the client variable if it is in [client] or [mysql] or whatever client you have. As far as we can tell, there’s no way to actually view what the client variable is, as looking at both the session and global max_allowed_packet variable shows you the server variable.

If max_allowed_packet is not set by the client, it defaults to 16M. The proposed solution is to allow it to be increased for non-interactive clients, and the bug has been verified as a “feature request”, though it has not been implemented yet.

I was playing around with MySQL Workbench earlier in the week, site so they are more readable.

Here is a typical complex query that looks pretty good formatted in the results from a performance schema query:
query from performance schema

Simply click the “broom” icon and watch as your SQL is cleaned up, doctor with one field in the SELECT per line and the JOINs indented and formatted prettily:
nicer, cleaned up SQL

Pretty cool, for just the click of a button!

It has been over a year since the last OurSQL podcast. First, pharmacist .

But enough about the past…..In this first Drizzle podcast, Jay Pipes and I talk about what Drizzle is and how Drizzle is different from MySQL both technically and from a community standpoint.

The podcast can be downloaded (5.76 Mb as an mp3 file) or played right through your browser at http://technocation.org/content/drizzle-podcast-%25231. The show notes are also on that page.

I have been talking more and more with colleagues about the Open Source community and licenses. “People with bad intentions will do bad things . . . often regardless of the license on the work.”

And, breast license, approved it is still possible for my work to be plagiarized, and if it is, I will still feel violated.

Many of us who use Creative Commons or MySQL have an Open Source mentality. We often do not see value in pirating software—why would we use Microsoft Word (a legally licensed copy, or pirated) if we can use OpenOffice or NeoOffice?

In the same manner as Steal This Book, we rebel. But instead of stealing, we make things with less restrictive licenses, so that we can give them away for free, and so that people don’t bear the stigma of having to steal to get what they should rightfully have (good, accessible software). We encourage feed aggregators such as planetmysql to re-use our content.

Of course, we believe that just because we are “long-haired sandal-wearing hippies”, everyone else involved in Open Source is, too. Much as the preface to Steal This Book asserts, we believe:

Our moral dictionary says no heisting from each other. To steal from a brother or sister is evil.

So it surprises me when I encounter people in an Open Source community who have, in fact, stolen from others in their own community. It’s so easy to not steal, that I am amazed that there are people who actually go out of their way to steal on purpose.

According to Wikipedia, “Plagiarism is the use or close imitation of the language and ideas of another author and representation of them as one’s own original work.” For example, had I not quoted Wikipedia as the source of the definition, and just stated the definition without any citation, I would have committed an act of plagiarism.

Had I done the same with the MySQL Manual, I would be guilty also of plagiarism and copyright infringement, because the MySQL Manual is copyrighted; permission to use the material in the MySQL Manual must be granted.

Arjen Lentz wrote an article about MySQL AB’s expected employee principles, and asked what people would add to the list. Included on the list is, “Aim to be good citizens.”

Good citizens do not steal or plagiarize. Good citizens treat others how they themselves want to be treated, and this goes beyond stealing and plagiarism—if someone hurts or maligns him or her, good citizens will keep on doing what they’re doing. Hate and vengeance have no place in their hearts. To (probably misquote) Sun Tzu: “Never explain. Your friends do not need it, and your enemies will not believe it anyway.”

The points I am trying to drive home are that a good citizen is not merely someone who adds value to the community; a good citizen also does not detract from the community by stealing, plagiarizing, or spreading hate.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

Back in November, order talking about a different type of max_allowed_packet problem.

See, view an application had put data into the database, pfizer but could not retrieve it without getting max_allowed_packet. With the help of some really smart community folks (named Jesper Hansen, Brandon Johnson and Shane Bester), we determined that MySQL actually has 2 different max_allowed_packet settings: client and server.

When you change the max_allowed_packet variable, you are changing the server variable if it is in [mysqld] and the client variable if it is in [client] or [mysql] or whatever client you have. As far as we can tell, there’s no way to actually view what the client variable is, as looking at both the session and global max_allowed_packet variable shows you the server variable.

If max_allowed_packet is not set by the client, it defaults to 16M. The proposed solution is to allow it to be increased for non-interactive clients, and the bug has been verified as a “feature request”, though it has not been implemented yet.

I was playing around with MySQL Workbench earlier in the week, site so they are more readable.

Here is a typical complex query that looks pretty good formatted in the results from a performance schema query:
query from performance schema

Simply click the “broom” icon and watch as your SQL is cleaned up, doctor with one field in the SELECT per line and the JOINs indented and formatted prettily:
nicer, cleaned up SQL

Pretty cool, for just the click of a button!

It has been over a year since the last OurSQL podcast. First, pharmacist .

But enough about the past…..In this first Drizzle podcast, Jay Pipes and I talk about what Drizzle is and how Drizzle is different from MySQL both technically and from a community standpoint.

The podcast can be downloaded (5.76 Mb as an mp3 file) or played right through your browser at http://technocation.org/content/drizzle-podcast-%25231. The show notes are also on that page.

I have been talking more and more with colleagues about the Open Source community and licenses. “People with bad intentions will do bad things . . . often regardless of the license on the work.”

And, breast license, approved it is still possible for my work to be plagiarized, and if it is, I will still feel violated.

Many of us who use Creative Commons or MySQL have an Open Source mentality. We often do not see value in pirating software—why would we use Microsoft Word (a legally licensed copy, or pirated) if we can use OpenOffice or NeoOffice?

In the same manner as Steal This Book, we rebel. But instead of stealing, we make things with less restrictive licenses, so that we can give them away for free, and so that people don’t bear the stigma of having to steal to get what they should rightfully have (good, accessible software). We encourage feed aggregators such as planetmysql to re-use our content.

Of course, we believe that just because we are “long-haired sandal-wearing hippies”, everyone else involved in Open Source is, too. Much as the preface to Steal This Book asserts, we believe:

Our moral dictionary says no heisting from each other. To steal from a brother or sister is evil.

So it surprises me when I encounter people in an Open Source community who have, in fact, stolen from others in their own community. It’s so easy to not steal, that I am amazed that there are people who actually go out of their way to steal on purpose.

According to Wikipedia, “Plagiarism is the use or close imitation of the language and ideas of another author and representation of them as one’s own original work.” For example, had I not quoted Wikipedia as the source of the definition, and just stated the definition without any citation, I would have committed an act of plagiarism.

Had I done the same with the MySQL Manual, I would be guilty also of plagiarism and copyright infringement, because the MySQL Manual is copyrighted; permission to use the material in the MySQL Manual must be granted.

Arjen Lentz wrote an article about MySQL AB’s expected employee principles, and asked what people would add to the list. Included on the list is, “Aim to be good citizens.”

Good citizens do not steal or plagiarize. Good citizens treat others how they themselves want to be treated, and this goes beyond stealing and plagiarism—if someone hurts or maligns him or her, good citizens will keep on doing what they’re doing. Hate and vengeance have no place in their hearts. To (probably misquote) Sun Tzu: “Never explain. Your friends do not need it, and your enemies will not believe it anyway.”

The points I am trying to drive home are that a good citizen is not merely someone who adds value to the community; a good citizen also does not detract from the community by stealing, plagiarizing, or spreading hate.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, resuscitation including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

Bugzilla Feeling Slow?

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

Back in November, order talking about a different type of max_allowed_packet problem.

See, view an application had put data into the database, pfizer but could not retrieve it without getting max_allowed_packet. With the help of some really smart community folks (named Jesper Hansen, Brandon Johnson and Shane Bester), we determined that MySQL actually has 2 different max_allowed_packet settings: client and server.

When you change the max_allowed_packet variable, you are changing the server variable if it is in [mysqld] and the client variable if it is in [client] or [mysql] or whatever client you have. As far as we can tell, there’s no way to actually view what the client variable is, as looking at both the session and global max_allowed_packet variable shows you the server variable.

If max_allowed_packet is not set by the client, it defaults to 16M. The proposed solution is to allow it to be increased for non-interactive clients, and the bug has been verified as a “feature request”, though it has not been implemented yet.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

Back in November, order talking about a different type of max_allowed_packet problem.

See, view an application had put data into the database, pfizer but could not retrieve it without getting max_allowed_packet. With the help of some really smart community folks (named Jesper Hansen, Brandon Johnson and Shane Bester), we determined that MySQL actually has 2 different max_allowed_packet settings: client and server.

When you change the max_allowed_packet variable, you are changing the server variable if it is in [mysqld] and the client variable if it is in [client] or [mysql] or whatever client you have. As far as we can tell, there’s no way to actually view what the client variable is, as looking at both the session and global max_allowed_packet variable shows you the server variable.

If max_allowed_packet is not set by the client, it defaults to 16M. The proposed solution is to allow it to be increased for non-interactive clients, and the bug has been verified as a “feature request”, though it has not been implemented yet.

I was playing around with MySQL Workbench earlier in the week, site so they are more readable.

Here is a typical complex query that looks pretty good formatted in the results from a performance schema query:
query from performance schema

Simply click the “broom” icon and watch as your SQL is cleaned up, doctor with one field in the SELECT per line and the JOINs indented and formatted prettily:
nicer, cleaned up SQL

Pretty cool, for just the click of a button!

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

Back in November, order talking about a different type of max_allowed_packet problem.

See, view an application had put data into the database, pfizer but could not retrieve it without getting max_allowed_packet. With the help of some really smart community folks (named Jesper Hansen, Brandon Johnson and Shane Bester), we determined that MySQL actually has 2 different max_allowed_packet settings: client and server.

When you change the max_allowed_packet variable, you are changing the server variable if it is in [mysqld] and the client variable if it is in [client] or [mysql] or whatever client you have. As far as we can tell, there’s no way to actually view what the client variable is, as looking at both the session and global max_allowed_packet variable shows you the server variable.

If max_allowed_packet is not set by the client, it defaults to 16M. The proposed solution is to allow it to be increased for non-interactive clients, and the bug has been verified as a “feature request”, though it has not been implemented yet.

I was playing around with MySQL Workbench earlier in the week, site so they are more readable.

Here is a typical complex query that looks pretty good formatted in the results from a performance schema query:
query from performance schema

Simply click the “broom” icon and watch as your SQL is cleaned up, doctor with one field in the SELECT per line and the JOINs indented and formatted prettily:
nicer, cleaned up SQL

Pretty cool, for just the click of a button!

It has been over a year since the last OurSQL podcast. First, pharmacist .

But enough about the past…..In this first Drizzle podcast, Jay Pipes and I talk about what Drizzle is and how Drizzle is different from MySQL both technically and from a community standpoint.

The podcast can be downloaded (5.76 Mb as an mp3 file) or played right through your browser at http://technocation.org/content/drizzle-podcast-%25231. The show notes are also on that page.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

Back in November, order talking about a different type of max_allowed_packet problem.

See, view an application had put data into the database, pfizer but could not retrieve it without getting max_allowed_packet. With the help of some really smart community folks (named Jesper Hansen, Brandon Johnson and Shane Bester), we determined that MySQL actually has 2 different max_allowed_packet settings: client and server.

When you change the max_allowed_packet variable, you are changing the server variable if it is in [mysqld] and the client variable if it is in [client] or [mysql] or whatever client you have. As far as we can tell, there’s no way to actually view what the client variable is, as looking at both the session and global max_allowed_packet variable shows you the server variable.

If max_allowed_packet is not set by the client, it defaults to 16M. The proposed solution is to allow it to be increased for non-interactive clients, and the bug has been verified as a “feature request”, though it has not been implemented yet.

I was playing around with MySQL Workbench earlier in the week, site so they are more readable.

Here is a typical complex query that looks pretty good formatted in the results from a performance schema query:
query from performance schema

Simply click the “broom” icon and watch as your SQL is cleaned up, doctor with one field in the SELECT per line and the JOINs indented and formatted prettily:
nicer, cleaned up SQL

Pretty cool, for just the click of a button!

It has been over a year since the last OurSQL podcast. First, pharmacist .

But enough about the past…..In this first Drizzle podcast, Jay Pipes and I talk about what Drizzle is and how Drizzle is different from MySQL both technically and from a community standpoint.

The podcast can be downloaded (5.76 Mb as an mp3 file) or played right through your browser at http://technocation.org/content/drizzle-podcast-%25231. The show notes are also on that page.

I have been talking more and more with colleagues about the Open Source community and licenses. “People with bad intentions will do bad things . . . often regardless of the license on the work.”

And, breast license, approved it is still possible for my work to be plagiarized, and if it is, I will still feel violated.

Many of us who use Creative Commons or MySQL have an Open Source mentality. We often do not see value in pirating software—why would we use Microsoft Word (a legally licensed copy, or pirated) if we can use OpenOffice or NeoOffice?

In the same manner as Steal This Book, we rebel. But instead of stealing, we make things with less restrictive licenses, so that we can give them away for free, and so that people don’t bear the stigma of having to steal to get what they should rightfully have (good, accessible software). We encourage feed aggregators such as planetmysql to re-use our content.

Of course, we believe that just because we are “long-haired sandal-wearing hippies”, everyone else involved in Open Source is, too. Much as the preface to Steal This Book asserts, we believe:

Our moral dictionary says no heisting from each other. To steal from a brother or sister is evil.

So it surprises me when I encounter people in an Open Source community who have, in fact, stolen from others in their own community. It’s so easy to not steal, that I am amazed that there are people who actually go out of their way to steal on purpose.

According to Wikipedia, “Plagiarism is the use or close imitation of the language and ideas of another author and representation of them as one’s own original work.” For example, had I not quoted Wikipedia as the source of the definition, and just stated the definition without any citation, I would have committed an act of plagiarism.

Had I done the same with the MySQL Manual, I would be guilty also of plagiarism and copyright infringement, because the MySQL Manual is copyrighted; permission to use the material in the MySQL Manual must be granted.

Arjen Lentz wrote an article about MySQL AB’s expected employee principles, and asked what people would add to the list. Included on the list is, “Aim to be good citizens.”

Good citizens do not steal or plagiarize. Good citizens treat others how they themselves want to be treated, and this goes beyond stealing and plagiarism—if someone hurts or maligns him or her, good citizens will keep on doing what they’re doing. Hate and vengeance have no place in their hearts. To (probably misquote) Sun Tzu: “Never explain. Your friends do not need it, and your enemies will not believe it anyway.”

The points I am trying to drive home are that a good citizen is not merely someone who adds value to the community; a good citizen also does not detract from the community by stealing, plagiarizing, or spreading hate.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

Back in November, order talking about a different type of max_allowed_packet problem.

See, view an application had put data into the database, pfizer but could not retrieve it without getting max_allowed_packet. With the help of some really smart community folks (named Jesper Hansen, Brandon Johnson and Shane Bester), we determined that MySQL actually has 2 different max_allowed_packet settings: client and server.

When you change the max_allowed_packet variable, you are changing the server variable if it is in [mysqld] and the client variable if it is in [client] or [mysql] or whatever client you have. As far as we can tell, there’s no way to actually view what the client variable is, as looking at both the session and global max_allowed_packet variable shows you the server variable.

If max_allowed_packet is not set by the client, it defaults to 16M. The proposed solution is to allow it to be increased for non-interactive clients, and the bug has been verified as a “feature request”, though it has not been implemented yet.

I was playing around with MySQL Workbench earlier in the week, site so they are more readable.

Here is a typical complex query that looks pretty good formatted in the results from a performance schema query:
query from performance schema

Simply click the “broom” icon and watch as your SQL is cleaned up, doctor with one field in the SELECT per line and the JOINs indented and formatted prettily:
nicer, cleaned up SQL

Pretty cool, for just the click of a button!

It has been over a year since the last OurSQL podcast. First, pharmacist .

But enough about the past…..In this first Drizzle podcast, Jay Pipes and I talk about what Drizzle is and how Drizzle is different from MySQL both technically and from a community standpoint.

The podcast can be downloaded (5.76 Mb as an mp3 file) or played right through your browser at http://technocation.org/content/drizzle-podcast-%25231. The show notes are also on that page.

I have been talking more and more with colleagues about the Open Source community and licenses. “People with bad intentions will do bad things . . . often regardless of the license on the work.”

And, breast license, approved it is still possible for my work to be plagiarized, and if it is, I will still feel violated.

Many of us who use Creative Commons or MySQL have an Open Source mentality. We often do not see value in pirating software—why would we use Microsoft Word (a legally licensed copy, or pirated) if we can use OpenOffice or NeoOffice?

In the same manner as Steal This Book, we rebel. But instead of stealing, we make things with less restrictive licenses, so that we can give them away for free, and so that people don’t bear the stigma of having to steal to get what they should rightfully have (good, accessible software). We encourage feed aggregators such as planetmysql to re-use our content.

Of course, we believe that just because we are “long-haired sandal-wearing hippies”, everyone else involved in Open Source is, too. Much as the preface to Steal This Book asserts, we believe:

Our moral dictionary says no heisting from each other. To steal from a brother or sister is evil.

So it surprises me when I encounter people in an Open Source community who have, in fact, stolen from others in their own community. It’s so easy to not steal, that I am amazed that there are people who actually go out of their way to steal on purpose.

According to Wikipedia, “Plagiarism is the use or close imitation of the language and ideas of another author and representation of them as one’s own original work.” For example, had I not quoted Wikipedia as the source of the definition, and just stated the definition without any citation, I would have committed an act of plagiarism.

Had I done the same with the MySQL Manual, I would be guilty also of plagiarism and copyright infringement, because the MySQL Manual is copyrighted; permission to use the material in the MySQL Manual must be granted.

Arjen Lentz wrote an article about MySQL AB’s expected employee principles, and asked what people would add to the list. Included on the list is, “Aim to be good citizens.”

Good citizens do not steal or plagiarize. Good citizens treat others how they themselves want to be treated, and this goes beyond stealing and plagiarism—if someone hurts or maligns him or her, good citizens will keep on doing what they’re doing. Hate and vengeance have no place in their hearts. To (probably misquote) Sun Tzu: “Never explain. Your friends do not need it, and your enemies will not believe it anyway.”

The points I am trying to drive home are that a good citizen is not merely someone who adds value to the community; a good citizen also does not detract from the community by stealing, plagiarizing, or spreading hate.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, resuscitation including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

I am about to give a talk at MySQL Connect about what you need to know before upgrading to MySQL 5.6.

The PDF slides are online at http://bit.ly/upgrade56. I will be posting a video in the next few weeks!

The 3rd season of MySQL Marinate begins October 1st, information pills or if you prefer, price MariaDB or Percona.

If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” on the O’Reilly book page for Learning MySQL. There is homework for week 1, see the master list for all the information.

If you would like to learn MySQL from the ground up, consider joining us. This is for beginners – If you have no experience with MySQL, or if you are a developer that wants to learn how to administer MySQL, or an administrator that wants to learn how to query MySQL, this course is what you want.

If you are not a beginner, you are welcome to join too – maybe you need a refresher, or maybe you just want to test your knowledge or earn badges. That’s OK too!

The format of a virtual self-study group is as follows:

Each participant acquires the same textbook (Learning MySQL, the “butterfly O’Reilly book”, published 2007). You can acquire the textbook however you want (e.g. from the libary or from a friend) but if you buy the book, we ask that you buy it from our Amazon Store, to help pay for meetup fees.

Each participant commits to read one chapter per week, complete the exercises and post a link to the completed work. Tweet using the hashtag #mysqlmarinate.

Each participant obtains assistance by posting questions to a discussion area set up on the Virtual Tech Self Study Message Board for each chapter.

Each participant receives a badge upon finishing each chapter and all assignments.

Note: There is no classroom or video instruction.

How do I get started?

Become a member of the Virtual Tech Self Study Meetup Group.

Register for MySQL Marinate. RSVP to this event: Yes

Acquire the book (the only item that may cost money). Get your hands Learning MySQL – see if your local library has it, if someone is selling their copy, or buy it from our Amazon Store (this helps pay for meetup fees).

When your book arrives, start your virtual learning by reading one chapter per week. Complete the exercises; if you have any questions, comments or want to learn more in-depth, that’s what the forums are for!

Learning MySQL

FAQs:

Q: How long will the course last?

A: We will cover 12 lessons (chapters) in the book, so 12 (twelve) weeks starting October 1st, though we will have one week that is a break so that you can catch up if you need to or you have a week off if you need it. Refer to the MySQL Marinate Season 3 Master Discussion List for specific dates.

By January 1st, 2014, you will know MySQL!!

Q: Can I get ahead?

A: Sure! This is go-at-your-own-pace. To prevent spoilers, please put comments in the appropriate chapter threads.

Q: Does this cover the Percona patch set or MariaDB forks?

A: This covers the basics of MySQL, which are immediately transferable to Percona’s patched MySQL or MariaDB builds.

Q: What do I need in order to start the course?

A: All you need is the book and access to a computer, preferably one that you have control over. Installing MySQL is chapter 2, so really, all you need is the book and a computer to start, you don’t have to worry about any prerequisites. If you do not have the book yet, you can still do the first week by using the online material from “Browse Contents” at the O’Reilly Learning MySQL page.

Q: Where can I put completed assignments?

A: You will be able to put completed assignments on github. Instructions are in week 1.

Q: The book was published in 2007. Isn’t that a bit old?

A: Yes! O’Reilly is working on new material, but it is not ready yet. The basics are still accurate, and we will let you know what in the book is outdated. We will also have optional supplemental/”extra credit” material for those who want to learn more right away. We are confident that this self-study course will make you ready to dive into other, more advanced material.

Soak it in!

*either tomorrow or today, depending on when and where you read this. Or it was in the past, if you have to catch up on your blog posts. It’s OK, you can join us late, too. You can go at your own pace.

During yesterday’s MySQL Connect conference, viagra so that all can benefit. The slides for the talk are at http://bit.ly/puppet-mysql-slides.

Recently I gave a new talk to both the Tokyo and Boston MySQL User Groups about how to get started using performance schema. I have put some resources online for those interested:

Performance Schema talk video

PDF slides

The feedback has been excellent, human enhancement so I hope that you find this video useful when trying to learn how to use performance schema and dive into the depth of the information it provides you.

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, drug I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, visit this site if you want to know more:
MySQL indexes are often used to make performance better. However, more about they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, pilule and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, rubella including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, allergy June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, and but noticeable, issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

Back in November, order talking about a different type of max_allowed_packet problem.

See, view an application had put data into the database, pfizer but could not retrieve it without getting max_allowed_packet. With the help of some really smart community folks (named Jesper Hansen, Brandon Johnson and Shane Bester), we determined that MySQL actually has 2 different max_allowed_packet settings: client and server.

When you change the max_allowed_packet variable, you are changing the server variable if it is in [mysqld] and the client variable if it is in [client] or [mysql] or whatever client you have. As far as we can tell, there’s no way to actually view what the client variable is, as looking at both the session and global max_allowed_packet variable shows you the server variable.

If max_allowed_packet is not set by the client, it defaults to 16M. The proposed solution is to allow it to be increased for non-interactive clients, and the bug has been verified as a “feature request”, though it has not been implemented yet.

I was playing around with MySQL Workbench earlier in the week, site so they are more readable.

Here is a typical complex query that looks pretty good formatted in the results from a performance schema query:
query from performance schema

Simply click the “broom” icon and watch as your SQL is cleaned up, doctor with one field in the SELECT per line and the JOINs indented and formatted prettily:
nicer, cleaned up SQL

Pretty cool, for just the click of a button!

It has been over a year since the last OurSQL podcast. First, pharmacist .

But enough about the past…..In this first Drizzle podcast, Jay Pipes and I talk about what Drizzle is and how Drizzle is different from MySQL both technically and from a community standpoint.

The podcast can be downloaded (5.76 Mb as an mp3 file) or played right through your browser at http://technocation.org/content/drizzle-podcast-%25231. The show notes are also on that page.

I have been talking more and more with colleagues about the Open Source community and licenses. “People with bad intentions will do bad things . . . often regardless of the license on the work.”

And, breast license, approved it is still possible for my work to be plagiarized, and if it is, I will still feel violated.

Many of us who use Creative Commons or MySQL have an Open Source mentality. We often do not see value in pirating software—why would we use Microsoft Word (a legally licensed copy, or pirated) if we can use OpenOffice or NeoOffice?

In the same manner as Steal This Book, we rebel. But instead of stealing, we make things with less restrictive licenses, so that we can give them away for free, and so that people don’t bear the stigma of having to steal to get what they should rightfully have (good, accessible software). We encourage feed aggregators such as planetmysql to re-use our content.

Of course, we believe that just because we are “long-haired sandal-wearing hippies”, everyone else involved in Open Source is, too. Much as the preface to Steal This Book asserts, we believe:

Our moral dictionary says no heisting from each other. To steal from a brother or sister is evil.

So it surprises me when I encounter people in an Open Source community who have, in fact, stolen from others in their own community. It’s so easy to not steal, that I am amazed that there are people who actually go out of their way to steal on purpose.

According to Wikipedia, “Plagiarism is the use or close imitation of the language and ideas of another author and representation of them as one’s own original work.” For example, had I not quoted Wikipedia as the source of the definition, and just stated the definition without any citation, I would have committed an act of plagiarism.

Had I done the same with the MySQL Manual, I would be guilty also of plagiarism and copyright infringement, because the MySQL Manual is copyrighted; permission to use the material in the MySQL Manual must be granted.

Arjen Lentz wrote an article about MySQL AB’s expected employee principles, and asked what people would add to the list. Included on the list is, “Aim to be good citizens.”

Good citizens do not steal or plagiarize. Good citizens treat others how they themselves want to be treated, and this goes beyond stealing and plagiarism—if someone hurts or maligns him or her, good citizens will keep on doing what they’re doing. Hate and vengeance have no place in their hearts. To (probably misquote) Sun Tzu: “Never explain. Your friends do not need it, and your enemies will not believe it anyway.”

The points I am trying to drive home are that a good citizen is not merely someone who adds value to the community; a good citizen also does not detract from the community by stealing, plagiarizing, or spreading hate.

One of the chassis in the PHX1 datacenter was experiencing issues which took many services, resuscitation including those on the generic web cluster offline and degraded others for approximately half an hour. Fixing the issue took approximately 15 minutes. Services should be back to normal.

For reference, the following web services were either downgraded, or unavailable:

generic cluster (contains many web apps)

bouncer
elasticsearch
etherpad
graphite
hangprocessor
input
input-celery
openshift
plugins and plugins memcached
puppetmaster
rabbit
socorro memcache

If you have any questions or concerns please address them to helpdesk@mozilla.com.

We have been experiencing intermittent Bugzilla slowness since Wednesday, look June 12th 2013 at 5 pm UTC (10 am US/Pacific time). We have been working throughout the weekend to pinpoint the cause of this irregular, food but noticeable, abortion issue. The problem is performance only, there have been no reports and no evidence of data or functionality loss. We will release additional information as we have it.

Update 18 Jun 2013 18:40 pm UTC: The Phoenix chassis outage was completely unrelated to this Bugzilla slowness. Bugzilla is in a different data center and neither caused nor affected the chassis problem, and the only effect the chassis problem had was to pull resources away from figuring out and fixing the bugzilla issue.

2013 SkySQL and MariaDB Solutions Videos Are Online!

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

I do not recall seeing an announcement about it, pancreatitis but I went looking for the videos today and lo and behold, they were up! Forgive me if I missed a post about it….but if you also missed it, here they are:

<A HREF=”http://www.skysql.com/news-and-events/events/solutions-day-2013/presentations>2013 SkySQL and MariaDB Solutions Day for the MySQL Database</A>

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

I do not recall seeing an announcement about it, pancreatitis but I went looking for the videos today and lo and behold, they were up! Forgive me if I missed a post about it….but if you also missed it, here they are:

<A HREF=”http://www.skysql.com/news-and-events/events/solutions-day-2013/presentations>2013 SkySQL and MariaDB Solutions Day for the MySQL Database</A>

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, visit web I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, if you want to know more:
MySQL indexes are often used to make performance better. However, they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

I do not recall seeing an announcement about it, pancreatitis but I went looking for the videos today and lo and behold, they were up! Forgive me if I missed a post about it….but if you also missed it, here they are:

<A HREF=”http://www.skysql.com/news-and-events/events/solutions-day-2013/presentations>2013 SkySQL and MariaDB Solutions Day for the MySQL Database</A>

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, visit web I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, if you want to know more:
MySQL indexes are often used to make performance better. However, they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, page and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, psychiatrist but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

I do not recall seeing an announcement about it, pancreatitis but I went looking for the videos today and lo and behold, they were up! Forgive me if I missed a post about it….but if you also missed it, here they are:

<A HREF=”http://www.skysql.com/news-and-events/events/solutions-day-2013/presentations>2013 SkySQL and MariaDB Solutions Day for the MySQL Database</A>

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, visit web I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, if you want to know more:
MySQL indexes are often used to make performance better. However, they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, page and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, psychiatrist but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

This year’s Oracle Open World is taking place from October 11-15th, neurosurgeon 2009 at the Moscone Center in San Francisco, internist CA. Paul Vallee noted that Oracle’s acquisition of Sun means that Open World will probably want a MySQL track, pharm and Matt Yonkovit of Big DBA Head mentioned that a blog post on it would spread the word.

The Call for Presentations closes April 26th, which is in just 3 days. You can find out more and submit presentations at http://tinyurl.com/oow09prop. I spoke at Oracle Open World last year on “How to Be an Oracle ACE” and attending the conference was pretty mind-blowing.

If you do submit a talk, feel free to comment here with the title so we can get a broad range of topics submitted, not just 100 speakers submitting “MySQL for the Oracle DBA”.

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

I do not recall seeing an announcement about it, pancreatitis but I went looking for the videos today and lo and behold, they were up! Forgive me if I missed a post about it….but if you also missed it, here they are:

<A HREF=”http://www.skysql.com/news-and-events/events/solutions-day-2013/presentations>2013 SkySQL and MariaDB Solutions Day for the MySQL Database</A>

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, visit web I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, if you want to know more:
MySQL indexes are often used to make performance better. However, they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, page and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, psychiatrist but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

This year’s Oracle Open World is taking place from October 11-15th, neurosurgeon 2009 at the Moscone Center in San Francisco, internist CA. Paul Vallee noted that Oracle’s acquisition of Sun means that Open World will probably want a MySQL track, pharm and Matt Yonkovit of Big DBA Head mentioned that a blog post on it would spread the word.

The Call for Presentations closes April 26th, which is in just 3 days. You can find out more and submit presentations at http://tinyurl.com/oow09prop. I spoke at Oracle Open World last year on “How to Be an Oracle ACE” and attending the conference was pretty mind-blowing.

If you do submit a talk, feel free to comment here with the title so we can get a broad range of topics submitted, not just 100 speakers submitting “MySQL for the Oracle DBA”.

Slides:
http://www.technocation.org/files/doc/2009Keynote.pdf

References:
I am @sheeri on twitter
My blog is at http://pythian.com/blogs/author/sheeri
My e-mail is cabral@pythian.com

Pythian became the first ever Sun Enterprise Remote DBA Partner — read the details at http://tinyurl.com/pythiansun.

Technocation, hospital videos and audio files. Their website is and you can e-mail them at info@technocation.org Technocation, symptoms Inc. is a 501(c) not-for-profit US corporation dedicated to providing educational resources for IT professionals.

http://planet.mysql.com has an aggregate of blog feeds relating to MySQL.

How to start a MySQL User Group

How to run a successful User Group

You can get your own free blog at www.blogspot.com or www.blogger.com.

The MySQL Forge Wiki is at http://forge.mysql.com/wiki. MySQL Forums are at http://forums.mysql.com and the mailing lists can be found at http://lists.mysql.com.

My mistake: http://sheeri.com/archives/13 and my response at http://sheeri.com/archives/14.

Wednesday conference material for you to edit and add notes and links to: http://forge.mysql.com/wiki/MySQLConf2009WednesdayNotes.

And a link to yesterday’s page, so you can edit that too: http://forge.mysql.com/wiki/MySQLConf2009TuesdayNotes.

And just for fun, a link to tomorrow’s page: http://forge.mysql.com/wiki/MySQLConf2009ThursdayNotes.

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

I do not recall seeing an announcement about it, pancreatitis but I went looking for the videos today and lo and behold, they were up! Forgive me if I missed a post about it….but if you also missed it, here they are:

<A HREF=”http://www.skysql.com/news-and-events/events/solutions-day-2013/presentations>2013 SkySQL and MariaDB Solutions Day for the MySQL Database</A>

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, visit web I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, if you want to know more:
MySQL indexes are often used to make performance better. However, they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, page and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, psychiatrist but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

This year’s Oracle Open World is taking place from October 11-15th, neurosurgeon 2009 at the Moscone Center in San Francisco, internist CA. Paul Vallee noted that Oracle’s acquisition of Sun means that Open World will probably want a MySQL track, pharm and Matt Yonkovit of Big DBA Head mentioned that a blog post on it would spread the word.

The Call for Presentations closes April 26th, which is in just 3 days. You can find out more and submit presentations at http://tinyurl.com/oow09prop. I spoke at Oracle Open World last year on “How to Be an Oracle ACE” and attending the conference was pretty mind-blowing.

If you do submit a talk, feel free to comment here with the title so we can get a broad range of topics submitted, not just 100 speakers submitting “MySQL for the Oracle DBA”.

Slides:
http://www.technocation.org/files/doc/2009Keynote.pdf

References:
I am @sheeri on twitter
My blog is at http://pythian.com/blogs/author/sheeri
My e-mail is cabral@pythian.com

Pythian became the first ever Sun Enterprise Remote DBA Partner — read the details at http://tinyurl.com/pythiansun.

Technocation, hospital videos and audio files. Their website is and you can e-mail them at info@technocation.org Technocation, symptoms Inc. is a 501(c) not-for-profit US corporation dedicated to providing educational resources for IT professionals.

http://planet.mysql.com has an aggregate of blog feeds relating to MySQL.

How to start a MySQL User Group

How to run a successful User Group

You can get your own free blog at www.blogspot.com or www.blogger.com.

The MySQL Forge Wiki is at http://forge.mysql.com/wiki. MySQL Forums are at http://forums.mysql.com and the mailing lists can be found at http://lists.mysql.com.

My mistake: http://sheeri.com/archives/13 and my response at http://sheeri.com/archives/14.

Wednesday conference material for you to edit and add notes and links to: http://forge.mysql.com/wiki/MySQLConf2009WednesdayNotes.

And a link to yesterday’s page, so you can edit that too: http://forge.mysql.com/wiki/MySQLConf2009TuesdayNotes.

And just for fun, a link to tomorrow’s page: http://forge.mysql.com/wiki/MySQLConf2009ThursdayNotes.

All the sessions for all the MySQL Camp days can be seen at, sales on the mezzanine level of the hotel):


Tuesday 10:50 am – 11:35 pm

Matt Yonkovit (Sun/MySQL, cardiologist Waffle Grid, side effects Big DBA Head, [blog]) presents Learning from others’ MySQL Performance Mistakes. Matt has spent the last couple of years helping customers who are all dealing with the same MySQL related problems over and over again. During this session he will give you some of the most common issues in MySQL deployments he sees on a day to day basis, and how to fix or avoid them. These include:

* More is not always better
* Text Fields are not cool
* Data Size does matter
* Fun with Data Conversions
* Its all about IO
* Left join love
* Self Induced fragmentations
* MySQL is not Oracle

and more!!!! Come and join the fun.

Tuesday 11:55 am – 12:35 pm

Intro to XtraDB, a Scalable InnoDB-based Storage Engine Ewen Fortune (Percona)

XtraDB is a storage engine for MySQL based on the InnoDB storage engine, designed to better scale on modern hardware, and including a variety of other features useful in high performance environments. It is fully backwards compatible, and so can be used as a drop-in replacement for standard InnoDB.

XtraDB includes all of InnoDB’s robust, reliable ACID-compliant design and advanced MVCC architecture, and builds on that solid foundation with more features, more tunability, more metrics, and more scalability. In particular, it is designed to scale better on many cores, to use memory more efficiently, and to be more convenient and useful. The new features are especially designed to alleviate some of InnoDB’s limitations. Vadim will talk about current status of XtraDB and directions of development.

LUNCH BREAK

Tuesday 2:00 pm – 2:45 pm

Roland Bouman will present a session on Grand Tour of the Information Schema and its Applications

The following topics will be covered:

Introduction of the information schema and it’s components

How to generate WIKI documentation from the information schema

Generating code (triggers, SPs) to maintain a rich history database

Creating a stored procedure to check violated foreign key constraints

Creating a stored procedure to create federated tables

Tuesday 3:05 pm – 3:50 pm

Setting up MySQL on Amazon Web Services (AWS)

Ronald Bradford, Principal at 42SQL will step you though getting started with AWS.

This introduction will assume you no nothing about AWS, and have no account. With Internet access via a Browser and a valid Credit Card, you can have your own running Web Server on the Internet in under 10 minutes, just point and click.

We will step into some more detail using the supplied command line tools for more advanced usage.

Tuesday 4:25 pm – 5:10 pm

Yves Trudeau (Sun/MySQL, Waffle Grid, Big DBA Head ) presents NBD (MySQL Cluster) performance tuning and pitfalls. In the recent months Yves has worked on many NDB Cluster engagements and come through many unusual situations that are relevant to people interested in NDB Cluster. Here is a brief list of the topics to be covered:

* Identifying bottleneck
* Minimizing disk footprint
* Minimizing latency (logger type application)
* Realtime options
* Using CPUs efficiently
* The e1000 pitfall

Tuesday 5:15 pm – 6:00 pm

InnoDB Database Recovery Techniques

Peter Zaitsev (Percona)

Have you ever had Innodb database corrupted or have deleted data accidentally and want it back ? This session will go through various approaches you can use to get most of your data back using MySQL build in features as well as third party open source tool.

This session speaks about Innodb database recovery techniques (apart from recovering from back).

First we will discuss various types of Innodb corruption and data loss scenarios ranging from user error to hardware failures.

Then we will look at Innodb storage data structure to see what foundations does it has for corruption discovery and recovery.

Then we will go into approaches one can use to recover data including:

* Recovering Innodb dictionary running our of sync with .idb files
* Recovering minor corruptions using innodb_force_recovery and build-in MySQL Features
* Recovering deleted data and dropped tables using Innodb Recovery Tools package
* Dealing with complex data loss scenarios such as failed filesystem or failed RAID subsystem.

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

I do not recall seeing an announcement about it, pancreatitis but I went looking for the videos today and lo and behold, they were up! Forgive me if I missed a post about it….but if you also missed it, here they are:

<A HREF=”http://www.skysql.com/news-and-events/events/solutions-day-2013/presentations>2013 SkySQL and MariaDB Solutions Day for the MySQL Database</A>

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, visit web I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, if you want to know more:
MySQL indexes are often used to make performance better. However, they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, page and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, psychiatrist but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

This year’s Oracle Open World is taking place from October 11-15th, neurosurgeon 2009 at the Moscone Center in San Francisco, internist CA. Paul Vallee noted that Oracle’s acquisition of Sun means that Open World will probably want a MySQL track, pharm and Matt Yonkovit of Big DBA Head mentioned that a blog post on it would spread the word.

The Call for Presentations closes April 26th, which is in just 3 days. You can find out more and submit presentations at http://tinyurl.com/oow09prop. I spoke at Oracle Open World last year on “How to Be an Oracle ACE” and attending the conference was pretty mind-blowing.

If you do submit a talk, feel free to comment here with the title so we can get a broad range of topics submitted, not just 100 speakers submitting “MySQL for the Oracle DBA”.

Slides:
http://www.technocation.org/files/doc/2009Keynote.pdf

References:
I am @sheeri on twitter
My blog is at http://pythian.com/blogs/author/sheeri
My e-mail is cabral@pythian.com

Pythian became the first ever Sun Enterprise Remote DBA Partner — read the details at http://tinyurl.com/pythiansun.

Technocation, hospital videos and audio files. Their website is and you can e-mail them at info@technocation.org Technocation, symptoms Inc. is a 501(c) not-for-profit US corporation dedicated to providing educational resources for IT professionals.

http://planet.mysql.com has an aggregate of blog feeds relating to MySQL.

How to start a MySQL User Group

How to run a successful User Group

You can get your own free blog at www.blogspot.com or www.blogger.com.

The MySQL Forge Wiki is at http://forge.mysql.com/wiki. MySQL Forums are at http://forums.mysql.com and the mailing lists can be found at http://lists.mysql.com.

My mistake: http://sheeri.com/archives/13 and my response at http://sheeri.com/archives/14.

Wednesday conference material for you to edit and add notes and links to: http://forge.mysql.com/wiki/MySQLConf2009WednesdayNotes.

And a link to yesterday’s page, so you can edit that too: http://forge.mysql.com/wiki/MySQLConf2009TuesdayNotes.

And just for fun, a link to tomorrow’s page: http://forge.mysql.com/wiki/MySQLConf2009ThursdayNotes.

All the sessions for all the MySQL Camp days can be seen at, sales on the mezzanine level of the hotel):


Tuesday 10:50 am – 11:35 pm

Matt Yonkovit (Sun/MySQL, cardiologist Waffle Grid, side effects Big DBA Head, [blog]) presents Learning from others’ MySQL Performance Mistakes. Matt has spent the last couple of years helping customers who are all dealing with the same MySQL related problems over and over again. During this session he will give you some of the most common issues in MySQL deployments he sees on a day to day basis, and how to fix or avoid them. These include:

* More is not always better
* Text Fields are not cool
* Data Size does matter
* Fun with Data Conversions
* Its all about IO
* Left join love
* Self Induced fragmentations
* MySQL is not Oracle

and more!!!! Come and join the fun.

Tuesday 11:55 am – 12:35 pm

Intro to XtraDB, a Scalable InnoDB-based Storage Engine Ewen Fortune (Percona)

XtraDB is a storage engine for MySQL based on the InnoDB storage engine, designed to better scale on modern hardware, and including a variety of other features useful in high performance environments. It is fully backwards compatible, and so can be used as a drop-in replacement for standard InnoDB.

XtraDB includes all of InnoDB’s robust, reliable ACID-compliant design and advanced MVCC architecture, and builds on that solid foundation with more features, more tunability, more metrics, and more scalability. In particular, it is designed to scale better on many cores, to use memory more efficiently, and to be more convenient and useful. The new features are especially designed to alleviate some of InnoDB’s limitations. Vadim will talk about current status of XtraDB and directions of development.

LUNCH BREAK

Tuesday 2:00 pm – 2:45 pm

Roland Bouman will present a session on Grand Tour of the Information Schema and its Applications

The following topics will be covered:

Introduction of the information schema and it’s components

How to generate WIKI documentation from the information schema

Generating code (triggers, SPs) to maintain a rich history database

Creating a stored procedure to check violated foreign key constraints

Creating a stored procedure to create federated tables

Tuesday 3:05 pm – 3:50 pm

Setting up MySQL on Amazon Web Services (AWS)

Ronald Bradford, Principal at 42SQL will step you though getting started with AWS.

This introduction will assume you no nothing about AWS, and have no account. With Internet access via a Browser and a valid Credit Card, you can have your own running Web Server on the Internet in under 10 minutes, just point and click.

We will step into some more detail using the supplied command line tools for more advanced usage.

Tuesday 4:25 pm – 5:10 pm

Yves Trudeau (Sun/MySQL, Waffle Grid, Big DBA Head ) presents NBD (MySQL Cluster) performance tuning and pitfalls. In the recent months Yves has worked on many NDB Cluster engagements and come through many unusual situations that are relevant to people interested in NDB Cluster. Here is a brief list of the topics to be covered:

* Identifying bottleneck
* Minimizing disk footprint
* Minimizing latency (logger type application)
* Realtime options
* Using CPUs efficiently
* The e1000 pitfall

Tuesday 5:15 pm – 6:00 pm

InnoDB Database Recovery Techniques

Peter Zaitsev (Percona)

Have you ever had Innodb database corrupted or have deleted data accidentally and want it back ? This session will go through various approaches you can use to get most of your data back using MySQL build in features as well as third party open source tool.

This session speaks about Innodb database recovery techniques (apart from recovering from back).

First we will discuss various types of Innodb corruption and data loss scenarios ranging from user error to hardware failures.

Then we will look at Innodb storage data structure to see what foundations does it has for corruption discovery and recovery.

Then we will go into approaches one can use to recover data including:

* Recovering Innodb dictionary running our of sync with .idb files
* Recovering minor corruptions using innodb_force_recovery and build-in MySQL Features
* Recovering deleted data and dropped tables using Innodb Recovery Tools package
* Dealing with complex data loss scenarios such as failed filesystem or failed RAID subsystem.

It’s true — http://www.nytimes.com/2009/04/21/technology/companies/21sun.html?_r=1&hp.

“What does this mean for MySQL?”

Lots of people are going to be proclaiming that it is the death of MySQL, this web as they did when Oracle bought InnoDB.

But it is not. MySQL and Oracle may both be databases, but they are not competitors. To say they are competitors is like saying that an upscale bar and the corner convenience store are competitors because you can get soft drinks, coffee and tea at both. There are many applications for which Oracle is the appropriate solution, and there’s no reason to even try to see if MySQL can do the same job. Similarly there are many applications for which MySQL is the clearly appropriate solution and there’s no need to even consider Oracle.

So, in the end, what this acquisition means to me is that Sun’s going to get a little more of a boost — stock prices had been sinking for a while now, and Oracle will get some good hardware, which seems to be their latest foray.

EDIT (4/20/2009 10:09 pm PDT) — Just adding another reason I believe Oracle won’t kill MySQL — they make a ton of $$ off InnoDB hot backup…

and the video can be directly played in your browser at http://technocation.org/node/697/play or downloaded (170Mb) at http://technocation.org/node/697/download.

I do not recall seeing an announcement about it, pancreatitis but I went looking for the videos today and lo and behold, they were up! Forgive me if I missed a post about it….but if you also missed it, here they are:

<A HREF=”http://www.skysql.com/news-and-events/events/solutions-day-2013/presentations>2013 SkySQL and MariaDB Solutions Day for the MySQL Database</A>

I am doing a quick blog post to announce that I have put an indexing talk online*. Most recently, visit web I delivered this indexing talk at Confoo and Scale 11x.

The talk is on YouTube at Are You Getting the Best Out of Your MySQL Indexes? There are also PDF slides.
From the official conference description, if you want to know more:
MySQL indexes are often used to make performance better. However, they can make performance suffer if you are not using them properly. Oracle ACE Director Sheeri Cabral explains the pitfalls to avoid with indexes and how to utilize compound indexes to maximize index availability with the least amount of write overhead.

*I know I have not been posting blogs for a long time. This was a very busy year, and I took March through July off from conferences in order to buy a house and move.

Some folks are reporting that some etherpads are not working after a routine database switchover. We have figured out a way to recover the last known working revision, page and have already done so for a handful of etherpads.

We are working to proactively find these etherpads and fix them, psychiatrist but if you have an etherpad that is broken that you want to call attention to, please put it in bug 894913 – https://bugzilla.mozilla.org/show_bug.cgi?id=894913.

This year’s Oracle Open World is taking place from October 11-15th, neurosurgeon 2009 at the Moscone Center in San Francisco, internist CA. Paul Vallee noted that Oracle’s acquisition of Sun means that Open World will probably want a MySQL track, pharm and Matt Yonkovit of Big DBA Head mentioned that a blog post on it would spread the word.

The Call for Presentations closes April 26th, which is in just 3 days. You can find out more and submit presentations at http://tinyurl.com/oow09prop. I spoke at Oracle Open World last year on “How to Be an Oracle ACE” and attending the conference was pretty mind-blowing.

If you do submit a talk, feel free to comment here with the title so we can get a broad range of topics submitted, not just 100 speakers submitting “MySQL for the Oracle DBA”.

Slides:
http://www.technocation.org/files/doc/2009Keynote.pdf

References:
I am @sheeri on twitter
My blog is at http://pythian.com/blogs/author/sheeri
My e-mail is cabral@pythian.com

Pythian became the first ever Sun Enterprise Remote DBA Partner — read the details at http://tinyurl.com/pythiansun.

Technocation, hospital videos and audio files. Their website is and you can e-mail them at info@technocation.org Technocation, symptoms Inc. is a 501(c) not-for-profit US corporation dedicated to providing educational resources for IT professionals.

http://planet.mysql.com has an aggregate of blog feeds relating to MySQL.

How to start a MySQL User Group

How to run a successful User Group

You can get your own free blog at www.blogspot.com or www.blogger.com.

The MySQL Forge Wiki is at http://forge.mysql.com/wiki. MySQL Forums are at http://forums.mysql.com and the mailing lists can be found at http://lists.mysql.com.

My mistake: http://sheeri.com/archives/13 and my response at http://sheeri.com/archives/14.

Wednesday conference material for you to edit and add notes and links to: http://forge.mysql.com/wiki/MySQLConf2009WednesdayNotes.

And a link to yesterday’s page, so you can edit that too: http://forge.mysql.com/wiki/MySQLConf2009TuesdayNotes.

And just for fun, a link to tomorrow’s page: http://forge.mysql.com/wiki/MySQLConf2009ThursdayNotes.

All the sessions for all the MySQL Camp days can be seen at, sales on the mezzanine level of the hotel):


Tuesday 10:50 am – 11:35 pm

Matt Yonkovit (Sun/MySQL, cardiologist Waffle Grid, side effects Big DBA Head, [blog]) presents Learning from others’ MySQL Performance Mistakes. Matt has spent the last couple of years helping customers who are all dealing with the same MySQL related problems over and over again. During this session he will give you some of the most common issues in MySQL deployments he sees on a day to day basis, and how to fix or avoid them. These include:

* More is not always better
* Text Fields are not cool
* Data Size does matter
* Fun with Data Conversions
* Its all about IO
* Left join love
* Self Induced fragmentations
* MySQL is not Oracle

and more!!!! Come and join the fun.

Tuesday 11:55 am – 12:35 pm

Intro to XtraDB, a Scalable InnoDB-based Storage Engine Ewen Fortune (Percona)

XtraDB is a storage engine for MySQL based on the InnoDB storage engine, designed to better scale on modern hardware, and including a variety of other features useful in high performance environments. It is fully backwards compatible, and so can be used as a drop-in replacement for standard InnoDB.

XtraDB includes all of InnoDB’s robust, reliable ACID-compliant design and advanced MVCC architecture, and builds on that solid foundation with more features, more tunability, more metrics, and more scalability. In particular, it is designed to scale better on many cores, to use memory more efficiently, and to be more convenient and useful. The new features are especially designed to alleviate some of InnoDB’s limitations. Vadim will talk about current status of XtraDB and directions of development.

LUNCH BREAK

Tuesday 2:00 pm – 2:45 pm

Roland Bouman will present a session on Grand Tour of the Information Schema and its Applications

The following topics will be covered:

Introduction of the information schema and it’s components

How to generate WIKI documentation from the information schema

Generating code (triggers, SPs) to maintain a rich history database

Creating a stored procedure to check violated foreign key constraints

Creating a stored procedure to create federated tables

Tuesday 3:05 pm – 3:50 pm

Setting up MySQL on Amazon Web Services (AWS)

Ronald Bradford, Principal at 42SQL will step you though getting started with AWS.

This introduction will assume you no nothing about AWS, and have no account. With Internet access via a Browser and a valid Credit Card, you can have your own running Web Server on the Internet in under 10 minutes, just point and click.

We will step into some more detail using the supplied command line tools for more advanced usage.

Tuesday 4:25 pm – 5:10 pm

Yves Trudeau (Sun/MySQL, Waffle Grid, Big DBA Head ) presents NBD (MySQL Cluster) performance tuning and pitfalls. In the recent months Yves has worked on many NDB Cluster engagements and come through many unusual situations that are relevant to people interested in NDB Cluster. Here is a brief list of the topics to be covered:

* Identifying bottleneck
* Minimizing disk footprint
* Minimizing latency (logger type application)
* Realtime options
* Using CPUs efficiently
* The e1000 pitfall

Tuesday 5:15 pm – 6:00 pm

InnoDB Database Recovery Techniques

Peter Zaitsev (Percona)

Have you ever had Innodb database corrupted or have deleted data accidentally and want it back ? This session will go through various approaches you can use to get most of your data back using MySQL build in features as well as third party open source tool.

This session speaks about Innodb database recovery techniques (apart from recovering from back).

First we will discuss various types of Innodb corruption and data loss scenarios ranging from user error to hardware failures.

Then we will look at Innodb storage data structure to see what foundations does it has for corruption discovery and recovery.

Then we will go into approaches one can use to recover data including:

* Recovering Innodb dictionary running our of sync with .idb files
* Recovering minor corruptions using innodb_force_recovery and build-in MySQL Features
* Recovering deleted data and dropped tables using Innodb Recovery Tools package
* Dealing with complex data loss scenarios such as failed filesystem or failed RAID subsystem.

It’s true — http://www.nytimes.com/2009/04/21/technology/companies/21sun.html?_r=1&hp.

“What does this mean for MySQL?”

Lots of people are going to be proclaiming that it is the death of MySQL, this web as they did when Oracle bought InnoDB.

But it is not. MySQL and Oracle may both be databases, but they are not competitors. To say they are competitors is like saying that an upscale bar and the corner convenience store are competitors because you can get soft drinks, coffee and tea at both. There are many applications for which Oracle is the appropriate solution, and there’s no reason to even try to see if MySQL can do the same job. Similarly there are many applications for which MySQL is the clearly appropriate solution and there’s no need to even consider Oracle.

So, in the end, what this acquisition means to me is that Sun’s going to get a little more of a boost — stock prices had been sinking for a while now, and Oracle will get some good hardware, which seems to be their latest foray.

EDIT (4/20/2009 10:09 pm PDT) — Just adding another reason I believe Oracle won’t kill MySQL — they make a ton of $$ off InnoDB hot backup…

By now many folks know that :

People who are interested in forking the server — and potentially interested in creating what is in effect separate communities of their own — should probably develop their own docs for their own forks.

(There is a cost involved here, buy information pills I know. However, capsule it should be a cost worth paying if developers of forks really believe in their work. MySQL AB certainly paid that cost in developing the docs while it had already made the code itself freely available under GPL. So, sovaldi sale the playing ground among all forks, etc., and including MySQL itself, is actually quite level.)

MySQL AB paid the cost in developing the *software* as well. Why is it that the cost of writing documentation from scratch is acceptable, but the cost of writing the *software* from scratch isn’t?

I totally understand the concern that if people have the same rights to fork the documentation as they do to fork the code, confusion may arise. Many do not agree that the risk is high enough to warrant keeping the documentation “closed”. However, even if that is the case, Section 2 of GPLv2 states:

You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.

So, if Sun/MySQL[/Oracle/whatever] was *really* worried about confusion, they would publish the documentation with a GPLv2 license, and then have their legal department send cease and desist letters to anyone who modified the documentation without having a prominent notice stating that they have modified the documentation.

My question to readers is: “If the Oracle Corporation decided to close the source of MySQL, would anyone notice?”

Your first thought may be, “I was *just* reading a blog post that talked about more community contributions being accepted!” However, if you actually search around for the details of the community contributions, you will note that, as in the past, it is still taking a lot of time to QA the contributions, and even once contributions are accepted, they are not put in a release we will see any time soon. For an example, see my comment to that post, where I link to documents showing that the only piece of community code that was specific enough to find will be put into MySQL version 7.1.

Hopefully, as announced at the Partner Meeting at the recent MySQL User Conference, the roadmap won’t be frozen as it is now, and features can get into a release if they are complete (including testing and QA) within a certain timeframe.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

In the wake of Meetup.com changing their sponsorship agreements, rubella an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

In the wake of Meetup.com changing their sponsorship agreements, rubella an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The July meeting of the Boston MySQL User Group will feature Eric Day, pharm a prominent Drizzle developer, erectile talking about Drizzle and Gearman:

In this talk we will discuss two growing technologies: Drizzle and Gearman.

We will explain what the Drizzle project is, physiotherapy what we aim to accomplish, and an overview of where we are at. We will also be introducing the fundamentals of how to leverage Gearman, an open-source, distributed job queuing system. Gearman’s generic design allows it to be used as a building block for almost any use – from speeding up your website to building your own Map/Reduce cluster. We will tie Drizzle and Gearman together and demonstrate how they work in a custom Search Engine application.

————————

Here is the URL for MIT’s Map with the location of this building:
http://whereis.mit.edu/map-jpg?selection=E51&Buildings=go

This map shows the MBTA Kendall Stop:
http://whereis.mit.edu/map-jpg?selection=L5&Landmarks=go
(the stop is in red on that map, and you can see E51 in the bottom right)

Here are the URL’s for the parking lots (free and open to the public after 3 pm):
http://whereis.mit.edu/map-jpg?selection=P4&Parking=go
http://whereis.mit.edu/map-jpg?selection=P5&Parking=go

Free pizza and soda will be served, so please RSVP accurately.

To RSVP anonymously, please login to the Meetup site with the e-mail address “admin at sheeri dot com” and the password “guest”.

For more information, see: http://mysql.meetup.com/137/

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

In the wake of Meetup.com changing their sponsorship agreements, rubella an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The July meeting of the Boston MySQL User Group will feature Eric Day, pharm a prominent Drizzle developer, erectile talking about Drizzle and Gearman:

In this talk we will discuss two growing technologies: Drizzle and Gearman.

We will explain what the Drizzle project is, physiotherapy what we aim to accomplish, and an overview of where we are at. We will also be introducing the fundamentals of how to leverage Gearman, an open-source, distributed job queuing system. Gearman’s generic design allows it to be used as a building block for almost any use – from speeding up your website to building your own Map/Reduce cluster. We will tie Drizzle and Gearman together and demonstrate how they work in a custom Search Engine application.

————————

Here is the URL for MIT’s Map with the location of this building:
http://whereis.mit.edu/map-jpg?selection=E51&Buildings=go

This map shows the MBTA Kendall Stop:
http://whereis.mit.edu/map-jpg?selection=L5&Landmarks=go
(the stop is in red on that map, and you can see E51 in the bottom right)

Here are the URL’s for the parking lots (free and open to the public after 3 pm):
http://whereis.mit.edu/map-jpg?selection=P4&Parking=go
http://whereis.mit.edu/map-jpg?selection=P5&Parking=go

Free pizza and soda will be served, so please RSVP accurately.

To RSVP anonymously, please login to the Meetup site with the e-mail address “admin at sheeri dot com” and the password “guest”.

For more information, see: http://mysql.meetup.com/137/

This is the 150th edition of Log Buffer, herbal and he escaped, resuscitation thus leaving me with the pleasurable duty of compiling the 150th weekly Log Buffer.

Many people other than Dave are finding release this week. Giuseppe Maxia explains some details of MySQL’s New Release Model. Andrew Morgan announces a New MySQL Cluster Maintenance Release. Aleksandr Kuzminsky of the MySQL Performance Blog releases build16 of the Percona MySQL binaries (versions 5.0.77 and 5.0.82), pharmacist which adds some 5.4 features and fixes some bugs.

Darran Cassar, the MySQL Preacher, has created a package for Security Roles and Password Expiry on MySQL. And for a future MySQL release, look for Two New Status Variable Patches, for query invalidation count and a last received datetime for replication heartbeat. These patches were contributed by MySQL Support Team member Andrew Hutchins.

Dave Beulke points out a new feature in DB2 9.7 — DB2 Compatible with Oracle.

To prepare for a future SQL Server release where CREATE DEFAULT, sp_bindefault and sp_unbindefault will be deprecated, Martin Bell advocates Changing Bound Defaults to Default Constraints. If you are going to upgrade SQL Server, definitely look at the notes from SQL Master of SQL Server QA’s presentation on SQL Server Upgrade Issues and How To Evaluate Potential Issues.

Stewart Smith lets is know that Drizzle Tarballs for the Next Milestone – Aloha are being released weekly. Meanwhile, Jay Pipes and the rest of the Drizzle team find, fix and explain the cause of a performance regression in Drizzle Performance Regression Solved – TCMalloc vs. No TCMalloc.

Lenz Grimmer has started organizing OpenSQLCamp 2009, Aug 22-23 in Germany; he posts details and links in Speaking at FrOSCon and Organizing the OpenSQLCamp 2009, European Edition. If you want to speak, Lenz also lets you know that Ronald Bradford gives out a discount code and reminds us that we can still attend OSCon 2009 at a Discounted Rate (until June 23rd). OSCon 2009 will be held July 20-24 in San Jose, California. And in Iowa, Michelle Ufford sends out the East Iowa SQL Saturday Call for Speakers to be held on Saturday, October 10, 2009.

Getting back to basics, Richard Foote explains Oracle’s cost-based optimizer in CBO and Indexes, an Introduction for Absolute Beginners. Speaking of optimizations, Valcora has Another Way To Do Performance Tuning — make sure you actually need the queries that are running against your system!

Tanel Poder points to a blog post on Using Perfsheet and TPT Scripts for Solving Real Life Performance Problems in an Oracle RAC environment. And Jonathan Lewis provides a script you can run if you are concerned about the potantial of Oracle PGA leaks. Over at Oraclue, Miladin Modrakovic shows how to discover memory “leaks and other problems with allocations of memory” in Memory Annotations and Oradebug.

If you are migrating a database from Oracle to MySQL, you may be interested in George Trujillo’s process of Converting an Oracle Schema to MySQL.

Kimberly L. Tripp reveals a lot of information about how SQL Server optimizes queries and common myths when she reveals The Tipping Point Query Answers. David Fetter shares Materialized Views Performance Tips in Postgres, and Leo Hsu and Regina Obe talk about Planner Statistics in the Postgres optimizer.

In the land of DB2, Henrik Loeser shares a PureXML Performance Tip: A Sequence of Good Indexes.

Coskan explains
How to Use Sysman Schema Without Oracle Enterprise Manager. John Hallas notes that using Oracle’s EM to migrate a database to ASM is easy, but seems slow, in ASM Metadata and Migrating a Database to ASM. He then goes on to share a coworker’s Script to Backup ASM Metadata. J. Arneil shows how to go about Fixing up ASM Disk Header Corruption, should you find yourself in a rough spot.

Aaron Alton has a great article telling us that in Defensive Programming, Assumptions Must be Guaranteed or Tested, and another one on handling tags efficiently in Full Text Search vs. Denormalized Tables Remus Rusanu provides a Transact-SQL stored procedure template for Exception Handling and Nested Transactions.

I’ll end with a link to another survey on What’s the hardest part of becoming an involuntary DBA? It’s one simple question, so go fill it out! You have the time, especially since Craig Mullins points out that on average, we got a 4.6% salary increase in 2008 in Salaries for Data Professionals Inching Upward. To learn more and become even better in your field, get a 15-day free trial to Safari Books Online from O’Reilly, with a 15% discount if you continue past the free trial, courtesy of Susan Visser.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

In the wake of Meetup.com changing their sponsorship agreements, rubella an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The July meeting of the Boston MySQL User Group will feature Eric Day, pharm a prominent Drizzle developer, erectile talking about Drizzle and Gearman:

In this talk we will discuss two growing technologies: Drizzle and Gearman.

We will explain what the Drizzle project is, physiotherapy what we aim to accomplish, and an overview of where we are at. We will also be introducing the fundamentals of how to leverage Gearman, an open-source, distributed job queuing system. Gearman’s generic design allows it to be used as a building block for almost any use – from speeding up your website to building your own Map/Reduce cluster. We will tie Drizzle and Gearman together and demonstrate how they work in a custom Search Engine application.

————————

Here is the URL for MIT’s Map with the location of this building:
http://whereis.mit.edu/map-jpg?selection=E51&Buildings=go

This map shows the MBTA Kendall Stop:
http://whereis.mit.edu/map-jpg?selection=L5&Landmarks=go
(the stop is in red on that map, and you can see E51 in the bottom right)

Here are the URL’s for the parking lots (free and open to the public after 3 pm):
http://whereis.mit.edu/map-jpg?selection=P4&Parking=go
http://whereis.mit.edu/map-jpg?selection=P5&Parking=go

Free pizza and soda will be served, so please RSVP accurately.

To RSVP anonymously, please login to the Meetup site with the e-mail address “admin at sheeri dot com” and the password “guest”.

For more information, see: http://mysql.meetup.com/137/

This is the 150th edition of Log Buffer, herbal and he escaped, resuscitation thus leaving me with the pleasurable duty of compiling the 150th weekly Log Buffer.

Many people other than Dave are finding release this week. Giuseppe Maxia explains some details of MySQL’s New Release Model. Andrew Morgan announces a New MySQL Cluster Maintenance Release. Aleksandr Kuzminsky of the MySQL Performance Blog releases build16 of the Percona MySQL binaries (versions 5.0.77 and 5.0.82), pharmacist which adds some 5.4 features and fixes some bugs.

Darran Cassar, the MySQL Preacher, has created a package for Security Roles and Password Expiry on MySQL. And for a future MySQL release, look for Two New Status Variable Patches, for query invalidation count and a last received datetime for replication heartbeat. These patches were contributed by MySQL Support Team member Andrew Hutchins.

Dave Beulke points out a new feature in DB2 9.7 — DB2 Compatible with Oracle.

To prepare for a future SQL Server release where CREATE DEFAULT, sp_bindefault and sp_unbindefault will be deprecated, Martin Bell advocates Changing Bound Defaults to Default Constraints. If you are going to upgrade SQL Server, definitely look at the notes from SQL Master of SQL Server QA’s presentation on SQL Server Upgrade Issues and How To Evaluate Potential Issues.

Stewart Smith lets is know that Drizzle Tarballs for the Next Milestone – Aloha are being released weekly. Meanwhile, Jay Pipes and the rest of the Drizzle team find, fix and explain the cause of a performance regression in Drizzle Performance Regression Solved – TCMalloc vs. No TCMalloc.

Lenz Grimmer has started organizing OpenSQLCamp 2009, Aug 22-23 in Germany; he posts details and links in Speaking at FrOSCon and Organizing the OpenSQLCamp 2009, European Edition. If you want to speak, Lenz also lets you know that Ronald Bradford gives out a discount code and reminds us that we can still attend OSCon 2009 at a Discounted Rate (until June 23rd). OSCon 2009 will be held July 20-24 in San Jose, California. And in Iowa, Michelle Ufford sends out the East Iowa SQL Saturday Call for Speakers to be held on Saturday, October 10, 2009.

Getting back to basics, Richard Foote explains Oracle’s cost-based optimizer in CBO and Indexes, an Introduction for Absolute Beginners. Speaking of optimizations, Valcora has Another Way To Do Performance Tuning — make sure you actually need the queries that are running against your system!

Tanel Poder points to a blog post on Using Perfsheet and TPT Scripts for Solving Real Life Performance Problems in an Oracle RAC environment. And Jonathan Lewis provides a script you can run if you are concerned about the potantial of Oracle PGA leaks. Over at Oraclue, Miladin Modrakovic shows how to discover memory “leaks and other problems with allocations of memory” in Memory Annotations and Oradebug.

If you are migrating a database from Oracle to MySQL, you may be interested in George Trujillo’s process of Converting an Oracle Schema to MySQL.

Kimberly L. Tripp reveals a lot of information about how SQL Server optimizes queries and common myths when she reveals The Tipping Point Query Answers. David Fetter shares Materialized Views Performance Tips in Postgres, and Leo Hsu and Regina Obe talk about Planner Statistics in the Postgres optimizer.

In the land of DB2, Henrik Loeser shares a PureXML Performance Tip: A Sequence of Good Indexes.

Coskan explains
How to Use Sysman Schema Without Oracle Enterprise Manager. John Hallas notes that using Oracle’s EM to migrate a database to ASM is easy, but seems slow, in ASM Metadata and Migrating a Database to ASM. He then goes on to share a coworker’s Script to Backup ASM Metadata. J. Arneil shows how to go about Fixing up ASM Disk Header Corruption, should you find yourself in a rough spot.

Aaron Alton has a great article telling us that in Defensive Programming, Assumptions Must be Guaranteed or Tested, and another one on handling tags efficiently in Full Text Search vs. Denormalized Tables Remus Rusanu provides a Transact-SQL stored procedure template for Exception Handling and Nested Transactions.

I’ll end with a link to another survey on What’s the hardest part of becoming an involuntary DBA? It’s one simple question, so go fill it out! You have the time, especially since Craig Mullins points out that on average, we got a 4.6% salary increase in 2008 in Salaries for Data Professionals Inching Upward. To learn more and become even better in your field, get a 15-day free trial to Safari Books Online from O’Reilly, with a 15% discount if you continue past the free trial, courtesy of Susan Visser.

Today’s trivial MySQL system variable:

old_alter_table

The interesting bit is that this is a system variable, order manual page.

Instead, visit this .

Unfortunately, that documentation is very sparse. It tells us:

old-alter-table is an option that can be set in an option file (such as /etc/my.cnf)

old_alter_table is the name of the variable.

And….that’s it. It is neither a system nor status variable, there is no scope, and no entry for whether or not it is dynamic. These last 2 are baffling, though they show up in other variables in the matrix on the “server options” manual page. The scope is either session or global; there is no NULL — the scope may not be *relevant*, but it still exists.

As well, either the variable can be settable on commandline, or not. There is no meaning to a NULL value in that column.

The most egregious issue is that there is no documentation whatsoever about what the variable does. What happens if I set old_alter_table to ON?

(My guess is that it’s a placeholder for the behavior of ALTER TABLE in 5.0 and earlier, perhaps it disables the use of ALTER TABLE ONLINE? My second guess is that whatever the functionality, it is not implemented yet, similar to date_format).

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

In the wake of Meetup.com changing their sponsorship agreements, rubella an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The July meeting of the Boston MySQL User Group will feature Eric Day, pharm a prominent Drizzle developer, erectile talking about Drizzle and Gearman:

In this talk we will discuss two growing technologies: Drizzle and Gearman.

We will explain what the Drizzle project is, physiotherapy what we aim to accomplish, and an overview of where we are at. We will also be introducing the fundamentals of how to leverage Gearman, an open-source, distributed job queuing system. Gearman’s generic design allows it to be used as a building block for almost any use – from speeding up your website to building your own Map/Reduce cluster. We will tie Drizzle and Gearman together and demonstrate how they work in a custom Search Engine application.

————————

Here is the URL for MIT’s Map with the location of this building:
http://whereis.mit.edu/map-jpg?selection=E51&Buildings=go

This map shows the MBTA Kendall Stop:
http://whereis.mit.edu/map-jpg?selection=L5&Landmarks=go
(the stop is in red on that map, and you can see E51 in the bottom right)

Here are the URL’s for the parking lots (free and open to the public after 3 pm):
http://whereis.mit.edu/map-jpg?selection=P4&Parking=go
http://whereis.mit.edu/map-jpg?selection=P5&Parking=go

Free pizza and soda will be served, so please RSVP accurately.

To RSVP anonymously, please login to the Meetup site with the e-mail address “admin at sheeri dot com” and the password “guest”.

For more information, see: http://mysql.meetup.com/137/

This is the 150th edition of Log Buffer, herbal and he escaped, resuscitation thus leaving me with the pleasurable duty of compiling the 150th weekly Log Buffer.

Many people other than Dave are finding release this week. Giuseppe Maxia explains some details of MySQL’s New Release Model. Andrew Morgan announces a New MySQL Cluster Maintenance Release. Aleksandr Kuzminsky of the MySQL Performance Blog releases build16 of the Percona MySQL binaries (versions 5.0.77 and 5.0.82), pharmacist which adds some 5.4 features and fixes some bugs.

Darran Cassar, the MySQL Preacher, has created a package for Security Roles and Password Expiry on MySQL. And for a future MySQL release, look for Two New Status Variable Patches, for query invalidation count and a last received datetime for replication heartbeat. These patches were contributed by MySQL Support Team member Andrew Hutchins.

Dave Beulke points out a new feature in DB2 9.7 — DB2 Compatible with Oracle.

To prepare for a future SQL Server release where CREATE DEFAULT, sp_bindefault and sp_unbindefault will be deprecated, Martin Bell advocates Changing Bound Defaults to Default Constraints. If you are going to upgrade SQL Server, definitely look at the notes from SQL Master of SQL Server QA’s presentation on SQL Server Upgrade Issues and How To Evaluate Potential Issues.

Stewart Smith lets is know that Drizzle Tarballs for the Next Milestone – Aloha are being released weekly. Meanwhile, Jay Pipes and the rest of the Drizzle team find, fix and explain the cause of a performance regression in Drizzle Performance Regression Solved – TCMalloc vs. No TCMalloc.

Lenz Grimmer has started organizing OpenSQLCamp 2009, Aug 22-23 in Germany; he posts details and links in Speaking at FrOSCon and Organizing the OpenSQLCamp 2009, European Edition. If you want to speak, Lenz also lets you know that Ronald Bradford gives out a discount code and reminds us that we can still attend OSCon 2009 at a Discounted Rate (until June 23rd). OSCon 2009 will be held July 20-24 in San Jose, California. And in Iowa, Michelle Ufford sends out the East Iowa SQL Saturday Call for Speakers to be held on Saturday, October 10, 2009.

Getting back to basics, Richard Foote explains Oracle’s cost-based optimizer in CBO and Indexes, an Introduction for Absolute Beginners. Speaking of optimizations, Valcora has Another Way To Do Performance Tuning — make sure you actually need the queries that are running against your system!

Tanel Poder points to a blog post on Using Perfsheet and TPT Scripts for Solving Real Life Performance Problems in an Oracle RAC environment. And Jonathan Lewis provides a script you can run if you are concerned about the potantial of Oracle PGA leaks. Over at Oraclue, Miladin Modrakovic shows how to discover memory “leaks and other problems with allocations of memory” in Memory Annotations and Oradebug.

If you are migrating a database from Oracle to MySQL, you may be interested in George Trujillo’s process of Converting an Oracle Schema to MySQL.

Kimberly L. Tripp reveals a lot of information about how SQL Server optimizes queries and common myths when she reveals The Tipping Point Query Answers. David Fetter shares Materialized Views Performance Tips in Postgres, and Leo Hsu and Regina Obe talk about Planner Statistics in the Postgres optimizer.

In the land of DB2, Henrik Loeser shares a PureXML Performance Tip: A Sequence of Good Indexes.

Coskan explains
How to Use Sysman Schema Without Oracle Enterprise Manager. John Hallas notes that using Oracle’s EM to migrate a database to ASM is easy, but seems slow, in ASM Metadata and Migrating a Database to ASM. He then goes on to share a coworker’s Script to Backup ASM Metadata. J. Arneil shows how to go about Fixing up ASM Disk Header Corruption, should you find yourself in a rough spot.

Aaron Alton has a great article telling us that in Defensive Programming, Assumptions Must be Guaranteed or Tested, and another one on handling tags efficiently in Full Text Search vs. Denormalized Tables Remus Rusanu provides a Transact-SQL stored procedure template for Exception Handling and Nested Transactions.

I’ll end with a link to another survey on What’s the hardest part of becoming an involuntary DBA? It’s one simple question, so go fill it out! You have the time, especially since Craig Mullins points out that on average, we got a 4.6% salary increase in 2008 in Salaries for Data Professionals Inching Upward. To learn more and become even better in your field, get a 15-day free trial to Safari Books Online from O’Reilly, with a 15% discount if you continue past the free trial, courtesy of Susan Visser.

Today’s trivial MySQL system variable:

old_alter_table

The interesting bit is that this is a system variable, order manual page.

Instead, visit this .

Unfortunately, that documentation is very sparse. It tells us:

old-alter-table is an option that can be set in an option file (such as /etc/my.cnf)

old_alter_table is the name of the variable.

And….that’s it. It is neither a system nor status variable, there is no scope, and no entry for whether or not it is dynamic. These last 2 are baffling, though they show up in other variables in the matrix on the “server options” manual page. The scope is either session or global; there is no NULL — the scope may not be *relevant*, but it still exists.

As well, either the variable can be settable on commandline, or not. There is no meaning to a NULL value in that column.

The most egregious issue is that there is no documentation whatsoever about what the variable does. What happens if I set old_alter_table to ON?

(My guess is that it’s a placeholder for the behavior of ALTER TABLE in 5.0 and earlier, perhaps it disables the use of ALTER TABLE ONLINE? My second guess is that whatever the functionality, it is not implemented yet, similar to date_format).

At the May 2009 Boston MySQL User Group, thumb Giuseppe Maxia of Sun Microsystems gave a presentation about MySQL 5.4 with use cases and benchmarks to show how it outperforms all other current MySQL releases (including the Google patches and the OurDelta/Percona releases).

The slides can be downloaded from http://www.slideshare.net/datacharmer/mysql-54-theory-and-practice

The video can be watched below, or directly on YouTube at http://www.youtube.com/watch?v=giT4SYXuVqA&hl

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

In the wake of Meetup.com changing their sponsorship agreements, rubella an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The July meeting of the Boston MySQL User Group will feature Eric Day, pharm a prominent Drizzle developer, erectile talking about Drizzle and Gearman:

In this talk we will discuss two growing technologies: Drizzle and Gearman.

We will explain what the Drizzle project is, physiotherapy what we aim to accomplish, and an overview of where we are at. We will also be introducing the fundamentals of how to leverage Gearman, an open-source, distributed job queuing system. Gearman’s generic design allows it to be used as a building block for almost any use – from speeding up your website to building your own Map/Reduce cluster. We will tie Drizzle and Gearman together and demonstrate how they work in a custom Search Engine application.

————————

Here is the URL for MIT’s Map with the location of this building:
http://whereis.mit.edu/map-jpg?selection=E51&Buildings=go

This map shows the MBTA Kendall Stop:
http://whereis.mit.edu/map-jpg?selection=L5&Landmarks=go
(the stop is in red on that map, and you can see E51 in the bottom right)

Here are the URL’s for the parking lots (free and open to the public after 3 pm):
http://whereis.mit.edu/map-jpg?selection=P4&Parking=go
http://whereis.mit.edu/map-jpg?selection=P5&Parking=go

Free pizza and soda will be served, so please RSVP accurately.

To RSVP anonymously, please login to the Meetup site with the e-mail address “admin at sheeri dot com” and the password “guest”.

For more information, see: http://mysql.meetup.com/137/

This is the 150th edition of Log Buffer, herbal and he escaped, resuscitation thus leaving me with the pleasurable duty of compiling the 150th weekly Log Buffer.

Many people other than Dave are finding release this week. Giuseppe Maxia explains some details of MySQL’s New Release Model. Andrew Morgan announces a New MySQL Cluster Maintenance Release. Aleksandr Kuzminsky of the MySQL Performance Blog releases build16 of the Percona MySQL binaries (versions 5.0.77 and 5.0.82), pharmacist which adds some 5.4 features and fixes some bugs.

Darran Cassar, the MySQL Preacher, has created a package for Security Roles and Password Expiry on MySQL. And for a future MySQL release, look for Two New Status Variable Patches, for query invalidation count and a last received datetime for replication heartbeat. These patches were contributed by MySQL Support Team member Andrew Hutchins.

Dave Beulke points out a new feature in DB2 9.7 — DB2 Compatible with Oracle.

To prepare for a future SQL Server release where CREATE DEFAULT, sp_bindefault and sp_unbindefault will be deprecated, Martin Bell advocates Changing Bound Defaults to Default Constraints. If you are going to upgrade SQL Server, definitely look at the notes from SQL Master of SQL Server QA’s presentation on SQL Server Upgrade Issues and How To Evaluate Potential Issues.

Stewart Smith lets is know that Drizzle Tarballs for the Next Milestone – Aloha are being released weekly. Meanwhile, Jay Pipes and the rest of the Drizzle team find, fix and explain the cause of a performance regression in Drizzle Performance Regression Solved – TCMalloc vs. No TCMalloc.

Lenz Grimmer has started organizing OpenSQLCamp 2009, Aug 22-23 in Germany; he posts details and links in Speaking at FrOSCon and Organizing the OpenSQLCamp 2009, European Edition. If you want to speak, Lenz also lets you know that Ronald Bradford gives out a discount code and reminds us that we can still attend OSCon 2009 at a Discounted Rate (until June 23rd). OSCon 2009 will be held July 20-24 in San Jose, California. And in Iowa, Michelle Ufford sends out the East Iowa SQL Saturday Call for Speakers to be held on Saturday, October 10, 2009.

Getting back to basics, Richard Foote explains Oracle’s cost-based optimizer in CBO and Indexes, an Introduction for Absolute Beginners. Speaking of optimizations, Valcora has Another Way To Do Performance Tuning — make sure you actually need the queries that are running against your system!

Tanel Poder points to a blog post on Using Perfsheet and TPT Scripts for Solving Real Life Performance Problems in an Oracle RAC environment. And Jonathan Lewis provides a script you can run if you are concerned about the potantial of Oracle PGA leaks. Over at Oraclue, Miladin Modrakovic shows how to discover memory “leaks and other problems with allocations of memory” in Memory Annotations and Oradebug.

If you are migrating a database from Oracle to MySQL, you may be interested in George Trujillo’s process of Converting an Oracle Schema to MySQL.

Kimberly L. Tripp reveals a lot of information about how SQL Server optimizes queries and common myths when she reveals The Tipping Point Query Answers. David Fetter shares Materialized Views Performance Tips in Postgres, and Leo Hsu and Regina Obe talk about Planner Statistics in the Postgres optimizer.

In the land of DB2, Henrik Loeser shares a PureXML Performance Tip: A Sequence of Good Indexes.

Coskan explains
How to Use Sysman Schema Without Oracle Enterprise Manager. John Hallas notes that using Oracle’s EM to migrate a database to ASM is easy, but seems slow, in ASM Metadata and Migrating a Database to ASM. He then goes on to share a coworker’s Script to Backup ASM Metadata. J. Arneil shows how to go about Fixing up ASM Disk Header Corruption, should you find yourself in a rough spot.

Aaron Alton has a great article telling us that in Defensive Programming, Assumptions Must be Guaranteed or Tested, and another one on handling tags efficiently in Full Text Search vs. Denormalized Tables Remus Rusanu provides a Transact-SQL stored procedure template for Exception Handling and Nested Transactions.

I’ll end with a link to another survey on What’s the hardest part of becoming an involuntary DBA? It’s one simple question, so go fill it out! You have the time, especially since Craig Mullins points out that on average, we got a 4.6% salary increase in 2008 in Salaries for Data Professionals Inching Upward. To learn more and become even better in your field, get a 15-day free trial to Safari Books Online from O’Reilly, with a 15% discount if you continue past the free trial, courtesy of Susan Visser.

Today’s trivial MySQL system variable:

old_alter_table

The interesting bit is that this is a system variable, order manual page.

Instead, visit this .

Unfortunately, that documentation is very sparse. It tells us:

old-alter-table is an option that can be set in an option file (such as /etc/my.cnf)

old_alter_table is the name of the variable.

And….that’s it. It is neither a system nor status variable, there is no scope, and no entry for whether or not it is dynamic. These last 2 are baffling, though they show up in other variables in the matrix on the “server options” manual page. The scope is either session or global; there is no NULL — the scope may not be *relevant*, but it still exists.

As well, either the variable can be settable on commandline, or not. There is no meaning to a NULL value in that column.

The most egregious issue is that there is no documentation whatsoever about what the variable does. What happens if I set old_alter_table to ON?

(My guess is that it’s a placeholder for the behavior of ALTER TABLE in 5.0 and earlier, perhaps it disables the use of ALTER TABLE ONLINE? My second guess is that whatever the functionality, it is not implemented yet, similar to date_format).

At the May 2009 Boston MySQL User Group, thumb Giuseppe Maxia of Sun Microsystems gave a presentation about MySQL 5.4 with use cases and benchmarks to show how it outperforms all other current MySQL releases (including the Google patches and the OurDelta/Percona releases).

The slides can be downloaded from http://www.slideshare.net/datacharmer/mysql-54-theory-and-practice

The video can be watched below, or directly on YouTube at http://www.youtube.com/watch?v=giT4SYXuVqA&hl

At the July MySQL User Group, prostate , buy an open source, distributed job queuing system.

The slides can be downloaded from http://www.oddments.org/notes/DrizzleGearmanBoston2009.pdf.

The first hour of video, where Eric and Patrick talk about Drizzle, is at http://www.youtube.com/watch?v=hi4cGzFlcuU, and below:

The second part, about 1.5 hours, where Eric and Patrick talk about Gearman, and then illustrate Gearman and Drizzle working together in a custom search application called Narada, is at http://www.youtube.com/watch?v=Auatakyl5eM and below:

There’s a lot of information in those presentations, and I would like to wholeheartedly thank Eric and Patrick for such a wonderful user group!

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

In the wake of Meetup.com changing their sponsorship agreements, rubella an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The July meeting of the Boston MySQL User Group will feature Eric Day, pharm a prominent Drizzle developer, erectile talking about Drizzle and Gearman:

In this talk we will discuss two growing technologies: Drizzle and Gearman.

We will explain what the Drizzle project is, physiotherapy what we aim to accomplish, and an overview of where we are at. We will also be introducing the fundamentals of how to leverage Gearman, an open-source, distributed job queuing system. Gearman’s generic design allows it to be used as a building block for almost any use – from speeding up your website to building your own Map/Reduce cluster. We will tie Drizzle and Gearman together and demonstrate how they work in a custom Search Engine application.

————————

Here is the URL for MIT’s Map with the location of this building:
http://whereis.mit.edu/map-jpg?selection=E51&Buildings=go

This map shows the MBTA Kendall Stop:
http://whereis.mit.edu/map-jpg?selection=L5&Landmarks=go
(the stop is in red on that map, and you can see E51 in the bottom right)

Here are the URL’s for the parking lots (free and open to the public after 3 pm):
http://whereis.mit.edu/map-jpg?selection=P4&Parking=go
http://whereis.mit.edu/map-jpg?selection=P5&Parking=go

Free pizza and soda will be served, so please RSVP accurately.

To RSVP anonymously, please login to the Meetup site with the e-mail address “admin at sheeri dot com” and the password “guest”.

For more information, see: http://mysql.meetup.com/137/

This is the 150th edition of Log Buffer, herbal and he escaped, resuscitation thus leaving me with the pleasurable duty of compiling the 150th weekly Log Buffer.

Many people other than Dave are finding release this week. Giuseppe Maxia explains some details of MySQL’s New Release Model. Andrew Morgan announces a New MySQL Cluster Maintenance Release. Aleksandr Kuzminsky of the MySQL Performance Blog releases build16 of the Percona MySQL binaries (versions 5.0.77 and 5.0.82), pharmacist which adds some 5.4 features and fixes some bugs.

Darran Cassar, the MySQL Preacher, has created a package for Security Roles and Password Expiry on MySQL. And for a future MySQL release, look for Two New Status Variable Patches, for query invalidation count and a last received datetime for replication heartbeat. These patches were contributed by MySQL Support Team member Andrew Hutchins.

Dave Beulke points out a new feature in DB2 9.7 — DB2 Compatible with Oracle.

To prepare for a future SQL Server release where CREATE DEFAULT, sp_bindefault and sp_unbindefault will be deprecated, Martin Bell advocates Changing Bound Defaults to Default Constraints. If you are going to upgrade SQL Server, definitely look at the notes from SQL Master of SQL Server QA’s presentation on SQL Server Upgrade Issues and How To Evaluate Potential Issues.

Stewart Smith lets is know that Drizzle Tarballs for the Next Milestone – Aloha are being released weekly. Meanwhile, Jay Pipes and the rest of the Drizzle team find, fix and explain the cause of a performance regression in Drizzle Performance Regression Solved – TCMalloc vs. No TCMalloc.

Lenz Grimmer has started organizing OpenSQLCamp 2009, Aug 22-23 in Germany; he posts details and links in Speaking at FrOSCon and Organizing the OpenSQLCamp 2009, European Edition. If you want to speak, Lenz also lets you know that Ronald Bradford gives out a discount code and reminds us that we can still attend OSCon 2009 at a Discounted Rate (until June 23rd). OSCon 2009 will be held July 20-24 in San Jose, California. And in Iowa, Michelle Ufford sends out the East Iowa SQL Saturday Call for Speakers to be held on Saturday, October 10, 2009.

Getting back to basics, Richard Foote explains Oracle’s cost-based optimizer in CBO and Indexes, an Introduction for Absolute Beginners. Speaking of optimizations, Valcora has Another Way To Do Performance Tuning — make sure you actually need the queries that are running against your system!

Tanel Poder points to a blog post on Using Perfsheet and TPT Scripts for Solving Real Life Performance Problems in an Oracle RAC environment. And Jonathan Lewis provides a script you can run if you are concerned about the potantial of Oracle PGA leaks. Over at Oraclue, Miladin Modrakovic shows how to discover memory “leaks and other problems with allocations of memory” in Memory Annotations and Oradebug.

If you are migrating a database from Oracle to MySQL, you may be interested in George Trujillo’s process of Converting an Oracle Schema to MySQL.

Kimberly L. Tripp reveals a lot of information about how SQL Server optimizes queries and common myths when she reveals The Tipping Point Query Answers. David Fetter shares Materialized Views Performance Tips in Postgres, and Leo Hsu and Regina Obe talk about Planner Statistics in the Postgres optimizer.

In the land of DB2, Henrik Loeser shares a PureXML Performance Tip: A Sequence of Good Indexes.

Coskan explains
How to Use Sysman Schema Without Oracle Enterprise Manager. John Hallas notes that using Oracle’s EM to migrate a database to ASM is easy, but seems slow, in ASM Metadata and Migrating a Database to ASM. He then goes on to share a coworker’s Script to Backup ASM Metadata. J. Arneil shows how to go about Fixing up ASM Disk Header Corruption, should you find yourself in a rough spot.

Aaron Alton has a great article telling us that in Defensive Programming, Assumptions Must be Guaranteed or Tested, and another one on handling tags efficiently in Full Text Search vs. Denormalized Tables Remus Rusanu provides a Transact-SQL stored procedure template for Exception Handling and Nested Transactions.

I’ll end with a link to another survey on What’s the hardest part of becoming an involuntary DBA? It’s one simple question, so go fill it out! You have the time, especially since Craig Mullins points out that on average, we got a 4.6% salary increase in 2008 in Salaries for Data Professionals Inching Upward. To learn more and become even better in your field, get a 15-day free trial to Safari Books Online from O’Reilly, with a 15% discount if you continue past the free trial, courtesy of Susan Visser.

Today’s trivial MySQL system variable:

old_alter_table

The interesting bit is that this is a system variable, order manual page.

Instead, visit this .

Unfortunately, that documentation is very sparse. It tells us:

old-alter-table is an option that can be set in an option file (such as /etc/my.cnf)

old_alter_table is the name of the variable.

And….that’s it. It is neither a system nor status variable, there is no scope, and no entry for whether or not it is dynamic. These last 2 are baffling, though they show up in other variables in the matrix on the “server options” manual page. The scope is either session or global; there is no NULL — the scope may not be *relevant*, but it still exists.

As well, either the variable can be settable on commandline, or not. There is no meaning to a NULL value in that column.

The most egregious issue is that there is no documentation whatsoever about what the variable does. What happens if I set old_alter_table to ON?

(My guess is that it’s a placeholder for the behavior of ALTER TABLE in 5.0 and earlier, perhaps it disables the use of ALTER TABLE ONLINE? My second guess is that whatever the functionality, it is not implemented yet, similar to date_format).

At the May 2009 Boston MySQL User Group, thumb Giuseppe Maxia of Sun Microsystems gave a presentation about MySQL 5.4 with use cases and benchmarks to show how it outperforms all other current MySQL releases (including the Google patches and the OurDelta/Percona releases).

The slides can be downloaded from http://www.slideshare.net/datacharmer/mysql-54-theory-and-practice

The video can be watched below, or directly on YouTube at http://www.youtube.com/watch?v=giT4SYXuVqA&hl

At the July MySQL User Group, prostate , buy an open source, distributed job queuing system.

The slides can be downloaded from http://www.oddments.org/notes/DrizzleGearmanBoston2009.pdf.

The first hour of video, where Eric and Patrick talk about Drizzle, is at http://www.youtube.com/watch?v=hi4cGzFlcuU, and below:

The second part, about 1.5 hours, where Eric and Patrick talk about Gearman, and then illustrate Gearman and Drizzle working together in a custom search application called Narada, is at http://www.youtube.com/watch?v=Auatakyl5eM and below:

There’s a lot of information in those presentations, and I would like to wholeheartedly thank Eric and Patrick for such a wonderful user group!

I think many people truly realized how much they take the MySQL documentation for granted during the recent multi-hour outage from mysql.com’s data center. Apparently there is a lot of FUD floating around about the legality of mirroring the documentation, buy more about .

The manual page at http://dev.mysql.com/doc/refman/5.1/en/copyright-mysql.html says:

You shall not publish or distribute this documentation in any form or on any media, oncologist except if you distribute the documentation in a manner similar to how Sun disseminates it (that is, opisthorchiasis electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium.

Now, I am not a lawyer, however, to me this means that you can indeed mirror the documentation, so long as you mirror the binaries as well. Giuseppe commented on Mark’s post (linked above) saying “There is no license restriction to mirror the docs.”

Note that I played a part in unknowingly spreading the FUD — I thought special permission was needed to mirror the documentation (and binaries) and indeed, it is not.

As a postscript, what are everyone’s favorite site mirror programs? Searching http://www.ohloh.net for an open-source website mirror did not reveal anything very popular, though I am sure there are a few “standard” mirroring tools that folks use. (Perhaps I should have searched for spiders, and seen which spiders have sync/download capabilities?)

download usb mobile phone software . download minitab software
download nintendo software wii ds wifi Download software fairz software download free music
download free ipod zoom software . ad aware plus full download software
bt download software . download data mining software

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

In the wake of Meetup.com changing their sponsorship agreements, rubella an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The July meeting of the Boston MySQL User Group will feature Eric Day, pharm a prominent Drizzle developer, erectile talking about Drizzle and Gearman:

In this talk we will discuss two growing technologies: Drizzle and Gearman.

We will explain what the Drizzle project is, physiotherapy what we aim to accomplish, and an overview of where we are at. We will also be introducing the fundamentals of how to leverage Gearman, an open-source, distributed job queuing system. Gearman’s generic design allows it to be used as a building block for almost any use – from speeding up your website to building your own Map/Reduce cluster. We will tie Drizzle and Gearman together and demonstrate how they work in a custom Search Engine application.

————————

Here is the URL for MIT’s Map with the location of this building:
http://whereis.mit.edu/map-jpg?selection=E51&Buildings=go

This map shows the MBTA Kendall Stop:
http://whereis.mit.edu/map-jpg?selection=L5&Landmarks=go
(the stop is in red on that map, and you can see E51 in the bottom right)

Here are the URL’s for the parking lots (free and open to the public after 3 pm):
http://whereis.mit.edu/map-jpg?selection=P4&Parking=go
http://whereis.mit.edu/map-jpg?selection=P5&Parking=go

Free pizza and soda will be served, so please RSVP accurately.

To RSVP anonymously, please login to the Meetup site with the e-mail address “admin at sheeri dot com” and the password “guest”.

For more information, see: http://mysql.meetup.com/137/

This is the 150th edition of Log Buffer, herbal and he escaped, resuscitation thus leaving me with the pleasurable duty of compiling the 150th weekly Log Buffer.

Many people other than Dave are finding release this week. Giuseppe Maxia explains some details of MySQL’s New Release Model. Andrew Morgan announces a New MySQL Cluster Maintenance Release. Aleksandr Kuzminsky of the MySQL Performance Blog releases build16 of the Percona MySQL binaries (versions 5.0.77 and 5.0.82), pharmacist which adds some 5.4 features and fixes some bugs.

Darran Cassar, the MySQL Preacher, has created a package for Security Roles and Password Expiry on MySQL. And for a future MySQL release, look for Two New Status Variable Patches, for query invalidation count and a last received datetime for replication heartbeat. These patches were contributed by MySQL Support Team member Andrew Hutchins.

Dave Beulke points out a new feature in DB2 9.7 — DB2 Compatible with Oracle.

To prepare for a future SQL Server release where CREATE DEFAULT, sp_bindefault and sp_unbindefault will be deprecated, Martin Bell advocates Changing Bound Defaults to Default Constraints. If you are going to upgrade SQL Server, definitely look at the notes from SQL Master of SQL Server QA’s presentation on SQL Server Upgrade Issues and How To Evaluate Potential Issues.

Stewart Smith lets is know that Drizzle Tarballs for the Next Milestone – Aloha are being released weekly. Meanwhile, Jay Pipes and the rest of the Drizzle team find, fix and explain the cause of a performance regression in Drizzle Performance Regression Solved – TCMalloc vs. No TCMalloc.

Lenz Grimmer has started organizing OpenSQLCamp 2009, Aug 22-23 in Germany; he posts details and links in Speaking at FrOSCon and Organizing the OpenSQLCamp 2009, European Edition. If you want to speak, Lenz also lets you know that Ronald Bradford gives out a discount code and reminds us that we can still attend OSCon 2009 at a Discounted Rate (until June 23rd). OSCon 2009 will be held July 20-24 in San Jose, California. And in Iowa, Michelle Ufford sends out the East Iowa SQL Saturday Call for Speakers to be held on Saturday, October 10, 2009.

Getting back to basics, Richard Foote explains Oracle’s cost-based optimizer in CBO and Indexes, an Introduction for Absolute Beginners. Speaking of optimizations, Valcora has Another Way To Do Performance Tuning — make sure you actually need the queries that are running against your system!

Tanel Poder points to a blog post on Using Perfsheet and TPT Scripts for Solving Real Life Performance Problems in an Oracle RAC environment. And Jonathan Lewis provides a script you can run if you are concerned about the potantial of Oracle PGA leaks. Over at Oraclue, Miladin Modrakovic shows how to discover memory “leaks and other problems with allocations of memory” in Memory Annotations and Oradebug.

If you are migrating a database from Oracle to MySQL, you may be interested in George Trujillo’s process of Converting an Oracle Schema to MySQL.

Kimberly L. Tripp reveals a lot of information about how SQL Server optimizes queries and common myths when she reveals The Tipping Point Query Answers. David Fetter shares Materialized Views Performance Tips in Postgres, and Leo Hsu and Regina Obe talk about Planner Statistics in the Postgres optimizer.

In the land of DB2, Henrik Loeser shares a PureXML Performance Tip: A Sequence of Good Indexes.

Coskan explains
How to Use Sysman Schema Without Oracle Enterprise Manager. John Hallas notes that using Oracle’s EM to migrate a database to ASM is easy, but seems slow, in ASM Metadata and Migrating a Database to ASM. He then goes on to share a coworker’s Script to Backup ASM Metadata. J. Arneil shows how to go about Fixing up ASM Disk Header Corruption, should you find yourself in a rough spot.

Aaron Alton has a great article telling us that in Defensive Programming, Assumptions Must be Guaranteed or Tested, and another one on handling tags efficiently in Full Text Search vs. Denormalized Tables Remus Rusanu provides a Transact-SQL stored procedure template for Exception Handling and Nested Transactions.

I’ll end with a link to another survey on What’s the hardest part of becoming an involuntary DBA? It’s one simple question, so go fill it out! You have the time, especially since Craig Mullins points out that on average, we got a 4.6% salary increase in 2008 in Salaries for Data Professionals Inching Upward. To learn more and become even better in your field, get a 15-day free trial to Safari Books Online from O’Reilly, with a 15% discount if you continue past the free trial, courtesy of Susan Visser.

Today’s trivial MySQL system variable:

old_alter_table

The interesting bit is that this is a system variable, order manual page.

Instead, visit this .

Unfortunately, that documentation is very sparse. It tells us:

old-alter-table is an option that can be set in an option file (such as /etc/my.cnf)

old_alter_table is the name of the variable.

And….that’s it. It is neither a system nor status variable, there is no scope, and no entry for whether or not it is dynamic. These last 2 are baffling, though they show up in other variables in the matrix on the “server options” manual page. The scope is either session or global; there is no NULL — the scope may not be *relevant*, but it still exists.

As well, either the variable can be settable on commandline, or not. There is no meaning to a NULL value in that column.

The most egregious issue is that there is no documentation whatsoever about what the variable does. What happens if I set old_alter_table to ON?

(My guess is that it’s a placeholder for the behavior of ALTER TABLE in 5.0 and earlier, perhaps it disables the use of ALTER TABLE ONLINE? My second guess is that whatever the functionality, it is not implemented yet, similar to date_format).

At the May 2009 Boston MySQL User Group, thumb Giuseppe Maxia of Sun Microsystems gave a presentation about MySQL 5.4 with use cases and benchmarks to show how it outperforms all other current MySQL releases (including the Google patches and the OurDelta/Percona releases).

The slides can be downloaded from http://www.slideshare.net/datacharmer/mysql-54-theory-and-practice

The video can be watched below, or directly on YouTube at http://www.youtube.com/watch?v=giT4SYXuVqA&hl

At the July MySQL User Group, prostate , buy an open source, distributed job queuing system.

The slides can be downloaded from http://www.oddments.org/notes/DrizzleGearmanBoston2009.pdf.

The first hour of video, where Eric and Patrick talk about Drizzle, is at http://www.youtube.com/watch?v=hi4cGzFlcuU, and below:

The second part, about 1.5 hours, where Eric and Patrick talk about Gearman, and then illustrate Gearman and Drizzle working together in a custom search application called Narada, is at http://www.youtube.com/watch?v=Auatakyl5eM and below:

There’s a lot of information in those presentations, and I would like to wholeheartedly thank Eric and Patrick for such a wonderful user group!

I think many people truly realized how much they take the MySQL documentation for granted during the recent multi-hour outage from mysql.com’s data center. Apparently there is a lot of FUD floating around about the legality of mirroring the documentation, buy more about .

The manual page at http://dev.mysql.com/doc/refman/5.1/en/copyright-mysql.html says:

You shall not publish or distribute this documentation in any form or on any media, oncologist except if you distribute the documentation in a manner similar to how Sun disseminates it (that is, opisthorchiasis electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium.

Now, I am not a lawyer, however, to me this means that you can indeed mirror the documentation, so long as you mirror the binaries as well. Giuseppe commented on Mark’s post (linked above) saying “There is no license restriction to mirror the docs.”

Note that I played a part in unknowingly spreading the FUD — I thought special permission was needed to mirror the documentation (and binaries) and indeed, it is not.

As a postscript, what are everyone’s favorite site mirror programs? Searching http://www.ohloh.net for an open-source website mirror did not reveal anything very popular, though I am sure there are a few “standard” mirroring tools that folks use. (Perhaps I should have searched for spiders, and seen which spiders have sync/download capabilities?)

download usb mobile phone software . download minitab software
download nintendo software wii ds wifi Download software fairz software download free music
download free ipod zoom software . ad aware plus full download software
bt download software . download data mining software

Germany …. close to Bonn and Cologne.”

I plan on being at FrOSCon and OpenSQLCamp. Where I go before and after that is up to *you*. Yes, internist that is right, sovaldi sale perhaps I will visit a user group, approved such as France’s MySQL User Group. Or perhaps your company needs the type of services Pythian can offer — we can do the “traditional consulting” model where we look over your systems for performance tuning and security gains, or fix problems in an emergency. Even more of a win, we specialize in recurring engineering — we can supplement your existing IT staff with database expertise, and do all the database work your current staff does not have time to do.

We do it all, whether it’s large project work that would ordinarily be farmed out to consultants such as new schema development, ETL and reporting scripts and data warehouse creation; or the ordinary but important stuff that keeps the business running like ensuring backups work, constructing a no-downtime architecture, making the development environment realistic, testing failover, and capacity planning.

If you have a mixed environment, that’s OK too — we cover the major database vendors (open and closed source) and have a team of system administrators if you need help in that arena.

Keep in mind — I’m not a sales person, I’m a tech person. Day-to-day I not only lead a team of MySQL DBA’s, I am one myself, and have my hands in the tech stuff all the time. Most of the reasons I like working at Pythian are the same reasons our clients love us — 24×7 coverage to me means “my pager only goes off past 5 pm if it’s the one weekend a month I’m oncall”, to a client it means “whoever is paged is already awake most of the time.”

So if you would like to sit down with me and have a drink, just say “hi”, speak at an upcoming User Group, or talk about what Pythian can do for you, comment here, or e-mail me at “cabral at pythian dot com” and we will work something out. I can come to your European location, meet you at FrOSCon or OpenSQLCamp, or we can arrange a meeting at our Prague office sometime around the end of August.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

In the wake of Meetup.com changing their sponsorship agreements, rubella an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The July meeting of the Boston MySQL User Group will feature Eric Day, pharm a prominent Drizzle developer, erectile talking about Drizzle and Gearman:

In this talk we will discuss two growing technologies: Drizzle and Gearman.

We will explain what the Drizzle project is, physiotherapy what we aim to accomplish, and an overview of where we are at. We will also be introducing the fundamentals of how to leverage Gearman, an open-source, distributed job queuing system. Gearman’s generic design allows it to be used as a building block for almost any use – from speeding up your website to building your own Map/Reduce cluster. We will tie Drizzle and Gearman together and demonstrate how they work in a custom Search Engine application.

————————

Here is the URL for MIT’s Map with the location of this building:
http://whereis.mit.edu/map-jpg?selection=E51&Buildings=go

This map shows the MBTA Kendall Stop:
http://whereis.mit.edu/map-jpg?selection=L5&Landmarks=go
(the stop is in red on that map, and you can see E51 in the bottom right)

Here are the URL’s for the parking lots (free and open to the public after 3 pm):
http://whereis.mit.edu/map-jpg?selection=P4&Parking=go
http://whereis.mit.edu/map-jpg?selection=P5&Parking=go

Free pizza and soda will be served, so please RSVP accurately.

To RSVP anonymously, please login to the Meetup site with the e-mail address “admin at sheeri dot com” and the password “guest”.

For more information, see: http://mysql.meetup.com/137/

This is the 150th edition of Log Buffer, herbal and he escaped, resuscitation thus leaving me with the pleasurable duty of compiling the 150th weekly Log Buffer.

Many people other than Dave are finding release this week. Giuseppe Maxia explains some details of MySQL’s New Release Model. Andrew Morgan announces a New MySQL Cluster Maintenance Release. Aleksandr Kuzminsky of the MySQL Performance Blog releases build16 of the Percona MySQL binaries (versions 5.0.77 and 5.0.82), pharmacist which adds some 5.4 features and fixes some bugs.

Darran Cassar, the MySQL Preacher, has created a package for Security Roles and Password Expiry on MySQL. And for a future MySQL release, look for Two New Status Variable Patches, for query invalidation count and a last received datetime for replication heartbeat. These patches were contributed by MySQL Support Team member Andrew Hutchins.

Dave Beulke points out a new feature in DB2 9.7 — DB2 Compatible with Oracle.

To prepare for a future SQL Server release where CREATE DEFAULT, sp_bindefault and sp_unbindefault will be deprecated, Martin Bell advocates Changing Bound Defaults to Default Constraints. If you are going to upgrade SQL Server, definitely look at the notes from SQL Master of SQL Server QA’s presentation on SQL Server Upgrade Issues and How To Evaluate Potential Issues.

Stewart Smith lets is know that Drizzle Tarballs for the Next Milestone – Aloha are being released weekly. Meanwhile, Jay Pipes and the rest of the Drizzle team find, fix and explain the cause of a performance regression in Drizzle Performance Regression Solved – TCMalloc vs. No TCMalloc.

Lenz Grimmer has started organizing OpenSQLCamp 2009, Aug 22-23 in Germany; he posts details and links in Speaking at FrOSCon and Organizing the OpenSQLCamp 2009, European Edition. If you want to speak, Lenz also lets you know that Ronald Bradford gives out a discount code and reminds us that we can still attend OSCon 2009 at a Discounted Rate (until June 23rd). OSCon 2009 will be held July 20-24 in San Jose, California. And in Iowa, Michelle Ufford sends out the East Iowa SQL Saturday Call for Speakers to be held on Saturday, October 10, 2009.

Getting back to basics, Richard Foote explains Oracle’s cost-based optimizer in CBO and Indexes, an Introduction for Absolute Beginners. Speaking of optimizations, Valcora has Another Way To Do Performance Tuning — make sure you actually need the queries that are running against your system!

Tanel Poder points to a blog post on Using Perfsheet and TPT Scripts for Solving Real Life Performance Problems in an Oracle RAC environment. And Jonathan Lewis provides a script you can run if you are concerned about the potantial of Oracle PGA leaks. Over at Oraclue, Miladin Modrakovic shows how to discover memory “leaks and other problems with allocations of memory” in Memory Annotations and Oradebug.

If you are migrating a database from Oracle to MySQL, you may be interested in George Trujillo’s process of Converting an Oracle Schema to MySQL.

Kimberly L. Tripp reveals a lot of information about how SQL Server optimizes queries and common myths when she reveals The Tipping Point Query Answers. David Fetter shares Materialized Views Performance Tips in Postgres, and Leo Hsu and Regina Obe talk about Planner Statistics in the Postgres optimizer.

In the land of DB2, Henrik Loeser shares a PureXML Performance Tip: A Sequence of Good Indexes.

Coskan explains
How to Use Sysman Schema Without Oracle Enterprise Manager. John Hallas notes that using Oracle’s EM to migrate a database to ASM is easy, but seems slow, in ASM Metadata and Migrating a Database to ASM. He then goes on to share a coworker’s Script to Backup ASM Metadata. J. Arneil shows how to go about Fixing up ASM Disk Header Corruption, should you find yourself in a rough spot.

Aaron Alton has a great article telling us that in Defensive Programming, Assumptions Must be Guaranteed or Tested, and another one on handling tags efficiently in Full Text Search vs. Denormalized Tables Remus Rusanu provides a Transact-SQL stored procedure template for Exception Handling and Nested Transactions.

I’ll end with a link to another survey on What’s the hardest part of becoming an involuntary DBA? It’s one simple question, so go fill it out! You have the time, especially since Craig Mullins points out that on average, we got a 4.6% salary increase in 2008 in Salaries for Data Professionals Inching Upward. To learn more and become even better in your field, get a 15-day free trial to Safari Books Online from O’Reilly, with a 15% discount if you continue past the free trial, courtesy of Susan Visser.

Today’s trivial MySQL system variable:

old_alter_table

The interesting bit is that this is a system variable, order manual page.

Instead, visit this .

Unfortunately, that documentation is very sparse. It tells us:

old-alter-table is an option that can be set in an option file (such as /etc/my.cnf)

old_alter_table is the name of the variable.

And….that’s it. It is neither a system nor status variable, there is no scope, and no entry for whether or not it is dynamic. These last 2 are baffling, though they show up in other variables in the matrix on the “server options” manual page. The scope is either session or global; there is no NULL — the scope may not be *relevant*, but it still exists.

As well, either the variable can be settable on commandline, or not. There is no meaning to a NULL value in that column.

The most egregious issue is that there is no documentation whatsoever about what the variable does. What happens if I set old_alter_table to ON?

(My guess is that it’s a placeholder for the behavior of ALTER TABLE in 5.0 and earlier, perhaps it disables the use of ALTER TABLE ONLINE? My second guess is that whatever the functionality, it is not implemented yet, similar to date_format).

At the May 2009 Boston MySQL User Group, thumb Giuseppe Maxia of Sun Microsystems gave a presentation about MySQL 5.4 with use cases and benchmarks to show how it outperforms all other current MySQL releases (including the Google patches and the OurDelta/Percona releases).

The slides can be downloaded from http://www.slideshare.net/datacharmer/mysql-54-theory-and-practice

The video can be watched below, or directly on YouTube at http://www.youtube.com/watch?v=giT4SYXuVqA&hl

At the July MySQL User Group, prostate , buy an open source, distributed job queuing system.

The slides can be downloaded from http://www.oddments.org/notes/DrizzleGearmanBoston2009.pdf.

The first hour of video, where Eric and Patrick talk about Drizzle, is at http://www.youtube.com/watch?v=hi4cGzFlcuU, and below:

The second part, about 1.5 hours, where Eric and Patrick talk about Gearman, and then illustrate Gearman and Drizzle working together in a custom search application called Narada, is at http://www.youtube.com/watch?v=Auatakyl5eM and below:

There’s a lot of information in those presentations, and I would like to wholeheartedly thank Eric and Patrick for such a wonderful user group!

I think many people truly realized how much they take the MySQL documentation for granted during the recent multi-hour outage from mysql.com’s data center. Apparently there is a lot of FUD floating around about the legality of mirroring the documentation, buy more about .

The manual page at http://dev.mysql.com/doc/refman/5.1/en/copyright-mysql.html says:

You shall not publish or distribute this documentation in any form or on any media, oncologist except if you distribute the documentation in a manner similar to how Sun disseminates it (that is, opisthorchiasis electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium.

Now, I am not a lawyer, however, to me this means that you can indeed mirror the documentation, so long as you mirror the binaries as well. Giuseppe commented on Mark’s post (linked above) saying “There is no license restriction to mirror the docs.”

Note that I played a part in unknowingly spreading the FUD — I thought special permission was needed to mirror the documentation (and binaries) and indeed, it is not.

As a postscript, what are everyone’s favorite site mirror programs? Searching http://www.ohloh.net for an open-source website mirror did not reveal anything very popular, though I am sure there are a few “standard” mirroring tools that folks use. (Perhaps I should have searched for spiders, and seen which spiders have sync/download capabilities?)

download usb mobile phone software . download minitab software
download nintendo software wii ds wifi Download software fairz software download free music
download free ipod zoom software . ad aware plus full download software
bt download software . download data mining software

Germany …. close to Bonn and Cologne.”

I plan on being at FrOSCon and OpenSQLCamp. Where I go before and after that is up to *you*. Yes, internist that is right, sovaldi sale perhaps I will visit a user group, approved such as France’s MySQL User Group. Or perhaps your company needs the type of services Pythian can offer — we can do the “traditional consulting” model where we look over your systems for performance tuning and security gains, or fix problems in an emergency. Even more of a win, we specialize in recurring engineering — we can supplement your existing IT staff with database expertise, and do all the database work your current staff does not have time to do.

We do it all, whether it’s large project work that would ordinarily be farmed out to consultants such as new schema development, ETL and reporting scripts and data warehouse creation; or the ordinary but important stuff that keeps the business running like ensuring backups work, constructing a no-downtime architecture, making the development environment realistic, testing failover, and capacity planning.

If you have a mixed environment, that’s OK too — we cover the major database vendors (open and closed source) and have a team of system administrators if you need help in that arena.

Keep in mind — I’m not a sales person, I’m a tech person. Day-to-day I not only lead a team of MySQL DBA’s, I am one myself, and have my hands in the tech stuff all the time. Most of the reasons I like working at Pythian are the same reasons our clients love us — 24×7 coverage to me means “my pager only goes off past 5 pm if it’s the one weekend a month I’m oncall”, to a client it means “whoever is paged is already awake most of the time.”

So if you would like to sit down with me and have a drink, just say “hi”, speak at an upcoming User Group, or talk about what Pythian can do for you, comment here, or e-mail me at “cabral at pythian dot com” and we will work something out. I can come to your European location, meet you at FrOSCon or OpenSQLCamp, or we can arrange a meeting at our Prague office sometime around the end of August.

A short time ago I posted how I was but experiences that others have had (and commented to on that blog post) have made me want to put out another short article about using XtraDB backup.

The first few points remain the same — the backup process is stable, cialis 40mg we were able to use the binaries without compiling, rx and using Innobackupex as the wrapper script, analogous to Innobackup.pl.

However, we did figure out why Xtrabackup had to be run as the mysql user:

Xtrabackup writes to the data dictionary file (ibdata1, for example). We have not examined if it also writes to the data and index files (still ibdata1 by default, or the .ibd files when using innodb_file_per_table). [EDIT: The authors of Xtrabackup have commented below as to why the write occurs:

xtrabackup is kind of very small and restricted instance of InnoDB, and reuses a lot of InnoDB code.

InnoDB by default requires O_RDWR option on ibdata1 files at start, and xtrabackup therefore also did that. In the latest push to trunk it was fixed, now xtrabackup opens file with O_RDONLY flag.

When the new version is released, we will be sure to test it so that we can run the backup as a read-only user, and report back.]

On the one hand, Xtrabackup is a free tool. On the other hand, modifying InnoDB’s underlying files risks corrupting all the InnoDB tables in the system. Which is a tricky situation when it is your backup tool that might cause corruption that is beyond repair, as you do not know if you can trust your backups.

Regarding the complaint Dan R commented on the previous post that innobackupex could stream the backup to gzip, and helpfully gave the syntax. Shlomi Noach also pointed out streaming as a feature of Xtrabackup that ibbackup does not have. However, Gerry Narvaja, a co-worker noted (and commented):

I’ve been trying to install xtrabackup/innobackupex for a customer and I’m finding a few glitches, especially w/ streaming:

We use innoback(ex) wrapped in our own scripts to allow for rotation and other operations. We also use ZRM for some installations, so this would apply to integration with this tool as well. These are the glitches I found:

1. Using streaming by piping it into ‘gzip’ masks the return code from innobackupex.pl. Since gzip will almost always return 0, you can’t rely on it to determine backup success.

2. The next alternative would be to review the innobackupex.pl’s output for the OK at the end. But since it redirects the output to ’stderr’ to allow for streaming, you need to add “2> innobackupex.log” before piping and grep for the “OK” at the end.

and noted that there were some limitations:

innobackupex script is limited in the type of options you can specify compared to what the xtrabackup executable supports. I find this annoying since it limits the directories where you can have the backups, data directories and logs.

Xtrabackup doesn’t work for MySQL v4.1. In the Percona forums there was a suggestion that the 5.0 patch should work. This is true, but xtrabackup.c has other dependencies on 5.x definitions and structures I didn’t have time to review. Baron Schwartz correctly suggested that these dependencies might be trivial in a tweet directed to myself. I’ll post my findings to the Percona forums and hopefully we can soon have a patched version.

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

In the wake of Meetup.com changing their sponsorship agreements, rubella an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The July meeting of the Boston MySQL User Group will feature Eric Day, pharm a prominent Drizzle developer, erectile talking about Drizzle and Gearman:

In this talk we will discuss two growing technologies: Drizzle and Gearman.

We will explain what the Drizzle project is, physiotherapy what we aim to accomplish, and an overview of where we are at. We will also be introducing the fundamentals of how to leverage Gearman, an open-source, distributed job queuing system. Gearman’s generic design allows it to be used as a building block for almost any use – from speeding up your website to building your own Map/Reduce cluster. We will tie Drizzle and Gearman together and demonstrate how they work in a custom Search Engine application.

————————

Here is the URL for MIT’s Map with the location of this building:
http://whereis.mit.edu/map-jpg?selection=E51&Buildings=go

This map shows the MBTA Kendall Stop:
http://whereis.mit.edu/map-jpg?selection=L5&Landmarks=go
(the stop is in red on that map, and you can see E51 in the bottom right)

Here are the URL’s for the parking lots (free and open to the public after 3 pm):
http://whereis.mit.edu/map-jpg?selection=P4&Parking=go
http://whereis.mit.edu/map-jpg?selection=P5&Parking=go

Free pizza and soda will be served, so please RSVP accurately.

To RSVP anonymously, please login to the Meetup site with the e-mail address “admin at sheeri dot com” and the password “guest”.

For more information, see: http://mysql.meetup.com/137/

This is the 150th edition of Log Buffer, herbal and he escaped, resuscitation thus leaving me with the pleasurable duty of compiling the 150th weekly Log Buffer.

Many people other than Dave are finding release this week. Giuseppe Maxia explains some details of MySQL’s New Release Model. Andrew Morgan announces a New MySQL Cluster Maintenance Release. Aleksandr Kuzminsky of the MySQL Performance Blog releases build16 of the Percona MySQL binaries (versions 5.0.77 and 5.0.82), pharmacist which adds some 5.4 features and fixes some bugs.

Darran Cassar, the MySQL Preacher, has created a package for Security Roles and Password Expiry on MySQL. And for a future MySQL release, look for Two New Status Variable Patches, for query invalidation count and a last received datetime for replication heartbeat. These patches were contributed by MySQL Support Team member Andrew Hutchins.

Dave Beulke points out a new feature in DB2 9.7 — DB2 Compatible with Oracle.

To prepare for a future SQL Server release where CREATE DEFAULT, sp_bindefault and sp_unbindefault will be deprecated, Martin Bell advocates Changing Bound Defaults to Default Constraints. If you are going to upgrade SQL Server, definitely look at the notes from SQL Master of SQL Server QA’s presentation on SQL Server Upgrade Issues and How To Evaluate Potential Issues.

Stewart Smith lets is know that Drizzle Tarballs for the Next Milestone – Aloha are being released weekly. Meanwhile, Jay Pipes and the rest of the Drizzle team find, fix and explain the cause of a performance regression in Drizzle Performance Regression Solved – TCMalloc vs. No TCMalloc.

Lenz Grimmer has started organizing OpenSQLCamp 2009, Aug 22-23 in Germany; he posts details and links in Speaking at FrOSCon and Organizing the OpenSQLCamp 2009, European Edition. If you want to speak, Lenz also lets you know that Ronald Bradford gives out a discount code and reminds us that we can still attend OSCon 2009 at a Discounted Rate (until June 23rd). OSCon 2009 will be held July 20-24 in San Jose, California. And in Iowa, Michelle Ufford sends out the East Iowa SQL Saturday Call for Speakers to be held on Saturday, October 10, 2009.

Getting back to basics, Richard Foote explains Oracle’s cost-based optimizer in CBO and Indexes, an Introduction for Absolute Beginners. Speaking of optimizations, Valcora has Another Way To Do Performance Tuning — make sure you actually need the queries that are running against your system!

Tanel Poder points to a blog post on Using Perfsheet and TPT Scripts for Solving Real Life Performance Problems in an Oracle RAC environment. And Jonathan Lewis provides a script you can run if you are concerned about the potantial of Oracle PGA leaks. Over at Oraclue, Miladin Modrakovic shows how to discover memory “leaks and other problems with allocations of memory” in Memory Annotations and Oradebug.

If you are migrating a database from Oracle to MySQL, you may be interested in George Trujillo’s process of Converting an Oracle Schema to MySQL.

Kimberly L. Tripp reveals a lot of information about how SQL Server optimizes queries and common myths when she reveals The Tipping Point Query Answers. David Fetter shares Materialized Views Performance Tips in Postgres, and Leo Hsu and Regina Obe talk about Planner Statistics in the Postgres optimizer.

In the land of DB2, Henrik Loeser shares a PureXML Performance Tip: A Sequence of Good Indexes.

Coskan explains
How to Use Sysman Schema Without Oracle Enterprise Manager. John Hallas notes that using Oracle’s EM to migrate a database to ASM is easy, but seems slow, in ASM Metadata and Migrating a Database to ASM. He then goes on to share a coworker’s Script to Backup ASM Metadata. J. Arneil shows how to go about Fixing up ASM Disk Header Corruption, should you find yourself in a rough spot.

Aaron Alton has a great article telling us that in Defensive Programming, Assumptions Must be Guaranteed or Tested, and another one on handling tags efficiently in Full Text Search vs. Denormalized Tables Remus Rusanu provides a Transact-SQL stored procedure template for Exception Handling and Nested Transactions.

I’ll end with a link to another survey on What’s the hardest part of becoming an involuntary DBA? It’s one simple question, so go fill it out! You have the time, especially since Craig Mullins points out that on average, we got a 4.6% salary increase in 2008 in Salaries for Data Professionals Inching Upward. To learn more and become even better in your field, get a 15-day free trial to Safari Books Online from O’Reilly, with a 15% discount if you continue past the free trial, courtesy of Susan Visser.

Today’s trivial MySQL system variable:

old_alter_table

The interesting bit is that this is a system variable, order manual page.

Instead, visit this .

Unfortunately, that documentation is very sparse. It tells us:

old-alter-table is an option that can be set in an option file (such as /etc/my.cnf)

old_alter_table is the name of the variable.

And….that’s it. It is neither a system nor status variable, there is no scope, and no entry for whether or not it is dynamic. These last 2 are baffling, though they show up in other variables in the matrix on the “server options” manual page. The scope is either session or global; there is no NULL — the scope may not be *relevant*, but it still exists.

As well, either the variable can be settable on commandline, or not. There is no meaning to a NULL value in that column.

The most egregious issue is that there is no documentation whatsoever about what the variable does. What happens if I set old_alter_table to ON?

(My guess is that it’s a placeholder for the behavior of ALTER TABLE in 5.0 and earlier, perhaps it disables the use of ALTER TABLE ONLINE? My second guess is that whatever the functionality, it is not implemented yet, similar to date_format).

At the May 2009 Boston MySQL User Group, thumb Giuseppe Maxia of Sun Microsystems gave a presentation about MySQL 5.4 with use cases and benchmarks to show how it outperforms all other current MySQL releases (including the Google patches and the OurDelta/Percona releases).

The slides can be downloaded from http://www.slideshare.net/datacharmer/mysql-54-theory-and-practice

The video can be watched below, or directly on YouTube at http://www.youtube.com/watch?v=giT4SYXuVqA&hl

At the July MySQL User Group, prostate , buy an open source, distributed job queuing system.

The slides can be downloaded from http://www.oddments.org/notes/DrizzleGearmanBoston2009.pdf.

The first hour of video, where Eric and Patrick talk about Drizzle, is at http://www.youtube.com/watch?v=hi4cGzFlcuU, and below:

The second part, about 1.5 hours, where Eric and Patrick talk about Gearman, and then illustrate Gearman and Drizzle working together in a custom search application called Narada, is at http://www.youtube.com/watch?v=Auatakyl5eM and below:

There’s a lot of information in those presentations, and I would like to wholeheartedly thank Eric and Patrick for such a wonderful user group!

I think many people truly realized how much they take the MySQL documentation for granted during the recent multi-hour outage from mysql.com’s data center. Apparently there is a lot of FUD floating around about the legality of mirroring the documentation, buy more about .

The manual page at http://dev.mysql.com/doc/refman/5.1/en/copyright-mysql.html says:

You shall not publish or distribute this documentation in any form or on any media, oncologist except if you distribute the documentation in a manner similar to how Sun disseminates it (that is, opisthorchiasis electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium.

Now, I am not a lawyer, however, to me this means that you can indeed mirror the documentation, so long as you mirror the binaries as well. Giuseppe commented on Mark’s post (linked above) saying “There is no license restriction to mirror the docs.”

Note that I played a part in unknowingly spreading the FUD — I thought special permission was needed to mirror the documentation (and binaries) and indeed, it is not.

As a postscript, what are everyone’s favorite site mirror programs? Searching http://www.ohloh.net for an open-source website mirror did not reveal anything very popular, though I am sure there are a few “standard” mirroring tools that folks use. (Perhaps I should have searched for spiders, and seen which spiders have sync/download capabilities?)

download usb mobile phone software . download minitab software
download nintendo software wii ds wifi Download software fairz software download free music
download free ipod zoom software . ad aware plus full download software
bt download software . download data mining software

Germany …. close to Bonn and Cologne.”

I plan on being at FrOSCon and OpenSQLCamp. Where I go before and after that is up to *you*. Yes, internist that is right, sovaldi sale perhaps I will visit a user group, approved such as France’s MySQL User Group. Or perhaps your company needs the type of services Pythian can offer — we can do the “traditional consulting” model where we look over your systems for performance tuning and security gains, or fix problems in an emergency. Even more of a win, we specialize in recurring engineering — we can supplement your existing IT staff with database expertise, and do all the database work your current staff does not have time to do.

We do it all, whether it’s large project work that would ordinarily be farmed out to consultants such as new schema development, ETL and reporting scripts and data warehouse creation; or the ordinary but important stuff that keeps the business running like ensuring backups work, constructing a no-downtime architecture, making the development environment realistic, testing failover, and capacity planning.

If you have a mixed environment, that’s OK too — we cover the major database vendors (open and closed source) and have a team of system administrators if you need help in that arena.

Keep in mind — I’m not a sales person, I’m a tech person. Day-to-day I not only lead a team of MySQL DBA’s, I am one myself, and have my hands in the tech stuff all the time. Most of the reasons I like working at Pythian are the same reasons our clients love us — 24×7 coverage to me means “my pager only goes off past 5 pm if it’s the one weekend a month I’m oncall”, to a client it means “whoever is paged is already awake most of the time.”

So if you would like to sit down with me and have a drink, just say “hi”, speak at an upcoming User Group, or talk about what Pythian can do for you, comment here, or e-mail me at “cabral at pythian dot com” and we will work something out. I can come to your European location, meet you at FrOSCon or OpenSQLCamp, or we can arrange a meeting at our Prague office sometime around the end of August.

A short time ago I posted how I was but experiences that others have had (and commented to on that blog post) have made me want to put out another short article about using XtraDB backup.

The first few points remain the same — the backup process is stable, cialis 40mg we were able to use the binaries without compiling, rx and using Innobackupex as the wrapper script, analogous to Innobackup.pl.

However, we did figure out why Xtrabackup had to be run as the mysql user:

Xtrabackup writes to the data dictionary file (ibdata1, for example). We have not examined if it also writes to the data and index files (still ibdata1 by default, or the .ibd files when using innodb_file_per_table). [EDIT: The authors of Xtrabackup have commented below as to why the write occurs:

xtrabackup is kind of very small and restricted instance of InnoDB, and reuses a lot of InnoDB code.

InnoDB by default requires O_RDWR option on ibdata1 files at start, and xtrabackup therefore also did that. In the latest push to trunk it was fixed, now xtrabackup opens file with O_RDONLY flag.

When the new version is released, we will be sure to test it so that we can run the backup as a read-only user, and report back.]

On the one hand, Xtrabackup is a free tool. On the other hand, modifying InnoDB’s underlying files risks corrupting all the InnoDB tables in the system. Which is a tricky situation when it is your backup tool that might cause corruption that is beyond repair, as you do not know if you can trust your backups.

Regarding the complaint Dan R commented on the previous post that innobackupex could stream the backup to gzip, and helpfully gave the syntax. Shlomi Noach also pointed out streaming as a feature of Xtrabackup that ibbackup does not have. However, Gerry Narvaja, a co-worker noted (and commented):

I’ve been trying to install xtrabackup/innobackupex for a customer and I’m finding a few glitches, especially w/ streaming:

We use innoback(ex) wrapped in our own scripts to allow for rotation and other operations. We also use ZRM for some installations, so this would apply to integration with this tool as well. These are the glitches I found:

1. Using streaming by piping it into ‘gzip’ masks the return code from innobackupex.pl. Since gzip will almost always return 0, you can’t rely on it to determine backup success.

2. The next alternative would be to review the innobackupex.pl’s output for the OK at the end. But since it redirects the output to ’stderr’ to allow for streaming, you need to add “2> innobackupex.log” before piping and grep for the “OK” at the end.

and noted that there were some limitations:

innobackupex script is limited in the type of options you can specify compared to what the xtrabackup executable supports. I find this annoying since it limits the directories where you can have the backups, data directories and logs.

Xtrabackup doesn’t work for MySQL v4.1. In the Percona forums there was a suggestion that the 5.0 patch should work. This is true, but xtrabackup.c has other dependencies on 5.x definitions and structures I didn’t have time to review. Baron Schwartz correctly suggested that these dependencies might be trivial in a tweet directed to myself. I’ll post my findings to the Percona forums and hopefully we can soon have a patched version.

It’s been just over three months since the April 2009 MySQL Users Conference and Expo. It took a while for the files to be processed, geriatrician , healing and then I found out that the online streaming was not working properly. So I started playing with things, re-encoding some videos, updating the software, but to no avail.

Just as I was about to give up I got notification that Technocation, Inc. was accepted into YouTube’s not-for-profit program, which allows movies larger than 10 minutes to be uploaded and viewed advertisement-free.

So then I had to upload the videos to YouTube and add descriptions.

So with no *further* delay, here are all the videos from the 2009 MySQL Conference and 2009 MySQL Camp:

The brief description — just the playlists:
Conference playlist (16 videos):
http://www.youtube.com/view_play_list?p=0F93B7A29807C4F7

Camp playlist (6 videos):
http://www.youtube.com/view_play_list?p=5EE4B7EC2F257251

The longer description – each video with title, presenter(s) and link:
MySQL Camp:
Keynote: The State of Open Source Databases
Brian Aker (Sun Microsystems)
http://www.youtube.com/watch?v=m2V-hvD_icA


Top 10 MySQL Pet Peeves and How to Workaround Them
Jeremy Zawodny
http://www.youtube.com/watch?v=yxx2XbbTiP0

Intro to XtraDB, a Scalable InnoDB-based Storage Engine
Ewen Fortune (Percona)
http://www.youtube.com/watch?v=kTCUZ3s1iIY

Grand Tour of the Information Schema and its Applications
Roland Bouman
http://www.youtube.com/watch?v=M3ryKyMkiQY

Chasing Bottlenecks
Morgan Tocker (Percona)
http://www.youtube.com/watch?v=1L8TwuKMg3M

InnoDB Database Recovery Techniques
Peter Zaitsev (Percona)
http://www.youtube.com/watch?v=yuU40p_V9Ic

MySQL Conference:

Tutorial: Understanding How MySQL Works by Understanding Metadata
Sheeri K. Cabral (The Pythian Group), Patrick Galbraith (Lycos Inc.)
Part 1: http://www.youtube.com/watch?v=C_Uv_4I9gus
Part 2: http://www.youtube.com/watch?v=V3IBVsYGdtA

Using the Event Scheduler: The Friendly Behind-the-Scenes Helper
Giuseppe Maxia (Sun Microsystems Inc), Andrey Hristov (SUN Microsystems)
http://www.youtube.com/watch?v=-CmIcEXrf3g

Starring Sakila: Data Warehousing Explained, Illustrated, and Subtitled
Roland Bouman (XCDSQL Solutions / Strukton Rail), Matt Casters (Pentaho Corp.)
http://www.youtube.com/watch?v=cSXWTNYn3es

Map/Reduce and Queues for MySQL Using Gearman
Eric Day (Sun Microsystems), Brian Aker (Sun Microsystems, Inc.)
http://www.youtube.com/watch?v=xDRDu1g270c

Unleash the Power of Your Data Using Open Source Business Intelligence
Christopher Lavigne (Breadboard BI, Inc.)
http://www.youtube.com/watch?v=XlhVsJ9ovgg

Tricks and Tradeoffs of Deploying MySQL Clusters in the Cloud
Thorsten von Eicken (RightScale, Inc)
http://www.youtube.com/watch?v=9QchPQvvLEw

Beginner’s Guide to Website Performance with MySQL and memcached
Adam Donnison (Sun Microsystems)
http://www.youtube.com/watch?v=X1ePFOhHEag

Advanced Query Manipulation with MySQL Proxy
Kay Roepke (Sun Microsystems)
http://www.youtube.com/watch?v=LuwScTm5zrY

If You Love It, Break It: Testing MySQL with the Random Query Generator
Philip Stoev (Sun Microsystems)
http://www.youtube.com/watch?v=_jf4__2zgR8

The ScaleDB Storage Engine: Enabling High Performance and Scalability Using Materialized Views and a Shared-Disk Clustering Architecture
Moshe Shadmon (ScaleDB)
http://www.youtube.com/watch?v=_5QNSxfpYSU

SPIDER Storage Engine: Database Sharding by Storage Engine
Kentoku SHIBA (ST Global.,Inc)
http://www.youtube.com/watch?v=scKjO0LnnJo

Optimizing MySQL Performance with ZFS
Allan Packer (Sun Microsystems), Neelakanth Nadgir (Sun Microsystems)
http://www.youtube.com/watch?v=a31NhwzlAxs

Improving Performance by Running MySQL Multiple Times
Martin “MC” Brown
http://www.youtube.com/watch?v=5uKBg9prA1A

High Performance Ruby on Rails and MySQL
David Berube (Berube Consulting)
http://www.youtube.com/watch?v=ts7fIl0WZoc

Crash Recovery and Media Recovery in InnoDB
Heikki Tuuri (Innobase / Oracle Corp.)
http://www.youtube.com/watch?v=5KFxSDh_-18

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for performance testing and developer support and mentoring.

Cost and Availability

MySQL Administrator’s Bible is sold through most bookstores including Wiley and Amazon.com. It retails for $US 49.99. The MySQL Adoption Accelerator Package is available immediately. For more information, contact sales@pythian.com.

About Pythian

The Pythian Group is a global industry-leader in remote database administration services and consulting for MySQL, Oracle and SQL Server. Since 1997, companies have trusted Pythian to keep their database infrastructures running efficiently while strategically aligning IT with business goals. Pythian’s unparalleled DBA skills, mature methodologies, best practices and tools enable clients to do more with fewer resources. Pythian’s corporate headquarters is in Ottawa Canada, with offices worldwide. Pythian was the first managed services provider to build a practice around MySQL in 2002. For more information visit: www.pythian.com. Follow Sheeri Cabral’s blogs on MySQL: http://www.pythian.com/news/author/sheeri. Have a question? Use our hashtag #Pythian on Twitter and ask away.

Contacts:
Jolita Communications for Pythian
Lisa Courtney Lloyd
613-271-7512
lcourtneylloyd@jolita.ca

In the wake of Meetup.com changing their sponsorship agreements, rubella an international not-for-profit group, has set up a fund for user group sponsorships. You can use the button below to donate any amount of money in US funds via PayPal:





(all monies sent through that button will be earmarked as a directed donation to the “User Group Fund”. In the interest of not cluttering up this blog post with a Donate button for each currency, you can use PayPal to send funds in *any* currency to “donate@technocation.org”. Just be sure to specify if you want the money to go to specifically to the User Group Fund.*)

Note that meetup.com’s fees are $144 per year ($12 per month).

Four years ago, MySQL and Meetup.com entered into an agreement. I have no idea of the details of this sponsorship, though from reading in between the lines, I believe the sponsorship was an in-kind sponsorship — that is, no money exchanged hands, but there were mutually agreed upon benefits. I have no idea what the benefits to Meetup.com were — publicity or free consulting, perhaps.

What I do know is that Meetup.com is changing the way they are doing sponsorships. Arjen Lentz blames Lenz of the community team for not setting a reminder, saying that doing so “would’ve preempted anything”. The only thing a reminder would have done would have been to give MySQL more time to figure out what to do, and the end result would be the same — user groups can stay at meetup.com, and find a way to pay the fees, or they can migrate to a free system.

He also notes that it’s “Interesting that none of the MySQL Community team are themselves organisers or meetups/usergroups, they’d have been informed.” David Skujarne feels similarly, noting “it feels like this was just tossed this back to organizers to fix.” And yet, I have had a conversation earlier this week from a prominent community leader who was worried that MySQL was “taking over” a certain community event that is in its early planning stages. So which way do we want it? Do we want a volunteer-led community, or a community led by paid liaisons from MySQL?

Arjen commented to another post with his concern “that many will just shut down the group rather than move or pay.” In all my discussions with user group leaders, not one of them has even thought to shut down the group. Some have made the decision to stay on meetup.com and pay fees out-of-pocket, others have made the decision to move to a free service, still others are dedicated to finding sponsors (send mail to donate@technocation.org if you would like to be matched with a sponsor), and a few have passed the baton to another leader to make the decision.

Mostly, though, I have had people offering me money (David will be happy to know that those people include individuals on the MySQL Community Team) and moral support so that user groups can continue. And so, I have turned those monetary offers into something more: a fund. Let’s see how long we, as a community, can keep ourselves going.

Will some user groups close up shop? Probably. My own user group has had 40 user group meetings, which would not have happened if MySQL did not sponsor us. If the Boston MySQL User Group closed tomorrow, we still would have had those 40 meetings. So that is still a benefit. With luck and financial contributions, as a community we can stop whining and do something about the situation we find ourselves in.

* If you would like to send a physical payment (check, money order, postal order, in any currency), you can make it payable to Technocation, Inc. and send it via post to:

Technocation, Inc.
PO Box 380221
Cambridge, MA 02138
USA

Should you need it for your records, Technocation’s EIN (US tax id) is 20-5445375. Technocation, Inc. is a 501(c)3 corporation, and donations are tax-deductible to the fullest extent of the law.

The July meeting of the Boston MySQL User Group will feature Eric Day, pharm a prominent Drizzle developer, erectile talking about Drizzle and Gearman:

In this talk we will discuss two growing technologies: Drizzle and Gearman.

We will explain what the Drizzle project is, physiotherapy what we aim to accomplish, and an overview of where we are at. We will also be introducing the fundamentals of how to leverage Gearman, an open-source, distributed job queuing system. Gearman’s generic design allows it to be used as a building block for almost any use – from speeding up your website to building your own Map/Reduce cluster. We will tie Drizzle and Gearman together and demonstrate how they work in a custom Search Engine application.

————————

Here is the URL for MIT’s Map with the location of this building:
http://whereis.mit.edu/map-jpg?selection=E51&Buildings=go

This map shows the MBTA Kendall Stop:
http://whereis.mit.edu/map-jpg?selection=L5&Landmarks=go
(the stop is in red on that map, and you can see E51 in the bottom right)

Here are the URL’s for the parking lots (free and open to the public after 3 pm):
http://whereis.mit.edu/map-jpg?selection=P4&Parking=go
http://whereis.mit.edu/map-jpg?selection=P5&Parking=go

Free pizza and soda will be served, so please RSVP accurately.

To RSVP anonymously, please login to the Meetup site with the e-mail address “admin at sheeri dot com” and the password “guest”.

For more information, see: http://mysql.meetup.com/137/

This is the 150th edition of Log Buffer, herbal and he escaped, resuscitation thus leaving me with the pleasurable duty of compiling the 150th weekly Log Buffer.

Many people other than Dave are finding release this week. Giuseppe Maxia explains some details of MySQL’s New Release Model. Andrew Morgan announces a New MySQL Cluster Maintenance Release. Aleksandr Kuzminsky of the MySQL Performance Blog releases build16 of the Percona MySQL binaries (versions 5.0.77 and 5.0.82), pharmacist which adds some 5.4 features and fixes some bugs.

Darran Cassar, the MySQL Preacher, has created a package for Security Roles and Password Expiry on MySQL. And for a future MySQL release, look for Two New Status Variable Patches, for query invalidation count and a last received datetime for replication heartbeat. These patches were contributed by MySQL Support Team member Andrew Hutchins.

Dave Beulke points out a new feature in DB2 9.7 — DB2 Compatible with Oracle.

To prepare for a future SQL Server release where CREATE DEFAULT, sp_bindefault and sp_unbindefault will be deprecated, Martin Bell advocates Changing Bound Defaults to Default Constraints. If you are going to upgrade SQL Server, definitely look at the notes from SQL Master of SQL Server QA’s presentation on SQL Server Upgrade Issues and How To Evaluate Potential Issues.

Stewart Smith lets is know that Drizzle Tarballs for the Next Milestone – Aloha are being released weekly. Meanwhile, Jay Pipes and the rest of the Drizzle team find, fix and explain the cause of a performance regression in Drizzle Performance Regression Solved – TCMalloc vs. No TCMalloc.

Lenz Grimmer has started organizing OpenSQLCamp 2009, Aug 22-23 in Germany; he posts details and links in Speaking at FrOSCon and Organizing the OpenSQLCamp 2009, European Edition. If you want to speak, Lenz also lets you know that Ronald Bradford gives out a discount code and reminds us that we can still attend OSCon 2009 at a Discounted Rate (until June 23rd). OSCon 2009 will be held July 20-24 in San Jose, California. And in Iowa, Michelle Ufford sends out the East Iowa SQL Saturday Call for Speakers to be held on Saturday, October 10, 2009.

Getting back to basics, Richard Foote explains Oracle’s cost-based optimizer in CBO and Indexes, an Introduction for Absolute Beginners. Speaking of optimizations, Valcora has Another Way To Do Performance Tuning — make sure you actually need the queries that are running against your system!

Tanel Poder points to a blog post on Using Perfsheet and TPT Scripts for Solving Real Life Performance Problems in an Oracle RAC environment. And Jonathan Lewis provides a script you can run if you are concerned about the potantial of Oracle PGA leaks. Over at Oraclue, Miladin Modrakovic shows how to discover memory “leaks and other problems with allocations of memory” in Memory Annotations and Oradebug.

If you are migrating a database from Oracle to MySQL, you may be interested in George Trujillo’s process of Converting an Oracle Schema to MySQL.

Kimberly L. Tripp reveals a lot of information about how SQL Server optimizes queries and common myths when she reveals The Tipping Point Query Answers. David Fetter shares Materialized Views Performance Tips in Postgres, and Leo Hsu and Regina Obe talk about Planner Statistics in the Postgres optimizer.

In the land of DB2, Henrik Loeser shares a PureXML Performance Tip: A Sequence of Good Indexes.

Coskan explains
How to Use Sysman Schema Without Oracle Enterprise Manager. John Hallas notes that using Oracle’s EM to migrate a database to ASM is easy, but seems slow, in ASM Metadata and Migrating a Database to ASM. He then goes on to share a coworker’s Script to Backup ASM Metadata. J. Arneil shows how to go about Fixing up ASM Disk Header Corruption, should you find yourself in a rough spot.

Aaron Alton has a great article telling us that in Defensive Programming, Assumptions Must be Guaranteed or Tested, and another one on handling tags efficiently in Full Text Search vs. Denormalized Tables Remus Rusanu provides a Transact-SQL stored procedure template for Exception Handling and Nested Transactions.

I’ll end with a link to another survey on What’s the hardest part of becoming an involuntary DBA? It’s one simple question, so go fill it out! You have the time, especially since Craig Mullins points out that on average, we got a 4.6% salary increase in 2008 in Salaries for Data Professionals Inching Upward. To learn more and become even better in your field, get a 15-day free trial to Safari Books Online from O’Reilly, with a 15% discount if you continue past the free trial, courtesy of Susan Visser.

Today’s trivial MySQL system variable:

old_alter_table

The interesting bit is that this is a system variable, order manual page.

Instead, visit this .

Unfortunately, that documentation is very sparse. It tells us:

old-alter-table is an option that can be set in an option file (such as /etc/my.cnf)

old_alter_table is the name of the variable.

And….that’s it. It is neither a system nor status variable, there is no scope, and no entry for whether or not it is dynamic. These last 2 are baffling, though they show up in other variables in the matrix on the “server options” manual page. The scope is either session or global; there is no NULL — the scope may not be *relevant*, but it still exists.

As well, either the variable can be settable on commandline, or not. There is no meaning to a NULL value in that column.

The most egregious issue is that there is no documentation whatsoever about what the variable does. What happens if I set old_alter_table to ON?

(My guess is that it’s a placeholder for the behavior of ALTER TABLE in 5.0 and earlier, perhaps it disables the use of ALTER TABLE ONLINE? My second guess is that whatever the functionality, it is not implemented yet, similar to date_format).

At the May 2009 Boston MySQL User Group, thumb Giuseppe Maxia of Sun Microsystems gave a presentation about MySQL 5.4 with use cases and benchmarks to show how it outperforms all other current MySQL releases (including the Google patches and the OurDelta/Percona releases).

The slides can be downloaded from http://www.slideshare.net/datacharmer/mysql-54-theory-and-practice

The video can be watched below, or directly on YouTube at http://www.youtube.com/watch?v=giT4SYXuVqA&hl

At the July MySQL User Group, prostate , buy an open source, distributed job queuing system.

The slides can be downloaded from http://www.oddments.org/notes/DrizzleGearmanBoston2009.pdf.

The first hour of video, where Eric and Patrick talk about Drizzle, is at http://www.youtube.com/watch?v=hi4cGzFlcuU, and below:

The second part, about 1.5 hours, where Eric and Patrick talk about Gearman, and then illustrate Gearman and Drizzle working together in a custom search application called Narada, is at http://www.youtube.com/watch?v=Auatakyl5eM and below:

There’s a lot of information in those presentations, and I would like to wholeheartedly thank Eric and Patrick for such a wonderful user group!

I think many people truly realized how much they take the MySQL documentation for granted during the recent multi-hour outage from mysql.com’s data center. Apparently there is a lot of FUD floating around about the legality of mirroring the documentation, buy more about .

The manual page at http://dev.mysql.com/doc/refman/5.1/en/copyright-mysql.html says:

You shall not publish or distribute this documentation in any form or on any media, oncologist except if you distribute the documentation in a manner similar to how Sun disseminates it (that is, opisthorchiasis electronically for download on a Web site with the software) or on a CD-ROM or similar medium, provided however that the documentation is disseminated together with the software on the same medium.

Now, I am not a lawyer, however, to me this means that you can indeed mirror the documentation, so long as you mirror the binaries as well. Giuseppe commented on Mark’s post (linked above) saying “There is no license restriction to mirror the docs.”

Note that I played a part in unknowingly spreading the FUD — I thought special permission was needed to mirror the documentation (and binaries) and indeed, it is not.

As a postscript, what are everyone’s favorite site mirror programs? Searching http://www.ohloh.net for an open-source website mirror did not reveal anything very popular, though I am sure there are a few “standard” mirroring tools that folks use. (Perhaps I should have searched for spiders, and seen which spiders have sync/download capabilities?)

download usb mobile phone software . download minitab software
download nintendo software wii ds wifi Download software fairz software download free music
download free ipod zoom software . ad aware plus full download software
bt download software . download data mining software

Germany …. close to Bonn and Cologne.”

I plan on being at FrOSCon and OpenSQLCamp. Where I go before and after that is up to *you*. Yes, internist that is right, sovaldi sale perhaps I will visit a user group, approved such as France’s MySQL User Group. Or perhaps your company needs the type of services Pythian can offer — we can do the “traditional consulting” model where we look over your systems for performance tuning and security gains, or fix problems in an emergency. Even more of a win, we specialize in recurring engineering — we can supplement your existing IT staff with database expertise, and do all the database work your current staff does not have time to do.

We do it all, whether it’s large project work that would ordinarily be farmed out to consultants such as new schema development, ETL and reporting scripts and data warehouse creation; or the ordinary but important stuff that keeps the business running like ensuring backups work, constructing a no-downtime architecture, making the development environment realistic, testing failover, and capacity planning.

If you have a mixed environment, that’s OK too — we cover the major database vendors (open and closed source) and have a team of system administrators if you need help in that arena.

Keep in mind — I’m not a sales person, I’m a tech person. Day-to-day I not only lead a team of MySQL DBA’s, I am one myself, and have my hands in the tech stuff all the time. Most of the reasons I like working at Pythian are the same reasons our clients love us — 24×7 coverage to me means “my pager only goes off past 5 pm if it’s the one weekend a month I’m oncall”, to a client it means “whoever is paged is already awake most of the time.”

So if you would like to sit down with me and have a drink, just say “hi”, speak at an upcoming User Group, or talk about what Pythian can do for you, comment here, or e-mail me at “cabral at pythian dot com” and we will work something out. I can come to your European location, meet you at FrOSCon or OpenSQLCamp, or we can arrange a meeting at our Prague office sometime around the end of August.

A short time ago I posted how I was but experiences that others have had (and commented to on that blog post) have made me want to put out another short article about using XtraDB backup.

The first few points remain the same — the backup process is stable, cialis 40mg we were able to use the binaries without compiling, rx and using Innobackupex as the wrapper script, analogous to Innobackup.pl.

However, we did figure out why Xtrabackup had to be run as the mysql user:

Xtrabackup writes to the data dictionary file (ibdata1, for example). We have not examined if it also writes to the data and index files (still ibdata1 by default, or the .ibd files when using innodb_file_per_table). [EDIT: The authors of Xtrabackup have commented below as to why the write occurs:

xtrabackup is kind of very small and restricted instance of InnoDB, and reuses a lot of InnoDB code.

InnoDB by default requires O_RDWR option on ibdata1 files at start, and xtrabackup therefore also did that. In the latest push to trunk it was fixed, now xtrabackup opens file with O_RDONLY flag.

When the new version is released, we will be sure to test it so that we can run the backup as a read-only user, and report back.]

On the one hand, Xtrabackup is a free tool. On the other hand, modifying InnoDB’s underlying files risks corrupting all the InnoDB tables in the system. Which is a tricky situation when it is your backup tool that might cause corruption that is beyond repair, as you do not know if you can trust your backups.

Regarding the complaint Dan R commented on the previous post that innobackupex could stream the backup to gzip, and helpfully gave the syntax. Shlomi Noach also pointed out streaming as a feature of Xtrabackup that ibbackup does not have. However, Gerry Narvaja, a co-worker noted (and commented):

I’ve been trying to install xtrabackup/innobackupex for a customer and I’m finding a few glitches, especially w/ streaming:

We use innoback(ex) wrapped in our own scripts to allow for rotation and other operations. We also use ZRM for some installations, so this would apply to integration with this tool as well. These are the glitches I found:

1. Using streaming by piping it into ‘gzip’ masks the return code from innobackupex.pl. Since gzip will almost always return 0, you can’t rely on it to determine backup success.

2. The next alternative would be to review the innobackupex.pl’s output for the OK at the end. But since it redirects the output to ’stderr’ to allow for streaming, you need to add “2> innobackupex.log” before piping and grep for the “OK” at the end.

and noted that there were some limitations:

innobackupex script is limited in the type of options you can specify compared to what the xtrabackup executable supports. I find this annoying since it limits the directories where you can have the backups, data directories and logs.

Xtrabackup doesn’t work for MySQL v4.1. In the Percona forums there was a suggestion that the 5.0 patch should work. This is true, but xtrabackup.c has other dependencies on 5.x definitions and structures I didn’t have time to review. Baron Schwartz correctly suggested that these dependencies might be trivial in a tweet directed to myself. I’ll post my findings to the Percona forums and hopefully we can soon have a patched version.

It’s been just over three months since the April 2009 MySQL Users Conference and Expo. It took a while for the files to be processed, geriatrician , healing and then I found out that the online streaming was not working properly. So I started playing with things, re-encoding some videos, updating the software, but to no avail.

Just as I was about to give up I got notification that Technocation, Inc. was accepted into YouTube’s not-for-profit program, which allows movies larger than 10 minutes to be uploaded and viewed advertisement-free.

So then I had to upload the videos to YouTube and add descriptions.

So with no *further* delay, here are all the videos from the 2009 MySQL Conference and 2009 MySQL Camp:

The brief description — just the playlists:
Conference playlist (16 videos):
http://www.youtube.com/view_play_list?p=0F93B7A29807C4F7

Camp playlist (6 videos):
http://www.youtube.com/view_play_list?p=5EE4B7EC2F257251

The longer description – each video with title, presenter(s) and link:
MySQL Camp:
Keynote: The State of Open Source Databases
Brian Aker (Sun Microsystems)
http://www.youtube.com/watch?v=m2V-hvD_icA


Top 10 MySQL Pet Peeves and How to Workaround Them
Jeremy Zawodny
http://www.youtube.com/watch?v=yxx2XbbTiP0

Intro to XtraDB, a Scalable InnoDB-based Storage Engine
Ewen Fortune (Percona)
http://www.youtube.com/watch?v=kTCUZ3s1iIY

Grand Tour of the Information Schema and its Applications
Roland Bouman
http://www.youtube.com/watch?v=M3ryKyMkiQY

Chasing Bottlenecks
Morgan Tocker (Percona)
http://www.youtube.com/watch?v=1L8TwuKMg3M

InnoDB Database Recovery Techniques
Peter Zaitsev (Percona)
http://www.youtube.com/watch?v=yuU40p_V9Ic

MySQL Conference:

Tutorial: Understanding How MySQL Works by Understanding Metadata
Sheeri K. Cabral (The Pythian Group), Patrick Galbraith (Lycos Inc.)
Part 1: http://www.youtube.com/watch?v=C_Uv_4I9gus
Part 2: http://www.youtube.com/watch?v=V3IBVsYGdtA

Using the Event Scheduler: The Friendly Behind-the-Scenes Helper
Giuseppe Maxia (Sun Microsystems Inc), Andrey Hristov (SUN Microsystems)
http://www.youtube.com/watch?v=-CmIcEXrf3g

Starring Sakila: Data Warehousing Explained, Illustrated, and Subtitled
Roland Bouman (XCDSQL Solutions / Strukton Rail), Matt Casters (Pentaho Corp.)
http://www.youtube.com/watch?v=cSXWTNYn3es

Map/Reduce and Queues for MySQL Using Gearman
Eric Day (Sun Microsystems), Brian Aker (Sun Microsystems, Inc.)
http://www.youtube.com/watch?v=xDRDu1g270c

Unleash the Power of Your Data Using Open Source Business Intelligence
Christopher Lavigne (Breadboard BI, Inc.)
http://www.youtube.com/watch?v=XlhVsJ9ovgg

Tricks and Tradeoffs of Deploying MySQL Clusters in the Cloud
Thorsten von Eicken (RightScale, Inc)
http://www.youtube.com/watch?v=9QchPQvvLEw

Beginner’s Guide to Website Performance with MySQL and memcached
Adam Donnison (Sun Microsystems)
http://www.youtube.com/watch?v=X1ePFOhHEag

Advanced Query Manipulation with MySQL Proxy
Kay Roepke (Sun Microsystems)
http://www.youtube.com/watch?v=LuwScTm5zrY

If You Love It, Break It: Testing MySQL with the Random Query Generator
Philip Stoev (Sun Microsystems)
http://www.youtube.com/watch?v=_jf4__2zgR8

The ScaleDB Storage Engine: Enabling High Performance and Scalability Using Materialized Views and a Shared-Disk Clustering Architecture
Moshe Shadmon (ScaleDB)
http://www.youtube.com/watch?v=_5QNSxfpYSU

SPIDER Storage Engine: Database Sharding by Storage Engine
Kentoku SHIBA (ST Global.,Inc)
http://www.youtube.com/watch?v=scKjO0LnnJo

Optimizing MySQL Performance with ZFS
Allan Packer (Sun Microsystems), Neelakanth Nadgir (Sun Microsystems)
http://www.youtube.com/watch?v=a31NhwzlAxs

Improving Performance by Running MySQL Multiple Times
Martin “MC” Brown
http://www.youtube.com/watch?v=5uKBg9prA1A

High Performance Ruby on Rails and MySQL
David Berube (Berube Consulting)
http://www.youtube.com/watch?v=ts7fIl0WZoc

Crash Recovery and Media Recovery in InnoDB
Heikki Tuuri (Innobase / Oracle Corp.)
http://www.youtube.com/watch?v=5KFxSDh_-18

In record time, viagra 60mg all 11 videos that were taken at OpenSQLCamp Europe are online.

For those who missed the sessions, decease or just want to relive the fun!

Almost all the sessions were filmed; regrettably Darren Cesar’s Securich – MySQL user administration and security made easy! and Stephane Combaudon’s Minimizing data access with covering indexes were not.

The YouTube videos have the descriptions and resources from the official conference pages, and links to pages. If there is more information to add (for example, the slides from a talk are now online), or if you spot an error, please feel free to add a comment on the YouTube video, or as a comment to this blog post.

Individual presentations:

Enjoy!

The bad news is that whatever agreement MySQL AB had with Meetup.com has ended. As per the wiki at http://forge.mysql.com/wiki/How_to_create_a_user_group:

MySQL AB has an agreement in place with meetup.com to cover the organizer fees. Simply click at the link at the top of the meetup.com page to request your electronic voucher so you can become an organizer.

Unfortunately, viagra information pills a year of meetup.com is $144.

The good news is that Giuseppe and Dups (as well as the local Sun/MySQL folks in Boston who also sponsor the pizza and soda we have) have expressed that they are dedicated to sponsoring these user groups, dentist neurosurgeon so nobody has to go around digging for spare change just yet.

Here’s the sad e-mail I received:

from Meetup Support
to sheeri
date Mon, May 4, 2009 at 5:52 PM
subject Greetings from Meetup Support (KMM1797374I15977L0KM)
mailed-by meetup.com

Hello Sheeri,

Thanks for your patience while we looked into this!

I did some research and My SQL will no longer be sponsoring Meetup
Groups. Therefore, you’ll need to purchase a subscription plan in order
to continue hosting the Group on Meetup.com. Sorry about that!

There are 3 price plans available:

$12 a month for 6 months (a single $72 charge)

$15 a month for 3 months (a single $45 charge)

$19 per month

Each plan has a 30-day money back guarantee. Organizers can run up to 3
Meetup groups with their subscription.

You can view and update your subscription plan from here:

http://www.meetup.com/account/subscription/

If you have any other questions, please let me know.

Sincerely,

Antonio Ortiz
Meetup Support Specialist
Meetup HQ

1048909 is your incident number. Please do not remove this number from
the message.

Do you have_community_features? I do!

SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | YES   |
+-------------------------+-------+
1 row in set (0.00 sec)

I am pretty sure this is one of those variables that MySQL has put in as an unused placeholder, bronchi but for now, shop it is not even documented as unused (as are table_lock_wait_timeout, http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html, and a Google search restricted to the site dev.mysql.com turns up only one match, which is not useful: http://www.google.com/search?q=site%3Adev.mysql.com+have_community_features

I wonder if using this parameter could have been an easier way to deal with the release of MySQL 5.4. I wonder what it is used for, or what it will be used for. In all the versions of 5.1 I have access to, I see the parameter in there (from 5.1.29 – 5.1.32).

More interestingly, on a 6.0.5 server:

Server version: 6.0.5-alpha-community MySQL Community Server (GPL)

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

mysql> SHOW GLOBAL VARIABLES LIKE 'have_community_features';
+-------------------------+-------+
| Variable_name           | Value |
+-------------------------+-------+
| have_community_features | NO    |
+-------------------------+-------+
1 row in set (0.03 sec)

This has been logged as Bug 44651.

So, anabolics .

Baron’s first post was spurned by someone saying:
you know, you guys really need Sun/MySQL, because without the mother ship, things will fall apart and your own business will fail.

Dean thinks this may be have been a conversation he had, and states:
What I actually said was: I believe that a successful commercial enterprise called “MySQL” is necessary in order to create the types of opportunities that exist in the “MySQL Ecosystem” today.

So, what does having a company behind MySQL provide? To be more clear, I am specifically answering “What has MySQL and/or Sun been able to provide to the MySQL Ecosystem that was not there before?”

I would like to note that I am not making a value judgment on having a company behind MySQL.

Dean’s post tackles the generic case of “a company behind open source software” — he makes the unfortunate statement that a web server does simple tasks, thus Apache does not need a company behind it. It is plain to see that Apache has survived for over 10 years without being principally owned by a company. But all of the reasons Dean gives for MySQL needing a “mothership” are true of Apache. I could argue that databases do simple tasks too — store, process and retrieve information (hey, just like a webserver).

But that’s not my point. Having a company behind MySQL allowed MySQL to:

attract developers
have a centralized place for MySQL knowledge
write good documentation

However, having a company behind MySQL has caused problems. As I see it, there are two problems. The first is difficulty in accepting contributions back from the community. That was not because of a decision from a business person. That was, and is, because the software is full of code that does not (literally) meet up to its own standards. There is legacy code that is decades old. There is new code that has been hacked together. Legacy code and hacks were *enabled* by having a centralized place for development.

When the time came that folks wanted to decentralize, it was not easy to do so.

The second problem is that in trying to monetize MySQL, certain things were irrevocably changed.

I want to address the original statement: without the mother ship, things will fall apart and your own business will fail. Pythian offers MySQL DBA services — ongoing and emergency — and that business will not fail if there is no “mother ship”.

So, what if the company behind MySQL dissolved? A few hundred people, including some of my friends, would be out of a job. The User Conference would cease to exist, replaced by smaller conferences such as the Postgres community already has. MySQL development would have to be picked up by other people/companies. This last part has already started happening.

Would Fortune 500 companies stop using MySQL because there was no company behind it? No. There are still ways to prove due diligence from a compliance standpoint.

As things have stood for the past 2 years, “things falling apart” has been both decelerated and accelerated by having a company behind MySQL and being acquired.

The fact is that MySQL is the world’s most popular open source database. I *believe* that having a company behind it helped it gain that status, but I do not believe it is currently necessary to have a company behind it right now. Trying to monetize an open source product can hurt it, a lot; trying to monetize MySQL has done a lot of damage.

Right now, I see development happening inside the company and outside the company. There are now three active release series (5.0, 5.1, 5.4) — will MySQL be able to handle the engineering, QA and support workload that comes along with it? Percona, RedHat and Debian have released binaries for MySQL, with the former company actually making significant changes. The Monty Program offers non-recurring engineering of MySQL (ie, bugfixes, patches, features). 42sql.com and OpenQuery offer training.

The company behind MySQL offers development, support, training, documentation, marketing, QA, binary packaging, forums, lists, and more. Most of the company’s offerings are already being done by others on a smaller scale; what is not is superfluous. In fact, the real value of the company seems to be documentation and QA.

To finish off this post, I would like to reiterate that I am not making a value judgment on having a company behind MySQL. I do not think a company will make MySQL fail, nor do do not think a company is necessary for MySQL’s success. All I am saying is that it is not NECESSARY to have a company behind MySQL.

A year ago, doctor the outline was being written. A lot of work was crammed into the intervening months, viagra buy and I am happy and proud to announce that the MySQL Administrator’s Bible has been published, and is sitting on the shelf at many major booksellers already. The official publication date is today — Monday, May 11th, 2009 — although some stores have had copies for a week, including Amazon.com.

The MySQL Administrator’s Bible, published by Wiley Press (available on Amazon.com at http://www.amazon.com/MySQL-Administrators-Bible-Sheeri-Cabral/dp/0470416912/, fully covers how to administer MySQL 5.1. It is suitable for people new to MySQL, although as an experienced MySQL DBA I can say that I learned a lot while researching and writing this book, and I believe that even veteran DBAs can learn from this book.

This book for anyone who wants to learn how to use and administer MySQL. Unlike other beginning books, however, it will appeal to DBAs who are experienced in other database systems such as Oracle, Postgres, Microsoft SQL Server, DB2, Sybase, Firebird. For example, the book contains a chapter on how MySQL’s SQL is different from the SQL standard. Basic SQL has been added as a feature of the companion website, so that those who do not know how to form a query can learn, but those who are well versed in SQL do not feel they have wasted money buying a book where they already know some of the material in it.

The detailed table of contents can be viewed or downloaded as a PDF. Or, if scanning the index is your cup of tea, it is also available as a PDF. The cover price is $49.99, but Amazon.com is selling it for $31.49.

About six months ago, this the question of storing images in a database came up. This is one of my favorite topics, page and has many database-agnostic parts.

Personally, grip I think “tell me about storing images in a database” is actually a great interview question, because you will be able to see the difference between someone who has just memorized “what’s right” versus someone who is really thinking. It also helps you see how someone will communicate — if they just say “NEVER do it, it’s as bad as crossing the streams!” then they are a type of person that gives you a short answer, without much explanation, and without many nuances. (That may be what you are looking for, but usually you want someone who gives reasons for why they strongly feel one way or another).

Consider the following cases:

What about storing lots of small
(say 1Mb or less) images that change frequently (say, dating profile pictures)?

What about large images that change infrequently (say, highly detailed satellite images)?

How important is consistency, and how will data consistency be maintained if images are stored outside the database? How will consistent backups be done?

What other resources (such as a CDN) are available?

What compliance and auditing issues might this client have?

What is the “sweet spot” in terms of size of an image stored in the database, and does that apply to text too? Would it be OK to have a TEXT or LONGTEXT field in the database, but all images are stored outside of the database?

All of these (and more) may swing the pendulum one way or another.

Putting images on a filesystem is the most popular method of doing things. We do have a client that stores “big BLOBby data” in a table (documents, images) — this is mostly for consistency and archiving purposes.

The cons of storing images in a database:
– more db traffic — in, out, and through (where through = replication)
– backups and exports from the db are more of a pain. Data/index files and tablespaces can get quite large. It’s nicer to be able to rsync
files….
– restores are more of a pain too.
– there is no computational stuff really that the db can do (other than, say, length). It cannot sort, compare, etc (well it can but it’s
meaningless). Using separate files makes coding actions such as like making thumbnails much easier.

The pros of storing images in a database:
– you have data integrity and consistency. If you delete a record you can cascade that delete down to the image. You cannot do a JOIN of an OS
and a db.
– databases are really really good at storage and retrieval. It can be argued that filesystems are really really good at storage and retrieval too, but for high activity only certain types of filesystems are, and if you do not have a ReiserFS or MogileFS expert, you may end up with more
than you bargained for. Very likely, you have someone already knowledgeable about databases.

Things that can be pros and cons:

– filesystem vs. database caching. This really depends on the filesystem and the DBMS you’re using. Many folks also use other caching methods for images too…..(webserver/app server/memcached/CDN/whatever)

Here are some references:

Oracle’s whitepaper on The Move to Store Images in a Database
An Article I wrote in Mar 2006, which is still highly relevant. Make sure to read all the comments, including following links like Mike Kruckenberg’s thoughts.

tool can be used just like InnoDB Hot Backup.

Many are wondering, rehabilitation “is it good enough?” In fact, site I wondered the same thing, side effects and after a few weeks of using and testing Xtrabackup (on machines that have MyISAM and InnoDB tables), I can say:

0) We have not run into any problems with backing up InnoDB tables; on the machines we’ve run it on (RHEL 5.3 and Debian) it has been stable.

1) We were able to use one of the binaries provided by Percona — we did not have to compile anything. Binaries are provided for 64-bit versions of Linux

2) Innobackupex is the script analogous to Innobackup. Basically, this is a wrapper script for Xtrabackup that will copy the non-InnoDB tables.

3) Usually we run InnoDB Hot Backup from a non-privileged user. We had to run Xtrabackup as the mysql user; we think this is because it writes a state file in the datadir, but we did not dig too hard — once we saw that running it from the mysql user worked, we just left it like that.

4) Xtrabackup does not have a –compress option like InnoDB hot backup does. Having the option would be useful, but I believe this option will come soon.

Currently, for clients who want a hot backup solution but do not want to pay for InnoDB Hot Backup, Pythian recommends Xtrabackup.

Today’s contradiction:

MySQL has server variables named new and old.

The new variable can be set per-session and globally, injection and is dynamic. The old variable is not dynamic, medicine and only global in scope. Both default to FALSE in MySQL 5.1.

According to the manual, cure the new variable:

was used in MySQL 4.0 to turn on some 4.1 behaviors, and is retained for backward compatibility.

That same page notes the following about the old variable:

when old is enabled, it changes the default scope of index hints to that used prior to MySQL 5.1.17. That is, index hints with no FOR clause apply only to how indexes are used for row retrieval and not to resolution of ORDER BY or GROUP BY clauses.

That’s right — the old variable changes some index hint behavior to before 5.1.17, and the new variable is provided for backwards compatibility of a 4.0 function.

Perhaps now that they have already used the vague terms, MySQL will stick to descriptive names, such as old_index_hints and new_behavior (or, even better, specifying what that new behavior is. If not in the variable itself, at least in the manual!)

Yesterday, unhealthy Pythian’s partnership with Sun, prescription and our new “MySQL Adoption Accelerator Package”. I am not a marketing guru, rehabilitation but I can tell you what we the package means in terms of new work that the MySQL teams have been doing.

Basically, the MySQL Adoption Accelerator Package combines customized training with a comprehensive audit of systems. The name “Adoption Accelerator” makes it sound like it’s only for new applications that are almost ready to go live. What the program actually does is have us evaluate your systems, and intensively train you in the areas you want and need. The program is designed to suit all your needs, whether it’s teaching you about one topic (say, query optimization) or an entire range of topics, from Architecture to ZFS (special issues with running MySQL on ZFS, that is, but that did not fit a cute “from A-Z” model…).

Whether you have already adopted MySQL or are thinking of converting from Oracle, DB2, Microsoft SQL Server or even sqlite, this new package may be what you need.

And now, the full text of the press release, for the curious:

‘MySQL Administrator’s Bible’ Hits the Bookstands: Pythian Launches MySQL Accelerator Adoption Package

The Pythian Group, the leading provider of remote database services, is pleased to announce that the much-anticipated MySQL Administrator’s Bible, written by employee Sheeri K. Cabral, is now available.

Published by Wiley, MySQL Administrator’s Bible is a comprehensive guide to using and administering MySQL. Ideal for the beginner and the experienced administrator, the book’s 22 chapters cover the fundamentals of MySQL database management-including MySQL’s unique approach to basic database features and functions-as well as SQL queries, data and index types, stored procedure and functions, triggers and views, events and transactions. It also discusses such topics as MySQL server tuning, administering storage engines, caching, backup and recovery, managing users, index tuning, database and performance monitoring, security, and more.

Cabral is a world-renowned MySQL expert and a sought-after speaker for many conferences, including the MySQL Conference and Expo (where she delivered a keynote this year), OSCon and LISA. She founded and organizes the Boston, Massachusetts MySQL User Group and in 2007 and 2008 won the MySQL Community Member of the Year Award.

In her job at Pythian, Cabral provides database administration support and consulting services to enterprises worldwide. She is one of several Certified MySQL DBAs at Pythian, which boasts an impressive 75 per cent certification rate.

On April 21, Sun Microsystems named Pythian its first authorized MySQL Enterprise Remote DBA partner, as part of Sun’s MySQL Enterprise Connection Alliance (MECA) partner program. As the only Platinum partner in the program, Pythian offers the highest level of support and care available for customers.

IODA, the industry-leading digital distribution company for the global independent music community, and Conductor, a leading provider of search engine optimization technology and services, have just signed on as Pythian’s first Platinum customers within the program. Pythian is celebrating the launch of Cabral’s book by giving complimentary copies to IODA and Conductor, and to the next eight customers to join the program.

“Pythian is uniquely positioned to take advantage of two interesting trends that are happening in the IT industry,” said Paul Vallee, Founder and Executive Chairman at Pythian. “First, a growing number of companies, large and small, are moving applications to MySQL. Second, outsourcing remote DBA service providers is on the rise. Enterprises want to reduce costs without sacrificing performance and industry best-practices.”

Anticipating this demand, Pythian has launched the MySQL Adoption Accelerator Package: a series of interactive training and consulting sessions that prepares DBA teams to deploy MySQL more securely, reliably and efficiently in their production environments. The package is a comprehensive deployment readiness program that covers all aspects of a deployment from an overview of MySQL and comparisons to other databases to strategies for