<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>php&#124;architect - The site for PHP professionals &#187; nosql</title>
	<atom:link href="http://www.phparch.com/tag/nosql/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phparch.com</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Fri, 10 Feb 2012 15:11:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>The NoSQL Hype Curve is Bending</title>
		<link>http://www.phparch.com/2010/12/the-nosql-hype-curve-is-bending/</link>
		<comments>http://www.phparch.com/2010/12/the-nosql-hype-curve-is-bending/#comments</comments>
		<pubDate>Wed, 29 Dec 2010 13:21:12 +0000</pubDate>
		<dc:creator>Bill Karwin</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[nosql]]></category>

		<guid isPermaLink="false">http://phparch.com/?p=6182</guid>
		<description><![CDATA[The hype of 2010 was clearly NoSQL.]]></description>
			<content:encoded><![CDATA[<p>The technology hype of 2010 was clearly NoSQL, which proved to be more of a brand-name than a technical term.</p>
<p>Today in his tech blog, <a href="http://www.dzone.com/links/r/why_startups_should_not_choose_nosql.html">Bozho set out his view</a> that NoSQL is probably not a good choice for startups that don&#8217;t know yet where their database and application bottlenecks are:</p>
<blockquote><p>But an important downside of NoSQL solutions, which is mentioned by most sources (twitter, facebook, rackspace) is that in NoSQL (at least for Cassandra and HBase) you must know what will be the questions that you will be asking upfront. You can’t just query anything you like. &#8230; And I can bet that a startup does not yet know all the questions it is about to ask its data store.</p></blockquote>
<p>I wrote a similar conclusion in a feature article in <a href="http://phparch.com/magazine/2010/september/">September&#8217;s php|architect</a>.  Relational data modeling is driven by data, and there are mathematical rules of normalization that guide this process.  Whereas nonrelational data modeling has no formal rules.  It&#8217;s driven by the queries you need to support.  Either you define your schema up front, or you define your usage of data up front, or else you set yourself up for a lot of sub-optimal queries and laborious database refactoring.  You find yourself writing lots of code to reinvent the wheels that SQL gives you for free, and before long you&#8217;ve unwittingly reinvented the relational database.</p>
<p>There were also a few high-profile walk-backs and failures associated with NoSQL adoption in 2010.  The most dramatic was the <a href="http://www.techradar.com/news/internet/web/the-death-of-digg-is-not-exaggerated-720550">implosion of Digg</a> after it launched a ground-up rewrite, <a href="http://about.digg.com/blog/looking-future-cassandra">architected around Cassandra</a>.  It turns out that no secret sauce can compensate for bad business decisions.</p>
<p>And who can forget the instantly-classic viral video <a href="http://www.xtranormal.com/watch/6995033/">MongoDB is Web Scale</a>?<br />
<a href="http://www.xtranormal.com/watch/6995033/"><img src="http://beta.phparch.com/wp-content/uploads/2010/12/mongodb-is-web-scale.png" alt="" width="362" height="270" class="alignleft  size-full wp-image-6184" /></a>  A little knowledge is a dangerous thing &#8212; the more little, the more dangerous.</p>
<p>In spite of this, I&#8217;m sure in 2011 we&#8217;ll hear some new claims of a panacea that puts a &#8220;turbo button&#8221; on your web server, supposedly obsoleting quaint, old-fashioned habits like thoughtful architecture, design, testing, and monitoring.  I wonder what the miracle technology will be this time?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phparch.com/2010/12/the-nosql-hype-curve-is-bending/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Apache CouchDB hits 0.11.0, drops &quot;alpha&quot; and &quot;beta&quot;</title>
		<link>http://www.phparch.com/2010/03/apache-couchdb-hits-0-11-0-drops-alpha-and-beta/</link>
		<comments>http://www.phparch.com/2010/03/apache-couchdb-hits-0-11-0-drops-alpha-and-beta/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 12:30:49 +0000</pubDate>
		<dc:creator>Carl Anderson</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[couchdb]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://www.phparch.com/?p=4634</guid>
		<description><![CDATA[The popular document-oriented database hits version 0.11.0, and this time shows up without "alpha" or "beta" status.]]></description>
			<content:encoded><![CDATA[<p><a href="http://couchdb.apache.org/"><img class="alignleft size-full wp-image-4636" title="CouchDB logo" src="http://beta.phparch.com/wp-content/uploads/2010/03/couchdb-logo.png" alt="" width="220" height="200" /></a>Today, Noah Slater, release manager of the Apache CouchDB project, <a href="http://mail-archives.apache.org/mod_mbox/couchdb-user/201003.mbox/%3C4783d2a41003290845p78d6f57fw88cfe98066d79fe4@mail.gmail.com%3E">announced the release of CouchDB 0.11.0</a>.  CouchDB is a document-oriented database and is one of the poster children of the NoSQL movement.</p>
<p>The latest release of <a href="http://couchdb.apache.org/">CouchDB</a> has a long list of changes, including:</p>
<ul>
<li>Added support for building a Windows installer as part of &#8220;make dist&#8221;</li>
<li>Added optional &#8220;raw&#8221; binary collation for faster view builds where Unicode collation is not important</li>
<li>Improved view information objects</li>
<li>Improved speed and concurrency of config lookups</li>
<li>Various improvements to the Futon UI</li>
</ul>
<p>CouchDB 0.11.0 is the first release of the software that does not carry the &#8220;alpha&#8221; or &#8220;beta&#8221; tag.  Whether this means the product can be considered production-ready is up to you, but the CouchDB wiki <a href="http://wiki.apache.org/couchdb/CouchDB_in_the_wild">lists quite a number of projects</a> already using the software.</p>
<p>I recently sat down and started playing with CouchDB, trying to wrap my head around this new way of &#8220;doing databases.&#8221;  The <a href="http://wiki.apache.org/couchdb/FrontPage">CouchDB Wiki</a> is a good place to start, although I found that it seems to presume a decent amount of prior knowledge (a definite hindrance to me, since I lack some of that prior knowledge!).</p>
<p>There&#8217;s also an <a href="http://books.couchdb.org/relax/">online version</a> of O&#8217;Reilly&#8217;s <em>CouchDB: The Definitive Guide</em>, and I found this useful to get myself started—although you should note that a few places were a tad out-of-date relative to the latest release (at least, that&#8217;s how it appeared to me).  Nothing critical, though.</p>
<p>If you haven&#8217;t yet tried CouchDB, I recommend you do so; it&#8217;s definitely a different way of doing things than traditional relational databases, and it takes some getting used to, but it feels very natural after a while.  Of course, it&#8217;s not necessarily going to outright replace your existing SQL-based data stores, but for the right project, it&#8217;ll surely be useful.</p>
<p>You can download CouchDB 0.11.0 from the <a href="http://couchdb.apache.org/downloads">CouchDB downloads page</a>.  You&#8217;ll also find a list of the changes incorporated in 0.11.0 there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phparch.com/2010/03/apache-couchdb-hits-0-11-0-drops-alpha-and-beta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AntidisestablishmentSQLism: an introduction to NoSQL</title>
		<link>http://www.phparch.com/2010/03/antidisestablishmentsqlism/</link>
		<comments>http://www.phparch.com/2010/03/antidisestablishmentsqlism/#comments</comments>
		<pubDate>Tue, 30 Mar 2010 11:35:46 +0000</pubDate>
		<dc:creator>Marco Tabini</dc:creator>
				<category><![CDATA[Opinion]]></category>
		<category><![CDATA[databases]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[scaling]]></category>

		<guid isPermaLink="false">http://www.phparch.com/?p=4625</guid>
		<description><![CDATA[Talking about the NoSQL movement is like talking about a “NoC++” movement: people not using C++ have very little else in common with each other. For instance, some people say that NoSQL is obviously all about ACID (atomic, consistent, isolated, durable) vs. BASE (basically available, soft-state, easy). Other people say it&#8217;s all about scalability, whereas [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.phparch.com/files/2010/03/Untitled-1-e1269948848641.jpg"><img class="alignleft size-full wp-image-4647" title="Untitled-1" src="http://www.phparch.com/files/2010/03/Untitled-1-e1269948848641.jpg" alt="" width="150" height="112" /></a>Talking about the NoSQL movement is like talking about a “NoC++” movement: people not using C++ have very little else in common with each other.</p>
<p>For instance, some people say that NoSQL is obviously all about <a href="http://en.wikipedia.org/wiki/ACID">ACID</a> (atomic, consistent, isolated, durable) vs. <a href="http://queue.acm.org/detail.cfm?id=1394128">BASE</a> (basically available, soft-state, easy).  Other people say it&#8217;s all about scalability, whereas others say it&#8217;s all about distributing data, but not necessarily horizontal scaling. Some people say it&#8217;s not about scale at all, but to get away from modelling data as rows in a table.</p>
<p>It&#8217;s a recent “movement,” but databases that have been around for decades are claiming to be NoSQL along with the ones hacked together in the last few months.  Databases that are no more complex than Memcached are grouped with those that could power every aspect of a complex website on their own.  There are databases ready for production deployment and others that are still in beta, alpha, or haven&#8217;t even been released.</p>
<p>The people themselves also vary widely: some of the developers are brilliant geeks who know scaling inside and out.  Others are DBA-types who have been dealing with MySQL issues for years.  Others are conceited jerks who think that, because they read the Dymano/Bigtable/PNUTS paper, they&#8217;re the only ones who understand the issues.</p>
<p>As I have read the Dynamo/Bigtable/PNUTS paper, here are the main issues:</p>
<h2>Horizontal scaling</h2>
<p>This is a biggie but, as people who like relational databases always point out, you <em>can</em> scale relational databases.  It&#8217;s just very difficult and sacrifices a lot of the features that make them useful to start out with.  Some NoSQL databases just scale much more easily and naturally.</p>
<h2>Multi-master</h2>
<p>Again, you can run MySQL as multi-master, but it&#8217;s a pain.  Many NoSQL databases list multi-master as a feature, but a lot of programmers who think they want multi-master probably won&#8217;t like the reality of it.  A quick quiz: does your heart sing at the thought of programming conflict resolution logic for every possible stale data scenerio?  Then multi-master may be for you.  (I&#8217;m not a big fan of multi-master, someone else may want to defend this one.)</p>
<h2>Data representation</h2>
<p>Rows can model a lot, but unless you&#8217;re programming accounting apps, they&#8217;re unlikely to be a natural fit for your data.  More often than not, data is much more interesting and complex than a row (such as a graph of friends, a tree of links, or overlapping timelines of events).  Sometimes, data is very simple (e.g., a cookie used to look up a session).  Sometimes it changes over time.  Many NoSQL databases give you a more flexibile way of modelling data.</p>
<h2>Speed</h2>
<p>Relational databases are pretty heavyweight with all sorts of data safety guarantees, which is unnecessary overhead for a lot of applications.  Some NoSQL databases can store things as fast as Memcached (although not when they flush to disk&#8230; they are limited by physical laws, despite what their developers might claim).  If you have something like page statistics or logging, using a relational database might just be slowing you down.</p>
<p>At this point, NoSQL databases are huddled together against the overwhelming presence of relational databases.  However, NoSQL is an unnatural and, in many cases, uneasy alliance.</p>
<p><em>Photo credit: <a href="http://www.flickr.com/photos/didbygraham/4160137367/">Great Protest Signs</a> by didbygraham</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phparch.com/2010/03/antidisestablishmentsqlism/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>TEK·X Webcast &quot;Mongo Scale!&quot;</title>
		<link>http://www.phparch.com/2010/03/tek%c2%b7x-webcast-mongo-scale/</link>
		<comments>http://www.phparch.com/2010/03/tek%c2%b7x-webcast-mongo-scale/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 13:30:00 +0000</pubDate>
		<dc:creator>Cal Evans</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Kristina Chodorow]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[webcast]]></category>

		<guid isPermaLink="false">http://www.phparch.com/?p=4469</guid>
		<description><![CDATA[This week&#8217;s TEK·X webcast &#8211; part of the webcast series sponsored by php&#124;architect and Microsoft &#8211; will be on the topic of MongoDB. MongoDB is part of a new wave of persistent storage engines that make up the NoSQL movement. The most popular websites in the world are switching to or already use non-relational databases. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://beta.phparch.com/wp-content/uploads/2010/03/logo-mongodb-onwhite1.png"><img src="http://www.phparch.com/files/2010/03/logo-mongodb-onwhite1-e1269291623604-150x49.png" alt="" title="logo-mongodb-onwhite" width="150" height="49" class="alignleft size-thumbnail wp-image-4472" /></a>This week&#8217;s TEK·X webcast &#8211; part of the <a href="http://www.phparch.com/tek%C2%B7x-webcast-series/">webcast series</a> sponsored by php|architect and Microsoft &#8211; will be on the topic of MongoDB. MongoDB is part of a new wave of persistent storage engines that make up the NoSQL movement.</p>
<p>The most popular websites in the world are switching to or already use non-relational databases. Why? Scalability. This session will cover why, when, and how to use MongoDB: a fast, stable, easy-to-learn document database.</p>
<p>Date: <strong>3/26/2010</strong><br />
Special Guest: <strong>Kristina Chodorow</strong><br />
Topic: <strong>Mongo Scale!</strong><br />
<strong><a href="https://www2.gotomeeting.com/register/566033203">Register Now!</a></strong></p>
<p>Join us as our guest speaker, Kristina Chodorow talk MongoDB.</p>
<p>&nbsp;</p>
<p>Sponsored by:</p>
<div style="text-align: center;margin-left: auto;margin-right: auto;vertical-align: middle"><span></span><a href="http://microsoft.com"><img src="http://beta.phparch.com/wp-content/uploads/2010/02/mslogo-tek-talk-submission-e1267110696467.png" alt="" title="mslogo-tek-talk-submission" height="41" width="250"></a>&nbsp;<a href="http://www.phparch.com"><img src="http://beta.phparch.com/wp-content/uploads/2010/02/logo.png" alt="" title="logo" style="vertical-align: middle" height="126" width="103"></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.phparch.com/2010/03/tek%c2%b7x-webcast-mongo-scale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The state of MongoDB, March 2010</title>
		<link>http://www.phparch.com/2010/03/the-state-of-mongodb-march-2010/</link>
		<comments>http://www.phparch.com/2010/03/the-state-of-mongodb-march-2010/#comments</comments>
		<pubDate>Tue, 09 Mar 2010 17:16:55 +0000</pubDate>
		<dc:creator>Jeff Carouth</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[nosql]]></category>
		<category><![CDATA[Project Update]]></category>

		<guid isPermaLink="false">http://www.phparch.com/?p=4244</guid>
		<description><![CDATA[Eliot Horowitz and the rest of the core MongoDB Team released a post on the project blog addressing current and future development of the project. The team has released two stable releases — 1.0 and 1.2 — and has a third, version 1.4, coming that contains “better concurrency, geospatial indexing, 'usability' enhancements and speed enhancements, to name a few.”]]></description>
			<content:encoded><![CDATA[<p><a href="http://beta.phparch.com/wp-content/uploads/2010/03/logo-mongodb-onwhite.png"><img class="alignleft size-medium wp-image-4248" title="logo-mongodb-onwhite" src="http://www.phparch.com/files/2010/03/logo-mongodb-onwhite-300x100.png" alt="" width="300" height="100" /></a>Eliot Horowitz and the rest of the core MongoDB Team released a <a href="http://blog.mongodb.org/post/434865639/state-of-mongodb-march-2010">post on the project blog</a> today addressing current and future development of the project. The team has released two stable releases — 1.0 and 1.2 — and has a third, version 1.4, coming that contains “better concurrency, geospatial indexing, &#8220;usability&#8221; enhancements and speed enhancements, to name a few.” These enhancements should be available in future versions on a planned three-month release cycle.</p>
<p>Eliot feels that the team has accomplished about half of their grand view for the project and hopes to address a few areas he and others feel the project is lacking in the next 6–12 months. A few of the items on the list are better replication, production-ready sharding, more features for working with embedded documents, and full text search capabilities.</p>
<p>He goes on to explain that he has changed how he describes MongoDB to interested parties. He envisions the project being an improvement on some of the shortcomings of relational databases such as MySQL. He states that “there are a lot of things that work great in relational databases: indexes, dynamic queries and updates…and we haven&#8217;t changed much there,” and that, as one example, the project aims to keep the methods for designing indexes the same as a database administrator would employ on a MySQL or Oracle database, but give him or her the option of indexing an embedded field.</p>
<p>The team is excited about production over the next year and continues to appreciate the community for the support, advice, debugging and interest it gives.</p>
<p>You can download the latest stable and unstable version of the MongoDB project from the <a href="http://www.mongodb.org/display/DOCS/Downloads">download page</a> and follow the instructions in the <a href="http://www.mongodb.org/display/DOCS/Quickstart">quickstart</a> or the <a href="http://www.mongodb.org/display/DOCS/Getting+Started">getting started</a> page to get up and running. There is a listing of <a href="http://www.mongodb.org/display/DOCS/Community">community support channels</a> including a mailing list, IRC channel on Freenode, and the project blog if you need help or wish to get involved.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.phparch.com/2010/03/the-state-of-mongodb-march-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

