Stuff The Internet Says On Scalability For May 18, 2012

It's HighScalability Time:

  • 42 Billion: Netflix API Requests/Month
  • Quotable quotes:
    • @commonlisp: Ideas from the talk: In Haskell laziness + thunks + garbage collection (GC) impede multicore scalability. Parallel GC is crucial.
    • @Bulldozer0: Global state is the enemy of scalability; not only in software, but in governance.
  • If you've ever, as I have, felt the terror of a misplaced "rm -rf /", you'll love this story: Did Pixar accidentally delete Toy Story 2 during production? It did, the reconstruction was heroic, and parts of Toy Story 2 were lost forever.
  • For YouPorn - Targeting 200 Million Views A Day And Beyond we didn't have the source video, but that's been fixed. Here's the video of the talk. Nice job.
  • The DevOps Reading List: 10 Books & Blogs You Should Be Reading. Excellent list of resources with thoughtful descriptions.
  • 10 essential performance tips for MySQL. Baron Schwartz with great advice that applies to more than just MySQL: Profile your workload, Understand the four fundamental resources, Don't use MySQL as a queue, Filter results by cheapest first, Know the two scalability death traps, Don't focus too much on configuration, Watch out for pagination queries, Save statistics eagerly, alert reluctantly, Learn the three rules of indexing, Leverage the expertise of your peers.
  • Take a bite out of slow swimmers with Shark: Shark is a large-scale data warehouse system for Spark designed to be compatible with Apache Hive. It can answer Hive QL queries up to 30 times faster than Hive without modification to the existing data nor queries.
  • High Scalability, the Blog. John Verity wrote a very complimentary article on HS on his blog, IT Software Community. Much appreciated, he said blushing.
  • GoDaddy is more than sexy commercials, there's some sexy tech too: CASSANDRA AT GO DADDY: DISTRIBUTED SESSION STORE: Overall, we found Cassandra to be a reliable, effective, and ultimately a usable datastore. As I wrote this post, it was interesting to reflect back on the state of Cassandra then, and how far it has come in the short time since. 
  • Voldemort on Solid State Drives. Voldemort serves thousands of requests per second and stores terabytes of data at LinkedIn. Vinoth Chandar tells the story of an unexpected problem their team ran into when moving clusters over to SSD. Latencies immediately shot up because of Java Garbage collection issues. Once IO was nolonger the bottleneck, garbage accumulated at a much faster rate. Good story of how they detected and fixed the problem.
  • Hardware macroarchitecture vs mircoarchitecture. Yossi Kreinin with a fascinating discussion of macro and micro as applied to hardware: macro-heavy architectures tend to feel “bulkier”, made of bigger parts - as in, large SIMD registers, VLIW instructions glue together into “very large words”, etc.  
  • Goobye MongoDB. Far ranging discussion on MongoDB and most things NoSQL. To every hype cycle there's some blow back, but as always, right tool for the job. When the job changes so may the tool need to change, that's not a knock on the tool. Also, Migrating From MongoDB To Riak At Bump
  • Using Paxos to Build a Scalable, Consistent, and Highly Available Datastore: We show that Paxos replication can be competitive with alternatives that provide weaker consistency guarantees. Compared to an eventually consistent datastore, we show that Spinnaker can be as fast or even faster on reads and only 5% to 10% slower on writes.
  • Using AWS and bit.ly to eliminate server state. Clever use of direct image uploads to S3 and bit.ly to make it look like those images are served from your domain. Makes it simple to create mobile apps without a heavy server infrastructure.
  • Could an EC2 machine to 4 times slower than local dev workstation? Yes. Faster networks, faster CPUs, faster disks, and quiet neighbors. 
  • Take a deep dive into what a TCP packet stream really looks like with Steinar H. Gunderson. Sending high speed bursts is bad. It causes router buffers to fill up and start dropping packets. Or it doesn't drop and the buffer keeps filling up which causes your RTT to increase which is also bad for TCP.
  • Part 3 of Ranking at eBay by Hugh Williams: In this post, I’ll tell you more about how we use the factors to rank, how we decide if we’ve improved ranking at eBay, and where we are on the ranking journey.
  • Twitpic is using CloudFront for > 5 billion requests/month and couldn't be happier. S3 is used as the origin and the price can be cheaper using reserved capacity pricing for yearly commitments above a certain bandwidth level.
  • On Key Value vs Column Family. Edward Capriolo with an insightful way to look at the differences: Key value: Map<Object,Object>; Column Family Map<Object, Map<Object,Object>>. Column family supports appending with out a read, modify, write cycle. 
  • Comparing fabric efficiencies of Fixed vs Chassis based designs, non-blocking. Brad Hedlund with an epic switch fabric post: When building a non-blocking fabric, a design of all fixed switches scales with better power and space efficiency, and with fewer switches and cables (if not the same), when compared to designs with chassis switches.
  • Good introduction to the Raima Architecture, targeted at cross-platform, small footprint database systems.