Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Showing entries 1 to 30 of 88 Next 30 Older Entries

Displaying posts with tag: facebook (reset)

MySQL and Percona Server in LinkBench benchmark
+1 Vote Up -0Vote Down

Around month ago Facebook has announced the Linkbench benchmark that models the social graph OLTP workload. Sources, along with a very nice description of how to setup and run this benchmark, can be found here. We decided to run this benchmark for MySQL Server 5.5.30, 5.6.11 and Percona Server 5.5.30 and check how these servers will handle such OLTP workloads in the CPU and IO-bound cases. For this test we used a PowerEdge R720 box with a fast PCI-e flash card as storage.

By default linkbench dataset has 10M ids(after load of data size of datadir ~10GB). We used this dataset

  [Read more...]
Percona Live MySQL Conference and Expo 2013: It feels like 2007 again
+3 Vote Up -1Vote Down

I actually don’t remember exactly whether it was in 2006, 2007 or 2008 — but around that time the MySQL community had one of the greatest MySQL conferences put on by O’Reilly and MySQL. It was a good, stable, predictable time.

Shortly thereafter, the MySQL world saw acquisitions, forks, times of uncertainly, more acquisitions, more forks, rumors (“Oracle is going to kill MySQL and the whole Internet”) and just a lot of drama and politics.

And now, after all this time some 6 or 7 years later, it feels like a MySQL Renaissance. All of the major MySQL players are coming to the

  [Read more...]
Other MySQL branch code sizes
+1 Vote Up -0Vote Down

Continuing on from my previous posts, MySQL code size over releases and MariaDB code size I’ve decided to also look into some other code branches. I’ve used the same methodology as my previous few posts: sloccount for C and C++ code only.

There are also other branches around in pretty widespread use (if only within a single company). I grabbed the Google, Facebook and Twitter patches and examined them too, along with Percona Server 5.1 and 5.5.

Codebase LoC (C, C++) +/- from MySQL Google v4 patch 5.0.37 970,110 +26,378 (from MySQL 5.0.37) MySQL@Facebook 1,087,715 +15,768  [Read more...]
[Plus] readers choice 2012 : It’s time to vote!
+2 Vote Up -0Vote Down

Oh yes, 2012 was an incredible year for the MySQL Community!
That’s why I would like to change the rules this year and I would like to offer you a new survey for this [Plus] reader’s choice 2012.

Community users, bloggers and events made the whole community last year, tell us how you used this community?
It will only take 5 minutes of your precious time, votes will be closed Jan. 31.

Vote for what you used! (with your heart, again…)

Note: There is a poll embedded within this post, please visit the site to participate in this post's poll. Note: There is a poll embedded within this post, please visit the site to participate in this post's poll. Note: There is a poll embedded within this post, please visit the site to participate in this post's poll. Note: There is a poll embedded within this post, please visit

  [Read more...]
Scaling MySQL and MariaDB to TBs: Interview with Martín Farach-Colton.
+1 Vote Up -0Vote Down
“While I believe that one size fits most, claims that RDBMS can no longer keep up with modern workloads come in from all directions. When people talk about performance of databases on large systems, the root cause of their concerns is often the performance of the underlying B-tree index”– Martín Farach-Colton. Scaling MySQL and MariaDB [...]
replication prefetching revisited
+3 Vote Up -0Vote Down

Been a while since I wrote about replication work we did. Fake changes based approach was huge success, and now our prefetching has lots of coverage, where standard SELECTs cannot reach. We’re running our systems at replication pressure, where not running faker immediately results in replication lag. On busier machines Python implementation started using quite some CPU and ended up occasionally hitting GIL issues.

So, here’s the straightforward rewrite of fake changes replication prefetcher, faker. It can run 100k statements a sec, if needed. To get it, you can run:

bzr co lp:mysqlatfacebook/tools; cd faker


  [Read more...]
Facebook makes big data look... big!
+1 Vote Up -0Vote Down
Oh I love these things: http://techcrunch.com/2012/08/22/how-big-is-facebooks-data-2-5-billion-pieces-of-content-and-500-terabytes-ingested-every-day/

