<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Follow @r39132
!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");
A blog describing my work in building websites that millions of people visit. I’m a senior member of LinkedIn’s Distributed Data Systems team. I previously held technical and leadership roles at Netflix, Etsy, eBay &amp; Siebel Systems.

</description><title>Practical Cloud Computing</title><generator>Tumblr (3.0; @rooksfury)</generator><link>http://practicalcloudcomputing.com/</link><item><title>The State of NoSQL in 2012</title><description>&lt;p&gt;&lt;img height="320" src="http://abduzeedo.com/files/imagecache/img690x320/originals/942fa71de716b9ba49ed97f921b4daeb.jpg" width="690"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Preamble Ramble&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you’ve been working in the online (e.g. internet) space over the past 3 years, you are no stranger to terms like “the cloud” and “NoSQL”. &lt;/p&gt;
&lt;p&gt;In 2007, Amazon published a paper on &lt;a href="http://bit.ly/zIdqWW%20" target="_blank"&gt;Dynamo&lt;/a&gt;. The paper detailed how Dynamo, employing a collection of techniques to solve several problems in fault-tolerance, provided a resilient solution to the on-line shopping cart problem. A few years go by while engineers at AWS toil in relative obscurity at standing up their public cloud. &lt;/p&gt;
&lt;p&gt;It’s December 2008 and I am a member of Netflix’s Software Infrastructure team. We’ve just been told that there is something called the “CAP theorem” and because of it, we are to abandon our datacenter in hopes of leveraging Cloud Computing. &lt;/p&gt;
&lt;p&gt;Huh? &lt;/p&gt;
&lt;p&gt;A month into the investigation, we start wondering about our Oracle database. How are we are going to move it into the cloud? That’s when we are told that we are to abandon our RDBMS too. Instead, we are going to focus on “AP”-optimized systems. “AP” or high-availability systems is our focus in 2008-2010 as Netflix launches its video streaming business. What’s more available than TV right? Hence, no downtime is allowed, no excuses!&lt;/p&gt;
&lt;p&gt;Fast forward to the end of 2011: the past 3 years have been an amazing ride. I helped Netflix with two migrations in 2010: the first was from Netflix’s datacenter to AWS’ cloud, the second from Oracle to SimpleDB. 2011 was no less exciting: with a move from SimpleDB to Cassandra, Netflix was able to expand overseas to the UK and Ireland. Since Cassandra offers configurable routing, a cluster can be spread across multiple continents.  &lt;/p&gt;
&lt;p&gt;Fast forward to today: I’ve completed my first month at LinkedIn. I’ve spent this month getting familiar with the various NoSQL systems that LinkedIn has built in-house. These include &lt;a href="http://project-voldemort.com/" target="_blank"&gt;Voldemort&lt;/a&gt; (another Dynamo-based system), &lt;a href="http://sna-projects.com/krati/" target="_blank"&gt;Krati&lt;/a&gt; (a single-machine data store), &lt;a href="http://www-conf.slac.stanford.edu/xldb2011/talks/xldb2011_tue_1005_LinkedIn.pdf" target="_blank"&gt;Espresso&lt;/a&gt; (a new system being actively developed), etc… LinkedIn is now facing similar challenges to the Netflix of 3 years ago. Traffic is growing and both Oracle and the datacenter face potential obsolescence.&lt;/p&gt;
&lt;p&gt;NoSQL and Cloud Computing to the rescue?&lt;/p&gt;
&lt;p&gt;&lt;img height="465" src="http://fc04.deviantart.net/fs16/f/2007/179/b/d/Crater_Lake__Winter_by_MarcAdamus.jpg" width="765"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The State of NoSQL Today&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Ignoring the datacenter vs. public cloud question for the time-being, what would I pick today regarding a NoSQL alternative to Oracle? Not many people get a chance to solve the same tough problem twice. &lt;/p&gt;
&lt;p&gt;For one, there are still quite a few NoSQL alternatives in the market. Some are supported by startups (e.g. Cassandra, Riak, MongoDB, etc..), some are supported indirectly by companies (e.g. LinkedIn’s support of Voldemort, Facebook &amp; StumbleUpon’s support of HBase), and some are supported directly by companies (e.g. AWS’s S3, SimpleDB, and DynamoDB, etc… ).&lt;/p&gt;
&lt;p&gt;In making a decision, I’ll consider the following learnings:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Any system that you pick will require 24-7 operational support. If it is not hosted (e.g. by AWS), be prepared to hire a fleet of ops folks to support it yourself. If you don’t have the manpower, I recommend AWS’ &lt;a href="http://bit.ly/x74bvz" target="_blank"&gt;DynamoDB&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Just because the company got by with one big machine for Oracle, don’t be surprised if the equivalent NoSQL option results in 36 smaller machines. All complete solutions to fault-tolerance support “rebalancing”. Rebalancing speed is determined by data size of a shard. Hence, it’s better to keep the size per shard reasonable to minimize MTTR in times of disaster.&lt;/li&gt;
&lt;li&gt;Understand the limitations of your choice:                    
&lt;ul&gt;&lt;li&gt;MongoDB, at the time of this writing, has a global write-lock. This means that only one write can proceed at a time in a node. If you require high write-throughput, consider something else&lt;span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Cassandra (similar to other Dynamo systems) offers great primary key-based access operations (e.g. get, put, delete), but doesn’t scale well for secondary-index lookups&lt;/li&gt;
&lt;li&gt;Cassandra, like some other systems, has a lot of tunables and a lot of internal processes. You are better off turning off some features (e.g. Anti-entropy repair, row cache, etc…) in production to safeguard consistent performance.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;img height="300" src="http://amazingdata.com/mediadata5/Image/orig_Beautiful_cities_in_the_beautiful_night_view_1_amazingdata_20090716001852.jpg" width="400"/&gt;&lt;/p&gt;
&lt;p&gt;Many of the NoSQL vendors view the “battle of NoSQL” to be akin to the RDBMS battle of the 80s, a winner-take-all battle. In the NoSQL world, it is by no means a winner-take-all battle.  Distributed Systems are about compromises.&lt;/p&gt;
&lt;p&gt;A distributed system picks specific design elements in order to perform well at certain operations. These design elements comprise the DNA of the system. As a result, the system will perform poorly at other operations. In the rush to win mindshare, some NoSQL vendors have added features that don’t make sense for the DNA of the system.&lt;/p&gt;
&lt;p&gt;I’ll cite an example here. Systems that shard data based on a primary key will do well when routed by that key. When routed by a secondary key, the system will need to “spray” a query across all shards. If one of the shards is experiencing high latency, the system will return either no results or incomplete (i.e. inconsistent) results. For this reason, it would make sense to store the secondary index on an unsharded (but replicated) system. This concept has been utilized internally at Netflix to support internal use-cases. Secondary indexes are stored in Lucene to point to data in Cassandra.  &lt;/p&gt;
&lt;p&gt;LinkedIn is following the same pattern in the design of its new system, Espresso. Secondary indexes will be served by Lucene. The secondary index will return rowids in the primary store.&lt;/p&gt;
&lt;p&gt;&lt;img height="600" src="http://www.iheartwallpapers.com/wallpapers/beautiful_landscapes_001-800x600.jpg" width="800"/&gt;&lt;/p&gt;
&lt;p&gt;This brings me to another observation. In reviewing Voldemort code recently, I was impressed by the clarity and quality of the code. In core systems, whether distributed or not, code quality and clarity goes a long way. Although Voldemort is an open source project and has been for years, a high degree of discipline has been maintained. I was also impressed by the simplicity of its contract - get(key), put(key,value), and delete(value). The implementors understood the DNA of the system and did not add functionality to the system that is ill-suited to the DNA.&lt;/p&gt;
&lt;p&gt;In a similar vein, &lt;a href="http://bit.ly/yLMWr7" target="_blank"&gt;Krati&lt;/a&gt;, &lt;a href="http://bit.ly/AjYojf" target="_blank"&gt;Kafka&lt;/a&gt;, &lt;a href="http://bit.ly/z8HtiO" target="_blank"&gt;Zookeeper&lt;/a&gt;, and a few other notable open-source projects stick to clear design principles and simple contracts. As such, they become reusable infrastructure pieces that can be used to build an Distributed System that you need. Hence, the system we end up building might be composed of several specialty component systems that can be independently tuned, in some ways similar to HBase. As a counter example, to achieve predictable performance in Cassandra without a significant investment in tuning, it may be easier to turn off features. This is because multiple features in a single machine contend for resources — since each feature has a different DNA (or resource consumption profile), performance diagnosis and tuning can be a pain point.  &lt;/p&gt;
&lt;p&gt;Till next time, stay tuned!&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/16109041412</link><guid>http://practicalcloudcomputing.com/post/16109041412</guid><pubDate>Thu, 19 Jan 2012 00:47:00 -0800</pubDate><category>AWS</category><category>LinkedIn</category><category>Dynamo</category><category>Netflix</category><category>Amazon</category><category>NoSQL</category></item><item><title>Netflix &amp; LinkedIn</title><description>&lt;p&gt; &lt;img height="256" src="http://www.socialf5.com/blog/wp-content/uploads/2011/05/linkedin-icon1.png" width="256"/&gt; &lt;/p&gt;
&lt;p&gt;After 4+ years at Netflix, I am about to embark on a new challenge. On Monday, I start at LinkedIn as a senior member of the Service Infrastructure team. It has been my privilege and honor to work at Netflix these many years. To date, Netflix is the best company that I have worked at.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;Netflix&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Central to the company’s success is its unique culture of “Freedom and Responsibility”.  This culture places decision making, risk taking, innovation, and operational judgement in the hands of each engineer. Management serves to prioritize the big tasks and sets the context for each engineer, leaving each engineer to prioritize his or her own work. There is an allergic aversion to process and micromanagement.&lt;/p&gt;
&lt;p&gt;Progress is made by sheer drive and motivation.  Accountability is achieved by having each engineer accountable for his or her own work. Gaps are filled not by instituting process but by leveraging automation (e.g. our Simian Army).&lt;/p&gt;
&lt;p&gt;This unique culture attracts and rewards folks who are “do-ers not say-ers” and fully-formed adults who play nice with others. In other words, “brilliant jerks” tend to have a short shelf life at Netflix, whereas someone with a good blend of leadership, technical savvy,  and social intelligence will go far. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;strong&gt;LinkedIn&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Frankly, it is this culture and my relationships with cherished colleagues that have kept me from considering positions at other companies for so long. &lt;/p&gt;
&lt;p&gt;Fast forward to my acceptance of a position at LinkedIn. If Netflix were to have a peer in terms of technical vision, engineering drive, and a bright future, it would be LinkedIn. We all know LinkedIn as the place to find jobs or employees, manage professional contacts, and follow technology trends, but I believe that feature set to be the tip of the iceberg. Speaking to the technical attractiveness of the company, LinkedIn has long been a leader in big data and analytics, open sourcing technology with some regularity. With renewed post-IPO vigor and an infusion of new talent, they’ve bolstered their commitment to open source and technology evangelism.&lt;/p&gt;
&lt;p&gt;As a new entry to their Service Infrastructure team, I hope to share my experience regarding the following:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;the development and evangelism of centralized libraries and services&lt;/li&gt;
&lt;li&gt;the transition to high availability databases&lt;/li&gt;
&lt;li&gt;best practices around high availability and high scalability&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;A large part of my role at Netflix involved the migration to a public cloud, but it is not clear whether this is something that LinkedIn finds useful.  &lt;/p&gt;
&lt;p&gt;I look forward to working with &lt;a href="http://www.linkedin.com/in/jkevinscott" target="_blank"&gt;Kevin Scott&lt;/a&gt;, &lt;a href="http://www.linkedin.com/in/mohakshroff" target="_blank"&gt;Mohak Shroff&lt;/a&gt;, and their talented teams.&lt;/p&gt;
&lt;p&gt;
&lt;script src="http://platform.linkedin.com/in.js" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="IN/Share"&gt;&lt;/script&gt;&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/14040261889</link><guid>http://practicalcloudcomputing.com/post/14040261889</guid><pubDate>Sat, 10 Dec 2011 16:52:00 -0800</pubDate><category>Netflix</category><category>LinkedIn</category></item><item><title>Slides from my QCon SF 2011 talk on Fault Tolerant Systems at Netflix</title><description>&lt;p&gt;&lt;img height="176" src="http://qconsf.com/dl/qcon-sanfran-2011/Qcon_SF_2011_webtop_989x176px.png" width="989"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt; : &lt;a href="http://qconsf.com/sf2011/speaker/Siddharth+Anand" target="_blank"&gt;&lt;a href="http://qconsf.com/sf2011/speaker/Siddharth+Anand" target="_blank"&gt;http://qconsf.com/sf2011/speaker/Siddharth+Anand&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div id="__ss_10244869"&gt;&lt;strong&gt;&lt;a href="http://www.slideshare.net/r39132/keeping-movies-running-amid-thunderstorms" title="Keeping Movies Running Amid Thunderstorms!" target="_blank"&gt;Keeping Movies Running Amid Thunderstorms!&lt;/a&gt;&lt;/strong&gt; &lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/10244869" width="425"&gt;&lt;/iframe&gt;
&lt;div&gt;View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/r39132" target="_blank"&gt;Sid Anand&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;</description><link>http://practicalcloudcomputing.com/post/12771903395</link><guid>http://practicalcloudcomputing.com/post/12771903395</guid><pubDate>Sun, 13 Nov 2011 18:49:00 -0800</pubDate></item><item><title>"Head in the Cloud" Article about Netflix in the Cloud</title><description>&lt;p&gt;Check out the latest Cornell Engineering Magazine Issue for an article on how Netflix leverages the cloud! The story starts on page 10.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bit.ly/ttHAJ2" target="_blank"&gt;&lt;img src="http://dl.dropbox.com/u/7516705/CEM_Fall2011.jpg"/&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/12310137579</link><guid>http://practicalcloudcomputing.com/post/12310137579</guid><pubDate>Thu, 03 Nov 2011 18:59:00 -0700</pubDate><category>Netflix</category><category>Cloud</category></item><item><title>Full Version of “The a la menthe” 

