I spent my Sunday working on my three presentations that I will be presenting at the upcoming MySQL Conference. About two hours ago, as I was reviewing my stuff, I told my lovely wife that I may talk in my sessions how replication for read scalability no longer makes sense in high traffic environments. I told her, I am probably going to vote in favor of investing in memcached vs read slaves for scaling reads.
Believe it, or not, she hammered me with all sorts of questions. I spent some time answering her questions. I scanned my brain to gather more evidence to support myself including that at work we are moving and staying away from replication as much as possible.
Then, I got busy writing the post about Facebook using MySQL replication to update Memcached. After publishing the post, I checked Planet MySQL and found Arjen discussing (and agreeing with) Brian Aker's post about "The Death of Read Replication."
At that point, I simply turned my MacBook screen towards my wife and smiled :)
I consider Brian's post a brave one from MySQL point of view as I can imagine not everyone at Sun/MySQL will be happy about this. I appreciate his can
However, what Brian says about replication, caching and memcached is very true. memcached is an incredibly important part of our infrastructure. It doesn't has painful latency of MySQL replication associated with it. It requires much less hassle to setup, reset and scale. Like Facebook and all other major Web 2.0 sites, we have a considerably large memcached farm that allows us to serve our ever increasing demand.
P.S. Just to be clear, I highly favor using master-master replication for high availability and a small number of slaves. I just don't favor investing money in slaves alone for scaling reads.
P.P.S. I will leave you with a quote from Arjen's post:
"What needs to be fixed is distributed writes. And economically!"
Specializing in big data deployments using MySQL / NoSQL Solutions. Topics: [mysql tutorial] [database design] [mysql data types] [mysql commands] [mysql dump] [database development] [mysql training] [mysql scalability] [mysql sharding] [mysql performance tuning]
Sunday, April 06, 2008
Facebook using MySQL to replicate Memcached
Faced with the challenge "to figure out a way for memcached servers to replicate data concurrently with the MySQL databases," across the country, Facebook came up with a clever solution of "embedding extra information in to the MySQL replication stream that allows [Facebook] to properly update memcached [servers] in Virginia."
This is very smart! I am curious about how they implemented this. I wonder if by "replication stream" they are just referring to binary logs. The article didn't mention whether they hacked MySQL to do synchronous replication as well, like Google. That would be really neat: synchronous replication that updates memcached.
Synchronous or not, the idea is still uber cool and I would love to see more discussion from Planet MySQL community regarding this.
Making replication possible for Brian Aker's memcached storage engine for MySQL can be another way in the future to making MySQL replicate to memcached. Brian's blog post shows:
Also, something like this would make a nice candidate for programs like Google summer of code.
Thanks to my colleague and friend A. Lee for brining this to my attention.
This is very smart! I am curious about how they implemented this. I wonder if by "replication stream" they are just referring to binary logs. The article didn't mention whether they hacked MySQL to do synchronous replication as well, like Google. That would be really neat: synchronous replication that updates memcached.
Synchronous or not, the idea is still uber cool and I would love to see more discussion from Planet MySQL community regarding this.
Making replication possible for Brian Aker's memcached storage engine for MySQL can be another way in the future to making MySQL replicate to memcached. Brian's blog post shows:
ENGINE=MEMCACHE DEFAULT CHARSET=latin1 CONNECTION='localhost,piggy,bitters'The multiple host specification looks very interesting. I will definitely love to talk about this with the brains at the conference.
Also, something like this would make a nice candidate for programs like Google summer of code.
Thanks to my colleague and friend A. Lee for brining this to my attention.
Friday, April 04, 2008
T5120 goes into production
On Friday, after weeks of benchmarking T5120 and T5220 and studying the Sparc T2 (Niagara 2 chip) architecture, I finally put one in production and the results have been very promising. Though Friday evening wasn't a peak period, we experienced 62% more throughput than the previously deployed V210. I expect T5120 to be able to handle our peaks without breaking a sweat.
We'll have to take a hit in certain database operations to benefit from this 62% gain. (Update: however, luckily, those operations do not occur everyday.) I will be presenting results of my benchmarks and information at the MySQL conference. If you are evaluating Sun servers for MySQL, you will find my session very interesting.
Now, I can't wait to receive bunch of T5120s to replace all our db servers.
We'll have to take a hit in certain database operations to benefit from this 62% gain. (Update: however, luckily, those operations do not occur everyday.) I will be presenting results of my benchmarks and information at the MySQL conference. If you are evaluating Sun servers for MySQL, you will find my session very interesting.
Now, I can't wait to receive bunch of T5120s to replace all our db servers.
Kickfire looking to push MySQL limits
For the past few months, like Baron, Jeremy and Keith, I have been consulting KickFire (formerly known as C2App). There is another startup currently in stealth mode with some very impressive solutions for MySQL. Unlike Kickfire, this other startup isn't SSD based. I was hoping they will be ready for announcement at the conference as well, but it seems they will need some more time. I cannot go into much detail on this startup at this point.
I have been wanting to write on KickFire but I certainly won't be able to beat Baron. He does a wonderful job in capturing what is KickFire and presenting a detailed insight for PlanetMySQL readers.
Like Baron, I only provided consulting and didn't get a chance to actually play with the solution. If KickFire is able to deliver what they have been promising then I can see them becoming a major solution provider to MySQL community.
I can't wait for Kickfire's keynote. Should be very interesting for those interested in giving MySQL scalability a whole new meaning.
I have been wanting to write on KickFire but I certainly won't be able to beat Baron. He does a wonderful job in capturing what is KickFire and presenting a detailed insight for PlanetMySQL readers.
Like Baron, I only provided consulting and didn't get a chance to actually play with the solution. If KickFire is able to deliver what they have been promising then I can see them becoming a major solution provider to MySQL community.
I can't wait for Kickfire's keynote. Should be very interesting for those interested in giving MySQL scalability a whole new meaning.
Labels:
kickfire,
memcached,
mysql conference,
ssd
Challenges and Payoffs of running a Tech Business in NY
Another great event happening in New York on April 14th is the monthly meeting of the New York Software Industry Association. This month's topic is "Running a Tech Business in NY: Challenges and Payoffs." There is no cost to attend but you must pre-register.
Thursday, April 03, 2008
Golf with Scott McNealy?
Today, I missed on an awesome opportunity: to play golf later this month with Scott McNealy. Scott held the title of 'best golfer among top executives' for eight straight years.
I was made the offer to play golf today at our weekly manager's meeting. Why will I miss it? Because I will be in California, speaking at the MySQL Conference.
There are several Sun related interesting events happening in New York during the time I will be in California for the MySQL conference. This would have been a great chance for me to mingle with the top executives and talent at Sun.
I feel sad for missing this opportunity but very excited as the conference time comes closer and closer. Can't wait to see old friends and make new ones.
I was made the offer to play golf today at our weekly manager's meeting. Why will I miss it? Because I will be in California, speaking at the MySQL Conference.
There are several Sun related interesting events happening in New York during the time I will be in California for the MySQL conference. This would have been a great chance for me to mingle with the top executives and talent at Sun.
I feel sad for missing this opportunity but very excited as the conference time comes closer and closer. Can't wait to see old friends and make new ones.
Labels:
golf,
mysql conference,
new york,
santa clara,
sun
Lunch with Sun
Yesterday, I had a very yummy lunch (Seared Halibut at Gotham Bar and Grill) with a team from Sun including Al Ballerini, Anthony Mazzei, Steve Spitz and Vasu Prakash.
The discussions were very interesting and informational. Some of the topics (that I am allowed to discuss publicly) were PNFS, QFS, LDAP for large scale authentication, Sun's new servers developed with Fujitsu and Sun's storage solutions.
Architecture wise, I was able to gain some more insight into UltraSparc T1/T2, Sparc M series, and M1 vs M2 architecture. Yes, there was clarification needed every time someone said T2 and T1 to differentiate T1000s and T2000s from UltraSparc T1 (Niagara 1) and UltraSparc T2 (Niagra 2). Someone please tell Sun they can use other letters of the alphabet to describe their servers and series.
The food, though very small in portions, was just out of this world. I can't wait to take my wife there.
The discussions were very interesting and informational. Some of the topics (that I am allowed to discuss publicly) were PNFS, QFS, LDAP for large scale authentication, Sun's new servers developed with Fujitsu and Sun's storage solutions.
Architecture wise, I was able to gain some more insight into UltraSparc T1/T2, Sparc M series, and M1 vs M2 architecture. Yes, there was clarification needed every time someone said T2 and T1 to differentiate T1000s and T2000s from UltraSparc T1 (Niagara 1) and UltraSparc T2 (Niagra 2). Someone please tell Sun they can use other letters of the alphabet to describe their servers and series.
The food, though very small in portions, was just out of this world. I can't wait to take my wife there.
Wednesday, April 02, 2008
Ronald is an evil genius. But we'll get you!
Never in my life I have fallen victim (as severely) to an April Fools joke than the one Ronald played through his blog.
My morning started with checking servers, then heading to PlanetMySQL where I found the "sad" news. Both me and my wife spent the next hour discussing nothing else but Ronald and every topic we could think of related to his 'situation'. In the back of my mind, I was thinking that this could be a joke, but then I thought I knew Ronald well enough that he won't play a joke like this. Of course, I was wrong.
When I got Ronald's message saying "April Fools!" my response was "I HATE YOU!!!!"
In the evening, when I talked to a very good mutual friend, Marc, I found he was equally "mad" at Ronald. Today, I see that we were not alone and poor Jay was very worried.
I would love to form a coalition of all those affected by this so we can take revenge :)
My morning started with checking servers, then heading to PlanetMySQL where I found the "sad" news. Both me and my wife spent the next hour discussing nothing else but Ronald and every topic we could think of related to his 'situation'. In the back of my mind, I was thinking that this could be a joke, but then I thought I knew Ronald well enough that he won't play a joke like this. Of course, I was wrong.
When I got Ronald's message saying "April Fools!" my response was "I HATE YOU!!!!"
In the evening, when I talked to a very good mutual friend, Marc, I found he was equally "mad" at Ronald. Today, I see that we were not alone and poor Jay was very worried.
I would love to form a coalition of all those affected by this so we can take revenge :)
Velocity Conference
O'Reilly's Velocity Conference is happening this year from June 23-24 at Burlingame, CA. Velocity site describes this new conference as:
When the call for papers was open for Velocity, I submitted a talk proposal regarding cutting MySQL IO for cost effective scaling and performance optimization.
Fotolog is one of the largest sites on the Internet. We are ranked 13th most visited site by Alexa and 3rd most active social network by ComScore. In the past two years, we have experienced and continue to experience incredible growth. By focusing on efficient data modeling and cutting I/O, we have literally pushed the limits of optimization and scalability when it comes to MySQL.
Learning today that my session was not accepted obviously came as a major disappointment to me. While I truly respect the conference chair's decision, I believe my session would have been useful for those who are experiencing strong growth but cannot afford to re-architect their database backend for one reason or another.
There is some good news as well: While Velocity rejected my proposal, I am presenting a somewhat similar session at this year's MySQL Conference. The session is called "Optimizing MySQL and InnoDB on Solaris 10 for World's Largest Photo Blogging Community". If you're attending the conference and interested in knowing how you can push the limits of your MySQL database servers on Solaris, don't forget to attend my session. It will be a lot of fun, I promise!
I am also presenting two more talks at the MySQL Conference, Disaster is Inevitable—Are You Prepared? and The Power of Lucene.
"Web companies, big and small, face many of the same challenges: sites must be faster, infrastructure needs to scale, and everything must be available to customers at all times, no matter what. Velocity is the place to obtain the crucial skills and knowledge to build successful web sites that are fast, scalable, resilient, and highly available."
When the call for papers was open for Velocity, I submitted a talk proposal regarding cutting MySQL IO for cost effective scaling and performance optimization.
Fotolog is one of the largest sites on the Internet. We are ranked 13th most visited site by Alexa and 3rd most active social network by ComScore. In the past two years, we have experienced and continue to experience incredible growth. By focusing on efficient data modeling and cutting I/O, we have literally pushed the limits of optimization and scalability when it comes to MySQL.
Learning today that my session was not accepted obviously came as a major disappointment to me. While I truly respect the conference chair's decision, I believe my session would have been useful for those who are experiencing strong growth but cannot afford to re-architect their database backend for one reason or another.
There is some good news as well: While Velocity rejected my proposal, I am presenting a somewhat similar session at this year's MySQL Conference. The session is called "Optimizing MySQL and InnoDB on Solaris 10 for World's Largest Photo Blogging Community". If you're attending the conference and interested in knowing how you can push the limits of your MySQL database servers on Solaris, don't forget to attend my session. It will be a lot of fun, I promise!
I am also presenting two more talks at the MySQL Conference, Disaster is Inevitable—Are You Prepared? and The Power of Lucene.
Labels:
mysql conference,
scalability,
velocity
Tuesday, February 26, 2008
'Decade Zero of Open Source'
Bruce Perens, the man who created the Open Source definition on February 9, 1998, writes about the past and present of Open Source. In his State of Open Source Message, he labels the past and the future of Open Source. In his own words:
The article talks about the rise of Open Source from Red Hat to most recently Sun's acquisition of MySQL. He also re-iterates the need for non traditional profit centers for Open Source companies, like in the case of MySQL.
To Perens, 'Microsoft remains a problem.' whose current strategy, according to him, 'seems to be to poison us with money, most recently by making patent agreements with a number of Linux distributions.'
And regarding the potential impact of Microsoft's acquisition of Yahoo!:
He also expresses his annoyance with SCO approriately calling it 'a toast'.
Overall, a very interesting read.
"Friday, February 8 is the last day of Decade Zero of Open Source. Saturday, February 9 is the anniversary of Open Source and the start of Decade One. It's a computer scientist thing. We always start counting from zero :-)"
The article talks about the rise of Open Source from Red Hat to most recently Sun's acquisition of MySQL. He also re-iterates the need for non traditional profit centers for Open Source companies, like in the case of MySQL.
"The largest part of the payment for Open Source development today comes from cost-center budgets of IT users, be they companies, institutions, or individuals, rather than profit-centers based on Open Source like that of MySQL. By participating in Open Source development, users distribute the cost and risk of the development of enabling technology and infrastructure for their businesses. Their profit centers are not tied to software sales, but to some other business. To find them, look to the communities rather than the companies. "
To Perens, 'Microsoft remains a problem.' whose current strategy, according to him, 'seems to be to poison us with money, most recently by making patent agreements with a number of Linux distributions.'
And regarding the potential impact of Microsoft's acquisition of Yahoo!:
"Some see the potential purchase of Yahoo by Microsoft as a threat. Certainly it might curtail or corrupt some of Yahoo's involvements in Open Source communities, and in half-Open-Source products like Zimbra. But a buy-the-loser strategy could potentially suck up a large part of Microsoft's unpleasantly (to us) ample cash while leaving them with the loser. An increase of Microsoft's influence in the content business could mean the entrance of DRM into conventional web pages. Goodbye "view source", printing without a fee, and Firefox, if Microsoft is ever successful with that. It wouldn't surprise me if Microsoft were to make more plays in the content market, perhaps investing in music and film companies. "
He also expresses his annoyance with SCO approriately calling it 'a toast'.
Overall, a very interesting read.
Monday, February 18, 2008
MySQL as a filesystem
For some time now, I have been pondering about a Storage engine for MySQL that interfaces with flat files. Yes, I see a few needs that can solve for me.
Today, browsing around, I found Ben Martin's article on Using MySQL as a filesystem. The articles uses MySQLfs to get the desired results. Not 100% what I was looking for but still a good read. Ben writes:
Today, browsing around, I found Ben Martin's article on Using MySQL as a filesystem. The articles uses MySQLfs to get the desired results. Not 100% what I was looking for but still a good read. Ben writes:
With MySQLfs you can store a filesystem inside a MySQL relational database. MySQLfs breaks up the byte content of files that you store in its filesystem into tuples in the database, which allows you to store large files in the filesystem without requiring the database to support extremely large BLOB fields. With MySQLfs you can throw a filesystem into a MySQL database and take advantage of whatever database backup, clustering, and replication setup you have to protect your MySQLfs filesystem.
Sunday, February 10, 2008
Someone please change mysqlconf.com redirection
MySQLConf.com uses a non-optimal temporary 302 redirect to the MySQL conference website.
This is very bad for mysqlconf.com domain name and equally bad for people who link to http://mysqlconf.com (instead of linking to en.oreilly.com/mysql2008/) as their links then DON'T BENEFIT the conference site and from Google's point of view they are linking to a page that engages in temporary redirect. The result is unless you link directly to an oreilly.com page for your conference links, your votes/links don't get passed on to the conference site.
A 302 redirect is considered bad from search engine's point of view due to its temporary nature.
So please folks, change the redirection to 301 or I will have to go back and change my links to be "rel='nofollow'" links.
Currently, the site gives:
What it should give:
It doesn't just ends here. MySQL is also destroying its mysqluc.com domain in a bad manner. Look at the scary number of 302 redirects here:
Now I can just hope that someone actually takes action. It's small changes like this that make you get the most out of your domain or waste all the efforts you previously did in making your sites rank high.
For instance, just think how many links people created to mysqluc.com when MySQL conference was known as MySQL Users Conference. Just because MySQL used an insensible 302 redirect, all the efforts of community in linking to that domain went down the drain. The reason being that Google neither transfers the rank with 302 redirect, nor it consolidates the incoming votes/links from old domains to new domains.
Update: Why I keep talking about this: With Google's Bourbon update, I lost a very well performing site that I had worked on for many years. My investigations all pointed to using 302 redirect instead of 301 redirect. Basically, my site was wrongfully classified by Google as engaging in sneaking redirects. The site never rebounded. It was listed in Google news and was doing millions of page views a month. It had proper licensing from all content and news providers. 'Not knowing' didn't set me free in Google's court. By all means, it was a legitimate, high quality content provider site. Although this may never happen to you, Google still considers 302 a very bad form of redirecting and whenever possible it should be avoided.
This is very bad for mysqlconf.com domain name and equally bad for people who link to http://mysqlconf.com (instead of linking to en.oreilly.com/mysql2008/) as their links then DON'T BENEFIT the conference site and from Google's point of view they are linking to a page that engages in temporary redirect. The result is unless you link directly to an oreilly.com page for your conference links, your votes/links don't get passed on to the conference site.
A 302 redirect is considered bad from search engine's point of view due to its temporary nature.
So please folks, change the redirection to 301 or I will have to go back and change my links to be "rel='nofollow'" links.
Currently, the site gives:
wget mysqlconf.com
--14:27:44-- http://mysqlconf.com/
=> `index.html.2'
Resolving mysqlconf.com... 209.204.146.28
Connecting to mysqlconf.com|209.204.146.28|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://en.oreilly.com/mysql2008/ [following]
--14:27:44-- http://en.oreilly.com/mysql2008/
=> `index.html.2'
Resolving en.oreilly.com... 208.201.239.26
Connecting to en.oreilly.com|208.201.239.26|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://en.oreilly.com/mysql2008/public/content/home [following]
--14:27:44-- http://en.oreilly.com/mysql2008/public/content/home
=> `home'
Reusing existing connection to en.oreilly.com:80.
HTTP request sent, awaiting response... 200 OK
Length: 16,852 [text/html]
100%[==========================================>] 16,852 45.68K/s
14:27:45 (45.63 KB/s) - `home' saved [16852/16852]
What it should give:
wget fotolog.net
--14:33:02-- http://fotolog.net/
=> `index.html.2'
Resolving fotolog.net... 65.118.195.131
Connecting to fotolog.net|65.118.195.131|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: http://www.fotolog.com/ [following]
--14:33:03-- http://www.fotolog.com/
=> `index.html.2'
Resolving www.fotolog.com... 64.111.215.105, 64.111.215.120
Connecting to www.fotolog.com|64.111.215.105|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 24,585 [text/html]
100%[==========================================>] 24,585 --.--K/s
14:33:03 (191.15 KB/s) - `index.html.2' saved [24585/24585]
It doesn't just ends here. MySQL is also destroying its mysqluc.com domain in a bad manner. Look at the scary number of 302 redirects here:
wget mysqluc.com
--14:35:29-- http://mysqluc.com/
=> `index.html.3'
Resolving mysqluc.com... 209.204.146.28
Connecting to mysqluc.com|209.204.146.28|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://www.mysqlconf.com/ [following]
--14:35:30-- http://www.mysqlconf.com/
=> `index.html.3'
Resolving www.mysqlconf.com... 209.204.146.28
Connecting to www.mysqlconf.com|209.204.146.28|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://en.oreilly.com/mysql2008/ [following]
--14:35:30-- http://en.oreilly.com/mysql2008/
=> `index.html.3'
Resolving en.oreilly.com... 208.201.239.26
Connecting to en.oreilly.com|208.201.239.26|:80... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: http://en.oreilly.com/mysql2008/public/content/home [following]
--14:35:31-- http://en.oreilly.com/mysql2008/public/content/home
=> `home.1'
Reusing existing connection to en.oreilly.com:80.
HTTP request sent, awaiting response... 200 OK
Length: 16,852 [text/html]
100%[==========================================>] 16,852 41.99K/s
14:35:31 (41.95 KB/s) - `home.1' saved [16852/16852]
Now I can just hope that someone actually takes action. It's small changes like this that make you get the most out of your domain or waste all the efforts you previously did in making your sites rank high.
For instance, just think how many links people created to mysqluc.com when MySQL conference was known as MySQL Users Conference. Just because MySQL used an insensible 302 redirect, all the efforts of community in linking to that domain went down the drain. The reason being that Google neither transfers the rank with 302 redirect, nor it consolidates the incoming votes/links from old domains to new domains.
Update: Why I keep talking about this: With Google's Bourbon update, I lost a very well performing site that I had worked on for many years. My investigations all pointed to using 302 redirect instead of 301 redirect. Basically, my site was wrongfully classified by Google as engaging in sneaking redirects. The site never rebounded. It was listed in Google news and was doing millions of page views a month. It had proper licensing from all content and news providers. 'Not knowing' didn't set me free in Google's court. By all means, it was a legitimate, high quality content provider site. Although this may never happen to you, Google still considers 302 a very bad form of redirecting and whenever possible it should be avoided.
InnoDB Sessions at MySQL Conference
This year MySQL Conference features some of the best talks on InnoDB and I couldn't be more excited. We'll be hearing from Heikki Tuuri, Ken Jacobs, Mark Callaghan, Vadim Tkachenko, Peter Zaitsev and me :)
Kudos to conference organizers have really done a great job in balancing the sessions this year.
MySQL conference is a great venue to get up to date with what's happening with your favorite database/storage engine. Early registrations end soon so save yourself some money and register now.
If you have known me for sometime or if you are a regular blog reader, please send me a note and I will send you a coupon code to save even more when you register at the conference. You can email me at sofwareengineer99 at yahoo.
Without further ado, here are mouth watering InnoDB sessions scheduled for this year.
Mark Callaghan: Helping InnoDB Scale on Servers with Many CPU Cores and Disks
Ken Jacobs: InnoDB: Status, Architecture and New Features
Heikki Tuuri / Ken Jacobs: InnoDB: Fast, Reliable, Proven Transactional Storage for MySQL
Vadim Tkachenko and Peter Zaitsev: Investigating InnoDB Scaling Limits
Heikki Tuuri: InnoDB: Status, Architecture and New Features
Farhan "Frank" Mashraqi (Me): Optimizing MySQL and InnoDB on Solaris 10 for World's Largest Photo Blogging Community
Kudos to conference organizers have really done a great job in balancing the sessions this year.
MySQL conference is a great venue to get up to date with what's happening with your favorite database/storage engine. Early registrations end soon so save yourself some money and register now.
If you have known me for sometime or if you are a regular blog reader, please send me a note and I will send you a coupon code to save even more when you register at the conference. You can email me at sofwareengineer99 at yahoo.
Without further ado, here are mouth watering InnoDB sessions scheduled for this year.
Mark Callaghan: Helping InnoDB Scale on Servers with Many CPU Cores and Disks
Ken Jacobs: InnoDB: Status, Architecture and New Features
Heikki Tuuri / Ken Jacobs: InnoDB: Fast, Reliable, Proven Transactional Storage for MySQL
Vadim Tkachenko and Peter Zaitsev: Investigating InnoDB Scaling Limits
Heikki Tuuri: InnoDB: Status, Architecture and New Features
Farhan "Frank" Mashraqi (Me): Optimizing MySQL and InnoDB on Solaris 10 for World's Largest Photo Blogging Community
Sun's MySQL Acquisition Cleared by Antitrust Regulators
Sun's acquisition of MySQL received an "early termination" of antitrust review by Federal antitrust regulators. As a result, Sun/MySQL acquisition has been given a green light.
Saturday, February 09, 2008
Fotolog seeks MySQL DBA
Fotolog is seeking a MySQL DBA. You'll be working with me in a fast-paced, small-team-running-a-very-large-scale environment.
About Fotolog.com:
• 14th most trafficked site (Alexa)
• 3rd most active social network (ComScore)
• Parent company: Hi-Media (France)
Duties
• Work with Director of Database Infrastructure to maintain/improve and support a high traffic, fine-tuned, scalable and reliable database environment on a day-to-day basis.
• Pro-active and reactive performance analysis, monitoring, troubleshooting and resolution of issues.
• Optimize and tune contentions within the database environment
• Create logging environment(s) to log usage statistics about the environment
• Regularly monitor and periodically conduct random tests of restoration from backups generated within the environment
• Participate in large storage engine migrations
• Compile/patch/install MySQL
• Work closely with operations, development and product teams to ensure smooth deployment of new iterations and availability of database services.
• Create scripts for monitoring key server utilization indicators using DTrace/Perl etc.
• Migrate production systems from MySQL 4.x to 5.x
Ideal Candidates:
Note: (You’re encouraged to apply even if you are missing a few of these guidelines)
• BS in Computer Science or equivalent
• Minimum 3 years experience with Linux, Unix or Solaris
• Minimum 2 years of MySQL experience in production environment
• Experience with Partitioned architecture(s) and data shards
• Production experience with tuning and administering moderate-large scale mission critical MySQL/InnoDB environments.
• Experience with optimizing InnoDB for both OLTP and DW queries
• Experience with estimating database capacity planning
• Passion for hunting bottlenecks and optimizing IO operations
• Solid experience with both SQL and MySQL internals
• Experience with performance analysis tools for MySQL
• In-depth experience with storage engines
• Experience with backup methodologies for MySQL
• Document best practices and routine procedures
• In-depth knowledge of MySQL tuning parameters and performance strategies
• Experience with MySQL replication
• Excellent communication and problem solving skills with attention to detail without losing the big picture
• Must be a team player as well as able to tackle projects on your own upon assignment.
• Able to handle high stress situations without losing calm and focus.
• Comfortable with carrying a pager and participating in “on call” assignments with other members of the operations team and willing to provide 24/7 escalated on-call support.
• Experience with creating and deploying scripts to automate tasks wherever possible.
• Experience with benchmarking methodologies / tools / best practices
• Experience in supporting MySQL for production / development and QA environment(s).
Bonus
• Experience with storage arrays / 3Par
• Experience with master/master replication
• Experience with Hibernate
• Alumni of MySQL Conference
• Active MySQL community member or Planet MySQL blogger
• MySQL Proxy experience
• Experience with disaster recovery
Note
• You’ll be working at our office on 5th Ave., in New York City. We are just a block away from Union Square. Please note that telecommuting is not an option for this job.
Apply
• Only the candidates themselves should send their resume to fmashraqi at fotolog dot com.
About Fotolog.com:
• 14th most trafficked site (Alexa)
• 3rd most active social network (ComScore)
• Parent company: Hi-Media (France)
Duties
• Work with Director of Database Infrastructure to maintain/improve and support a high traffic, fine-tuned, scalable and reliable database environment on a day-to-day basis.
• Pro-active and reactive performance analysis, monitoring, troubleshooting and resolution of issues.
• Optimize and tune contentions within the database environment
• Create logging environment(s) to log usage statistics about the environment
• Regularly monitor and periodically conduct random tests of restoration from backups generated within the environment
• Participate in large storage engine migrations
• Compile/patch/install MySQL
• Work closely with operations, development and product teams to ensure smooth deployment of new iterations and availability of database services.
• Create scripts for monitoring key server utilization indicators using DTrace/Perl etc.
• Migrate production systems from MySQL 4.x to 5.x
Ideal Candidates:
Note: (You’re encouraged to apply even if you are missing a few of these guidelines)
• BS in Computer Science or equivalent
• Minimum 3 years experience with Linux, Unix or Solaris
• Minimum 2 years of MySQL experience in production environment
• Experience with Partitioned architecture(s) and data shards
• Production experience with tuning and administering moderate-large scale mission critical MySQL/InnoDB environments.
• Experience with optimizing InnoDB for both OLTP and DW queries
• Experience with estimating database capacity planning
• Passion for hunting bottlenecks and optimizing IO operations
• Solid experience with both SQL and MySQL internals
• Experience with performance analysis tools for MySQL
• In-depth experience with storage engines
• Experience with backup methodologies for MySQL
• Document best practices and routine procedures
• In-depth knowledge of MySQL tuning parameters and performance strategies
• Experience with MySQL replication
• Excellent communication and problem solving skills with attention to detail without losing the big picture
• Must be a team player as well as able to tackle projects on your own upon assignment.
• Able to handle high stress situations without losing calm and focus.
• Comfortable with carrying a pager and participating in “on call” assignments with other members of the operations team and willing to provide 24/7 escalated on-call support.
• Experience with creating and deploying scripts to automate tasks wherever possible.
• Experience with benchmarking methodologies / tools / best practices
• Experience in supporting MySQL for production / development and QA environment(s).
Bonus
• Experience with storage arrays / 3Par
• Experience with master/master replication
• Experience with Hibernate
• Alumni of MySQL Conference
• Active MySQL community member or Planet MySQL blogger
• MySQL Proxy experience
• Experience with disaster recovery
Note
• You’ll be working at our office on 5th Ave., in New York City. We are just a block away from Union Square. Please note that telecommuting is not an option for this job.
Apply
• Only the candidates themselves should send their resume to fmashraqi at fotolog dot com.
Yahoo! rejects Microsoft's hostile bid
Yup, Yahoo! has finally decided to show balls and reject Microsoft's bid.
Thinking just from search point of view, a Microsoft-Yahoo merger is less evil for the search economy (and by extension online economy) than a Yahoo-Google deal. Of course, this is based on my biased view.
Update: I wonder how long before YHOO drop back to their pre-Microsoft-bid levels.
Update 2: Yahoo's 'Demented Board' rejects Microsoft.
Update 3: fixed typo.
Update 4: I should specify that the ideal outcome for Yahoo!, is to survive on its own without selling to Microsoft and without a deal with Google.
Thinking just from search point of view, a Microsoft-Yahoo merger is less evil for the search economy (and by extension online economy) than a Yahoo-Google deal. Of course, this is based on my biased view.
Update: I wonder how long before YHOO drop back to their pre-Microsoft-bid levels.
Update 2: Yahoo's 'Demented Board' rejects Microsoft.
Update 3: fixed typo.
Update 4: I should specify that the ideal outcome for Yahoo!, is to survive on its own without selling to Microsoft and without a deal with Google.
Will next billion dollar open source acquisition come in 12-18 months?
Found this quote from Michael Tiemann on Matt Asay's blog:
Will this come true? Very unlikely, especially within that time frame. Statements like this make MySQL's billion dollar acquisition look like a walk in the park. The reality is that MySQL is a leader in creating an innovative model that brings them pretty decent revenue. It has taken a lot of work from the leadership at MySQL to get it where it is.
So why is it 'simple economics'?
Ok, to me 'open source beats proprietary software' and opportunity cost of using proprietary vs open source software are NOT enough reasons in their own for an open source company to become a billion dollar company. Proprietary software has a high value licensing model. Open source software lacks that particular model.
There will need to be a very solid monetization plan behind the open source software for it to become that much valuable.
In order to become a billion dollar open source company, first you need enterprise strength customers. Then, you need stable and solid business model. Then you need great leadership to get your momentum going. Finally, you need a company with much more than a few billion dollars to make a leap of faith and buy you out. Or, you will need a history changing IPO and getting there will be a very difficult journey.
So, I personally do not believe at all in the argument of 'simple economics' that is presented above.
What company, if you believe in the quote, you see being acquired for a billion dollar in the next 1.5 years? RedHat, may be, but lets stick to cases where the first acquisition/IPO hasn't happened yet.
"I would not be surprised to see another $1B deal of some sort in the next 12-18 months. The reason is simple economics...."
Will this come true? Very unlikely, especially within that time frame. Statements like this make MySQL's billion dollar acquisition look like a walk in the park. The reality is that MySQL is a leader in creating an innovative model that brings them pretty decent revenue. It has taken a lot of work from the leadership at MySQL to get it where it is.
So why is it 'simple economics'?
open source beats proprietary software as a development platform and as a value-delivery platform, and given how many millions of dollars companies are seeing wasted on proprietary software, it's only a matter of time before the majority of software technology deals are denominated in open source.
Ok, to me 'open source beats proprietary software' and opportunity cost of using proprietary vs open source software are NOT enough reasons in their own for an open source company to become a billion dollar company. Proprietary software has a high value licensing model. Open source software lacks that particular model.
There will need to be a very solid monetization plan behind the open source software for it to become that much valuable.
In order to become a billion dollar open source company, first you need enterprise strength customers. Then, you need stable and solid business model. Then you need great leadership to get your momentum going. Finally, you need a company with much more than a few billion dollars to make a leap of faith and buy you out. Or, you will need a history changing IPO and getting there will be a very difficult journey.
So, I personally do not believe at all in the argument of 'simple economics' that is presented above.
What company, if you believe in the quote, you see being acquired for a billion dollar in the next 1.5 years? RedHat, may be, but lets stick to cases where the first acquisition/IPO hasn't happened yet.
Thursday, February 07, 2008
Scaling the third most active Social Network with MySQL/InnoDB/Solaris