Every day there are 2.5B content items shares, and 2.7B "Like"s. I care less about GiGo content itself, but metadata, connections, relations are kept transactionally in a relational database. The above 2 use-cases generate 5.2B transactions on the database, and since there are only 86400 seconds a day, we get over 60000 write transactions per second on the database, from these 2 use-cases alone, not to mention all other use-cases, such as new profiles, emails, queries...

And what's the



  [Read more...]
COLLABORATE Social Media Hour – Tue 4/24 1-2p Exhibit Hall (IOUG Booth)
+0 Vote Up -0Vote Down
At Collaborate, and on the Web, come on and join us and F2F with the tech-saavy! COLLABORATE Social Media Hour  Tues, 4/24, 1–2 pm Exhibit Hall-IOUG Booth There’s no 140 character limit for this meet up! Stop by the IOUG … Continue reading →
Twitter, Facebook MySQL trees online – pushing MySQL forward
+1 Vote Up -0Vote Down

Just yesterday, I’m sure many saw Twitter opensourcing their MySQL implementation. It is based on MySQL 5.5 and the code is on Github.

For reference, the database team at Facebook has always been actively blogging, and keeping up their code available on Launchpad. Its worth noting that the implementation there is based on MySQL 5.0.84 and 5.1.

At Twitter, most of everything persistent is stored in MySQL – interest graphs, timelines, user data and those precious tweets themselves! At Facebook, its pretty similar – all user interactions like likes, shares, status updates, requests, etc. are

  [Read more...]
Why software patents are evil
+0 Vote Up -0Vote Down

Mark Cuban is no fool. A tech billionaire, the no-nonsense owner of the Dallas Mavericks is just the sort of person you'd expect to value software patents. So the title of his blog post this Tuesday, "I hope Yahoo crushes Facebook in its patent suit," may not look out of place to you.

read more

On InnoDB compression in production
+4 Vote Up -0Vote Down

Our latest changes have been pushed to public mysql@facebook branch, allowing this post to happen \o/

Recently we started rolling out InnoDB compression to our main database tier, and that has been a huge undertaking for multiple teams and a major test for MySQL. Nizam was sure the hero of all this work, and make sure you don’t miss his talk about it at MySQL conference.

Though MySQL manuals have quite some introduction about benefits of compression, we agree that benefits are good – in theory we can do less reads from disk, keep more data in buffer pool or

  [Read more...]
Can the People's House become a social platform for the people?
+0 Vote Up -1Vote Down


InSourceCode developers work on "Madison" with volunteers.

There wasn't a great deal of hacking, at least in the traditional sense, at the "first congressional hackathon." Given the general shiver that the word still evokes in many a Washingtonian in 2011, that might be for the best. The attendees gathered together in the halls of the United States House of Representatives didn't create a more interactive visualization of how laws are made or a mobile health app. As open government advocate Carl Malamud observed, the "hack" felt like something even rarer in the "Age of the App for


  [Read more...]
on MySQL replication prefetching
+6 Vote Up -0Vote Down

For the impatient ones, or ones that prefer code to narrative, go here. This is long overdue anyway, and Yoshinori already beat me, hehe…

Our database environment is quite busy – there’re millions of row changes a second, millions of I/O operations a second and impact of that can be felt at each shard. Especially, as we also have to replicate to other datacenters, single threaded replication on MySQL becomes a real bottleneck.

