<?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: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-6600031926236414135</id><updated>2012-01-21T00:48:05.643Z</updated><category term='Distributed Computing'/><category term='logging'/><category term='DHT'/><category term='slideware'/><category term='Data Consistency'/><category term='codebits'/><category term='consensus'/><category term='NoSQL'/><category term='cap'/><category term='databases'/><title type='text'>@paulogaspar7</title><subtitle type='html'>I write code. I do a few other things too...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://paulogaspar7.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600031926236414135/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://paulogaspar7.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Paulo Gaspar</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6600031926236414135.post-3298513838619472016</id><published>2012-01-21T00:28:00.001Z</published><updated>2012-01-21T00:29:09.606Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='slideware'/><category scheme='http://www.blogger.com/atom/ns#' term='logging'/><category scheme='http://www.blogger.com/atom/ns#' term='codebits'/><title type='text'>Logging (and Exception Handling)</title><content type='html'>During the last year, the exception handling and logging themes have been quite recurrent, even leading to a talk I gave at&amp;nbsp;&lt;a href="http://codebits.eu/" target="_blank"&gt;Codebits 2011&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Since the theme is still coming back to me, both at work and online (this time via&amp;nbsp;&lt;a href="https://twitter.com/#!/sbtourist" target="_blank"&gt;Sergio Bossa&lt;/a&gt;), I decided to dump here some of the information I have been collecting and producing.&lt;br /&gt;&lt;br /&gt;For starters, this is an enriched version of the slideware I used for the above mentioned Codebits talk:&lt;br /&gt;&lt;div id="__ss_10385403" style="width: 425px;"&gt;&lt;strong style="display: block; margin: 12px 0 4px;"&gt;&lt;a href="http://www.slideshare.net/paulogaspar7/exceptionloggingdiagnostics-2011" target="_blank" title="Exception+Logging=Diagnostics 2011"&gt;Exception+Logging=Diagnostics 2011&lt;/a&gt;&lt;/strong&gt; &lt;iframe frameborder="0" height="355" marginheight="0" marginwidth="0" scrolling="no" src="http://www.slideshare.net/slideshow/embed_code/10385403" width="425"&gt;&lt;/iframe&gt; &lt;br /&gt;&lt;div style="padding: 5px 0 12px;"&gt;(Other of my presentations can be found &lt;a href="http://www.slideshare.net/paulogaspar7" target="_blank"&gt;here&lt;/a&gt;.)&lt;/div&gt;&lt;/div&gt;As with my previous presentations, if you download it, you will find some extra information (including the URLs of the most important sources I used) at the slide's comments.&amp;nbsp;(I am sorry, but SlideShare does not seem to be able to display the comments from the Powerpoint format I used this time.)&lt;br /&gt;&lt;br /&gt;Anyway, my favorite articles and presentations about logging are currently here:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://tech.puredanger.com/2008/03/25/log-levels/" target="_blank"&gt;http://tech.puredanger.com/2008/03/25/log-levels/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Log4j#Log_level" target="_blank"&gt;http://en.wikipedia.org/wiki/Log4j#Log_level&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://codemonkeyism.com/7-good-rules-to-log-exceptions/" target="_blank"&gt;http://codemonkeyism.com/7-good-rules-to-log-exceptions/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://codemonkeyism.com/7-more-good-tips-on-logging/" target="_blank"&gt;http://codemonkeyism.com/7-more-good-tips-on-logging/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://juliusdavies.ca/logging/llclc.html" target="_blank"&gt;http://juliusdavies.ca/logging/llclc.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.slideshare.net/anton_chuvakin/application-logging-good-bad-ugly-beautiful-presentation" target="_blank"&gt;http://www.slideshare.net/anton_chuvakin/application-logging-good-bad-ugly-beautiful-presentation&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://chuvakin.blogspot.com/" target="_blank"&gt;http://chuvakin.blogspot.com/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Naturally, I do not agree with everything written in the above mentioned articles. Well, give it some time and I might not agree with everything I wrote on my own slideware...&lt;br /&gt;&lt;br /&gt;I believe, however, these articles to be useful fuel to help anyone, with enough critical thinking, to build their own paths.&lt;br /&gt;&lt;br /&gt;Having to talk about logging helped me to step further away of the self centered view most developers seem to have about logging. I had already taken a few steps out of there by working together with sysadmins and other colleagues, supporting the larger applications I worked on and sharing their pains. But making a presentation always forces me to have a much deeper reflection about the presentation's subject.&lt;br /&gt;&lt;br /&gt;That is why my slideware focuses on the &lt;b&gt;communication role&lt;/b&gt; of logging, as do several of the above mentioned sources.&lt;br /&gt;&lt;br /&gt;Instead of developing this blog entry further, just read with attention the above articles. Believe me: must of us have a very bad logging communication... Poor sysadmins!&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600031926236414135-3298513838619472016?l=paulogaspar7.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://paulogaspar7.blogspot.com/feeds/3298513838619472016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paulogaspar7.blogspot.com/2012/01/logging-and-exception-handling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600031926236414135/posts/default/3298513838619472016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600031926236414135/posts/default/3298513838619472016'/><link rel='alternate' type='text/html' href='http://paulogaspar7.blogspot.com/2012/01/logging-and-exception-handling.html' title='Logging (and Exception Handling)'/><author><name>Paulo Gaspar</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6600031926236414135.post-2179881067829022054</id><published>2009-12-22T05:21:00.002Z</published><updated>2009-12-22T05:23:09.871Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='slideware'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Consistency'/><category scheme='http://www.blogger.com/atom/ns#' term='NoSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='Distributed Computing'/><category scheme='http://www.blogger.com/atom/ns#' term='cap'/><category scheme='http://www.blogger.com/atom/ns#' term='consensus'/><category scheme='http://www.blogger.com/atom/ns#' term='codebits'/><title type='text'>My "Distributed Programming and Data Consistency" Codebits talk slideware</title><content type='html'>I am finally publishing the slideware for my &lt;a href="http://codebits.eu/"&gt;SAPO Codebits 2009&lt;/a&gt; talk entitled "Distributed Programming and Data Consistency".&lt;br /&gt;&lt;br /&gt;I first wanted to complete its notes in order to:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Allow its use independently from the talk's &lt;a href="http://videos.sapo.pt/EDWZL0vBGD9PSS294huH"&gt;video&lt;/a&gt; (in Portuguese);&lt;/li&gt;&lt;li&gt;Provide enough bibliography / reference material to ease further study on any of the covered issues.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Here it is:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div id="__ss_2762962" style="text-align: left; width: 477px;"&gt;&lt;a href="http://www.slideshare.net/paulogaspar7/distributed-programming-and-data-consistency-w-notes" style="display: block; font: 14px Helvetica,Arial,Sans-serif; margin: 12px 0 3px 0; text-decoration: underline;" title="Distributed Programming and Data Consistency w/ Notes"&gt;Distributed Programming and Data Consistency w/ Notes&lt;/a&gt;&lt;object height="510" style="margin: 0px;" width="477"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayerd.swf?doc=codebits2009-paulogaspar7-dataconsistency-notes-091221221034-phpapp01&amp;stripped_title=distributed-programming-and-data-consistency-w-notes" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayerd.swf?doc=codebits2009-paulogaspar7-dataconsistency-notes-091221221034-phpapp01&amp;stripped_title=distributed-programming-and-data-consistency-w-notes" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="477" height="510"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;div style="font-family: tahoma,arial; font-size: 11px; height: 26px; padding-top: 2px;"&gt;View more &lt;a href="http://www.slideshare.net/" style="text-decoration: underline;"&gt;documents&lt;/a&gt; from &lt;a href="http://www.slideshare.net/paulogaspar7" style="text-decoration: underline;"&gt;Paulo Gaspar&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600031926236414135-2179881067829022054?l=paulogaspar7.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://paulogaspar7.blogspot.com/feeds/2179881067829022054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paulogaspar7.blogspot.com/2009/12/my-distributed-programming-and-data.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600031926236414135/posts/default/2179881067829022054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600031926236414135/posts/default/2179881067829022054'/><link rel='alternate' type='text/html' href='http://paulogaspar7.blogspot.com/2009/12/my-distributed-programming-and-data.html' title='My &quot;Distributed Programming and Data Consistency&quot; Codebits talk slideware'/><author><name>Paulo Gaspar</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6600031926236414135.post-7100653994249786869</id><published>2009-12-09T03:21:00.002Z</published><updated>2009-12-09T03:25:04.464Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='NoSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='cap'/><category scheme='http://www.blogger.com/atom/ns#' term='codebits'/><title type='text'>Codebits 2009</title><content type='html'>I finally went trough the Codebits experience:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://codebits.eu/"&gt;http://codebits.eu/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;I ended up having the chance to have a rather complete experience too, not only attending but also by giving a talk and competing in the famous 24 Hour Programming Contest.&lt;br /&gt;&lt;br /&gt;Not everything went perfectly, but it was an amazing experience.&lt;br /&gt;&lt;br /&gt;Please believe that I don't use the word "amazing" as liberally as those people you often watch on TV. This was really interesting and I want to repeat it next year, if I have the chance.&lt;br /&gt;&lt;br /&gt;Pictures:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.flickr.com/photos/50417513@N00/sets/72157622805496889/"&gt;I took&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.flickr.com/photos/tags/codebits/"&gt;with the official tag on Flickr&lt;/a&gt;;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.flickr.com/search/?q=codebits&amp;amp;w=all"&gt;All codebits at Flickr&lt;/a&gt;;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://fotos.sapo.pt/tag.html?codebits"&gt;with the official tag from SAPO Fotos&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The title of my talk was "Distributed programming and data consistency" and there is a video (Portuguese spoken) here:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://codebits.eu/intra/s/session/85"&gt;http://codebits.eu/intra/s/session/85&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;The talk mentioned several NoSQL data handling techniques, but the focus was mostly on Data Consistency, CAP and BASE / Eventual Consistency.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;After watching me back I just found out how much I have to improve as a speaker. The feeling I have is like:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;The guy which studied the subject and prepared the slides did a good job;&lt;/li&gt;&lt;li&gt;The guy which presented it must be "a bit" livelier, &amp;nbsp;have better tempo.&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I will try to watch this video again before I do any other talk... but in case it goes offline I took notes too (with all the gory details I am avoiding to mention here). =;o)&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In the next days I will prepare a version of the slideware with better notes, which will include the URLs of the most interesting literature I came across about this subject.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600031926236414135-7100653994249786869?l=paulogaspar7.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://paulogaspar7.blogspot.com/feeds/7100653994249786869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paulogaspar7.blogspot.com/2009/12/codebits-2009.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600031926236414135/posts/default/7100653994249786869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600031926236414135/posts/default/7100653994249786869'/><link rel='alternate' type='text/html' href='http://paulogaspar7.blogspot.com/2009/12/codebits-2009.html' title='Codebits 2009'/><author><name>Paulo Gaspar</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6600031926236414135.post-5892461059260547736</id><published>2009-11-02T13:15:00.003Z</published><updated>2009-11-02T13:21:34.879Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='databases'/><category scheme='http://www.blogger.com/atom/ns#' term='NoSQL'/><category scheme='http://www.blogger.com/atom/ns#' term='DHT'/><title type='text'>The last NoSQL conferences...</title><content type='html'>I spent part of the weekend taking a broader look at the NoSQL scene, given the flood of information resulting from these last two conferences:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;NoSQL East 2009 -&amp;nbsp;&lt;a href="https://nosqleast.com/2009/"&gt;https://nosqleast.com/2009/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;NoSQL BErlin -&amp;nbsp;&lt;a href="http://nosqlberlin.de/"&gt;http://nosqlberlin.de/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;I mostly went trough some of the notes already online, harvesting related information and updating my recently reactivated &lt;a href="http://delicious.com/paulogaspar/"&gt;delicious.com&lt;/a&gt;&amp;nbsp;account.&lt;br /&gt;&lt;br /&gt;Most interesting summaries and other resources I found from these events:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://journal.uggedal.com/nosql-east-2009---summary-of-day-1"&gt;NoSQL East 2009 - Summary of Day 1&lt;/a&gt;&amp;nbsp;by&amp;nbsp;&lt;a href="http://twitter.com/uggedal/"&gt;@uggedal&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://journal.uggedal.com/nosql-east-2009---summary-of-day-2"&gt;NoSQL East 2009 - Summary of Day 2&lt;/a&gt;&amp;nbsp;by&amp;nbsp;&lt;a href="http://twitter.com/uggedal/"&gt;@uggedal&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://codeartisan.blogspot.com/2009/10/nosql-east-2009-redux.html"&gt;NoSQL East 2009 Redux&lt;/a&gt;&amp;nbsp;by Jon Moore&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://me.phillipoertel.com/articles/2009/10/31/nosql-berlin-meetup-notes"&gt;NoSQL Berlin Meetup Notes&lt;/a&gt;&amp;nbsp;by&amp;nbsp;Phillip Oertel&lt;/li&gt;&lt;li&gt;&lt;a href="http://nosqlberlin.de/slides/"&gt;NoSQL Berlin slides&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://vimeo.com/nosqlberlin/videos/sort:date"&gt;NoSQL Berlin videos&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;I also ended up finding some interesting older notes about another nosql meeting:&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://developer.yahoo.net/blog/archives/2009/06/nosql_meetup.html"&gt;Notes from the (SF) NoSQL Meetup&lt;/a&gt;&amp;nbsp;at the&amp;nbsp;&lt;a href="http://developer.yahoo.net/blog/"&gt;Yahoo! Developer Network Blog&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: x-large;"&gt;The NoSQL Hype&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As usual, the "NoSQL" moniker keeps being a bit irritating to me. Some of the stores qualified as "NoSQL" only aim at being efficient &lt;a href="http://en.wikipedia.org/wiki/Distributed_hash_table"&gt;DHTs&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;But those that aim at being databases end up having some kind of query language, although often a really poor one - which means query languages have their use...&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;And nothing prevents you from using a sharded (even with mirrored shards) MySQL database as a key store - and many companies are doing just that.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I am &lt;b&gt;NOT&lt;/b&gt; against innovation. My problem with &lt;b&gt;many&lt;/b&gt; "NoSQL" solutions is that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;They do NOT present enough progress while ignoring lessons from past experience;&lt;/li&gt;&lt;li&gt;They pretend to innovate some backend aspects while sending you back in time on the API / interface side;&lt;/li&gt;&lt;li&gt;They pretend to be revolutionary while doing nothing better that well known commercial solutions (e.g.&amp;nbsp;&lt;a href="http://www.oracle.com/technology/products/coherence/index.html"&gt;Coherence&lt;/a&gt;).&lt;/li&gt;&lt;/ul&gt;If you just want to implement / defend / promote an open source version of a previously existing concept, be modest and don't pretend to be part of a revolution.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;History Repeating&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, &lt;b&gt;while there are many interesting Open Source solutions qualified as "NoSQL" popping up&lt;/b&gt;, there is too much hype around the "NoSQL" moniker. Too much old stuff dressed in new clothes and too many lessons from the past being ignored.&lt;br /&gt;&lt;br /&gt;Like MVCC, which is being considered by some databases as the magic bullet of data merging, while the lessons learned about its limitations (by communities like the Interbase or Firebird users) are being ignored. This article, for instance, documents how MVCC does not detect data inconsistencies when merging two changesets if the inconsistency is related to data that is only read (resulting in data written to another row/table):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://ibexpert.net/ibe/index.php?n=Doc.FirebirdForTheDatabaseExpertEpisode5LockingAndRecordVersions#MultiVersion"&gt;MVCC Serializability issues exposed at ibexpert.net&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Besides, Key/value stores are VERY OLD NEWS.&lt;br /&gt;&lt;br /&gt;Some old stores are still around, proofed by the years of use and still damn efficient, like&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Berkeley_DB"&gt;Berkeley DB&lt;/a&gt;.&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;But I used even older key/value stores, like the initial versions of c-tree or the Turbo Pascal Database Toolbox from Borland. What I can tell you, from experience, is:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;It is much more productive to work with SQL (but you need to learn it);&lt;/li&gt;&lt;li&gt;SQL is not just a programming tool. It is a precious database administration tool too.&lt;/li&gt;&lt;/ul&gt;Sure, standard SQL is too limited for the new database architectures. But that just means we probably need a new QL (Query Language).&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;So, the revolution is not having NoSQL but having better databases &lt;b&gt;and&lt;/b&gt; a &lt;b&gt;Better SQL&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Don't forget how many persistency layers already tried to kill SQL and failed miserably. Sure, they are OK for basic &lt;a href="http://en.wikipedia.org/wiki/Create,_read,_update_and_delete"&gt;CRUD&lt;/a&gt;&amp;nbsp;tasks, but most applications end up needing much more than that.&lt;br /&gt;&lt;br /&gt;To put some hype back on SQL, lets remember how it is truly a&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Domain-specific_language"&gt;DSL&lt;/a&gt;.&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;NoSQL interfaces being more productive that using SQL for all data manipulation is the dream of those who are too lazy to learn SQL. But then it is just a dream.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="font-size: x-large;"&gt;Cutting the Hype&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Since what else I have to say was already said, I will just point to the other guys:&lt;br /&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://bjclark.me/2009/08/04/nosql-if-only-it-was-that-easy/"&gt;NoSQL: If Only It Was That Easy&lt;/a&gt;&amp;nbsp;by&lt;span style="color: #222222; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, sans-serif; font-size: small;"&gt;&lt;span style="font-size: 12px;"&gt;&amp;nbsp;BJ Clark&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #222222; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, sans-serif; font-size: small;"&gt;&lt;span style="font-size: 12px;"&gt;&lt;a href="http://www.stucharlton.com/blog/archives/000587.html"&gt;The Trouble with NoSQL&lt;/a&gt;&amp;nbsp;by Stuart Charlton&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="color: #222222; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, sans-serif; font-size: small;"&gt;&lt;span style="font-size: 12px;"&gt;&lt;a href="http://bjclark.me/2009/09/08/nosql-isnt-a-movement/"&gt;NoSQL isn’t a movement&lt;/a&gt;&amp;nbsp;&lt;span style="color: black; font-family: Times; font-size: medium;"&gt;by&lt;span style="color: #222222; font-family: 'Lucida Grande', 'Lucida Sans Unicode', Helvetica, Arial, sans-serif; font-size: small;"&gt;&lt;span style="font-size: 12px;"&gt;&amp;nbsp;BJ Clark&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6600031926236414135-5892461059260547736?l=paulogaspar7.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://paulogaspar7.blogspot.com/feeds/5892461059260547736/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://paulogaspar7.blogspot.com/2009/11/last-nosql-conferences.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6600031926236414135/posts/default/5892461059260547736'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6600031926236414135/posts/default/5892461059260547736'/><link rel='alternate' type='text/html' href='http://paulogaspar7.blogspot.com/2009/11/last-nosql-conferences.html' title='The last NoSQL conferences...'/><author><name>Paulo Gaspar</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
