<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6334988184455137068</id><updated>2024-11-05T21:07:36.450-06:00</updated><category term="data quality"/><category term="Best Practices"/><category term="Big Data"/><category term="Featured"/><category term="opinion"/><category term="master data management"/><category term="MDM"/><category term="data management strategy"/><category term="Data Discovery"/><category term="ETL"/><category term="Quote"/><category term="customer data integration"/><category term="data profiling"/><category term="data quality methodology"/><category term="data quality strategy"/><category term="Informatica Data Quality workbench"/><category term="Data Governance"/><category term="NoSQL"/><category term="address validation"/><category term="blogging"/><category term="twitter"/><category term="CRM"/><category term="Talend"/><category term="data cleansing"/><category term="data integration"/><category term="data management"/><category term="data migration"/><category term="design"/><category term="distributed systems"/><category term="CDI"/><category term="Data visualization"/><category term="Facebook"/><category term="Gartner MDM Summit"/><category term="WordPress"/><category term="data matching"/><category term="data quality polls"/><category term="data quality rules"/><category term="data quality scorecards"/><category term="data viz"/><category term="eventual consistency"/><category term="graph databases"/><category term="neo4j"/><category term="7 Habits of Highly Effective People"/><category term="Application Lifecycle Management"/><category term="BigData"/><category term="David McCandless"/><category term="Gap Minder"/><category term="Global IDs"/><category term="Hadoop"/><category term="Hans Rosling"/><category term="Jaro-Winkler"/><category term="Levenshtein"/><category term="Metaphone"/><category term="My Scribd Content"/><category term="MySQL"/><category term="Orphans"/><category term="Riak"/><category term="SQL"/><category term="Slideshare"/><category term="Social Media"/><category term="Soundex"/><category term="Stephen Covey"/><category term="Ted Talk"/><category term="YouTube"/><category term="dashboards"/><category term="data"/><category term="data analysis"/><category term="data modeling"/><category term="data rules"/><category term="data warehouse"/><category term="email"/><category term="excel"/><category term="fields terminated by"/><category term="firefox"/><category term="google"/><category term="how to"/><category term="iPhone"/><category term="ignore 1 lines"/><category term="load data"/><category term="local infile"/><category term="match strategy"/><category term="news"/><category term="relationships"/><category term="scorecards"/><category term="source to target mapping"/><category term="tumblr"/><title type='text'>The Data Quality Chronicle</title><subtitle type='html'>My thoughts on data</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default?start-index=26&amp;max-results=25'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>105</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-1412901230146027314</id><published>2019-12-26T10:23:00.002-06:00</published><updated>2019-12-26T10:23:46.574-06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Data Governance"/><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><title type='text'>What data quality is (and what it is not)</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYkdXgCtfZCevgis1Ip-s57ZdanABdasostS1K4E54GjWNmrl0dtWdZK9d7OxyBWGnVe-cL7D-7Hi6lPy2dhJIlFT0e-bfnrWMR6zIkh6RtsvNJg6jnIyYwUP0bT2qjLPRxUOyTfOAXtA/s1600/0.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;720&quot; data-original-width=&quot;1081&quot; height=&quot;213&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYkdXgCtfZCevgis1Ip-s57ZdanABdasostS1K4E54GjWNmrl0dtWdZK9d7OxyBWGnVe-cL7D-7Hi6lPy2dhJIlFT0e-bfnrWMR6zIkh6RtsvNJg6jnIyYwUP0bT2qjLPRxUOyTfOAXtA/s320/0.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.75); font-family: &amp;quot;Source Serif Pro&amp;quot;, serif; line-height: 3.2rem; margin-bottom: 3.2rem; margin-top: 3.2rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Like the radar system pictured above, data quality is a sentinel; a detection system put in place to warn of threats to valuable assets. Keeping with the analogy, strategic leaders, not the tactical resources, decide where and when to place these systems. Data quality is strategic, not tactical. It has tactical applications, but it is very much a calculated implementation of a system used to guard critical assets.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.75); font-family: &amp;quot;Source Serif Pro&amp;quot;, serif; line-height: 3.2rem; margin-bottom: 3.2rem; margin-top: 3.2rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Prior to that implementation, organizations decide on which assets are critical, when to start detecting threats, and where is the most effective way to solicit threat warnings. That is data governance. A strategic outline of what is critical (note: not important,&amp;nbsp;&lt;em style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; font-family: Georgia, &amp;quot;Source Serif Pro&amp;quot;, serif; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;critical&lt;/em&gt;), when the need for warning is most effective, and where is it most likely to provide ample warning.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.75); font-family: &amp;quot;Source Serif Pro&amp;quot;, serif; line-height: 3.2rem; margin-bottom: 3.2rem; margin-top: 3.2rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Data quality supports data governance. And since you cannot support that which does not exist, you need data governance before having effective data quality. In other words, you need a well defined strategy before you can have a tactical plan which supports that strategy.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.75); font-family: &amp;quot;Source Serif Pro&amp;quot;, serif; line-height: 3.2rem; margin-bottom: 3.2rem; margin-top: 3.2rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;I have read many articles, whitepapers, blog posts, and so forth that get into the minutiae&amp;nbsp;of data quality. I have written about the minutiae&amp;nbsp;myself. But before you understand that data quality is the implementation and early warning detection system for a more comprehensive and strategic data governance plan, all that detail will likely be misplaced and guard a non-critical asset.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.75); font-family: &amp;quot;Source Serif Pro&amp;quot;, serif; line-height: 3.2rem; margin-bottom: 3.2rem; margin-top: 3.2rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;If your governance plan centers around data security, point your early warning system at entry and end points which can threaten that secure strategy. If your data governance plan centers around data accuracy, patrol the landscape of systems that threaten accuracy.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.75); font-family: &amp;quot;Source Serif Pro&amp;quot;, serif; line-height: 3.2rem; margin-bottom: 3.2rem; margin-top: 3.2rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;Hopefully, subtly, I have demonstrated that a governance plan needs to be centered around&amp;nbsp;&lt;em style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; font-family: Georgia, &amp;quot;Source Serif Pro&amp;quot;, serif; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;a&lt;/em&gt;&amp;nbsp;theme. Too many alarms going off in too many directions provides no more clear a direction than no alarms at all. Another reason why having a strategy is more important than tactics. Find out what threatens the end goal the most and focus on that.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.75); font-family: &amp;quot;Source Serif Pro&amp;quot;, serif; line-height: 3.2rem; margin-bottom: 3.2rem; margin-top: 3.2rem; padding: 0px; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;In short, data quality is not a plan. It is an implementation of a plan; an early warning detection system to monitor threats to the plan.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/1412901230146027314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2019/12/what-data-quality-is-and-what-it-is-not.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/1412901230146027314'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/1412901230146027314'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2019/12/what-data-quality-is-and-what-it-is-not.html' title='What data quality is (and what it is not)'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYkdXgCtfZCevgis1Ip-s57ZdanABdasostS1K4E54GjWNmrl0dtWdZK9d7OxyBWGnVe-cL7D-7Hi6lPy2dhJIlFT0e-bfnrWMR6zIkh6RtsvNJg6jnIyYwUP0bT2qjLPRxUOyTfOAXtA/s72-c/0.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-2650748822805353113</id><published>2015-03-23T16:58:00.004-05:00</published><updated>2015-03-23T16:58:43.024-05:00</updated><title type='text'>Data Validation: Data Quality&#39;s Doorman</title><content type='html'>&lt;h3 style=&quot;background-color: white; border: 0px; box-sizing: border-box; color: #333333; font-family: Helvetica, Arial, sans-serif; font-size: 20px; font-stretch: inherit; font-weight: normal; line-height: 26px; margin: 0px 0px 30px; padding: 0px; vertical-align: baseline;&quot;&gt;
Assumptions and Issues Abound&lt;/h3&gt;
&lt;div style=&quot;background-color: white; border: 0px; box-sizing: border-box; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; font-stretch: inherit; line-height: 24px; margin-bottom: 30px; padding: 0px; vertical-align: baseline;&quot;&gt;
Often data quality seems to be an assumption. The business assumes that IT has controls in place, IT assumes that data supplied is in order and everyone assumes they&#39;d know about it if these assumptions weren&#39;t correct.&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; box-sizing: border-box; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; font-stretch: inherit; line-height: 24px; margin-bottom: 30px; padding: 0px; vertical-align: baseline;&quot;&gt;
Fact is, most often, these assumptions are false and there&amp;nbsp;&lt;em style=&quot;border: 0px; box-sizing: border-box; font-family: inherit; font-stretch: inherit; font-variant: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;are&lt;/em&gt;&amp;nbsp;data quality issues. The costs, both tangible and intangible, associated to data quality issues are extremely high so you&#39;d think people would assume less and attack data quality root causes more often. But for some reason data quality remains something people assume is either inherent or addressed.&lt;/div&gt;
&lt;div style=&quot;background-color: white; border: 0px; box-sizing: border-box; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; font-stretch: inherit; line-height: 24px; margin-bottom: 30px; padding: 0px; vertical-align: baseline;&quot;&gt;
Maybe this lack of diligence is because data quality root causes are so varied in nature and often tough to trace. I know of many instances where the source produced issues and there was nothing the data consumer could do to drive down, much less stop, the constant production of erroneous data.&lt;/div&gt;
&lt;span style=&quot;background-color: white; color: #4d4f51; font-family: Helvetica, Arial, sans-serif; font-size: 16px; line-height: 24px;&quot;&gt;If this situation sounds familiar and you are looking for relief, there is an important step that can give you back control of your data, stop the proliferation of issues, and define root causes for these issues.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-large;&quot;&gt;Check it out the rest of this article on LinkedIn &lt;a href=&quot;https://www.linkedin.com/pulse/data-validation-qualitys-doorman-william-sharp?trk=hb_ntf_MEGAPHONE_ARTICLE_LIKE&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/2650748822805353113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2015/03/data-validation-data-qualitys-doorman.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/2650748822805353113'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/2650748822805353113'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2015/03/data-validation-data-qualitys-doorman.html' title='Data Validation: Data Quality&#39;s Doorman'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-3308237906509760562</id><published>2015-02-16T19:44:00.001-06:00</published><updated>2015-02-16T19:47:24.870-06:00</updated><title type='text'>Data Quality (Data Profiling) Tutorial: Talend Open Studio for Data Qual...</title><content type='html'>&lt;iframe allowfullscreen=&quot;&quot; frameborder=&quot;0&quot; height=&quot;270&quot; src=&quot;https://www.youtube.com/embed/YE9dQX5BRmw&quot; width=&quot;480&quot;&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
Talend is an interesting vendor. &amp;nbsp;I&#39;ve watched them grow and harden all their product offerings over the past few years.&lt;br /&gt;
&lt;br /&gt;
I wanted to share this tutorial from youtube as an introduction to their data quality offering.&lt;br /&gt;
&lt;br /&gt;
Personally I have used the profiler and it is hard to beat the no configure, out-of-the-box reports.&lt;br /&gt;
&lt;br /&gt;
Enjoy!</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/3308237906509760562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2015/02/data-quality-data-profiling-tutorial.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/3308237906509760562'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/3308237906509760562'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2015/02/data-quality-data-profiling-tutorial.html' title='Data Quality (Data Profiling) Tutorial: Talend Open Studio for Data Qual...'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/YE9dQX5BRmw/default.jpg" height="72" width="72"/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-8575363988848504841</id><published>2014-10-12T08:34:00.000-05:00</published><updated>2014-10-12T08:34:48.518-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data management strategy"/><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><category scheme="http://www.blogger.com/atom/ns#" term="data quality scorecards"/><category scheme="http://www.blogger.com/atom/ns#" term="data quality strategy"/><category scheme="http://www.blogger.com/atom/ns#" term="excel"/><category scheme="http://www.blogger.com/atom/ns#" term="SQL"/><title type='text'>No budget, No problem! - Data Quality on the cheap</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;margin-bottom: 0pt; margin-top: 0pt;&quot;&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;color: black; font-family: inherit; line-height: 18.3999996185303px; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;While most organizations have data quality issues, not every organization has a budget for&amp;nbsp;software to monitor, report and remedy data quality.  &lt;/span&gt;&lt;span style=&quot;font-family: inherit; line-height: 1.15; white-space: pre-wrap;&quot;&gt;However just because there is a lack of funding that doesn&#39;t mean there needs to be a lack of quality. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 18.3999996185303px;&quot;&gt;
&lt;span style=&quot;line-height: 1.15; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;line-height: 18.3999996185303px;&quot;&gt;
&lt;span style=&quot;line-height: 1.15; white-space: pre-wrap;&quot;&gt;&lt;i&gt;With some SQL skills and creativity, a data quality program can thrive.  It can even have slick dashboards that measure quality trends.&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px; white-space: pre-wrap;&quot;&gt;&lt;b&gt;&lt;u&gt;What you &lt;i&gt;really&lt;/i&gt; need&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 1.15;&quot;&gt;
&lt;span style=&quot;color: black; font-family: inherit; vertical-align: baseline; white-space: pre-wrap;&quot;&gt;In order to build any data quality program only one thing is absolutely necessary; a business rule that differentiates good quality data from bad. &amp;nbsp;Preferably, and inevitably, there would be many rules, but the point is still the same. &amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;line-height: 17.25px; white-space: pre-wrap;&quot;&gt;&lt;i&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;The main components of a data quality program are business rules&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 1.15;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;u&gt;&lt;b&gt;Walking the walk&lt;/b&gt;&lt;/u&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;So now that we&#39;ve talked the talk, let&#39;s walk the walk. &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: inherit; line-height: 18.3999996185303px;&quot;&gt;As I mentioned, all you really need is a rule.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 1.15; margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;u style=&quot;font-family: inherit; line-height: 18.3999996185303px;&quot;&gt;Rule&lt;/u&gt;&lt;span style=&quot;font-family: inherit; line-height: 18.3999996185303px;&quot;&gt;:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: inherit; line-height: 1.15;&quot;&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;Every bill must be&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;associated&lt;/span&gt;&lt;span style=&quot;font-family: inherit; line-height: 1.15;&quot;&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&amp;nbsp;with a customer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
To understand the rest of this article we need to quickly go over the framework of a data quality scorecard.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY7J6PwBCB4sb87JTFfE1L_mE11IidRBTbcjgOWZruOO87AFHLWOUnudL2Y0lPyCTMDEQMoSH8oXeOm_ubMiY0syuptp4ee0pbkWGjZUVKToGSpVkYkkL_gFf2uMJFJG9gm-7RvWluXJ0/s1600/scorecard+frame.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY7J6PwBCB4sb87JTFfE1L_mE11IidRBTbcjgOWZruOO87AFHLWOUnudL2Y0lPyCTMDEQMoSH8oXeOm_ubMiY0syuptp4ee0pbkWGjZUVKToGSpVkYkkL_gFf2uMJFJG9gm-7RvWluXJ0/s1600/scorecard+frame.png&quot; height=&quot;18&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;Data Quality Dimension: Integrity is the dimension we will use in our example&lt;/li&gt;
&lt;li&gt;Metric: That&#39;s the name we give to the rule&lt;/li&gt;
&lt;li&gt;Rule: Our essential component&lt;/li&gt;
&lt;li&gt;Total Records: In our example this would be the total number of bill records&lt;/li&gt;
&lt;li&gt;Total Records Violating the rule:&amp;nbsp;In our example this would be the total number of bill records not associated to a customer&lt;/li&gt;
&lt;li&gt;% Violating: Violations / Total Records&lt;/li&gt;
&lt;li&gt;Target: Number of violating records we are willing to accept&lt;/li&gt;
&lt;li&gt;Target Description: Explanation of the target derivation&lt;/li&gt;
&lt;li&gt;Count Trend: Are the number of violating records increasing or decreasing&lt;/li&gt;
&lt;li&gt;% Trend: Is the percentage of violating records increasing or decreasing&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Step 2. Step one was get the rule from the business. &amp;nbsp;Step two involves writing the SQL code that will give you numbers to plug into the scorecard framework above.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;Total Records SQL&lt;/u&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;-------------------------------------------------------- Total BILL COUNT&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SELECT COUNT(*) AS TOTAL_BILL_COUNT FROM dbo.TBL_Bill_Detail AS C&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;u&gt;Total Records Violating Rule SQL&lt;/u&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;-------------------------------------------------------- TOTAL Bill Orphans&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SELECT COUNT(*) AS TOTAL_BILL_Orphans FROM dbo.TBL_Bill_Detail AS C WHERE C.Customer_Key IS NULL&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;u&gt;% Violating SQL&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;-------------------------------------------------------- ORPHANED BILL % VIOLATING&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;DECLARE @TOTAL_BILLING AS decimal (38,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SELECT @TOTAL_BILLING = COUNT(*) FROM dbo.TBL_Bill_Detail AS C&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;DECLARE @TOTAL_BILLING_VIOLATING AS decimal (38,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SELECT @TOTAL_BILLING_VIOLATING = COUNT(*) FROM dbo.TBL_Bill_Detail AS C WHERE C.Customer_Key IS NULL&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SELECT SUM(@TOTAL_BILLING_VIOLATING / @TOTAL_BILLING*100) AS ORPHAN_BILLING_PERCENTAGE_VIOLATING&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;u&gt;Target SQL&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;-------------------------------------------------------- ORPHANED BILL TARGET (HARD CODED AT 10% FOR TESTING PURPOSES)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;DECLARE @TARGET_PERCENT AS NUMERIC(2,2)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SELECT @TARGET_PERCENT = 0.10&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Courier, monospace; font-size: x-small;&quot;&gt;SELECT COUNT(*) * @TARGET_PERCENT as TOTAL_BILL_TARGET FROM dbo.TBL_Bill_Detail AS C&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;Now that we have our SQL coded, let&#39;s take a look at the Excel formulas for determining the trends. &amp;nbsp;One thing to keep in mind is that trends are a comparison of the current total and percent violating against the a previous&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;total and percent violating&lt;/span&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&amp;nbsp;measurement. &amp;nbsp;In this case I have chosen a week over week measurement, or this week&#39;s execution against last week&#39;s execution.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;Here is what it looks like in Excel to the user:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ2U6Q6RWrXXy_ERHN4mdOo2gmQty90lbUEWycv7sx9ZzKYnDD7yWR8hZXG8nniTOk-m6CLTdbjhlAwHYV6rHE6SENR2yC9UDYAb2piKcaCsBkfWeQrN-8-_CX7pe1uyQLokoHGTjZaN0/s1600/trends.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ2U6Q6RWrXXy_ERHN4mdOo2gmQty90lbUEWycv7sx9ZzKYnDD7yWR8hZXG8nniTOk-m6CLTdbjhlAwHYV6rHE6SENR2yC9UDYAb2piKcaCsBkfWeQrN-8-_CX7pe1uyQLokoHGTjZaN0/s1600/trends.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;Here are the Excel&amp;nbsp;formulas&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;=SUM(E15-&#39;DQ SCORECARD 8292014&#39;!E15)&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;In this example, E15 is the current week&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;count violating the rule&lt;/span&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&amp;nbsp;and &#39;DQ SCORECARD 8292014&#39;!E15 is the previous week&amp;nbsp;count violating the rule.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;I use conditional formatting to create the traffic light icon using a rule like this:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEJECRPNtEnXiwvxNM1U-jibL6MOvOwvq6sVEFtzMAvj9gV6tT7hSKoJZJbKwBFEaF0opcAGa_afMLGH0aKV8wkAvDM6m81a5KT5l-Dldm0c4SM7-re4czL4o4_jdmN7MIb2l5WJXXUVA/s1600/cond_format.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEJECRPNtEnXiwvxNM1U-jibL6MOvOwvq6sVEFtzMAvj9gV6tT7hSKoJZJbKwBFEaF0opcAGa_afMLGH0aKV8wkAvDM6m81a5KT5l-Dldm0c4SM7-re4czL4o4_jdmN7MIb2l5WJXXUVA/s1600/cond_format.png&quot; height=&quot;260&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Once I have the SQL and Excel formulas setup, I simply take the query results and plug them into the Excel spreadsheet. &amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
The end result looks like this ...&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioL2pQ0q9CER3D6LLhQmGFo88BU1azbiHDNqiRjBEolTTwKwA2BrIqW_mP91fonNWXk8n149RYWRT_oiaTJtu0eukoM86H24fEZhrGW8Vgq_SExBzAOyU2MY6Ryt-_PyCAKmeEa82uKgQ/s1600/scorecard.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioL2pQ0q9CER3D6LLhQmGFo88BU1azbiHDNqiRjBEolTTwKwA2BrIqW_mP91fonNWXk8n149RYWRT_oiaTJtu0eukoM86H24fEZhrGW8Vgq_SExBzAOyU2MY6Ryt-_PyCAKmeEa82uKgQ/s1600/scorecard.png&quot; height=&quot;92&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;&lt;u&gt;Interpreting&amp;nbsp;the results&lt;/u&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;Only 0.13 % of Bills are not associated to a customer. &amp;nbsp;This provides a measure of the severity of the issue relative to the number of bills&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;The count trend is heading in the wrong direction indicated by the red traffic light icon. &amp;nbsp;59 bills were processed this week that are not associated with a customer&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;The % trend is headed in the right direction in that more bills are being processed each week and the overall percentage of bills not associated with a customer is not growing&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;In the end, there is an issue. &amp;nbsp;It is a small one. &amp;nbsp;The issue is not growing relative to the growth in bills processed&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;With this structure you can quickly add metrics by writing new SQL and then leveraging the Excel formulas to expand your data quality program and scorecards.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0pt; margin-top: 10pt;&quot;&gt;
&lt;span style=&quot;line-height: 18.3999996185303px;&quot;&gt;That&#39;s how you do data quality on the cheap!&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/8575363988848504841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/10/no-budget-no-problem-data-quality-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/8575363988848504841'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/8575363988848504841'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/10/no-budget-no-problem-data-quality-on.html' title='No budget, No problem! - Data Quality on the cheap'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhY7J6PwBCB4sb87JTFfE1L_mE11IidRBTbcjgOWZruOO87AFHLWOUnudL2Y0lPyCTMDEQMoSH8oXeOm_ubMiY0syuptp4ee0pbkWGjZUVKToGSpVkYkkL_gFf2uMJFJG9gm-7RvWluXJ0/s72-c/scorecard+frame.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-7901853242909446371</id><published>2014-09-04T13:28:00.001-05:00</published><updated>2014-09-04T14:17:15.715-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="graph databases"/><category scheme="http://www.blogger.com/atom/ns#" term="neo4j"/><title type='text'>Graph DB Comparison</title><content type='html'>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;http://www.orientechnologies.com/wp-content/uploads/2014/08/servers.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://www.orientechnologies.com/wp-content/uploads/2014/08/servers.png&quot; height=&quot;205&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h1 style=&quot;background-color: white; border: 0px; color: #6e645d; font-family: &#39;Open Sans&#39;, Arial, Tahoma, sans-serif; font-size: 33px; font-weight: 100; line-height: 40px; margin: 25px 0px; padding: 0px; vertical-align: baseline; width: 517px;&quot;&gt;
OrientDB vs Neo4j&lt;/h1&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;a href=&quot;http://www.orientechnologies.com/orientdb-vs-neo4j/&quot;&gt;http://www.orientechnologies.com/orientdb-vs-neo4j/&lt;/a&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
I&#39;m glad I read this and I think you will be too!&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
It was beneficial in that it outlined many of the enterprise limitations of Neo4j.&amp;nbsp;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
Here are a few ...&lt;br /&gt;
1. One master server which creates a bottleneck on write operations when distributed&lt;br /&gt;
2. Cypher. Easy to learn but who needs to constantly covert sql to cypher?&lt;br /&gt;
3. Inability to reclaim storage space on deletes without a restart&lt;br /&gt;
4. Schema less architecture. Inhibits design for a lot of use cases&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div dir=&quot;ltr&quot;&gt;
I&#39;m looking forward to working with Orient some more.&amp;nbsp; I&#39;ll write about that soon!&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/7901853242909446371/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/09/graph-db-comparison.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/7901853242909446371'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/7901853242909446371'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/09/graph-db-comparison.html' title='Graph DB Comparison'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-8023137362655859311</id><published>2014-06-22T13:53:00.000-05:00</published><updated>2014-08-22T16:17:38.421-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><title type='text'>Graph Database Observations</title><content type='html'>I have been ramping up (maybe a little late to the dance?) on graph database technologies, specifically Neo4j and Titan.&lt;br/&gt;&lt;br/&gt;I really like modeling for graph databases.  It is much more intuitive and direct in terms of moving toward a solution.  I can see where graph dbs fit into the Agile development methodology really well (about time something fit into Agile well).&lt;br/&gt;&lt;blockquote&gt;Even as a novice, data modeling for a graph database feels intuitive, fast and fun!&lt;/blockquote&gt;&lt;br/&gt;I have seen some promise in Talend Big Data Integration tool in migrating data into Neo4j.  I think that is a HUGE plus!  Way to go Talend!!&lt;br/&gt;&lt;br/&gt;However what I do see, at least initially, is a large amount of coding to migrate data from database to a graph database.  Maybe this is a good thing?  Graph dbs seem to shrink the design time, document in an intuitive manner and require more time for developers to code the solution.  For years I have felt strongly that too much time is wasted designing and documenting solutions and not enough time is spent actually coding them.  Graph databases seem to tip the scale in favor of the developer with regard to this dynamic.&lt;br/&gt;&lt;blockquote&gt;Graph databases seem to reduce design and documentation durations and give that time back to the developer!&lt;/blockquote&gt;&lt;br/&gt;Here are five things I have learned so far that are worth passing on:&lt;br/&gt;&lt;ol&gt;&lt;br/&gt;	&lt;li&gt;Nodes = vertices = records (in the relational world)&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Relationships = edges = constraints (in the relational world)&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Nodes/Vertices = records = you will have a lot of nodes/vertices (learn how to create &#39;em, you&#39;ll need it)&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Nodes/Vertices have properties which hold values (kind of like table attributes)&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;Relationship/edges have direction and properties allowing for the developer to program the strength of the relationship and make the relationship bi or uni directional&lt;/li&gt;&lt;br/&gt;&lt;/ol&gt;&lt;br/&gt;I mentioned modeling for graph databases so I will share my first graph model.  This model is just a draft and a high level depiction of a customer centric solution.  However I feel it is a good example of how intuitive they are to read, develop from and iterate through.  This only took about 15 minutes to work out.&lt;br/&gt;&lt;br/&gt;[caption id=&quot;attachment_3491&quot; align=&quot;aligncenter&quot; width=&quot;747&quot;]&lt;img class=&quot;size-full wp-image-3491&quot; src=&quot;http://thedataqualitychronicle.org/wp-content/uploads/2014/03/customer-high-level.png&quot; alt=&quot;high level graph model of a customer centric solution&quot; width=&quot;747&quot; height=&quot;476&quot; /&gt; high level graph model of a customer centric solution[/caption]&lt;br/&gt;&lt;br/&gt;That&#39;s it for now.  I&#39;ll be adding to this topic as I develop more graph skills!&lt;br/&gt;&lt;br/&gt;Helpful links&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://nosql.mypopescu.com/post/10162152437/what-is-a-graph-database#about-blog&quot;&gt;http://nosql.mypopescu.com/post/10162152437/what-is-a-graph-database#about-blog&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://thinkaurelius.github.io/titan/&quot;&gt;http://thinkaurelius.github.io/titan/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;https://github.com/thinkaurelius/titan/wiki/Getting-Started&quot;&gt;https://github.com/thinkaurelius/titan/wiki/Getting-Started&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.neo4j.org/&quot;&gt;http://www.neo4j.org/&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://www.neo4j.org/learn&quot;&gt;http://www.neo4j.org/learn&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/8023137362655859311/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/06/graph-database-observations.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/8023137362655859311'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/8023137362655859311'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/06/graph-database-observations.html' title='Graph Database Observations'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-321291418135039495</id><published>2014-04-16T15:29:00.000-05:00</published><updated>2014-08-22T16:17:38.411-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><category scheme="http://www.blogger.com/atom/ns#" term="eventual consistency"/><category scheme="http://www.blogger.com/atom/ns#" term="NoSQL"/><title type='text'>Eventual Consistency Models: Release Consistency</title><content type='html'>As a data quality professional, eventual consistency is a concern. Don&#39;t get me wrong, it is a necessary and incredible programmatic feature.  However, the fact that a system can store different values for the same attribute is concerning.&lt;br/&gt;&lt;br/&gt;Before we get into the gritty details let&#39;s define some key terms.&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt;&lt;span style=&quot;font-family: inherit; font-size: 16px;&quot;&gt;Node: In a distributed system a node represents hardware which contains data and&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: 16px;&quot;&gt; code&lt;/span&gt;&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;&lt;span style=&quot;font-family: inherit; font-size: 16px;&quot;&gt;Memory&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: 16px;&quot;&gt; Object: Medium for data storage. Could be a JSON document, graph node or cached memory location&lt;/span&gt;&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;In this post, let&#39;s look at the&lt;strong&gt; &lt;em&gt;release consistency&lt;/em&gt;&lt;/strong&gt; model.  This model enforces, or maybe implements is the better word, consistency through two main operations; acquire and release.&lt;br/&gt;&lt;br/&gt;In order to write data, a node must acquire a memory object.  When the write is complete, the node releases the memory object.&lt;strong&gt;&lt;em&gt;  &lt;/em&gt;&lt;/strong&gt;&lt;br/&gt;&lt;blockquote&gt;&lt;strong&gt;&lt;em&gt;The model is implemented by distributing all the writes across the system before another node can acquire the memory object.&lt;/em&gt;&lt;/strong&gt;&lt;/blockquote&gt;&lt;br/&gt;There are two methods to implement release consistency; eager and lazy.  In the eager implementation writes are distributed &lt;em&gt;after&lt;/em&gt; the node releases the memory object.  In the lazy implementation writes are distributed &lt;em&gt;before&lt;/em&gt; a node acquires the memory object.&lt;br/&gt;&lt;br/&gt;&lt;em&gt;&lt;strong&gt;Eager release consistency&lt;/strong&gt;&lt;/em&gt; is (&lt;em&gt;potentially&lt;/em&gt;) more costly to the system in that it is data not necessarily required by the current users.  The upside of eager release consistency is that when the user does request the data, there is a low latency period.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;&lt;em&gt;Lazy release consistency&lt;/em&gt;&lt;/strong&gt; essentially represents the reverse scenario.  Only required data is distributed, conserving system resources, however request latency can be high.&lt;br/&gt;&lt;p style=&quot;text-align: center;&quot;&gt; Hope you enjoyed the post!  I enjoyed writing it.  Stay tuned for more write ups on eventual consistency models.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/321291418135039495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/04/eventual-consistency-models-release.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/321291418135039495'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/321291418135039495'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/04/eventual-consistency-models-release.html' title='Eventual Consistency Models: Release Consistency'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-7922826538306925253</id><published>2014-04-16T06:51:00.000-05:00</published><updated>2014-08-22T16:17:38.370-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Best Practices"/><category scheme="http://www.blogger.com/atom/ns#" term="Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="data profiling"/><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><category scheme="http://www.blogger.com/atom/ns#" term="graph databases"/><category scheme="http://www.blogger.com/atom/ns#" term="neo4j"/><category scheme="http://www.blogger.com/atom/ns#" term="NoSQL"/><category scheme="http://www.blogger.com/atom/ns#" term="Orphans"/><title type='text'>Finding Orphaned Nodes in a Graph Database</title><content type='html'>&lt;h1 style=&quot;text-align: left;&quot;&gt;The Problem&lt;/h1&gt;&lt;br/&gt;&lt;blockquote&gt;&lt;br/&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Orphaned records represent missed opportunity&lt;/p&gt;&lt;br/&gt;&lt;/blockquote&gt;&lt;br/&gt;Regardless of the data store, unrelated data cannot be mined or analyzed and often goes undetected until there is a problem.&lt;br/&gt;&lt;h1&gt;The Solution&lt;/h1&gt;&lt;br/&gt;&lt;blockquote&gt;&lt;br/&gt;&lt;p style=&quot;text-align: center;&quot;&gt;Profile your data&lt;/p&gt;&lt;br/&gt;&lt;/blockquote&gt;&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Data profiling is probably the most under utilized practice is all of data management.  I can&#39;t think of a data related issue where the resolution methodology doesn&#39;t start with profiling the data.  Detecting and resolving orphaned data is no exception.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;In the relational database world there are many ways to profile data and detect orphans.  From packaged solutions with dashboard reports to simple SQL queries and Excel exports, profiling relational data is a mature practice.&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;But what if you are working with graph database technologies?  Prepackaged solutions for graph technology is a growing market, but not as mature as the RDMS market and those SQL queries are not exactly going to translate well into the graph world.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;h2 style=&quot;text-align: left;&quot;&gt;The Situation [ref]No, not some abdominal flashing kid from Jersey.  I&#39;m referring to a scenario.[/ref]&lt;/h2&gt;&lt;br/&gt;Let&#39;s say you have a graph database which you are using to analyze which of your customers are placing orders.  You will likely have a graph model that looks something like the figure below.&lt;br/&gt;&lt;br/&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;br/&gt;&lt;br/&gt;In this model you have a &lt;strong&gt;&lt;em&gt;customer &lt;/em&gt;&lt;/strong&gt;node [ref] in graph terms a node is a record [/ref]  and an &lt;strong&gt;&lt;em&gt;order&lt;/em&gt; &lt;/strong&gt;node, related to each other by the &lt;strong&gt;&lt;em&gt;placed&lt;/em&gt; &lt;/strong&gt;relationship [ref] in graph terms a relationship joins to nodes and describes their relationship [/ref].&lt;br/&gt;&lt;br/&gt;Using this model you can determine (quickly) what orders a customer has placed with very little code.&lt;br/&gt;&lt;h2&gt;Cypher Query&lt;/h2&gt;&lt;br/&gt;&lt;pre&gt; match (c:Customer), (o:Order) where (c)-[:PLACED]-&amp;gt;(o) return c,o;&lt;/pre&gt;&lt;br/&gt;&lt;h2&gt; Graph Result&lt;/h2&gt;&lt;br/&gt;&lt;img class=&quot;aligncenter&quot; alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;br/&gt;&lt;br/&gt;Here we can see that customer 0 placed orders 1133 and 1132.  Not insightful enough?  Here is the result in a more descriptive table form.&lt;br/&gt;&lt;br/&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;br/&gt;&lt;br/&gt;So Bill Smith placed order number 47 on 10/7/2013 and order number 90 on 10/9/2013.&lt;br/&gt;&lt;br/&gt;This is great when the nodes are all related correctly, however, this post is about when everything is in fine working order.  This post is about orphans, right?&lt;br/&gt;&lt;h2&gt;Orders without Customers&lt;/h2&gt;&lt;br/&gt;Let&#39;s look at the code required to find what orders are not related to a customer.&lt;br/&gt;&lt;pre&gt;match (o:Order), (c:Customer) where not ((c)-[:PLACED]-&amp;gt;(o)) return distinct o;&lt;/pre&gt;&lt;br/&gt;Here we are saying give me the distinct list of orders which are not placed by a customer.&lt;br/&gt;&lt;br/&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;br/&gt;&lt;br/&gt;Here is the more readable table layout results&lt;br/&gt;&lt;br/&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;br/&gt;&lt;h1&gt;Summary&lt;/h1&gt;&lt;br/&gt;So by using the relationship between customers and orders and specifying where it does not exist, we can find the&lt;em&gt; &#39;orphaned&#39;&lt;/em&gt; orders. [ref] Here is the cypher query in order to find customers without orders.&lt;br/&gt;&lt;br/&gt;match (o:Order), (c:Customer) where not ((c)-[:PLACED]-&amp;gt;(o)) return distinct c;&lt;br/&gt;&lt;br/&gt;Technically a customer should be someone who places an order of some kind (otherwise they&#39;d be a prospect). [/ref]&lt;br/&gt;&lt;br/&gt;&amp;nbsp;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/7922826538306925253/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/04/finding-orphaned-nodes-in-graph-database.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/7922826538306925253'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/7922826538306925253'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/04/finding-orphaned-nodes-in-graph-database.html' title='Finding Orphaned Nodes in a Graph Database'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-635116944179129081</id><published>2014-04-01T12:25:00.000-05:00</published><updated>2014-08-22T16:17:38.352-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ETL"/><title type='text'>Is there a better ETL approach? Data Warehouse is all about loading&#xa;data from source to target. Traditionally, source system produces fil...</title><content type='html'>My answer to a&amp;nbsp; curious ETL question&lt;br /&gt;&lt;br /&gt;Answer by William Sharp:&lt;blockquote&gt;Connect directly and schedule the etl jobs to run at a rate that matches the update frequency of the source.&amp;nbsp; you can profile the source update dates to figure that out.&lt;/blockquote&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/ETL/Is-there-a-better-ETL-approach-Data-Warehouse-is-all-about-loading-data-from-source-to-target-Traditionally-source-system-produces-files-and-an-ETL-job-loads-those-files-into-target-system-Is-there-a-better-ETL-approach-which-is-not-using-file-business/answer/William-Sharp&quot;&gt;View Answer on Quora&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/635116944179129081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/04/is-there-better-etl-approach-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/635116944179129081'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/635116944179129081'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/04/is-there-better-etl-approach-data.html' title='Is there a better ETL approach? Data Warehouse is all about loading&#xa;data from source to target. Traditionally, source system produces fil...'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-394512602108442658</id><published>2014-03-21T03:56:00.000-05:00</published><updated>2014-08-22T16:17:38.319-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><title type='text'>What aspects of Data Quality influence the impact on Business Value?</title><content type='html'>Answer by William Sharp:&lt;blockquote&gt;when I read your question the one word that stood out to me was documents.&amp;nbsp; to me, this means data entry deviations. In the context of the 6dimensions of data quality this means consistency checks (is a value referred to/spelled the same way across all the documents), completeness checks (is all the required information present in every document), accuracy checks (is each value from ever document correctly represented), duplication checks (is the information in the documents redundant)&lt;/blockquote&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-aspects-of-Data-Quality-influence-the-impact-on-Business-Value/answer/William-Sharp&quot;&gt;View Answer on Quora&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/394512602108442658/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/03/what-aspects-of-data-quality-influence.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/394512602108442658'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/394512602108442658'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/03/what-aspects-of-data-quality-influence.html' title='What aspects of Data Quality influence the impact on Business Value?'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-6697207435568508197</id><published>2014-03-09T09:04:00.000-05:00</published><updated>2014-08-22T16:17:38.305-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ETL"/><category scheme="http://www.blogger.com/atom/ns#" term="opinion"/><title type='text'>Why should I use an existing ETL vs writing my own in Python for my&#xa;data warehouse needs?</title><content type='html'>Answer by William Sharp:&lt;br/&gt;&lt;blockquote&gt;Unless you want to enter the ETL software market, you will spend a lot of time writing software instead of migrating / managing data (which I am assuming is your real job). If this tool is going to be used by many developers in an enterprise setting, you will spend a lot of time writing code to manage the ETL code. Probably more than you think&lt;/blockquote&gt;&lt;br/&gt;This is classic buy over build ... buy because there are people dedicated to solving issues you haven&#39;t even thought of yet. Build if your needs are so unique that there isn&#39;t a solution out there (extremely rare)&lt;br/&gt;&lt;br/&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/ETL/Why-should-I-use-an-existing-ETL-vs-writing-my-own-in-Python-for-my-data-warehouse-needs/answer/William-Sharp&quot;&gt;View Answer on Quora&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/6697207435568508197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/03/why-should-i-use-existing-etl-vs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/6697207435568508197'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/6697207435568508197'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/03/why-should-i-use-existing-etl-vs.html' title='Why should I use an existing ETL vs writing my own in Python for my&#xa;data warehouse needs?'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-3422027325198194322</id><published>2014-03-09T06:10:00.000-05:00</published><updated>2014-08-22T16:17:38.282-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="opinion"/><title type='text'>What things does a data scientist do?</title><content type='html'>Answer by William Sharp:&lt;blockquote&gt;Put succinctly it is data management and statistics.&amp;nbsp; collect, clean and migrate data (just like everybody else does) and perform statistics on that data.&amp;nbsp; data science is a new marketing term that goes along with big data.&amp;nbsp; I&amp;#039;m not down playing statistics. I love stats. the &amp;#039;science&amp;#039; part is a little (a lot) pretentious imho&lt;/blockquote&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Data-Science/What-things-does-a-data-scientist-do/answer/William-Sharp&quot;&gt;View Answer on Quora&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/3422027325198194322/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/03/what-things-does-data-scientist-do.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/3422027325198194322'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/3422027325198194322'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/03/what-things-does-data-scientist-do.html' title='What things does a data scientist do?'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-485633624658748497</id><published>2014-02-25T14:20:00.000-06:00</published><updated>2014-08-22T16:17:38.260-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><category scheme="http://www.blogger.com/atom/ns#" term="distributed systems"/><title type='text'>What are some good resources for learning about distributed computing?&#xa;Why?</title><content type='html'>Answer by Alex Kamil:&lt;blockquote&gt;&lt;b&gt;Prerequisites&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Unix shell basics: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Unix-Programming-Environment-Prentice-Hall-Software/dp/013937681X/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Uni&lt;wbr /&gt;x-Progr...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;C: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Pro&lt;wbr /&gt;grammin...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;OS basics: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Andrew-S-Tanenbaum/e/B000AQ1UBW/ref=ntt_athr_dp_pel_1&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/And&lt;wbr /&gt;rew-S-T...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Linux-Kernel-Development-3rd-Edition/dp/0672329468/ref=ntt_at_ep_dpt_1&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Lin&lt;wbr /&gt;ux-Kern...&lt;/a&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;Unix Programming: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.kohala.com/start/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.kohala.com/sta&lt;wbr /&gt;rt/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Networking Basics: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Computer-Networking-Top-Down-Approach-6th/dp/0132856204&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Com&lt;wbr /&gt;puter-N...&lt;/a&gt;&lt;/span&gt; , more advanced: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://web.mit.edu/dimitrib/www/datanets.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://web.mit.edu/dimitr&lt;wbr /&gt;ib/www/...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Sockets: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/TCP-Sockets-Java-Bundle-Programmers/dp/0123742552&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/TCP&lt;wbr /&gt;-Socket...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Foundations-Python-Network-Programming-comprehensive/dp/1430230037&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Fou&lt;wbr /&gt;ndation...&lt;/a&gt;&lt;/span&gt; , and network programming: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.kohala.com/start/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.kohala.com/sta&lt;wbr /&gt;rt/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;RPC: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.cf.ac.uk/Dave/C/node33.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;cf.ac.uk&amp;quot;)&quot;&gt;Remote Procedure Calls (RPC)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;XMPP: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://web.sarathlakshman.com/Articles/XMPP.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://web.sarathlakshman&lt;wbr /&gt;.com/Ar...&lt;/a&gt;&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Transmission of information: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Information-Theory-Reliable-Communication-Gallager/dp/0471290483/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Inf&lt;wbr /&gt;ormatio...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.inference.phy.cam.ac.uk/itprnn/book.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.inference.phy.&lt;wbr /&gt;cam.ac....&lt;/a&gt;&lt;/span&gt; and network coding&lt;/li&gt;&lt;li&gt;Intro to concurrency: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Practical-Programming-Scientific-Engineering-Computation/dp/0262231867&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Pra&lt;wbr /&gt;ctical-...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Java: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-questions-are-Java-Software-Engineers-seeing-the-most-of-on-technical-interviews&quot;&gt;What questions are Java Software Engineers seeing the most of on technical interviews?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Data structures and algorithms: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Learning-Algorithms/What-are-the-most-learner-friendly-resources-for-learning-about-algorithms&quot;&gt;Learning Algorithms: What are the most learner-friendly resources for learning about algorithms?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;Courses&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;CS525: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.uiuc.edu/class/sp11/cs525/sched.htm&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cs.uiuc.edu/cl&lt;wbr /&gt;ass/sp1...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;6.824: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://pdos.csail.mit.edu/6.824/schedule.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://pdos.csail.mit.edu&lt;wbr /&gt;/6.824/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;6.828: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://pdos.csail.mit.edu/6.828/2010/schedule.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://pdos.csail.mit.edu&lt;wbr /&gt;/6.828/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;CS264: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs264.org/lectures/lectures.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cs264.org/lect&lt;wbr /&gt;ures/le...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;CS294: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.berkeley.edu/~odedsc/CS294/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cs.berkeley.ed&lt;wbr /&gt;u/~oded...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;CS 707: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.gmu.edu/~setia/cs707/syl.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cs.gmu.edu/~se&lt;wbr /&gt;tia/cs7...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Advanced Computer Science Courses: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://the-paper-trail.org/blog/?page_id=152&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://the-paper-trail.or&lt;wbr /&gt;g/blog/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;CS696: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.eli.sdsu.edu/courses/spring99/cs696/notes/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.eli.sdsu.edu/c&lt;wbr /&gt;ourses/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Google Code University: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://code.google.com/edu/parallel/index.html&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://code.google.com/ed&lt;wbr /&gt;u/paral...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;CS7960: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.utah.edu/~jeffp/teaching/cs7960.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cs.utah.edu/~j&lt;wbr /&gt;effp/te...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;6.829 &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-829-computer-networks-fall-2002/readings/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://ocw.mit.edu/course&lt;wbr /&gt;s/elect...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Textbook: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.tacc.utexas.edu/~eijkhout/Articles/EijkhoutIntroToHPC.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.tacc.utexas.ed&lt;wbr /&gt;u/~eijk...&lt;/a&gt;&lt;/span&gt; &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Notes&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;BitTorrent: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/BitTorrent&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Bit...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;Other: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Start with Lin,&lt;b&gt; &lt;/b&gt;Data-Intensive Text Processing with MapReduce, ISBN 1608453421, &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.umiacs.umd.edu/~jimmylin/book.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.umiacs.umd.edu&lt;wbr /&gt;/~jimmy...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;See&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Is-Nancy-Lynchs-book-still-the-best-intro-to-distributed-algorithms&quot;&gt; Tom White&lt;/a&gt;&lt;/span&gt;&lt;b&gt;,&lt;/b&gt; Hadoop: The Definitive Guide, ISBN 1449389732, &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Hadoop-Definitive-Guide-Tom-White/dp/1449389732/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Had&lt;wbr /&gt;oop-Def...&lt;/a&gt;&lt;/span&gt;&lt;b&gt;,&amp;nbsp; &lt;/b&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Hunch&quot;&gt;Sean Owen&lt;/a&gt;&lt;/span&gt;&lt;b&gt; &lt;/b&gt;et al., Mahout in Action&lt;b&gt;, &lt;/b&gt; ISBN 978193518268, &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.manning.com/owen/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.manning.com/ow&lt;wbr /&gt;en/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;HDFS under the hood:&lt;u&gt;&amp;nbsp; &lt;/u&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://assets.en.oreilly.com/1/event/12/HDFS%20Under%20the%20Hood%20Presentation%201.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://assets.en.oreilly.&lt;wbr /&gt;com/1/e...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Zookeper:&lt;u&gt; &lt;/u&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://highscalability.com/zookeeper-reliable-scalable-distributed-coordination-system&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://highscalability.co&lt;wbr /&gt;m/zooke...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Download Hadoop (&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://hadoop.apache.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://hadoop.apache.org&lt;wbr /&gt;/&lt;/a&gt;&lt;/span&gt;) and run some MapReduce jobs on your laptop in pseudo-distributed mode (see&lt;/li&gt;&lt;/ul&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/MapReduce/Whats-the-best-way-to-come-up-to-speed-on-MapReduce-Hadoop-and-Hive&quot;&gt;MapReduce: What&amp;#039;s the best way to come up to speed on MapReduce, Hadoop, and Hive?&lt;/a&gt;&lt;/span&gt; )&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Learn about Google technology stack (MapReduce, BigTable, Dremel, Pregel, GFS, Chubby, Protobuf, Snappy, Ganeti, Tenzing, Sawzall, BigQuery, F1, Spanner, Jingle, GCM, Google Talk, etc). (See&lt;/li&gt;&lt;/ul&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Google-Research/What-are-the-most-interesting-Google-Research-papers&quot;&gt;Google Research: What are the most interesting Google Research papers?&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;also&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.columbia.edu/~ak2834/bib.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.columbia.edu/~&lt;wbr /&gt;ak2834/...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.rutgers.edu/~muthu/mapreduce_spr11.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cs.rutgers.edu&lt;wbr /&gt;/~muthu...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://the-paper-trail.org/blog/?p=58&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://the-paper-trail.or&lt;wbr /&gt;g/blog/...&lt;/a&gt;&lt;/span&gt;)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Setup account with Amazon AWS/EC2/S3/EBS and experiment with running Hadoop on a cluster with large data sets (you can use Cloudera or YDN images, but in my opinion you can better understand the system if you set it up from scratch, using the original distribution). Watch the costs: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.networkworld.com/news/2011/040611-linux-supercomputer.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.networkworld.c&lt;wbr /&gt;om/news...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Try out Hadoop alternatives, specifically the minimalist frameworks such as BashReduce: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://github.com/erikfrey/bashreduce&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://github.com/erikfre&lt;wbr /&gt;y/bashr...&lt;/a&gt;&lt;/span&gt; and&amp;nbsp; CloudMapReduce: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://code.google.com/p/cloudmapreduce/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://code.google.com/p/&lt;wbr /&gt;cloudma...&lt;/a&gt;&lt;/span&gt;&amp;nbsp; (see&lt;/li&gt;&lt;/ul&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-some-promising-open-source-alternatives-to-Hadoop-MapReduce-for-map-reduce&quot;&gt;What are some promising open-source alternatives to Hadoop MapReduce for map/reduce?&lt;/a&gt;&lt;/span&gt;)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;See &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Machine-Learning/What-are-some-good-class-projects-for-machine-learning-using-MapReduce&quot;&gt;Machine Learning: What are some good class projects for machine learning using MapReduce?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Run Bryan Cooper&amp;#039;s Cloud Serving Benchmark on AWS, compare Hbase vs &lt;br /&gt;Cassandra performance on a small cluster (6-8 nodes):&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://wiki.github.com/brianfrankcooper/YCSB/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://wiki.github.com/br&lt;wbr /&gt;ianfran...&lt;/a&gt;&lt;/span&gt; also see Pete Warden&amp;#039;s tests: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://petewarden.typepad.com/searchbrowser/2009/11/realworld-benchmarking-of-keyvalue-stores.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://petewarden.typepad&lt;wbr /&gt;.com/se...&lt;/a&gt;&lt;/span&gt; , Hbase book: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://hbase.apache.org/book.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://hbase.apache.org/b&lt;wbr /&gt;ook.html&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Run LINPACK benchmark: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.datawrangling.com/on-demand-mpi-cluster-with-python-and-ec2-part-1-of-3&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.datawrangling.&lt;wbr /&gt;com/on-...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Run some experiments with MPI &lt;br /&gt;(&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.mcs.anl.gov/research/projects/mpi/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.mcs.anl.gov/r&lt;wbr /&gt;esearch/...&lt;/a&gt;&lt;/span&gt;) try to implement a &lt;br /&gt;simple clustering algorithm &lt;br /&gt;(e.g &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/K-means_clustering&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/K-m...&lt;/a&gt;&lt;/span&gt;) with MPI vs &lt;br /&gt;Hadoop/MapReduce and compare the performance, fault tolerance, ease of &lt;br /&gt;use etc.&amp;nbsp; Learn the differences between the two approaches, and when it &lt;br /&gt;makes sense to use each one.&lt;/li&gt;&lt;li&gt;Check out Dongarra&amp;#039; papers: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.netlib.org/utk/people/JackDongarra/papers.htm&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.netlib.org/utk&lt;wbr /&gt;/people...&lt;/a&gt;&lt;/span&gt; , works by Gibbons: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.bell-labs.com/org/1123/who/gibbons/pub.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.bell-labs.com/&lt;wbr /&gt;org/112...&lt;/a&gt;&lt;/span&gt; , Lamport: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://research.microsoft&lt;wbr /&gt;.com/en...&lt;/a&gt;&lt;/span&gt; , Blelloch: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~guyb/pubs.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cs.cmu.edu/~gu&lt;wbr /&gt;yb/pubs...&lt;/a&gt;&lt;/span&gt; , also see &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-the-seminal-papers-in-distributed-systems-Why&quot;&gt;What are the seminal papers in distributed systems? Why?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;There is a new library called MPI-Mapreduce &lt;br /&gt;(&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.sandia.gov/~sjplimp/mapreduce.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.sandia.gov/~s&lt;wbr /&gt;jplimp/m...&lt;/a&gt;&lt;/span&gt;) see how it works and how&lt;br /&gt;&amp;nbsp;it compares to other MapReduce implementations&lt;/li&gt;&lt;li&gt;Run some tests with Scalapack (&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.netlib.org/scalapack/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.netlib.org/sc&lt;wbr /&gt;alapack/&lt;/a&gt;&lt;/span&gt;), try to port one of the routines to Hadoop, compare the performance and scalability. See how stability of numerical algorithms is evaluated: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=131769&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://portal.acm.org/cit&lt;wbr /&gt;ation.c...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Write your own simplified MapReduce runtime in C or any other programming language.&lt;/li&gt;&lt;li&gt;Try xargs -P and GNU Parallel, also see &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-some-lesser-known-but-useful-Unix-commands&quot;&gt;What are some lesser known but useful Unix commands?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Check out &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cascading.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cascading.org/&lt;/a&gt;&lt;/span&gt;&lt;wbr /&gt;, &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://clojure.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://clojure.org/&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.bloom-lang.net/features/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.bloom-lang.net&lt;wbr /&gt;/features/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Learn about distributed hash tables (&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Distributed_hash_table&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/&lt;wbr /&gt;wiki/Dis...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.linuxjournal.com/article/6797?page=0,1&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.linuxjournal.c&lt;wbr /&gt;om/arti...&lt;/a&gt;&lt;/span&gt;), run some experiments with &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Paxos-Algorithm&quot;&gt;Paxos (Algorithm)&lt;/a&gt;&lt;/span&gt; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://the-paper-trail.org/blog/?p=173&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://the-paper-trail.or&lt;wbr /&gt;g/blog/...&lt;/a&gt;&lt;/span&gt;,&amp;nbsp; Kademlia: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kademlia&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Kad...&lt;/a&gt;&lt;/span&gt; , See &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Wolf-Garbe&quot;&gt;Wolf Garbe&lt;/a&gt;&lt;/span&gt;&amp;#039;s answers on &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Peer-to-Peer-Technology&quot;&gt;Peer-to-Peer Technology&lt;/a&gt;&lt;/span&gt;. Also see &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Computer-Science-Research/Have-there-been-any-new-advances-in-distributed-hash-tables/answer/Petar-Maymounkov&quot;&gt;Petar Maymounkov&amp;#039;s answer to Computer Science Research: Have there been any new advances in distributed hash tables?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Download Nutch (&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://nutch.apache.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://nutch.apache.org/&lt;/a&gt;&lt;/span&gt;&lt;wbr /&gt;) or Solr &lt;br /&gt;(&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://lucene.apache.org/solr/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://lucene.apache.org&lt;wbr /&gt;/solr/&lt;/a&gt;&lt;/span&gt;), run a crawl on Wikipedia. Analyze the &lt;br /&gt;collected data with R (see item 2 above) or Python &lt;br /&gt;(&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.nltk.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.nltk.org/&lt;/a&gt;&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;Write you own simplified crawler/indexer, test the performance and &lt;br /&gt;scalability, look at the Lucene source for ideas, look &lt;br /&gt;at &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://infolab.stanford.edu/~backrub/google.html&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://infolab.stanford.e&lt;wbr /&gt;du/~bac...&lt;/a&gt;&lt;/span&gt; for inspiration. You&lt;br /&gt;&amp;nbsp;can probably build it as a term project in either Information Retrieval&lt;br /&gt;&amp;nbsp;or Search Engines course.&lt;/li&gt;&lt;li&gt;Learn about prefix-sum: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Prefix_sum&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Pre...&lt;/a&gt;&lt;/span&gt; ,parallel &lt;br /&gt;matrix multiplication: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.berkeley.edu/~yelick/cs267-sp04/lectures/13/lect13-pmatmul-6x.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cs.berkeley.ed&lt;wbr /&gt;u/~yeli...&lt;/a&gt;&lt;/span&gt; ,streaming: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://infolab.stanford.edu/stream/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://infolab.stanford.e&lt;wbr /&gt;du/stream/&lt;/a&gt;&lt;/span&gt; and &lt;br /&gt;BSP: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bulk_Synchronous_Parallel&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Bul...&lt;/a&gt;&lt;/span&gt; , DSM: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Distributed-Shared-Memory-Concepts-Systems/dp/0818677376/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Dis&lt;wbr /&gt;tribute...&lt;/a&gt;&lt;/span&gt; and &amp;quot;The Use&amp;nbsp; of Name&amp;nbsp; Spaces in &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Plan-9&quot;&gt;Plan 9&lt;/a&gt;&lt;/span&gt;&amp;quot;&lt;/li&gt;&lt;li&gt;Check out Persistent Linda: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.google.com/#sclient=psy&amp;amp;hl=en&amp;amp;qscrl=1&amp;amp;biw=999&amp;amp;bih=515&amp;amp;source=hp&amp;amp;q=%22persistent+linda%22&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.google.com/#sc&lt;wbr /&gt;lient=p...&lt;/a&gt;&lt;/span&gt; , if you find it interesting see Linda and Friends (an article by Sudhir Ahuja from 1986), also search for &amp;quot;Linda in Context&amp;quot;,&amp;nbsp; &amp;quot;tuple space&amp;quot;, Javaspaces, Gigaspaces. Read &amp;quot;How to write parallel programs: a guide to the perplexed&amp;quot; by&lt;b&gt; &lt;/b&gt;Nicholas Carriero and David Gelernter: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=72553&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://portal.acm.org/cit&lt;wbr /&gt;ation.c...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Learn about &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Compute-Unified-Device-Architecture-CUDA&quot;&gt;Compute Unified Device Architecture (CUDA)&lt;/a&gt;&lt;/span&gt;: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/CUDA-Example-Introduction-General-Purpose-Programming/dp/0131387685/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/CUD&lt;wbr /&gt;A-Examp...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Graphics-Processing-Unit&quot;&gt;Graphics Processing Unit&lt;/a&gt;&lt;/span&gt; and &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Field-Programmable-Gate-Arrays&quot;&gt;Field Programmable Gate Arrays&lt;/a&gt;&lt;/span&gt; accelerators, &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/PlayStation-3&quot;&gt;PlayStation 3&lt;/a&gt;&lt;/span&gt; programming: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cell_(microprocessor)&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Cel...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.hotchips.org/hc21/main_page.htm&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.hotchips.org/h&lt;wbr /&gt;c21/mai...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Pick one of the PGAS languages &lt;br /&gt;(&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Partitioned_global_address_space&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/&lt;wbr /&gt;wiki/Par...&lt;/a&gt;&lt;/span&gt;), e.g. &lt;br /&gt;X10 (&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/X10_(programming_language))&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/&lt;wbr /&gt;wiki/X10...&lt;/a&gt;&lt;/span&gt;, go &lt;br /&gt;through the tutorials &lt;br /&gt;(&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://ppppcourse.ning.com/forum/topics/home-page-for-lecture-notes&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://ppppcourse.ning.c&lt;wbr /&gt;om/forum...&lt;/a&gt;&lt;/span&gt;), &lt;br /&gt;run some HPC benchmarks (LU, FFT) and the examples (the streaming &lt;br /&gt;example in particular): see how it scales on a cluster/AWS, compare to &lt;br /&gt;sequential and Hadoop/MapReduce implementation, see what kind of &lt;br /&gt;performance/scalability gains it gives you on multicore boxes.&lt;/li&gt;&lt;li&gt;Some good references on parallel programming: Herlihy&amp;amp; Shavit, The art &lt;br /&gt;of multiprocessor programming: &lt;br /&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Art-Multiprocessor-Programming-Maurice-Herlihy/dp/0123705916&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Art&lt;wbr /&gt;-Multip...&lt;/a&gt;&lt;/span&gt; , Blelloch, Vector models for data-parallel computing: &lt;br /&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.122.5127&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://citeseerx.ist.psu.&lt;wbr /&gt;edu/vie...&lt;/a&gt;&lt;/span&gt; , Valiant, A bridging model for parallel computation: &lt;br /&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=79181&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://portal.acm.org/cit&lt;wbr /&gt;ation.c...&lt;/a&gt;&lt;/span&gt; ,Hillis &amp;amp; Steele, Data &lt;br /&gt;Parallel Algorithms: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=7902.7903&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://portal.acm.org/cit&lt;wbr /&gt;ation.c...&lt;/a&gt;&lt;/span&gt; , Miller &amp;amp; Boxer, Algorithms sequential and parallel: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Algorithms-Sequential-Parallel-Electrical-Engineering/dp/1584504129/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Alg&lt;wbr /&gt;orithms...&lt;/a&gt;&lt;/span&gt; , Leighton, Introduction to Parallel Algorithms and Architectures: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Introduction-Parallel-Algorithms-Architectures-Hypercubes/dp/1558601171&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Int&lt;wbr /&gt;roducti...&lt;/a&gt;&lt;/span&gt; , JaJa: Introduction to Parallel Algorithms: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Introduction-Parallel-Algorithms-Joseph-JaJa/dp/0201548569/r&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Int&lt;wbr /&gt;roducti...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;You should probably start with Dijkstra,&amp;nbsp; Cooperating Sequential Processes: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.utexas.edu/users/EWD/ewd01xx/EWD123.PDF&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cs.utexas.edu/&lt;wbr /&gt;users/E...&lt;/a&gt;&lt;/span&gt; and Ben-Ari, Principles of Concurrent and Distributed Programming: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Principles-Concurrent-Distributed-Programming-2nd/dp/032131283X&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Pri&lt;wbr /&gt;nciples...&lt;/a&gt;&lt;/span&gt; (I have the older edition from 1982, which is an excellent intro)&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Take a course in Parallel Computer Architecture: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.eecs.berkeley.edu/~culler/cs258-s99/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.eecs.berkeley.&lt;wbr /&gt;edu/~cu...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Parallel-Computer-Architecture-Hardware-Software/dp/1558603433/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Par&lt;wbr /&gt;allel-C...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://people.engr.ncsu.edu/efg/506/s04/lectures/notes.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://people.engr.ncsu.e&lt;wbr /&gt;du/efg/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Check out Cilk: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://software.intel.com/en-us/articles/intel-cilk/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://software.intel.com&lt;wbr /&gt;/en-us/...&lt;/a&gt;&lt;/span&gt; and &lt;br /&gt;Matlab Parallel computing toolbox: &lt;br /&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.mathworks.com/products/parallel-computing/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.mathworks.com/&lt;wbr /&gt;product...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;For some theoretical background on distributed algorithms, information decomposition and complexity see: Feldman et al., On the Complexity of Processing Massive, Unordered, Distributed Data: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://arxiv.org/abs/cs/0611108&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://arxiv.org/abs/cs/0&lt;wbr /&gt;611108&lt;/a&gt;&lt;/span&gt;,&amp;nbsp; Traub, An introduction to information based complexity:&lt;i&gt; &lt;/i&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://octopus.library.cmu.edu/Collections/traub62/box00021/fld00024/bdl0002/doc0001/doc_21b24f2b1.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://octopus.library.cm&lt;wbr /&gt;u.edu/C...&lt;/a&gt;&lt;/span&gt; and &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Is-Nancy-Lynchs-book-still-the-best-intro-to-distributed-algorithms&quot;&gt;Is Nancy Lynch&amp;#039;s book still the best intro to distributed algorithms?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Parallel-Distributed-Processing-PDP&quot;&gt;Parallel Distributed Processing (PDP)&lt;/a&gt;&lt;/span&gt; by Rumelhart and PDP research group: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Parallel-Distributed-Processing-Vol-Foundations/dp/026268053X&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Par&lt;wbr /&gt;allel-D...&lt;/a&gt;&lt;/span&gt;&amp;nbsp; - look up the computing architectures for &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Artificial-Neural-Networks&quot;&gt;Artificial Neural Networks&lt;/a&gt;&lt;/span&gt;, e.g. &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Parallel-Architectures-Artificial-Neural-Networks/dp/0818683996/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Par&lt;wbr /&gt;allel-A...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Run some experiments with Weka (&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.waikato.ac.nz/ml/weka/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cs.waikato.ac&lt;wbr /&gt;.nz/ml/w...&lt;/a&gt;&lt;/span&gt;) or RapidMiner (&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://rapid-i.com/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://rapid-i.com/&lt;/a&gt;&lt;/span&gt;), pick a simple algorithm and port it to MapReduce, see how it scales on a cluster/AWS&lt;/li&gt;&lt;li&gt;Experiment with distributed &amp;#039;NoSQL&amp;#039; data stores (Voldemort, Hbase, Redis, Tokyo, Cassandra etc).&amp;nbsp; Figure out what is CAP theorem all about &lt;br /&gt;(&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.allthingsdistributed.com/2007/12/eventually_consistent.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.allthingsdist&lt;wbr /&gt;ributed....&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cloudera.com/blog/2010/04/cap-confusion-problems-with-partition-tolerance/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cloudera.com/b&lt;wbr /&gt;log/201...&lt;/a&gt;&lt;/span&gt; ).&lt;br /&gt;&amp;nbsp;Create a simple app with key-value or column-based store as a back-end.&lt;br /&gt;&amp;nbsp;Import several GBs of interesting data into it and run some simple &lt;br /&gt;clustering/KNN algos (&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cluster_analysis&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/&lt;wbr /&gt;wiki/Clu...&lt;/a&gt;&lt;/span&gt;, &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Nearest_neighbor_search&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Nea...&lt;/a&gt;&lt;/span&gt;).&lt;br /&gt;&amp;nbsp;Optimize your algo to better utilize random access patterns, experiment&lt;br /&gt;&amp;nbsp;with various tuning options. Build a frond-end visualization for the &lt;br /&gt;results (Check out Protovis or similar visualization &lt;br /&gt;package: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://vis.stanford.edu/protovis/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://vis.stanford.edu/p&lt;wbr /&gt;rotovis/&lt;/a&gt;&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;A good resource on &amp;#039;NoSQL&amp;#039;: Daniel Abadi&amp;#039;s publications: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://cs-www.cs.yale.edu/homes/dna/pubs/displaypubs.cgi&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://cs-www.cs.yale.edu&lt;wbr /&gt;/homes/...&lt;/a&gt;&lt;/span&gt; and Varley, No Relation: The Mixed Blessings of Non-Relational Databases: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://ianvarley.com/UT/MR/Varley_MastersReport_Full_2009-08-07.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://ianvarley.com/UT/M&lt;wbr /&gt;R/Varle...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Doozer: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://xph.us/2011/04/13/introducing-doozer.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://xph.us/2011/04/13/&lt;wbr /&gt;introdu...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Learn about main-memory &lt;br /&gt;databases: http:&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/YouTube/What-is-YouTubes-architecture&quot;&gt;YouTube: What is YouTube&amp;#039;s architecture?&lt;/a&gt;&lt;/span&gt;//&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/In-memory_database&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;wikipedia.org&amp;quot;)&quot;&gt;en.wikiped&lt;wbr /&gt;ia.org/wiki/In-memory_dat&lt;wbr /&gt;abase&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://scholar.google.com/scholar?q=main+memory+database&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://scholar.google.com&lt;wbr /&gt;/schola...&lt;/a&gt;&lt;/span&gt;, &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://monetdb.cwi.nl/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://monetdb.cwi.nl/&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://hstore.cs.brown.edu/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://hstore.cs.brown.ed&lt;wbr /&gt;u/&lt;/a&gt;&lt;/span&gt; , Microsoft Trinity - a graph database over distributed memory cloud: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/projects/trinity/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://research.microsoft&lt;wbr /&gt;.com/en...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Write a distributed hash table in C, here is a good reference: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://pdos.csail.mit.edu/papers/fdabek-phd-thesis.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://pdos.csail.mit.edu&lt;wbr /&gt;/papers...&lt;/a&gt;&lt;/span&gt; or use node: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://github.com/stbuehler/node-dht&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://github.com/stbueh&lt;wbr /&gt;ler/nod...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Networking: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Unix-Network-Programming-Sockets-Networking/dp/0131411551/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Uni&lt;wbr /&gt;x-Netwo...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/TCP-Illustrated-Vol-Addison-Wesley-Professional/dp/0201633469/r&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/TCP&lt;wbr /&gt;-Illust...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Network-Programming/What-are-some-good-resources-for-learning-about-network-programming&quot;&gt;Network Programming: What are some good resources for learning about network programming?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Write a distributed file system in C. See git for inspiration:&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://apenwarr.ca/log/?m=200801#31&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://apenwarr.ca/log/?m&lt;wbr /&gt;=200801#31&lt;/a&gt;&lt;/span&gt; , Frangipani &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=266694&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://portal.acm.org/cit&lt;wbr /&gt;ation.c...&lt;/a&gt;&lt;/span&gt; . For a good intro see the Tanenbaum&amp;#039;s series: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Distributed-Operating-Systems-Andrew-Tanenbaum/dp/0132199084/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Dis&lt;wbr /&gt;tribute...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Modern-Operating-Systems-Andrew-Tanenbaum/dp/0136006639/r&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Mod&lt;wbr /&gt;ern-Ope...&lt;/a&gt;&lt;/span&gt; and &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.stanford.edu/class/cs140/projects/pintos/pintos.html&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.stanford.edu/c&lt;wbr /&gt;lass/cs...&lt;/a&gt;&lt;/span&gt; , The Amoeba Distributed OS: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.vu.nl/pub/amoeba/amoeba.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cs.vu.nl/pub/a&lt;wbr /&gt;moeba/a...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Graph databases, etc: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://nosql-database.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://nosql-database.org&lt;wbr /&gt;/&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.graph-database.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.graph-database&lt;wbr /&gt;.org/&lt;/a&gt;&lt;/span&gt; , GraphLab: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://graphlab.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://graphlab.org/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Facebook-Engineering/What-is-Facebooks-architecture&quot;&gt;Facebook Engineering: What is Facebook&amp;#039;s architecture? &lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-the-most-interesting-Facebook-Data-papers-projects&quot;&gt;What are the most interesting Facebook Data papers/projects?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Hadoop/Hbase at Facebook: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://borthakur.com/ftp/RealtimeHadoopSigmod2011.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://borthakur.com/ftp/&lt;wbr /&gt;Realtim...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/YouTube/What-is-YouTubes-architecture&quot;&gt;YouTube: What is YouTube&amp;#039;s architecture?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Justin-tv/How-does-justin-tv-work&quot;&gt;Justin.tv: How does justin.tv work?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Scalability/How-does-Heroku-work&quot;&gt;Scalability: How does Heroku work?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Netflix/What-is-Netflixs-architecture&quot;&gt;Netflix: What is Netflix&amp;#039;s architecture?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Hulu/What-is-Hulus-architecture&quot;&gt;Hulu: What is Hulu&amp;#039;s architecture?&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/eBay/What-is-eBays-architecture&quot;&gt;eBay: What is eBay&amp;#039;s architecture?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Dropbox/What-is-Dropboxs-architecture&quot;&gt;Dropbox: What is Dropbox&amp;#039;s architecture?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-the-core-technologies-that-Twitter-uses-for-their-platform-and-what-is-the-Twitter-Macro-architecture&quot;&gt;What are the core technologies that Twitter uses for their platform and what is the Twitter Macro architecture?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/LinkedIn-6&quot;&gt;LinkedIn&lt;/a&gt;&lt;/span&gt; SNA: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://sna-projects.com/sna/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://sna-projects.com/s&lt;wbr /&gt;na/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-is-LinkedIn-s-database-architecture-like&quot;&gt;What is LinkedIn&amp;#039;s database architecture like?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Quora-Infrastructure/How-does-LiveNode-work&quot;&gt;Quora Infrastructure: How does LiveNode work?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Scaling &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/LiveJournal&quot;&gt;LiveJournal&lt;/a&gt;&lt;/span&gt;: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://danga.com/words/2007_06_usenix/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://danga.com/words/20&lt;wbr /&gt;07_06_u...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Content-Delivery-Networks/How-does-Akamai-CDN-work&quot;&gt;Content Delivery Networks: How does Akamai CDN work?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/GitHub&quot;&gt;GitHub&lt;/a&gt;&lt;/span&gt; architecture:&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://github.com/blog/530-how-we-made-github-fast/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://github.com/blog/5&lt;wbr /&gt;30-how-...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Twitter-1&quot;&gt;Twitter&lt;/a&gt;&lt;/span&gt; Rainbird: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/kevinweil/rainbird-realtime-analytics-at-twitter-strata-20&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.slideshare.net&lt;wbr /&gt;/kevinw...&lt;/a&gt;&lt;/span&gt;,&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.slideshare.net/nkallen/q-con-3770885&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.slideshare.net&lt;wbr /&gt;/nkalle...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Yahoo&quot;&gt;Yahoo!&lt;/a&gt;&lt;/span&gt; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/S4&quot;&gt;S4&lt;/a&gt;&lt;/span&gt;: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://github.com/s4/core&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://github.com/s4/cor&lt;wbr /&gt;e&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://docs.s4.io/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://docs.s4.io/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/IBM&quot;&gt;IBM&lt;/a&gt;&lt;/span&gt; Infosphere streams/System S: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www-01.ibm.com/software/data/infosphere/streams/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www-01.ibm.com/sof&lt;wbr /&gt;tware/d...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/BackType&quot;&gt;BackType&lt;/a&gt;&lt;/span&gt; Storm: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://news.ycombinator.com/item?id=2588185&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://news.ycombinator.c&lt;wbr /&gt;om/item...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Octobot, a distributed task queue worker: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://octobot.taco.cat/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://octobot.taco.cat/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;F* by Microsoft: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/projects/fstar/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://research.microsoft&lt;wbr /&gt;.com/en...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Google-Realtime-Search/Is-real-time-search-fundamentally-different-from-the-various-search-services-Google-already-provides&quot;&gt;Google Realtime Search: Is real-time search fundamentally different from the various search services Google already provides?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;HN thread on the architecture of backend systems: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://news.ycombinator.com/item?id=1510535&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://news.ycombinator.c&lt;wbr /&gt;om/item...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;The secrets of Node&amp;#039;s success: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://radar.oreilly.com/2011/06/node-javascript-success.html?utm_source=feedburner&amp;amp;utm_medium=feed&amp;amp;utm_campaign=Feed%3A+oreilly%2Fjavascript+%28O%27Reilly+News%3A+Javascript%29&amp;amp;utm_content=Google+Reader&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://radar.oreilly.com/&lt;wbr /&gt;2011/06...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Druid: A Distributed, In-Memory OLAP Store: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://metamarketsgroup.com/blog/druid-part-i-real-time-analytics-at-a-billion-rows-per-second/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://metamarketsgroup.c&lt;wbr /&gt;om/blog...&lt;/a&gt;&lt;/span&gt; (some dissing here: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://news.ycombinator.com/item?id=2501160&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://news.ycombinator.c&lt;wbr /&gt;om/item...&lt;/a&gt;&lt;/span&gt;)&lt;/li&gt;&lt;li&gt;FathomDB response to AWS outage: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://news.ycombinator.com/item?id=2565579&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://news.ycombinator.c&lt;wbr /&gt;om/item...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Google Ganeti - Cluster-based virtualization management software: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://code.google.com/p/ganeti/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://code.google.com/p/&lt;wbr /&gt;ganeti/&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://k1024.org/~iusty/papers/icfp10-haskell-reagent.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://k1024.org/~iusty/p&lt;wbr /&gt;apers/i...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Google GO: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.theregister.co.uk/2011/05/05/google_go/print.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.theregister.co&lt;wbr /&gt;.uk/201...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Erlang/OTP: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://learnyousomeerlang.com/content&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://learnyousomeerlang&lt;wbr /&gt;.com/co...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Cloud Haskell: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://research.microsoft&lt;wbr /&gt;.com/en...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;NASA Nebula: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://nebula.nasa.gov/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://nebula.nasa.gov/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Platform MR: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.platform.com/Products/MapReduce&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.platform.com/P&lt;wbr /&gt;roducts...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Fast 2011: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.usenix.org/events/fast11/tech/tech.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.usenix.org/eve&lt;wbr /&gt;nts/fas...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;The history of consensus: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://betathoughts.blogspot.com/2007/06/brief-history-of-consensus-2pc-and.html&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://betathoughts.blogs&lt;wbr /&gt;pot.com...&lt;/a&gt;&lt;/span&gt; (via &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://the-paper-trail.org&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://the-paper-trail.or&lt;wbr /&gt;g&lt;/a&gt;&lt;/span&gt; )&lt;/li&gt;&lt;li&gt;Distributed Linked List: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.google.com/search?sclient=psy&amp;amp;hl=en&amp;amp;source=hp&amp;amp;q=%22distributed+linked+list%22&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.google.com/sea&lt;wbr /&gt;rch?scl...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;GIbbons, Synopsys Data Structures For Massive Data Sets: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spring04/cos598B/bib/GibbonsM-syn.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;princeton.edu&amp;quot;)&quot;&gt;www.cs.princeton.edu/cour&lt;wbr /&gt;ses/archive/spring04/cos5&lt;wbr /&gt;98B/bib/GibbonsM-syn.pdf&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Lock-Free Linked Lists and Skip Lists: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.cse.yorku.ca/~ruppert/papers/lfll.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.cse.yorku.ca/~&lt;wbr /&gt;ruppert...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Maekawa&amp;#039;s lock: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.google.com/#sclient=psy&amp;amp;hl=en&amp;amp;source=hp&amp;amp;q=MAEKAWA&amp;#039;s+lock&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.google.com/#sc&lt;wbr /&gt;lient=p...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Crossbow, searching for SNPs with cloud computing: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.biomedcentral.com/content/pdf/gb-2009-10-11-r134.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.biomedcentral.&lt;wbr /&gt;com/con...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Distributed-Caching&quot;&gt;Distributed Caching&lt;/a&gt;&lt;/span&gt;: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Hazelcast&quot;&gt;Hazelcast&lt;/a&gt;&lt;/span&gt;, &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Ehcache&quot;&gt;Ehcache&lt;/a&gt;&lt;/span&gt;, &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Terracotta-company&quot;&gt;Terracotta (company)&lt;/a&gt;&lt;/span&gt;, &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Memcached&quot;&gt;Memcached&lt;/a&gt;&lt;/span&gt;, &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Oracle-Coherence&quot;&gt;Oracle Coherence&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Bitcoin&quot;&gt;Bitcoin&lt;/a&gt;&lt;/span&gt;, A Peer-to-Peer Electronic Cash System: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.bitcoin.org/bitcoin.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;bitcoin.org&amp;quot;)&quot;&gt;www.bitcoin.org/bitcoin.p&lt;wbr /&gt;df&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Distributed computing with JS: BitCoin miner: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://news.ycombinator.com/item?id=2566365&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://news.ycombinator.c&lt;wbr /&gt;om/item...&lt;/a&gt;&lt;/span&gt;, MapRejuice: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://github.com/ryanmcgrath/maprejuice&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://github.com/ryanmc&lt;wbr /&gt;grath/m...&lt;/a&gt;&lt;/span&gt; , &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.igvita.com/2009/03/03/collaborative-map-reduce-in-the-browser/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.igvita.com/200&lt;wbr /&gt;9/03/03...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;OpenCirrus - Cloud Computing Research Testbed: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://opencirrus.org/content/request-access&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://opencirrus.org/co&lt;wbr /&gt;ntent/r...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Antonio Piccolboni, A Comparison of Eight MapReduce &lt;br /&gt;Languages: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.dataspora.com/2011/04/pigs-bees-and-elephants-a-comparison-of-eight-mapreduce-languages/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.dataspora.com/&lt;wbr /&gt;2011/04...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Caching and processing 2TB in memory with Hazelcast: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://highscalability.com/blog/2011/4/12/caching-and-processing-2tb-mozilla-crash-reports-in-memory-w.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://highscalability.co&lt;wbr /&gt;m/blog/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Dapper: a Large-Scale Distributed Systems Tracing Infrastructure: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/36356.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://static.googleuserc&lt;wbr /&gt;ontent....&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;On the performance of distributed lock-based synchronization: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1946155&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://portal.acm.org/cit&lt;wbr /&gt;ation.c...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Tonika: social routing with organic security: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://pdos.csail.mit.edu/~petar/5ttt.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://pdos.csail.mit.edu&lt;wbr /&gt;/~petar...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.linuxvirtualserver.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.linuxvirtualse&lt;wbr /&gt;rver.org/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;It&amp;#039;s time for low latency: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.matt-welsh.blogspot.com/2011/05/reflections-on-fast-user-level.html&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.matt-welsh.blo&lt;wbr /&gt;gspot.c...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;OS Research Wanted: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://surriel.com/research_wanted&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://surriel.com/resear&lt;wbr /&gt;ch_wanted&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;FlightPath: Obedience vs. Choice in Cooperative Services:&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.usenix.org/event/osdi08/tech/full_papers/li_h/li_h_html/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.usenix.org/eve&lt;wbr /&gt;nt/osdi...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Piccolo: Building Fast, Distributed Programs with Partitioned Tables: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://piccolo.news.cs.nyu.edu/piccolo.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://piccolo.news.cs.ny&lt;wbr /&gt;u.edu/p...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;CIEL: a universal execution engine for distributed data-flow computing: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.usenix.org/event/nsdi11/tech/full_papers/Murray.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;usenix.org&amp;quot;)&quot;&gt;www.usenix.org/event/nsdi&lt;wbr /&gt;11/tech/full_papers/Murra&lt;wbr /&gt;y.pdf&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Directed-Edge&quot;&gt;Directed Edge&lt;/a&gt;&lt;/span&gt;: On building a stupidly fast graph database: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://blog.directededge.com/2009/02/27/on-building-a-stupidly-fast-graph-database/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://blog.directededge.&lt;wbr /&gt;com/200...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-is-the-best-tutorial-for-Pythons-Twisted-framework&quot;&gt;What is the best tutorial for Python&amp;#039;s Twisted framework?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Node-js/What-are-the-best-resources-to-learn-Node-js&quot;&gt;Node.js: What are the best resources to learn Node.js?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Parallelism /= Concurrency:&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://ghcmutterings.wordpress.com/2009/10/06/parallelism-concurrency/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://ghcmutterings.word&lt;wbr /&gt;press.c...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;PyCon 2011: Handling ridiculous amounts of data with probabilistic data structures: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://blip.tv/pycon-us-videos-2009-2010-2011/pycon-2011-handling-ridiculous-amounts-of-data-with-probabilistic-data-structures-4899047&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://blip.tv/pycon-us-v&lt;wbr /&gt;ideos-2...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Go-programming-language&quot;&gt;Go (programming language)&lt;/a&gt;&lt;/span&gt; at &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Heroku&quot;&gt;Heroku&lt;/a&gt;&lt;/span&gt;: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://blog.golang.org/2011/04/go-at-heroku.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://blog.golang.org/20&lt;wbr /&gt;11/04/g...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Meijer &amp;amp; Lamport,&amp;nbsp; Mathematical Reasoning and Distributed Systems: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://channel9.msdn.com/Shows/Going+Deep/E2E-Erik-Meijer-and-Leslie-Lamport-Mathematical-Reasoning-and-Distributed-Systems&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://channel9.msdn.com/&lt;wbr /&gt;Shows/G...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Concurrency&amp;#039;s Shysters: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://blogs.oracle.com/bmc/entry/concurrency_s_shysters&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://blogs.oracle.com/b&lt;wbr /&gt;mc/entr...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Horton: Online Query Execution On Large Distributed Graphs: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.graph-database.org/2011/04/21/horton-online-query-execution-on-large-distributed-graphs/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.graph-database&lt;wbr /&gt;.org/20...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;DataDomain: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.datadomain.com/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.datadomain.com&lt;wbr /&gt;/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;WebRTC: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://sites.google.com/site/webrtc/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://sites.google.com/&lt;wbr /&gt;site/we...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Bloom: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.bloom-lang.net/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.bloom-lang.net&lt;wbr /&gt;/&lt;/a&gt;&lt;/span&gt; and &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://boom.cs.berkeley.edu/papers.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://boom.cs.berkeley.e&lt;wbr /&gt;du/pape...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Jini tutorial: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://jan.newmarch.name/java/jini/tutorial/Jini.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://jan.newmarch.name/&lt;wbr /&gt;java/ji...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;java distributed cache for low latency, high availability: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/649398/java-distributed-cache-for-low-latency-high-availability&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://stackoverflow.com/&lt;wbr /&gt;questio...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Scalable, Distributed Data Structures for Internet Service Construction (2000):&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://usenix.org/events/osdi2000/full_papers/gribble/gribble_html/dds.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://usenix.org/events/&lt;wbr /&gt;osdi200...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Cloud Programming: From Doom and Gloom to BOOM and Bloom: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://neilconway.org/talks/boom_bloom_oxford.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://neilconway.org/tal&lt;wbr /&gt;ks/boom...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;SEDA: An Architecture for Highly Concurrent Server Applications: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.eecs.harvard.edu/~mdw/proj/seda/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.eecs.harvard.e&lt;wbr /&gt;du/~mdw...&lt;/a&gt;&lt;/span&gt; (&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://matt-welsh.blogspot.com/2010/07/retrospective-on-seda.html&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://matt-welsh.blogsp&lt;wbr /&gt;ot.com/2...&lt;/a&gt;&lt;/span&gt; )&lt;/li&gt;&lt;li&gt;Scalable Network programming: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://bulk.fefe.de/scalable-networking.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://bulk.fefe.de/scala&lt;wbr /&gt;ble-net...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Protocol Buffers: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://news.ycombinator.com/item?id=2834010&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://news.ycombinator.c&lt;wbr /&gt;om/item...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Distributed-Systems/What-is-the-future-of-file-systems&quot;&gt;Distributed Systems: What is the future of file systems?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-some-current-directions-in-operating-system-research&quot;&gt;What are some current directions in operating system research?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Distributed-Systems/What-are-the-best-resources-for-learning-about-distributed-file-systems&quot;&gt;Distributed Systems: What are the best resources for learning about distributed file systems?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/How-do-I-approach-building-a-distributed-queue-architecture&quot;&gt;How do I approach building a distributed queue architecture?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-some-good-resources-for-learning-about-data-compression-Why&quot;&gt;What are some good resources for learning about data compression? Why?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Information-Retrieval/What-are-some-good-resources-to-get-started-with-Information-Retrieval-Why&quot;&gt;Information Retrieval: What are some good resources to get started with Information Retrieval? Why?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-good-resources-to-learn-about-search-engine-architecture&quot;&gt;What are good resources to learn about search engine architecture?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-the-good-resources-to-learn-about-distributed-scalable-robust-software-architecture-infrastructure-building&quot;&gt;What are the good resources to learn about distributed, scalable, robust software architecture/infrastructu&lt;wbr /&gt;re building?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-some-common-approaches-to-error-aggregation-alerting-and-analysis-in-distributed-systems&quot;&gt;What are some common approaches to error aggregation, alerting, and analysis in distributed systems?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-some-good-research-papers-and-articles-on-fault-tolerant-systems-design&quot;&gt;What are some good research papers and articles on fault-tolerant systems design?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Big-Data/What-are-the-most-influential-papers-in-the-world-of-big-data-Why&quot;&gt;Big Data: What are the most influential papers in the world of big data? Why?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Large-Scale-Learning/What-are-some-introductory-resources-for-learning-about-large-scale-machine-learning-Why&quot;&gt;Large Scale Learning: What are some introductory resources for learning about large scale machine learning? Why?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Computer-Science-Research/Which-CS-areas-have-the-most-low-hanging-fruit-for-research&quot;&gt;Computer Science Research: Which CS areas have the most low-hanging fruit for research?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Big-Data/Why-the-current-obsession-with-big-data&quot;&gt;Big Data: Why the current obsession with &amp;quot;big&amp;quot; data?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Distributed-Systems/Which-conferences-are-the-best-to-follow-for-Distributed-Systems&quot;&gt;Distributed Systems: Which conferences are the best to follow for Distributed Systems?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Database-Systems/What-are-the-best-recommended-research-topics-on-databases-according-to-edge-technologies-and-recent-research-trends&quot;&gt;What are the best recommended research topics on databases according to edge technologies and recent research trends?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Distributed-Systems/What-are-the-most-interesting-research-projects-related-to-the-management-of-distributed-systems&quot;&gt;Distributed Systems: What are the most interesting research projects related to the management of distributed systems?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/TCP-IP/What-are-some-high-performance-TCP-hacks&quot;&gt;TCP/IP: What are some high performance TCP hacks?&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Pike, Systems Software Research is Irrelevant:&lt;b&gt; &lt;/b&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://herpolhode.com/rob/utah2000.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://herpolhode.com/rob&lt;wbr /&gt;/utah20...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Concurrency in &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Go-programming-language&quot;&gt;Go (programming language)&lt;/a&gt;&lt;/span&gt;: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://golang.org/doc/effective_go.html#concurrency&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://golang.org/doc/eff&lt;wbr /&gt;ective_...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Communicating Sequential Processes (CSP): &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.usingcsp.com/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.usingcsp.com/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Scalable Joins: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/projects/scalablejoins/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://research.microsoft&lt;wbr /&gt;.com/en...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Kestrel, tiny queue system based on starling, in scala: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://github.com/robey/kestrel&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://github.com/robey/&lt;wbr /&gt;kestrel&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Disruptor - concurrent programming framework: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://code.google.com/p/disruptor/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://code.google.com/p/&lt;wbr /&gt;disruptor/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;DataTurbine streaming engine: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.dataturbine.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.dataturbine.or&lt;wbr /&gt;g/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;The Task Parallel Library (TPL) in .NET: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://msdn.microsoft.com/en-us/devlabs/gg585582&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://msdn.microsoft.com&lt;wbr /&gt;/en-us/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;A crash course on modern hardware: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.infoq.com/presentations/click-crash-course-modern-hardware&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.infoq.com/pres&lt;wbr /&gt;entatio...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Infinispan data grid on top of JGroups: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.jboss.org/infinispan&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.jboss.org/infi&lt;wbr /&gt;nispan&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Memcached distributed cache on top of Jgroups: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.jgroups.org/memcached/memcached.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.jgroups.org/me&lt;wbr /&gt;mcached...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Scalable Application Layer Multicast: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://pages.cs.wisc.edu/~suman/pubs/sigcomm02.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://pages.cs.wisc.edu/&lt;wbr /&gt;~suman/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Hadapt: Efficient Processing of Data Warehousing Queries in a split execution environment: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1989447&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://portal.acm.org/cit&lt;wbr /&gt;ation.c...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Danga&amp;#039;s open source projects: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://danga.com/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://danga.com/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Hadoop on MPI: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://hadoopbi.com/index.php/technology/hadoop-on-mpi&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://hadoopbi.com/index&lt;wbr /&gt;.php/te...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Hadoop on Pallet: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://sritchie.github.com/2011/05/31/hadoop-on-pallet.html&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://sritchie.github.co&lt;wbr /&gt;m/2011/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Oracle Grid Engine: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Oracle_Grid_Engine&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Ora...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Ejabberd:&amp;nbsp; a scalable XMPP instant messaging server: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.ejabberd.im/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.ejabberd.im/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Cheetah - Circuit-switched High-speed End-to-End Transport ArcHitecture: &lt;br /&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.ece.virginia.edu/cheetah/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.ece.virginia.e&lt;wbr /&gt;du/chee...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;PVM: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.snakebytestudios.com/columns/academic/parallel_prog/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.snakebytestudi&lt;wbr /&gt;os.com/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Systems at ETH Zurich: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.systems.ethz.ch/research/projects&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.systems.ethz.c&lt;wbr /&gt;h/resea...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;OpenCL: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.khronos.org/opencl/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.khronos.org/op&lt;wbr /&gt;encl/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Cloud Haskell: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel/remote.pdf&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://research.microsoft&lt;wbr /&gt;.com/en...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Concurrent programming in Erlang: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.erlang.org/erlang_book_toc.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.erlang.org/erl&lt;wbr /&gt;ang_boo...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Concurrent programming in Occam 2: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Programming-Occam-2-Instruction-Set/dp/0201173719/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Pro&lt;wbr /&gt;grammin...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Concurrent and Real-Time Programming in Ada: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/Concurrent-Real-Time-Programming-Alan-Burns/dp/0521866979&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/Con&lt;wbr /&gt;current...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Distributed Programming in Ruby: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.amazon.com/dp/0321638360/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.amazon.com/dp/&lt;wbr /&gt;0321638...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;REST: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://rest.elkstein.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://rest.elkstein.org/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Gearman: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://gearman.org&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://gearman.org&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Drizzle: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://launchpad.net/drizzle&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://launchpad.net/dri&lt;wbr /&gt;zzle&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Distributed logging with syslog:&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://wiki.archlinux.org/index.php/Syslog-ng&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://wiki.archlinux.or&lt;wbr /&gt;g/index...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Logs are streams, not files: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://adam.heroku.com/past/2011/4/1/logs_are_streams_not_files/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://adam.heroku.com/pa&lt;wbr /&gt;st/2011...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Utilizing Redis in distributed Erlang systems (Heroku):&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://erlang-factory.herokuapp.com/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://erlang-factory.her&lt;wbr /&gt;okuapp....&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;MS Command Shell: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://arstechnica.com/business/news/2005/10/msh.ars&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://arstechnica.com/bu&lt;wbr /&gt;siness/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;MS PowerShell: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Windows_PowerShell&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Win...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;DRb - Distributed Ruby: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://segment7.net/projects/ruby/drb/introduction.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://segment7.net/proje&lt;wbr /&gt;cts/rub...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;God - The Ruby Framework for Process Management: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://github.com/mojombo/god&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://github.com/mojomb&lt;wbr /&gt;o/god&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Taco Bell programming: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://teddziuba.com/2010/10/taco-bell-programming.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://teddziuba.com/2010&lt;wbr /&gt;/10/tac...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Rush - the Ruby Shell: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://rush.heroku.com/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://rush.heroku.com/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;CloudCrowd: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://github.com/documentcloud/cloud-crowd&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://github.com/docume&lt;wbr /&gt;ntcloud...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Coda: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.coda.cs.cmu.edu&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.coda.cs.cmu.ed&lt;wbr /&gt;u&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Tenzing: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://research.google.com/pubs/pub37200.html&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://research.google.co&lt;wbr /&gt;m/pubs/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;GNTP: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.growlforwindows.com/gfw/help/gntp.aspx&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.growlforwindow&lt;wbr /&gt;s.com/g...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;CycleCloud : &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://blog.cyclecomputing.com/2011/09/new-cyclecloud-cluster-is-a-triple-threat-30000-cores-massive-spot-instances-grill-chef-monitoring-g.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://blog.cyclecomputin&lt;wbr /&gt;g.com/2...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;GNU Parallel: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.gnu.org/software/parallel/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.gnu.org/softwa&lt;wbr /&gt;re/para...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Torque: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.adaptivecomputing.com/products/torque.php&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.adaptivecomput&lt;wbr /&gt;ing.com...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Chef: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.opscode.com/chef/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.opscode.com/ch&lt;wbr /&gt;ef/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Dempsy - Nokia&amp;#039;s Distributed Elastic Message Processing System: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://dempsy.github.com/Dempsy/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://dempsy.github.com/&lt;wbr /&gt;Dempsy/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;F1 -The Fault-Tolerant Distributed RDBMS Supporting Google&amp;#039;s Ad Business: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://research.google.com/pubs/pub38125.html&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://research.google.co&lt;wbr /&gt;m/pubs/...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Galaxy - a distributed in-memory data grid by Parallel Universe: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://blog.paralleluniverse.co/post/26909672264/on-distributed-memory&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://blog.parallelunive&lt;wbr /&gt;rse.co/...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Spanner: Google&amp;#039;s Globally-Distributed Database:&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://research.google.com/archive/spanner.html&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://research.google.co&lt;wbr /&gt;m/archi...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Jingle: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://code.google.com/p/libjingle/&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://code.google.com/p/&lt;wbr /&gt;libjingle/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Paxos Made Live: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.eecs.harvard.edu/cs262/Readings/paxosmadelive.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.eecs.harvard.e&lt;wbr /&gt;du/cs26...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;TeleHash: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://github.com/quartzjer/TeleHash&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://github.com/quartz&lt;wbr /&gt;jer/Tel...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Adobe RTMP: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Real_Time_Messaging_Protocol&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Rea...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;UPnP: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Universal_Plug_and_Play&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Uni...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;IP multicast: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/IP_multicast&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/IP_...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Reliable multicast: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Reliable_multicast&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Rel...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;JGroups: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.jgroups.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.jgroups.org/&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;LDPC Codes: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Low-density_parity-check_code&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://en.wikipedia.org/w&lt;wbr /&gt;iki/Low...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Erasure codes: see the last chapter in D.J.C MacKay&amp;#039;s&amp;nbsp; &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.inference.phy.cam.ac.uk/itprnn/book.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.inference.phy.&lt;wbr /&gt;cam.ac....&lt;/a&gt;&lt;/span&gt; (note that some of these are heavily patented, e.g. &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.inference.phy.cam.ac.uk/mackay/fountain.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://www.inference.phy.&lt;wbr /&gt;cam.ac....&lt;/a&gt;&lt;/span&gt; )&lt;/li&gt;&lt;li&gt;Blaze: Next-gen NumPy on which to build out-of-core and distributed algorithms: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://speakerdeck.com/sdiehl/blaze-next-generation-numpy&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://speakerdeck.com/s&lt;wbr /&gt;diehl/b...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://spark-project.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;spark-project.org&amp;quot;)&quot;&gt;Spark&lt;/a&gt;&lt;/span&gt; cluster computing by&amp;nbsp; UC Berkeley AMPLab&lt;br /&gt;&lt;/li&gt;&lt;li&gt;NSQ by &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://bit.ly&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;bit.ly&amp;quot;)&quot;&gt;bitly | ♥ your bitmarks&lt;/a&gt;&lt;/span&gt;: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://word.bitly.com/post/33232969144/nsq&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;bitly.com&amp;quot;)&quot;&gt;NSQ: realtime distributed message processing at scale&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://celeryproject.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;celeryproject.org&amp;quot;)&quot;&gt;Celery: Distributed Task Queue&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Go&amp;#039;Circuit by Tumblr: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.gocircuit.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;gocircuit.org&amp;quot;)&quot;&gt;Paradigm for developing and sustaining Big Data apps&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;List of popular backend stacks: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://gist.github.com/ragingwind/5840075&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;github.com&amp;quot;)&quot;&gt;ragingwind/backend-archit&lt;wbr /&gt;ectures.md&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://cran.r-project.org/web/views/HighPerformanceComputing.html&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;r-project.org&amp;quot;)&quot;&gt;CRAN Task View: High-Performance and Parallel Computing with R&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Apache_Accumulo&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;wikipedia.org&amp;quot;)&quot;&gt;Apache Accumulo&lt;/a&gt;&lt;/span&gt; by NSA&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://github.com/rossjones/alternative-internet&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;github.com&amp;quot;)&quot;&gt;alternative-internet&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;OpenFlow for programmable networks: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://archive.openflow.org/documents/openflow-wp-latest.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;openflow.org&amp;quot;)&quot;&gt;Page on Openflow&lt;/a&gt;&lt;/span&gt;, switch spec: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://archive.openflow.org/documents/openflow-spec-v1.1.0.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;http://archive.openflow.o&lt;wbr /&gt;rg/docu...&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://bradhedlund.com/2011/04/21/data-center-scale-openflow-sdn&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;bradhedlund.com&amp;quot;)&quot;&gt;On data center scale, OpenFlow, and SDN&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://www.docker.io/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;docker.io&amp;quot;)&quot;&gt;Docker, The linux container engine&lt;/a&gt;&lt;/span&gt; , and one use case at Etsy: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://codeascraft.com/2013/09/23/lxc-running-14000-tests-per-day-and-beyond-part-1/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;codeascraft.com&amp;quot;)&quot;&gt;LXC - Running 14,000 tests per day and beyond! (Part 1)&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://mesos.apache.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;apache.org&amp;quot;)&quot;&gt;Apache Mesos&lt;/a&gt;&lt;/span&gt; (A Platform for Fine-Grained Resource Sharing in the Data Center, tech report: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://mesos.berkeley.edu/mesos_tech_report.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;berkeley.edu&amp;quot;)&quot;&gt;Page on Berkeley&lt;/a&gt;&lt;/span&gt; )&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Apache Spark: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://spark.incubator.apache.org/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;apache.org&amp;quot;)&quot;&gt;Lightning-Fast Cluster Computing&lt;/a&gt;&lt;/span&gt; via &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://news.ycombinator.com/item?id=6466889&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot;&gt;https://news.ycombinator.&lt;wbr /&gt;com/ite...&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Google&amp;#039;s MillWheel: Fault-Tolerant Stream Processing at Internet Scale: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en//pubs/archive/41378.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;googleusercontent.com&amp;quot;)&quot;&gt;Page on Googleusercontent&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Google&amp;#039;s Sibyl, a distributed learning system: &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.magicbroom.info/Papers/Ladis10.pdf‎&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;magicbroom.info&amp;quot;)&quot;&gt;www.magicbroom.info/Paper&lt;wbr /&gt;s/Ladis10.pdf‎&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Berkeley amplab - SQL Benchmark: Redshift vs Hive vs Impala vs Shark : &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;https://amplab.cs.berkeley.edu/benchmark/&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;berkeley.edu&amp;quot;)&quot;&gt;Big Data Benchmark&lt;/a&gt;&lt;/span&gt; based on &lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://database.cs.brown.edu/sigmod09/benchmarks-sigmod09.pdf&quot; rel=&quot;nofollow&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;brown.edu&amp;quot;)&quot;&gt;Page on Brown&lt;/a&gt;&lt;/span&gt; &lt;/li&gt;&lt;li&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://engineering.linkedin.com/distributed-systems/log-what-every-software-engineer-should-know-about-real-time-datas-unifying&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;linkedin.com&amp;quot;)&quot;&gt;&lt;i&gt;The Log: What every software engineer should know about real-time data&amp;#039;s unifying abstraction | LinkedIn Engineering &lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&lt;i&gt;by &lt;/i&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Jay-Kreps&quot;&gt;&lt;i&gt;Jay Kreps&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&lt;i&gt; (also &lt;/i&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/srikanth/netdb11/netdb11papers/netdb11-final12.pdf&quot; class=&quot;external_link&quot; target=&quot;_blank&quot; onmouseover=&quot;return require(&amp;quot;qtext&amp;quot;).tooltip(this, &amp;quot;microsoft.com&amp;quot;)&quot;&gt;&lt;i&gt;Kafka: a Distributed Messaging System for Log Processing&lt;/i&gt;&lt;/a&gt;&lt;/span&gt;&lt;i&gt; ) &lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;i&gt;(This is a live list. Edits and additions welcome)&lt;/i&gt;&lt;/blockquote&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/What-are-some-good-resources-for-learning-about-distributed-computing-Why/answer/Alex-Kamil&quot;&gt;View Answer on Quora&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/485633624658748497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/02/what-are-some-good-resources-for.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/485633624658748497'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/485633624658748497'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/02/what-are-some-good-resources-for.html' title='What are some good resources for learning about distributed computing?&#xa;Why?'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-4735425974658544213</id><published>2014-02-25T00:11:00.000-06:00</published><updated>2014-08-22T16:17:38.237-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ETL"/><title type='text'>Why is ETL associated mostly with data warehousing? Isn&amp;#39;t ETL a&#xa;procedure that eventually may apply when loading raw data to a&#xa;transactio...</title><content type='html'>&lt;blockquote&gt;Why is ETL associated mostly with Data Warehousing? &lt;br /&gt;Isn&amp;#039;t ETL a procedure that eventually even may apply when loading raw data to a transactional databse?&lt;/blockquote&gt;&lt;span class=&quot;qlink_container&quot;&gt;&lt;a href=&quot;http://www.quora.com/Why-is-ETL-associated-mostly-with-data-warehousing-Isnt-ETL-a-procedure-that-eventually-may-apply-when-loading-raw-data-to-a-transactional-database&quot;&gt;View Question on Quora&lt;/a&gt;&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/4735425974658544213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/02/why-is-etl-associated-mostly-with-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/4735425974658544213'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/4735425974658544213'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/02/why-is-etl-associated-mostly-with-data.html' title='Why is ETL associated mostly with data warehousing? Isn&amp;#39;t ETL a&#xa;procedure that eventually may apply when loading raw data to a&#xa;transactio...'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-4250378757829344797</id><published>2014-02-03T01:37:00.000-06:00</published><updated>2014-08-22T16:17:38.222-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="distributed systems"/><category scheme="http://www.blogger.com/atom/ns#" term="NoSQL"/><title type='text'>Eventual consistency in simple terms</title><content type='html'>Unless you live under a rock, you know 15 minutes can save you 15% and big data is going to make life super awesome!&lt;br/&gt;&lt;br/&gt;I don&#39;t know if GEICO has consistency issues but big data does and I get the feeling the IT media and software vendors are trying to hide that under a rock.&lt;br/&gt;&lt;br/&gt;Big data does a few things really well.  Specifically, write data and scale.  Sounds awesome, huh?  Well, hold on.  In order to do this it has many, many copies of the data stored all over the place.  Sometimes the copy A is updated and sometimes copy B is updated.  The point is to be able to write data at amazing scale and speed and distributing the data all over the place achieves this very difficult task.&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;strong&gt;&lt;em&gt;But, but ...&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;br/&gt;Don&#39;t worry, &lt;em&gt;eventually&lt;/em&gt; these copies of data are synchronized to represent a single version of the truth.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;&lt;em&gt;But, but ...&lt;/em&gt;&lt;/strong&gt;&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;The word eventually scare you?  It should.  You see, in order to write data at all times and scale infinitely, something had to give.  That something is the synchronization of distributed data.&lt;/p&gt;&lt;br/&gt;&lt;br/&gt;&lt;blockquote&gt;&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;em&gt;&lt;strong&gt;Put simply, big data distributes multiple copies of a database, writes to whichever copy is available and synchronizes the data when it can.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;br/&gt;&lt;/blockquote&gt;&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;em&gt;&lt;strong&gt;What the ...&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;I know, right?  I&#39;m curious if there is a distributed system out there that has ever reached consistency.  If the point is to write at all costs because you have such a high volume of updates, when is there time to synchronize?&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;For those who prefer a more technical definition of eventual consistency:&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Eventual consistency is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Consistency_model&quot;&gt;consistency model&lt;/a&gt; used in &lt;a href=&quot;http://en.wikipedia.org/wiki/Distributed_computing&quot;&gt;distributed computing&lt;/a&gt; that informally guarantees that, if no new updates are made to a given data item, eventually all accesses to that item will return the last updated value.&lt;a href=&quot;http://en.wikipedia.org/wiki/Eventual_consistency#cite_note-Vogels-1&quot;&gt;[1]&lt;/a&gt;&lt;/p&gt;&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;How does this necessity of invention sit with you?&lt;/p&gt;&lt;br/&gt;[polldaddy poll=7768766]&lt;br/&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/4250378757829344797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/02/eventual-consistency-in-simple-terms.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/4250378757829344797'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/4250378757829344797'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/02/eventual-consistency-in-simple-terms.html' title='Eventual consistency in simple terms'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-8187553595819244854</id><published>2014-01-23T08:30:00.000-06:00</published><updated>2014-08-22T16:17:38.199-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><title type='text'>Microsoft Data Quality Services: Market Impact?</title><content type='html'>I have been getting my feet wet with Microsoft&#39;s Data Quality Services and as I read more and more I cannot help but think about how this feature introduction will impact the DQ market.  I know there will be some that scuff at this suggestion, but I think there a ripple forming in Seattle (and I am not talking about Richard Sherman) that is going to stir the market.&lt;br/&gt;&lt;br/&gt;Here is why I think Microsoft has the potential to disrupt the DQ market ...&lt;br/&gt;&lt;ul&gt;&lt;br/&gt;	&lt;li&gt; most DQ solutions on the market cost more than the SMB market can afford&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;they require skill sets that are hard to come by and demand considerable compensation&lt;/li&gt;&lt;br/&gt;	&lt;li&gt;many SMBs own MS SQL Server for some, if not all, their database needs&lt;/li&gt;&lt;br/&gt;&lt;/ul&gt;&lt;br/&gt;what do you think?&lt;br/&gt;&lt;br/&gt;[polldaddy poll=7739976]&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;br/&gt;&amp;nbsp;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/8187553595819244854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2014/01/microsoft-data-quality-services-market.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/8187553595819244854'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/8187553595819244854'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2014/01/microsoft-data-quality-services-market.html' title='Microsoft Data Quality Services: Market Impact?'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-5774246783330873644</id><published>2013-10-23T03:06:00.000-05:00</published><updated>2014-08-22T16:17:38.051-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="opinion"/><category scheme="http://www.blogger.com/atom/ns#" term="Quote"/><category scheme="http://www.blogger.com/atom/ns#" term="relationships"/><title type='text'>relationship fail</title><content type='html'>&lt;blockquote&gt;trust me&lt;/blockquote&gt;&lt;br/&gt;this is not a relationship strategy</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/5774246783330873644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2013/10/relationship-fail.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/5774246783330873644'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/5774246783330873644'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2013/10/relationship-fail.html' title='relationship fail'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-1815606300519134457</id><published>2013-09-26T05:58:00.000-05:00</published><updated>2014-08-22T16:17:38.185-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Big Data"/><category scheme="http://www.blogger.com/atom/ns#" term="customer data integration"/><category scheme="http://www.blogger.com/atom/ns#" term="distributed systems"/><category scheme="http://www.blogger.com/atom/ns#" term="eventual consistency"/><category scheme="http://www.blogger.com/atom/ns#" term="NoSQL"/><title type='text'>Would you read my Big Data book?</title><content type='html'>As you my know, I am pretty critical of the &quot;big data&quot; hype in the information technology media.  One of my criticisms is the very term &quot;big data&quot;.  Frankly, I hate the term as much as I hate the outrageous claims that are out there.&lt;br/&gt;&lt;br/&gt;I prefer to talk about distributed systems which is really the differentiator in this space, in my humble [ref] degrees of humility can easily be argued[/ref] opinion.&lt;br/&gt;&lt;br/&gt;As I researched distributed systems (DS), I came across a topic that struck a chord with my passion for data quality.  The topic was the CAP Theorem and notion of eventual consistency.  At this point, I am becoming obsessed with the notion of eventual consistency.&lt;br/&gt;&lt;br/&gt;As a result, I am convinced I need to write a book on the topic and its implications on deploying distributed systems to a business and its decisions.&lt;br/&gt;&lt;br/&gt;However, before I get too far down the line, I want to know is ...&lt;br/&gt;&lt;blockquote&gt;&lt;br/&gt;&lt;h2&gt;would you read my book about eventual consistency and how that would impact a distributed system&#39;s ability to aid in the process of making business decisions?&lt;/h2&gt;&lt;br/&gt;&lt;/blockquote&gt;&lt;br/&gt;&lt;address&gt;Please vote and let me know!&lt;/address&gt;&lt;address&gt;[polldaddy poll=7427832]&lt;/address&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/1815606300519134457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2013/09/would-you-read-my-big-data-book.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/1815606300519134457'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/1815606300519134457'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2013/09/would-you-read-my-big-data-book.html' title='Would you read my Big Data book?'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-9147481142526998062</id><published>2013-09-25T04:54:00.000-05:00</published><updated>2014-08-22T16:17:38.162-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data analysis"/><category scheme="http://www.blogger.com/atom/ns#" term="ETL"/><category scheme="http://www.blogger.com/atom/ns#" term="fields terminated by"/><category scheme="http://www.blogger.com/atom/ns#" term="ignore 1 lines"/><category scheme="http://www.blogger.com/atom/ns#" term="load data"/><category scheme="http://www.blogger.com/atom/ns#" term="local infile"/><category scheme="http://www.blogger.com/atom/ns#" term="MySQL"/><title type='text'>MySQL: loading data from an external file</title><content type='html'>&lt;h2&gt;Path of least resistance&lt;/h2&gt;&lt;br/&gt;When you need to get something done quickly, the community edition of MySQL is a great option.   It has just what you need in terms of a management studio and requires very little setup.&lt;br/&gt;&lt;br/&gt;Yesterday I was in that exact circumstance.  I have some data files that I need to analyze and not much time to do it.  So I downloaded the community edition of MySQL (found &lt;a title=&quot;here&quot; href=&quot;http://www.mysql.com/products/community/&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;).&lt;br/&gt;&lt;h2&gt;Data time!&lt;/h2&gt;&lt;br/&gt;As I said, I needed to get some analysis done quickly, so I created a few tables with your basic ANSI &lt;code&gt; create table &lt;/code&gt; statements and I was ready to load my data.&lt;br/&gt;&lt;br/&gt;I was loading data from delimited sources not located in the default MySQL data directory so I had to include a few wrinkles in my &lt;code&gt; load data &lt;/code&gt; statement. By the way, &lt;code&gt; load data &lt;/code&gt; is the command for loading data from a file into a MySQL table.&lt;br/&gt;&lt;h3&gt;The wrinkles&lt;/h3&gt;&lt;br/&gt;Since I was loading data from an external file I had to include the following statement in my &lt;code&gt; load data &lt;/code&gt;statement:&lt;br/&gt;&lt;code&gt; Load data LOCAL INFILE &#39;INSERT FILE PATH HERE&#39; &lt;/code&gt;&lt;br/&gt;I was using a comma delimited file so I had to include the following statement as well:&lt;br/&gt;&lt;code&gt; FIELDS TERMINATED BY &#39;,&#39; &lt;/code&gt;&lt;br/&gt;And finally, I had column headers in external file so the following statement was necessary:&lt;br/&gt;&lt;code&gt; IGNORE 1 LINES &lt;/code&gt;&lt;br/&gt;The load script, when complete, looked like this:&lt;code&gt;&lt;br/&gt;Use SCHEMA NAME;&lt;br/&gt;Load data LOCAL INFILE Load data LOCAL INFILE &#39;INSERT FILE PATH HERE&#39;&lt;br/&gt;into table TARGET TABLE HERE&lt;br/&gt;FIELDS TERMINATED BY &#39;,&#39;&lt;br/&gt;IGNORE 1 LINES; &lt;/code&gt;&lt;br/&gt;&lt;br/&gt;Nothing too magical, but I wanted to pass it along and, hopefully, save some of you the time in looking up the statements.&lt;br/&gt;&lt;br/&gt;More information on MySQL load data parameters can be found &lt;a title=&quot;here&quot; href=&quot;http://dev.mysql.com/doc/refman/5.1/en/load-data.html&quot; target=&quot;_blank&quot;&gt;here&lt;/a&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/9147481142526998062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2013/09/mysql-loading-data-from-external-file.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/9147481142526998062'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/9147481142526998062'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2013/09/mysql-loading-data-from-external-file.html' title='MySQL: loading data from an external file'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-8639135379272561290</id><published>2013-09-15T03:16:00.000-05:00</published><updated>2014-08-22T16:17:38.089-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><category scheme="http://www.blogger.com/atom/ns#" term="Quote"/><title type='text'>a thought on brand loyalty</title><content type='html'>&lt;blockquote&gt;dance with who brought you&lt;/blockquote&gt;&lt;br/&gt;Want brand loyalty?  Take your customers to a dance!</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/8639135379272561290/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2013/09/a-thought-on-brand-loyalty.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/8639135379272561290'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/8639135379272561290'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2013/09/a-thought-on-brand-loyalty.html' title='a thought on brand loyalty'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-8566381976990872444</id><published>2013-09-01T05:16:00.000-05:00</published><updated>2014-08-22T16:17:38.135-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Best Practices"/><category scheme="http://www.blogger.com/atom/ns#" term="data integration"/><category scheme="http://www.blogger.com/atom/ns#" term="data migration"/><category scheme="http://www.blogger.com/atom/ns#" term="ETL"/><category scheme="http://www.blogger.com/atom/ns#" term="source to target mapping"/><title type='text'>How to design a Source to Target Matrix</title><content type='html'>After working a Source to Target Matrix (STTM) for weeks I came to a rather disappointing conclusion ... we laid out the matrix by sources and a developer can&#39;t pick that up and start developing. To say the least I was upset at myself and frustrated that we needed to reorganize this document again.  So I decided to pass on this piece of advice to you so you don&#39;t have to go through this like did.&lt;br/&gt;&lt;blockquote&gt;Organize your STTM by targets and not sources&lt;/blockquote&gt;&lt;br/&gt;The target is what the developer is using as a starting point.  As a result, the developer needs to have his work, the mappings, organized by targets.  I&#39;m not suggesting deviating from the left to right convention of source to target, but rather building a STTM for each target.  In many cases this means having a Excel tab for each target.&lt;br/&gt;&lt;br/&gt;Sounds simple enough, right?  In reality it is simple but the complexity comes in how the information is gathered or relayed from clients.  If you start conversations with the client in the context of a target the approach &lt;em&gt;is&lt;/em&gt; straight forward.  But that&#39;s not reality.  Clients start by talking about sources because that is what they know.  At the end of that session you end up with one source and multiple targets and a document you need to reorganize.&lt;br/&gt;&lt;blockquote&gt;Have migration conversations with clients in the context of the target and save everyone the time of reorganizing and confirming the requirements&lt;/blockquote&gt;&lt;br/&gt;This approach is rooted in the principle of beginning with the end in mind.  In my experience, when everyone understands the goal in detail it is much easier, efficient and accurate to hit the target (no pun intended! Well maybe a little).</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/8566381976990872444/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2013/09/how-to-design-source-to-target-matrix.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/8566381976990872444'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/8566381976990872444'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2013/09/how-to-design-source-to-target-matrix.html' title='How to design a Source to Target Matrix'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-5557647084243965832</id><published>2013-08-23T08:09:00.000-05:00</published><updated>2014-08-22T16:17:38.062-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="opinion"/><category scheme="http://www.blogger.com/atom/ns#" term="Quote"/><title type='text'>comprehension</title><content type='html'>&lt;blockquote&gt;If you can&#39;t explain it simply, you don&#39;t understand it well enough.&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/5557647084243965832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2013/08/comprehension.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/5557647084243965832'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/5557647084243965832'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2013/08/comprehension.html' title='comprehension'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-3347104472205114744</id><published>2013-07-23T07:56:00.000-05:00</published><updated>2014-08-22T16:17:38.100-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Best Practices"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Governance"/><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><title type='text'>The dependent relationship of data quality and data governance</title><content type='html'>In my experience adding data quality to a data governance initiative is critical to an efficient, effective and demonstrative program.  In this presentation I outline the ways in which data quality can enable and increase the effectiveness of the three core data governance activities.&lt;br/&gt;&lt;br/&gt;&amp;nbsp;&lt;br/&gt;&lt;br/&gt;[slideshare id=24547684&amp;amp;doc=thedependentrelationshipofdataqualitydata-130723125048-phpapp02]</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/3347104472205114744/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2013/07/the-dependent-relationship-of-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/3347104472205114744'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/3347104472205114744'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2013/07/the-dependent-relationship-of-data.html' title='The dependent relationship of data quality and data governance'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-1430094933241325088</id><published>2013-07-03T03:24:00.000-05:00</published><updated>2014-08-22T16:17:38.021-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><category scheme="http://www.blogger.com/atom/ns#" term="Quote"/><title type='text'>K9 Wisdom that applies to many situations</title><content type='html'>&lt;blockquote&gt;once a dog bites, he is a biting dog&lt;/blockquote&gt;</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/1430094933241325088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2013/07/k9-wisdom-that-applies-to-many.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/1430094933241325088'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/1430094933241325088'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2013/07/k9-wisdom-that-applies-to-many.html' title='K9 Wisdom that applies to many situations'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6334988184455137068.post-2896942560810073984</id><published>2013-06-04T03:20:00.000-05:00</published><updated>2014-08-22T16:17:38.010-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="data quality"/><category scheme="http://www.blogger.com/atom/ns#" term="Quote"/><title type='text'>Anatomical clue</title><content type='html'>&lt;blockquote&gt;you have 2 ears and 1 mouth ... listen twice as much as you talk&lt;/blockquote&gt;&lt;br/&gt;Salesmen, product managers, consultants, experts and developers take heed ... you are boring and are being paid to listen not talk.&lt;br/&gt;&lt;br/&gt;There I said it, were you listening or waiting to talk?</content><link rel='replies' type='application/atom+xml' href='https://dqchronicle.blogspot.com/feeds/2896942560810073984/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://dqchronicle.blogspot.com/2013/06/anatomical-clue.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/2896942560810073984'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/6334988184455137068/posts/default/2896942560810073984'/><link rel='alternate' type='text/html' href='https://dqchronicle.blogspot.com/2013/06/anatomical-clue.html' title='Anatomical clue'/><author><name>data quality chronicle</name><uri>http://www.blogger.com/profile/00951965509104199976</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>