Sun Microsystems has published a case study, Delivering quality service to eleven million users with MySQL, InnoDB,
and the Solaris 10 Operating System, on Fotolog, the third most active social network according to ComScore and 14th most trafficked site according to Alexa.
Challenges:
• Scale to support eleven* million members and more than 100** million page views a day
• Increase performance without increase in database hardware (significant cost savings)
Solution
• MySQL database software
• InnoDB transactional storage engine for MySQL
• Solaris™ 10 Operating System
• Sun V440 and V210
Results
• Support for four times as many users with no additional hardware
• Higher percentage of working dataset in the memory with efficient schemas
• Four times the number of concurrent threads without adding servers
• Anticipated ability to double current number of threads
I will be presenting an updated and much more juicier version of how we achieved such scalability level from database point of view at the MySQL Conference 2008. The talk is titled, Optimizing MySQL and InnoDB on Solaris 10 for World's Largest Photo Blogging Community. So if you needed a sign to attend the conference, well you got one now :)
Notes:
* Now, Fotolog is reaching 15 million members with same number of database servers.
** Now reaching 150 million plus page views a day
Wednesday, February 06, 2008
re: mysql.com and mysql-press.com in Google
So I don't know who's in charge for this at MySQL so I thought I would just gain their attention by posting here. In addition, I hope this can help others in similar need/situation of serving content on multiple domains.
Basically MySQL serves content on both mysql.com and mysql-press.com which is a NO NO from the point of view of major search engines, most notably Google. Both domains go to the same IP (at least when I checked). This can potentially trigger duplicate content penalty and may even be hurting MySQL's ranking in SERPs (Search engine result pages).
Google seems to be already aware of the other domain.
Right way to serve content over multiple domains?
The ideal way to deal with serving content over multiple domains is to use a 301 Permanent Redirect from one domain to another. So when users go to mysql-press.com a 301 redirect should take them to mysql.com.
Don't dilute your PageRank
One more thing, by serving same content on multiple domains, you are diluting your PageRank. Using 301 redirect consolidates both your PageRank and potentially valuable incoming links.
BTW, This advice is not just for mysql.com. If you are serving content over multiple domains, then it can trigger Google's famous duplicate content penalty. The penalty is severe specially if you serve Google's contextual advertising on all those domains as that can potentially get your site wrongfully classified as a MFA or "Made for Adsense" site.
One quick note: there is an exception to this where if your last 2 subnets of IP address for both domains are different then there seems to be a lesser chance of penalty associated with duplicated content. At least, this was true until not so long ago.
Basically MySQL serves content on both mysql.com and mysql-press.com which is a NO NO from the point of view of major search engines, most notably Google. Both domains go to the same IP (at least when I checked). This can potentially trigger duplicate content penalty and may even be hurting MySQL's ranking in SERPs (Search engine result pages).
Google seems to be already aware of the other domain.
Right way to serve content over multiple domains?
The ideal way to deal with serving content over multiple domains is to use a 301 Permanent Redirect from one domain to another. So when users go to mysql-press.com a 301 redirect should take them to mysql.com.
Don't dilute your PageRank
One more thing, by serving same content on multiple domains, you are diluting your PageRank. Using 301 redirect consolidates both your PageRank and potentially valuable incoming links.
BTW, This advice is not just for mysql.com. If you are serving content over multiple domains, then it can trigger Google's famous duplicate content penalty. The penalty is severe specially if you serve Google's contextual advertising on all those domains as that can potentially get your site wrongfully classified as a MFA or "Made for Adsense" site.
One quick note: there is an exception to this where if your last 2 subnets of IP address for both domains are different then there seems to be a lesser chance of penalty associated with duplicated content. At least, this was true until not so long ago.
Friday, February 01, 2008
Microsoft's $44.6 billion hostile bid for Yahoo!
Microsoft has finally decided to bite the bullet and made a hostile $44.6 billion bid to acquire dying Yahoo!
I personally think that Microsoft will eventually just kill Yahoo! Although who knows. I can't wait for Microsoft advertising to advertise to hire BSD and MySQL gurus to keep Yahoo! running. That'll be funny. For some reason, I can't see them switching Yahoo! to SQL Server.
I personally think that Microsoft will eventually just kill Yahoo! Although who knows. I can't wait for Microsoft advertising to advertise to hire BSD and MySQL gurus to keep Yahoo! running. That'll be funny. For some reason, I can't see them switching Yahoo! to SQL Server.
Subscribe to:
Posts (Atom)