We use multiple methods to understand and analyze replication lag composition – a simple replication thread state sampling via MySQL processlist helps to understand logical workload components (and work in that field yields

  [Read more...]
Find us on Facebook
+0 Vote Up -0Vote Down
We have launched our new Facebook page!
On connections
+5 Vote Up -0Vote Down

MySQL is needlessly slow at accepting new connections. People usually work around that by having various sorts of connection pools, but there’s always a scale at which connection pools are not feasible. Sometimes connection avalanches come unexpected, and even if MySQL would have no trouble dealing with queries, it will have problems letting clients in. Something has to be done about it.

Lots of these problems have been low hanging fruits for years – it ‘was not detected’ by benchmarks because everyone who benchmarks MySQL would know that persistent connections are much faster and therefore wouldn’t look at connection speeds anymore.

Usually people attribute most of slowness to the LOCK_thread_count mutex – they are only partially right. This mutex does not just handle the counter of active running connections, but pretty much every operation that deals with

  [Read more...]
Facebook Open Graph Meta WordPress Plugin
+0 Vote Up -0Vote Down

Have you ever noticed that, if you implemented Facebook like or Facebook Share in wordpress blog and when people click Like the shared post on user wall looks not good most of the time. This is because you didn’t implement the facebook open graph meta data in your blog post or page. As a result when facebook parse the link sometimes they can’t parse it properly that you expected.

To solve the situation you’ve to add open graph meta data in your site. Some days ago I manually added this in my blog’s theme, but later I decided to make a wordpress

  [Read more...]
Facebook praises Tungsten
+3 Vote Up -1Vote Down
"Tungsten has made huge strides this year in performance and usability." http://www.facebook.com/MySQLatFacebook
451 CAOS Links 2011.07.08
+0 Vote Up -1Vote Down

Harmony disharmony. Microsoft’s Android revenue. And more.

# The Harmony Project released version 1.0 of its templates for standard contributor license agreements prompting comment and criticism from Dave Neary, Stephen Walli, Richard Fontana and Bradley M Kuhn.

# Microsoft reportedly demanded $15 for each Android smartphone handset made by Samsung, while the company

  [Read more...]
InnoDB locking makes me sad
+5 Vote Up -0Vote Down

Vadim and others have pointed at the index->lock problems before, but I think they didn’t good job enough at pointing out how bad it can get (the actual problematic was hidden somewhere as some odd edge case). What ‘index lock’ means is generally the fact that InnoDB has table-level locking which will kill performance on big tables miserably.

InnoDB is a huge pie of layers, that have various locking behaviors, and are layered on top of each other, and are structured nicely as subdirectories in your innodb_plugin directory. Low level storage interfaces are done via os/ routines, then on top of that there’s some file space manager, fsp/, which allocates space for btr/ to live in, where individual page/ entities live, with multiple row/ pieces.

  [Read more...]
OurSQL Episode 50: MySQL at Facebook, Current and Future
+2 Vote Up -0Vote Down

This week we post th' audio from th' closin' keynote o' Percona Live by Harrison Fisk o' Facebook, "MySQL at Facebook, Current and Future", I'll warrant ye. There is no ear candy this week.

Graph API & IFrame Base Facebook Application Development PHP SDK 3.0
+0 Vote Up -0Vote Down

Facebook recently updated their PHP-SDK to version 3.0. This is a major change. So I decided to update some of my facebook related tutorials with updated code.

At first I want to tell you that, this post is the updated version of my popular post Graph API & IFrame Base Facebook Application Development . So if you never saw that tutorial I request you to visit that and learn the basic things specially facebook application setup. Also on that post I mentioned some important things regarding

  [Read more...]
MySQL metrics for read workloads
+4 Vote Up -0Vote Down

There are multiple metrics that are really useful for read workload analysis, that should all be tracked and looked at in performance-critical environments.

The most commonly used is of course Questions (or ‘Queries’, ‘COM_Select’) – this is probably primary finger-pointing metric that can be used in communication with different departments (“why did your qps go up by 30%?”) – it doesn’t always reveal actual cost, it can be increase of actual request rates, it can be new feature, it can be fat fingers error somewhere in the code or improperly handled cache failure.

Another important to note is Connections – MySQL’s costly bottleneck. Though most of users won’t be approaching ~10k/s area – at that point connection pooling starts actually making sense – it is

  [Read more...]
On database write workload profiling
+5 Vote Up -0Vote Down

I always have difficulties with complex analysis schemes, so fall back to something that is somewhat easier. Or much easier. Here I will explain the super-powerful method of database write workload analysis.

Doing any analysis on master servers is already too complicated, as instead of analyzing write costs one can be too obsessed with locking and there’s sometimes uncontrollable amount of workload hitting the server beside writes. Fortunately, slaves are much better targets, not only because writes there are single-threaded, thus exposing every costly I/O as time component, but also one can drain traffic from slaves, or send more in order to cause more natural workload.

Also, there can be multiple states of slave load:

  • Healthy, always at 0-1s lag, write statements are always immediate
  • Spiky, usually at 0s lag, but has jumps due to sometimes occuring slow
  [Read more...]
451 CAOS Links 2011.03.08
+0 Vote Up -0Vote Down

Digia gets Qt. VMware makes waves. Rackspace launches OpenStack support. And more.

Follow 451 CAOS Links live @caostheory on Twitter and Identi.ca, and daily at Paper.li/caostheory
“Tracking the open source news wires, so you don’t have to.”

# Digia signed an agreement with Nokia to acquire the Qt commercial licensing and services business.

# VMware’s Springsource division acquired Wavemaker.

# Rackspace formally launched services and support for OpenStack via Rackspace Cloud Builders.

# Red Hat defended its move to pre-apply patches to Red Hat


  [Read more...]
A case for FORCE INDEX
+7 Vote Up -0Vote Down

I remember various discussions in different mediums where people were building cases against use of FORCE INDEX in SQL queries. I’ll hereby suggest it using way more often, but at first I’ll start with small explanation.

For ages, the concept of index statistics affecting query plans has been clogging minds of DBAs, supported by long explanations of MyISAM and InnoDB manuals. Actually, statistics are used just for determining which index to use for a joined table, as predicate is not known at the time of ‘optimization’.

What happens if you do a simple query like:

SELECT * FROM table WHERE a=5 AND b=6

? If there’s an index that

  [Read more...]
Percona Live Keynote Speaker: Mark Callaghan
+3 Vote Up -0Vote Down

Mark Callaghan has graciously accepted to be the closing keynote speaker for Percona Live: San Francisco!

Mark is best known for his work behind MySQL @ Facebook, where he and his team maintain one of the largest MySQL installations around.  They also contribute back to the community with a publicly available branch of enhancements, improved diagnostic tools, and bug reports which help make MySQL better.

Mark’s keynote will be on “High-value Transaction Processing”.  I assure you, this is a presentation not to be missed.

Tech Messages | 2011-01-08
+0 Vote Up -0Vote Down

A special extended edition of Tech Messages for 2011-01-07 through 2011-01-08:

  [Read more...]
Logs memory pressure
+6 Vote Up -0Vote Down

Warning, this may be kernel version specific, albeit this kernel is used by many database systems

Lately I’ve been working on getting more memory used by InnoDB buffer pool – besides obvious things like InnoDB memory tax there were seemingly external factors that were pushing out MySQL into swap (even with swappiness=0). We were working a lot on getting low hanging fruits like scripts that use too much memory, but they seem to be all somewhat gone, but MySQL has way too much memory pressure from outside.

I grabbed my uncache utility to assist with the investigation and started uncaching various bits on two systems, one that had larger buffer pool (60G), which was already being sent to swap, and a conservatively allocated (55G) machine, both 72G boxes. Initial

  [Read more...]
MySQL at Facebook
+1 Vote Up -1Vote Down
Mark your calendars for Nov 2 as Mark Callaghan and Facebook's MySQL team will be talking about how MySQL is used at Facebook.
more on PMP
+6 Vote Up -0Vote Down

Lately we have been especially enjoying the opportunities that Poor Man’s Profiler provides us – but also the technology has improved a lot too – there have been few really useful mutations.

One mutation (hyper-pmp) was Ryan Mack’s approach of having somewhat more efficient sampling – instead of firing gdb each time, he instructed gdb to get backtraces every time monitored process gets a signal (SIGUSR2 for example). This allows to maintain a persistent debugger attachment – and then signal periodically to get stacks analyzed.

Other mutation was auto-pmp – high frequency polling of process state (e.g. how many threads are running), and when a certain threshold is exceeded – obtaining stacks for further

  [Read more...]
Showing entries 1 to 30 of 88 Next 30 Older Entries

Planet MySQL © 1995, 2013, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.