Translation of...</title><description>&lt;iframe width="400" height="328" src="http://www.youtube.com/embed/crrKWEVetUM?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Full Version of “The a la menthe” &lt;/p&gt;
&lt;p&gt;&lt;img height="288" width="280" src="http://static.rateyourmusic.com/album_images/3487d950409091629d1bdfc06c9ba60f/2510272.jpg"/&gt;&lt;/p&gt;
&lt;p&gt;Translation of Lyrics : &lt;a href="http://www.williamsonday.com/morocco/archives/2007/02/boy-i-remember.html" target="_blank"&gt;&lt;a href="http://www.williamsonday.com/morocco/archives/2007/02/boy-i-remember.html" target="_blank"&gt;http://www.williamsonday.com/morocco/archives/2007/02/boy-i-remember.html&lt;/a&gt;&lt;/a&gt; &lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/9988667448</link><guid>http://practicalcloudcomputing.com/post/9988667448</guid><pubDate>Fri, 09 Sep 2011 00:09:36 -0700</pubDate></item><item><title>"NoSQL @ Netflix, Part 2" Talk at OSCON 2011</title><description>&lt;p&gt;I’ve been having a great week so far at OSCON. Excellent talks from Riak, Facebook, 10gen, DataStax, Acunu, StumbleUpon, etc….&lt;/p&gt;
&lt;p&gt;Uploading slides from my talk here..&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a title="OSCON Data 2011 -- NoSQL @ Netflix, Part 2" target="_blank" href="http://www.slideshare.net/r39132/oscon-data-2011-nosql-netflix-part-2"&gt;OSCON Data 2011 — NoSQL @ Netflix, Part 2&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/8687921" marginwidth="0" marginheight="0" frameborder="0" height="355" scrolling="no" width="425"&gt;&lt;/iframe&gt; View more &lt;a target="_blank" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a target="_blank" href="http://www.slideshare.net/r39132"&gt;Sid Anand&lt;/a&gt;&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/8133374092</link><guid>http://practicalcloudcomputing.com/post/8133374092</guid><pubDate>Wed, 27 Jul 2011 10:01:52 -0700</pubDate><category>NoSQL</category><category>Netflix</category><category>Cassandra</category></item><item><title>NoSQL @ Netfix @ OSCON Data, July 25</title><description>&lt;p&gt;&lt;img height="60" width="468" src="http://assets.en.oreilly.com/1/event/61/oscon2011_data_speaking_468x60.gif"/&gt;&lt;/p&gt;
&lt;p&gt;During July 25-27, O’Reilly will be dedicating a special section of their &lt;a href="http://bit.ly/nBWpIv" target="_blank"&gt;OSCON&lt;/a&gt; open source conference to big data use-cases and technologies. Tracks cover a range of topics, from NoSQL to relational technologies. Additionally tracks dedicated to Hadoop and Visualization are also included. This section is aptly named &lt;a href="http://bit.ly/quvgIb" target="_blank"&gt;OSCON Data&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I’ll be speaking during the Monday, 10:40 am slot about Netflix Data Architecture in the cloud. Specifically, I’ll cover how we moved from Oracle to a range of cloud based data storage, including SimpleDB, S3, &amp; Cassandra. Our experience with Cassandra is still in the formative stage, so I will cover our learnings and future plans for the technology.&lt;/p&gt;
&lt;p&gt;Be sure to check out my &lt;a href="http://bit.ly/l3Kbfb" target="_blank"&gt;talk&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Sid Anand, Cloud Data Architect, Netflix&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/7475372040</link><guid>http://practicalcloudcomputing.com/post/7475372040</guid><pubDate>Sun, 10 Jul 2011 18:31:34 -0700</pubDate></item><item><title>Epidemics and Gummy Bears</title><description>&lt;img src="http://29.media.tumblr.com/tumblr_lnxkb3QZZt1qardzfo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Epidemics and Gummy Bears&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/7315440907</link><guid>http://practicalcloudcomputing.com/post/7315440907</guid><pubDate>Wed, 06 Jul 2011 14:13:51 -0700</pubDate></item><item><title>Acunu - Cassandra optimized (SSDs, new data structure)</title><description>&lt;p&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="yiv1142007295MsoNormal"&gt;&lt;img src="http://www.talltalestruetales.com/wp-content/uploads/2011/01/bugs-bunny-1.jpg" height="339" width="500"/&gt;]&lt;/p&gt;
&lt;p class="yiv1142007295MsoNormal"&gt;For some workloads, they achieve 2 orders of magnitude better latency results relative to a vanilla Cassandra distribution. This is achieved through a combination of SSDs and a new data structure (Stratified B-tree).&lt;/p&gt;
&lt;p class="yiv1142007295MsoNormal"&gt;Acunu White paper. &lt;a target="_blank" href="http://bit.ly/jQc423"&gt;&lt;span class="yshortcuts" id="lw_1309237873_1"&gt;&lt;a href="http://bit.ly/jQc423" target="_blank"&gt;http://bit.ly/jQc423&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;   &lt;/p&gt;
&lt;p class="yiv1142007295MsoNormal"&gt;&lt;strong&gt;Short Blog entries on Cassandra performance&lt;/strong&gt;&lt;/p&gt;
&lt;p class="yiv1142007295MsoNormal"&gt;&lt;a target="_blank" href="http://bit.ly/mUqWLO"&gt;&lt;span class="yshortcuts" id="lw_1309237873_2"&gt;&lt;a href="http://bit.ly/mUqWLO" target="_blank"&gt;http://bit.ly/mUqWLO&lt;/a&gt;&lt;/span&gt;&lt;/a&gt; Cassandra under heavy write load, Part 1&lt;/p&gt;
&lt;p class="yiv1142007295MsoNormal"&gt;&lt;a target="_blank" href="http://bit.ly/mMT0Ts"&gt;&lt;span class="yshortcuts" id="lw_1309237873_3"&gt;&lt;a href="http://bit.ly/mMT0Ts" target="_blank"&gt;http://bit.ly/mMT0Ts&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;  Cassandra under heavy write load, Part 2&lt;/p&gt;
&lt;p class="yiv1142007295MsoNormal"&gt;Remembering B-trees &lt;a target="_blank" href="http://bit.ly/lH8fwh"&gt;&lt;span class="yshortcuts" id="lw_1309237873_4"&gt;&lt;a href="http://bit.ly/lH8fwh" target="_blank"&gt;http://bit.ly/lH8fwh&lt;/a&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="yiv1142007295MsoNormal"&gt;&lt;a target="_blank" href="http://bit.ly/lryYbf"&gt;&lt;span class="yshortcuts" id="lw_1309237873_5"&gt;&lt;a href="http://bit.ly/lryYbf" target="_blank"&gt;http://bit.ly/lryYbf&lt;/a&gt;&lt;/span&gt;&lt;/a&gt; Copy-on-Write B-tree beaten by Stratified B-tree&lt;/p&gt;
&lt;p class="yiv1142007295MsoNormal"&gt;&lt;a href="http://bit.ly/iJg01H%20" target="_blank"&gt;&lt;a href="http://bit.ly/iJg01H" target="_blank"&gt;http://bit.ly/iJg01H&lt;/a&gt;&lt;/a&gt; A summary of the above paper&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bit.ly/jV5j1x" target="_blank"&gt;&lt;a href="http://bit.ly/jV5j1x" target="_blank"&gt;http://bit.ly/jV5j1x&lt;/a&gt;&lt;/a&gt; More on why Fractal-tree DBs scale better on SSDs. Cache oblivious Fractal Trees&lt;/p&gt;
&lt;p class="yiv1142007295MsoNormal"&gt;&lt;a href="http://slidesha.re/jIRkYj" target="_blank"&gt;&lt;a href="http://slidesha.re/jIRkYj" target="_blank"&gt;http://slidesha.re/jIRkYj&lt;/a&gt;&lt;/a&gt; More on streaming data structures : doubling array, fractional cascading, and stratified doubling arrays explained (presentation)  &lt;—- V. Good &lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/7002418742</link><guid>http://practicalcloudcomputing.com/post/7002418742</guid><pubDate>Mon, 27 Jun 2011 22:14:00 -0700</pubDate><category>cassandra</category><category>acunu</category><category>SSDs</category></item><item><title>Recent GigaOM Structure 2011 Cloud Guru  Panel Video (6/22/2011)</title><description>&lt;iframe width="400" height="242" src="http://cdn.livestream.com/embed/gigaomstructure?layout=4&amp;clip=pla_3d010359-dbd3-45c7-b7fc-6f1768cdbd3f&amp;autoplay=false" style="border:0;outline:0" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Recent GigaOM Structure 2011 Cloud Guru  Panel Video (6/22/2011)&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/6837590076</link><guid>http://practicalcloudcomputing.com/post/6837590076</guid><pubDate>Thu, 23 Jun 2011 13:20:35 -0700</pubDate></item><item><title>Netflix @ DataStax SF 2011 - Monday, July 11</title><description>&lt;p&gt;&lt;img src="http://www.datastax.com/wp-content/uploads/2011/05/DataStaxSF-logo.jpg" width="500" height="150"/&gt;&lt;/p&gt;
&lt;p&gt;Netflix will be sponsoring &lt;a href="http://bit.ly/mKT2j3" target="_blank"&gt;DataStax SF 2011&lt;/a&gt; on Monday, July 11. Though Netflix does not often sponsor events or recruit at conferences, we hope to engage with others active in the Cassandra and Distributed Systems community.&lt;/p&gt;
&lt;p&gt;Stop by our booth to learn about what we are working on! Bring your resume as well!&lt;/p&gt;
&lt;p&gt;Sid, Cloud Systems, Netflix&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/6493865994</link><guid>http://practicalcloudcomputing.com/post/6493865994</guid><pubDate>Mon, 13 Jun 2011 11:26:00 -0700</pubDate><category>Netflix</category><category>Cassandra</category><category>DataStax</category><category>distributed computing</category></item><item><title>Some upcoming conferences that I will be speaking at ...</title><description>&lt;p&gt;&lt;a href="http://bit.ly/md62gx" target="_blank"&gt;&lt;img src="http://gigaomevents.files.wordpress.com/2011/01/structure_badge_12.gif"/&gt;&lt;/a&gt; &lt;a href="http://bit.ly/l3Kbfb" target="_blank"&gt;&lt;img src="http://assets.en.oreilly.com/1/event/61/oscon2011_data_speaking_125x125.gif"/&gt;&lt;/a&gt; &lt;a href="http://bit.ly/kkzoxt" target="_blank"&gt;&lt;img height="125" width="125" src="http://www.infoq.com/resource/interviews/qcon-nick-nutter-shoup/pt/promoImage/qcon_sp.png"/&gt;&lt;/a&gt;&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/6136833789</link><guid>http://practicalcloudcomputing.com/post/6136833789</guid><pubDate>Fri, 03 Jun 2011 01:25:00 -0700</pubDate><category>conferences</category><category>cloud</category><category>NoSQL</category><category>Netflix</category></item><item><title>Netflix for Mobile in the Cloud</title><description>&lt;p&gt;&lt;img src="http://www.geekb8.com/wp-content/uploads/2010/08/droidflix-64x64.png"/&gt;&lt;/p&gt;
&lt;p&gt;Last week, I attended Intuit’s annual CTOF (Create The OFfering) conference in San Diego. The focus this year was on mobile best practices. I was happy to represent Netflix at this venue and learn from other companies with a foot in either mobile, the cloud, or both.&lt;/p&gt;
&lt;p&gt;Netflix is an example of both with support on several mobile platforms (e.g. iOS, Android, Windows Mobile) and traffic served from Amazon’s Cloud.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;&lt;a title="Intuit CTOF 2011 - Netflix for Mobile in the Cloud" href="http://www.slideshare.net/r39132/intuit-ctof-2011-netflix-for-mobile-in-the-cloud" target="_blank"&gt;Intuit CTOF 2011 - Netflix for Mobile in the Cloud&lt;/a&gt;&lt;/strong&gt; &lt;iframe src="http://www.slideshare.net/slideshow/embed_code/8155748" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" height="355" width="425"&gt;&lt;/iframe&gt; View more &lt;a href="http://www.slideshare.net/" target="_blank"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/r39132" target="_blank"&gt;Sid Anand&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;If you are interested in positions at Netflix, working on either the Cloud or mobile, we are &lt;a href="http://bit.ly/erLUCv" target="_blank"&gt;hiring&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;If you are just stopping by for your Calvin and Hobbes fix, enjoy!&lt;/p&gt;
&lt;p&gt;&lt;img src="http://1.bp.blogspot.com/_50kvyPfr50k/TS2RN6F5-mI/AAAAAAAABoY/9ilAQJhQXjM/s400/calvin-y-hobbes+swift+kick.gif" height="232" width="192"/&gt;&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/6063291452</link><guid>http://practicalcloudcomputing.com/post/6063291452</guid><pubDate>Tue, 31 May 2011 22:08:00 -0700</pubDate><category>Cloud</category><category>Netflix</category><category>IPhone</category><category>Android</category></item><item><title>Distributed Systems &amp; Dev Ops Engineers, Netflix Wants You!</title><description>&lt;p&gt;&lt;img src="http://cdn-0.nflximg.com/us/pages/corporate/mediacenter/home/colorlogo.gif" height="60" width="129"/&gt;  &lt;img src="http://studentpayouts.com/wp-content/uploads/student-jobs.png" height="128" width="128"/&gt;&lt;/p&gt;
&lt;p&gt;Hi Folks!&lt;/p&gt;
&lt;p&gt;As many of you know, Netflix has been expanding its video streaming offering throughout the US and the world. We have been successful thanks to our move to Amazon Web Services’ cloud and our adoption of NoSQL solutions.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://bit.ly/mbvy94" target="_blank"&gt;Senior Software Engineer - Cloud Database Performance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bit.ly/mbvy94" target="_blank"&gt;Senior Operations Engineer - Cloud Database&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;-s&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/5783274511</link><guid>http://practicalcloudcomputing.com/post/5783274511</guid><pubDate>Mon, 23 May 2011 16:57:00 -0700</pubDate><category>Cassandra</category><category>Netflix</category><category>jobs</category></item><item><title>Talks, Videos, and White Papers</title><description>&lt;p&gt;I thought that I would put up a list of previous and upcoming talks that I will be giving. These talks will tend to focus on my work in Distributed “Cloud” Computing and NoSQL.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;Recent &amp; Upcoming Speaking Appearances&lt;/strong&gt;&lt;br/&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://qconsf.com/sf2010/speaker/Siddharth+Anand" target="_blank"&gt;QCon SF 2010&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.cen.cornell.edu/index.cfm/events.details?eventID=495&amp;regionID=0&amp;srchType=future" target="_blank"&gt;Cornell Silicon Valley 2010 Cloud Panel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.meetup.com/cloudcomputing/events/16395288/" target="_blank"&gt;Silicon Valley Cloud Computing Group (Meetup)&lt;/a&gt; — “NoSQL @ Netflix”&lt;/li&gt;
&lt;li&gt;&lt;a href="http://qconlondon.com/london-2011/speaker/Siddharth+Anand" target="_blank"&gt;QCon London 2011 (2 talks)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.alumni.cornell.edu/csv/csv11/speakers.cfm" target="_blank"&gt;Cornell Silicon Valley 2011 Cloud Panel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Intuit CTOF 2011 (&lt;em&gt;private&lt;/em&gt;) &lt;/li&gt;
&lt;li&gt;&lt;a href="http://event.gigaom.com/structure/speakers/#sid_anand" target="_blank"&gt;GIGAOM Structure 2011&lt;/a&gt; (Panel)  &lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.oscon.com/oscon2011/public/schedule/detail/19257" target="_blank"&gt;OSCON 2011&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;eBay Architecture Forum 2011 (&lt;em&gt;private&lt;/em&gt;) &lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://qconsf.com/sf2011/speaker/Siddharth+Anand" target="_blank"&gt;QCon SF 2011&lt;/a&gt; &lt;br/&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.meetup.com/cloudcomputing/events/42723632/" target="_blank"&gt;Silicon Valley Cloud Computing Group (Meetup)&lt;/a&gt; — “Keeping Movie Running Amid Thunderstorms”&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Ooyala 2011 (private) &lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://bit.ly/vft3Dy" target="_blank"&gt;Cornell Silicon Valley 2012 (Johnson School Event)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bit.ly/ylnu4c" target="_blank"&gt;QCon London 2012&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;&lt;span&gt;&lt;strong&gt;White papers&lt;/strong&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;&lt;a href="http://bit.ly/e8oKeC" target="_blank"&gt;Netflix’s Transition to High-Availability Storage Systems&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Magazine Articles&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://bit.ly/ttHAJ2" target="_blank"&gt;Cornell Engineering Magazine - Fall 2011&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.engineering.cornell.edu/news/magazine/fall2011/Features/anand.cfm" target="_blank"&gt;Cornell Engineering Magazine - Fall 2011 (HTML version)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://highscalability.com/blog/2012/1/24/the-state-of-nosql-in-2012.html" target="_blank"&gt;The State of NoSQL in 2012 - Jan 2012&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;strong&gt;Patents&lt;/strong&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ul&gt;&lt;li&gt;System and Method for Building a Point-In-Time Snapshot of an Eventually-Consistent Data Store (&lt;strong&gt;WIP&lt;/strong&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.wipo.int/patentscope/search/en/WO2011103537" target="_blank"&gt;Data Synchronization between a Data Center Environment and a Cloud Computing Environment&lt;/a&gt; (&lt;strong&gt;WIP&lt;/strong&gt;)&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;p&gt;&lt;strong&gt; Videos&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;NoSQL @ Netflix talk at Facebook (Feb 2011)&lt;/p&gt;
&lt;p&gt;&lt;iframe frameborder="0" height="300" scrolling="no" src="http://blip.tv/play/AYKlwUYC" width="480"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Structure 2011 Guru Panel (June 2011)&lt;/p&gt;
&lt;p&gt;&lt;iframe frameborder="0" height="300" scrolling="no" src="http://cdn.livestream.com/embed/gigaomstructure?layout=4&amp;clip=pla_3d010359-dbd3-45c7-b7fc-6f1768cdbd3f&amp;autoplay=false" width="480"&gt;&lt;/iframe&gt;&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/4057152092</link><guid>http://practicalcloudcomputing.com/post/4057152092</guid><pubDate>Wed, 23 Mar 2011 20:51:00 -0700</pubDate><category>Netflix</category><category>Cloud</category><category>NoSQL</category></item><item><title>NoSQL @ Netflix : Part 1 </title><description>&lt;p&gt;&lt;img height="45" width="66" src="http://img1.meetupstatic.com/892670376411449149876/img/header/logo.png"/&gt;&lt;/p&gt;
&lt;p&gt;Hi Folks!&lt;/p&gt;
&lt;p&gt;I had a great time this past Thursday (Feb 17, 2011) speaking at the &lt;a href="http://www.meetup.com/cloudcomputing/events/16395288/" target="_blank"&gt;Silicon Valley Cloud Computing Group Meetup&lt;/a&gt; at Facebook. The talk covered Netflix’s move from RDBMS to NoSQL, specifically SimpleDB. Subsequent parts will provide our experiences with Cassandra, HBase, and other technologies.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bit.ly/f51xvd" target="_blank"&gt;Video is now available&lt;/a&gt;. The first 10 minutes are from sponsors, VMWare, RackSpace, and Scalr!&lt;/p&gt;
&lt;p&gt;-s&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/3414015090</link><guid>http://practicalcloudcomputing.com/post/3414015090</guid><pubDate>Sun, 20 Feb 2011 17:07:13 -0800</pubDate><category>svccg</category><category>simpledb</category><category>cassandra</category><category>netflix</category><category>nosql</category></item><item><title>Silicon Valley Meetup &amp; QCon London</title><description>&lt;p&gt;&lt;img height="45" width="66" src="http://img1.meetupstatic.com/892670376411449149876/img/header/logo.png"/&gt;&lt;/p&gt;
&lt;p&gt;Hi Folks!&lt;/p&gt;
&lt;p&gt;I’ll be giving a 2-part lecture on &lt;strong&gt;&lt;a href="http://bit.ly/dKLsDR" target="_blank"&gt;NoSQL @ Netflix&lt;/a&gt;&lt;/strong&gt; at the Silicon Valley Cloud Computing Meetup in Mountain View on Feb 17. The lectures will be a month apart.&lt;/p&gt;
&lt;p&gt;I will detail the challenges involved in going from an RDBMS in our Data Center to AWS’s SimpleDB and S3 in the Cloud. I was intimately involved in this transition. Now, my team at Netflix is investing in Cassandra (and to a lesser extent in HBase). How are we using these different storage options? Come to the meetup to find out!&lt;/p&gt;
&lt;p&gt;&lt;img height="48" width="153" src="http://www.erlang-factory.com/upload/sponsor/57/qcon-small.gif"/&gt;&lt;/p&gt;
&lt;p&gt;As a separate note, I am excited to be heading to London in early March to meet engineers in London and to deliver 2 talks&lt;/p&gt;
&lt;p&gt;I will also be giving 2 QCon London talks in early March in both Floyd Marinescu’s &lt;strong&gt;&lt;a href="http://qconlondon.com/london-2011/presentation/Netflix%E2%80%99s+Cloud+Data+Architecture" target="_blank"&gt;Architectures You’ve Always Wondered&lt;/a&gt;&lt;/strong&gt; About and Alex Popescu’s &lt;strong&gt;&lt;a href="http://qconlondon.com/london-2011/presentation/NoSQL%3AWhere+and+How+%284%29" target="_blank"&gt;NoSQL : Where and How&lt;/a&gt;&lt;/strong&gt; tracks. In the first lecture, I’ll describe Netflix’s Cloud-based data infrastructure. In the second (i.e. the NoSQL Track), I will dive into our NoSQL.&lt;/p&gt;
&lt;p&gt;If you happen to be in town, please drop by!&lt;/p&gt;
&lt;p&gt;-s&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/3064002725</link><guid>http://practicalcloudcomputing.com/post/3064002725</guid><pubDate>Tue, 01 Feb 2011 22:58:00 -0800</pubDate><category>NoSQL</category><category>Netflix</category><category>Cassandra</category></item><item><title>Red Black Trees vs Skip Lists</title><description>&lt;a href="http://bit.ly/gbyp6J "&gt;Red Black Trees vs Skip Lists&lt;/a&gt;</description><link>http://practicalcloudcomputing.com/post/2947102678</link><guid>http://practicalcloudcomputing.com/post/2947102678</guid><pubDate>Wed, 26 Jan 2011 14:50:31 -0800</pubDate></item><item><title>How Process Priority Inversion Can Burn CPU via "Waiting" Processes</title><description>&lt;p&gt;&lt;img src="http://imgsrv.gocomics.com/dim/?fh=e95aa692c5a51d4433f734defe0e69f7&amp;w=700.0"/&gt;&lt;/p&gt;
&lt;p&gt;For the past few weeks, we have been wrestling with an interesting bug in Oracle 11g at Netflix.&lt;/p&gt;
&lt;p&gt;We are seeing high CPU attributed with a high number of wait events for the following:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;cursor: mutex S&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;latch: shared pool&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I was perplexed as to why waits would result in high CPU so I hopped on to Google. I didn’t find an answer for 11g, but I did find something reported in 10.2 and reportedly fixed in 11g.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;In Oracle 10.2, on Operating Systems (e.g. AIX, HPUX, etc..) that support process priority decay (&lt;span&gt;e.g. fair round robin, default on AIX 5&lt;/span&gt;), priority inversion can cause “blocked threads” to burn CPU. Ignore the fact that this mentions “cursor pin s” waits instead of “cursor mutex s” waits, the pattern is the same.&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;a href="http://blog.tanelpoder.com/2010/04/21/cursor-pin-s-waits-sporadic-cpu-spikes-and-systematic-troubleshooting/" target="_blank"&gt;&lt;a href="http://blog.tanelpoder.com/2010/04/21/cursor-pin-s-waits-sporadic-cpu-spikes-and-systematic-troubleshooting/" target="_blank"&gt;http://blog.tanelpoder.com/2010/04/21/cursor-pin-s-waits-sporadic-cpu-spikes-and-systematic-troubleshooting/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;In Oracle 10.2, latches cause waits, while mutexes cause CPU spins. &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;!-- more --&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;Essentially, there is 1 thread with exclusive access to the cursor mutex and there are N threads requesting shared access to the cursor mutex. All are on the runqueue. The N mutex requester threads each jump onto the CPU and realize that the mutex is not yet free. Instead of going to sleep (&lt;/span&gt;&lt;span&gt;i.e. joining the waitqueue&lt;/span&gt;&lt;span&gt;), they jump onto the end of the runqueue. This burns CPU. For comparison, if a latch were used, the latch requesters would jump onto the waitqueue and sleep, hence not burn CPU.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;The mutex holder can then suffer Unix priority decay or what is known as priority inversion depending on the OS scheduling policy in use. This causes the mutex holder to get less time on the CPU. As a result, the mutex holder cannot release the mutex in a timely manner and the mutex requesters are just busy burning CPU.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;This pattern will cause high CPU and “blocked” sessions. According to the article above, this is not an issue on 11g.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span&gt;-s&lt;/span&gt;&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/2131110062</link><guid>http://practicalcloudcomputing.com/post/2131110062</guid><pubDate>Tue, 07 Dec 2010 01:32:00 -0800</pubDate><category>Oracle</category><category>OS</category><category>AIX</category></item><item><title>Cassandra : Row Cache &amp; Memtable Q&amp;A</title><description>&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lbp7ixEQTE1qa94o2.gif"/&gt;&lt;/p&gt;
&lt;p&gt;Below, you will find 2 sets of questions and answers regarding Cassandra’s (now v0.7) Row Cache and Memtable. These were answered by Matthew Dennis at Riptano, a company that is actively developing both Cassandra and a management suite known as RipCord.&lt;/p&gt;
&lt;hr&gt;&lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;      Hi!&lt;br/&gt;&lt;br/&gt;      I have a super column family. Writes either modify a column within a super column or add a super column to the super column family. I wonder how the row cache works.&lt;br/&gt;&lt;br/&gt;      A. How do writes interact with the Row Cache entries?&lt;br/&gt;      1. Do you update the row cache entry in place in order to keep it consistent with the SSTable?&lt;br/&gt;      2. Do you update it when the memtable is updated or when the memtable is flushed to the SSTable?&lt;br/&gt;&lt;br/&gt;      B. Also, is the Memtable appended to an SSTable when it is flushed or does it become its own SSTable?&lt;br/&gt;&lt;!-- more --&gt;&lt;br/&gt;&lt;strong&gt;Answers&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;      The row cache is kept up to date with the memtable in the sense that if the memtable has an entry for the row in it, it is modified to contain the newly written value. If the row cache does not already have the row, it is not added. Getting a row into the row cache requires that the row is read.&lt;br/&gt;&lt;br/&gt;      The row cache entry is updated in memory to keep it in sync with the memtable, not the SSTable. If the value is in the row cache, the SSTable(s) are not checked. If the row cache lacks an entry for the row, it is read from the SSTables (possibly by way of the key cache) and added to the row cache if it is enabled.&lt;br/&gt;&lt;br/&gt;      It is updated when the memtable is updated, not when it is flushed. The memtable and row cache essentially store a reference to the same row object.&lt;br/&gt;&lt;br/&gt;      A memtable is not appended to any SSTable (they are immutable). Each memtable flush creates a new SSTable. Compaction joins multiple SSTables into one larger SSTable.&lt;br/&gt;&lt;br/&gt;      On a related note, I generally recommend that people run with row cache disabled.&lt;br/&gt;&lt;br/&gt;      1) The OS page cache stores the rows in a more compact way.&lt;br/&gt;&lt;br/&gt;      2) Using the OS page cache greatly reduces the GC pressure in the JVM.&lt;br/&gt;&lt;br/&gt;      3) Disabling the row cache lowers the load on the server during writes where none of the writes are in the row cache (a very common scenario) because it avoids the check the cache, read the row, insert into the cache, evict something old from the cache path. Not to mention, constantly evicting things from the cache because new things are added only addes to the GC pressure.&lt;br/&gt;&lt;br/&gt;      4) Large rows can kill your performance by forcing the JVM to keep it in memory and in extreme cases of multiple large rows and/or *really* large rows can OOM you JVM.&lt;br/&gt;&lt;br/&gt;      5) The best case performance improvement you can hope of is generally &lt; 5% and it easily turns negative in most cases.&lt;br/&gt;&lt;br/&gt;      The main downside of turning it off entirely is that in the case of rows that are appended to and/or have columns that are overwritten slow enough that pieces of the row make it into different SSTables all the time, it’s important that compaction keeps up.&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;
&lt;hr&gt;&lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;      Thanks a lot for this great explanation. We will disable it for now.&lt;br/&gt;&lt;br/&gt;      BTW, regarding the row cache eviction scheme, does it use LRU-by-access eviction both&lt;br/&gt;      1. When the row cache is full (i.e. evicts least recently accessed entry when the cache is full)&lt;br/&gt;      2. And by evicting based an age threshold in a separate reaper thread?&lt;br/&gt;&lt;br/&gt;      FYI.. by “LRU-by-access” I mean that it’s the least recently accessed row. Alternately, “LRU-by-creation” refers to least recently added to the cache.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Answer&lt;/strong&gt;s&lt;/p&gt;
&lt;p&gt;&lt;br/&gt;      It uses the SECOND_CHANCE eviction policy, which is based on insertion order but an entry gets “a second chance” if it was recently accessed.&lt;br/&gt;&lt;br/&gt;      That being said, you’re likely interested in &lt;a href="https://issues.apache.org/jira/browse/CASSANDRA-975" target="_blank"&gt;https://issues.apache.org/jira/browse/CASSANDRA-975&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;</description><link>http://practicalcloudcomputing.com/post/1538874143</link><guid>http://practicalcloudcomputing.com/post/1538874143</guid><pubDate>Wed, 10 Nov 2010 18:14:00 -0800</pubDate><category>Riptano</category><category>Cloud</category><category>Netflix</category><category>Cassandra</category></item></channel></rss>

