<?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>lucasjosh.com &#187; Databases</title>
	<atom:link href="http://lucasjosh.com/blog/category/databases/feed/" rel="self" type="application/rss+xml" />
	<link>http://lucasjosh.com/blog</link>
	<description></description>
	<lastBuildDate>Sat, 21 Jan 2012 00:51:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Testing with Redis</title>
		<link>http://lucasjosh.com/blog/2009/03/18/testing-with-redis/</link>
		<comments>http://lucasjosh.com/blog/2009/03/18/testing-with-redis/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 19:16:04 +0000</pubDate>
		<dc:creator>josh</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Data]]></category>
		<category><![CDATA[Databases]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://lucasjosh.com/blog/?p=265</guid>
		<description><![CDATA[Long time, no blog&#8230; But enough about that. On the side, I&#8217;ve been working on a new aggregator, Aggir, which allows me to test various things. I started off using SQLite and Sequel for storage, put Solr behind the scenes &#8230; <a href="http://lucasjosh.com/blog/2009/03/18/testing-with-redis/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Long time, no blog&#8230;  But enough about that.</p>
<p>On the side, I&#8217;ve been working on a new aggregator, <a href="http://github.com/lucasjosh/aggir/tree/master">Aggir</a>, which allows me to test various things.  I started off using SQLite and Sequel for storage, put Solr behind the scenes for search and added a very simple Web UI using Sinatra and HAML.  Yeah, I think I pretty much used all the necessary <i>hot</i> projects.  It was fun to build and it works pretty well right now.    </p>
<p>I have more to do on the Solr front since I&#8217;m just using the defaults for relevance searching.  I&#8217;d like to dig more into the Solr internals for additional query parsing and classification at index time.  It&#8217;s some of the stuff I&#8217;ve been doing at work but wanted to use a different type of data set.</p>
<p>Of course, now that I had things somewhat stable, I decided to blow it all up and try something new.  That something new is <a href="http://code.google.com/p/redis/">Redis</a> using <a href="http://github.com/ezmobius/redis-rb/tree/master">Ezra&#8217;s client library</a>.  </p>
<p>I started down the path of updating everything, ripping out the database storage to use Redis instead.  So far so good, I have <a href="http://github.com/lucasjosh/aggir/tree/redis-storage">the start of this on a branch</a>.  One issue I found though was testing my code.  It was <i>simple</i> with Sequel since I could create a different database without any worry of overwriting real data.  With Redis, I can easily delete keys in between tests but with the keys were the same that a real update would use so non-test data would be deleted. </p>
<p>I think I&#8217;ve come up with a solution that at least is working for me.  I&#8217;ve made each key combine a prefix with other data.  The prefixes are defined as class variables.  I only set them in the library code if they haven&#8217;t already been defined elsewhere.  In my test code, I set them with an additional test-specific prefix so that I can easily delete all of the testing keys by using the keys(&#8216;test_*&#8217;) method.  This will allow me to walk thru all of the test keys created during a test and delete them before running the next test.  This mirrors what is done with the database.</p>
<p>I&#8217;m now able to test on the same instance that I&#8217;ve loaded with posts from various blogs.  I have more to say about the mindset change from a relational db to key-value storage but I wanted to get this post out.</p>
]]></content:encoded>
			<wfw:commentRss>http://lucasjosh.com/blog/2009/03/18/testing-with-redis/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Drizzle</title>
		<link>http://lucasjosh.com/blog/2008/07/23/drizzle/</link>
		<comments>http://lucasjosh.com/blog/2008/07/23/drizzle/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 13:38:28 +0000</pubDate>
		<dc:creator>josh</dc:creator>
				<category><![CDATA[Databases]]></category>

		<guid isPermaLink="false">http://lucasjosh.com/blog/?p=93</guid>
		<description><![CDATA[Drizzle, a slimmed down MySQL, looks very, very interesting. [ via ] Stored Procedures, Views, Triggers, Query Cache, and Prepared Statements are gone for now. The field types have been simplified and there is an open debate about the SHOW &#8230; <a href="http://lucasjosh.com/blog/2008/07/23/drizzle/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://krow.livejournal.com/602409.html">Drizzle</a>, a slimmed down MySQL, looks very, very interesting. [ <a href="http://feeds.feedburner.com/~r/labnotes/RkfZ/~3/343337640/">via<a/> ]</p>
<blockquote><p>
Stored Procedures, Views, Triggers, Query Cache, and Prepared Statements are gone for now. The field types have been simplified and there is an open debate about the SHOW commands (I am falling into the camp that think they may just belong in the client application but not in the server).</p>
<p>Will any of this go back in? It is hard to say. The goal right now is to target a certain class of applications/developers and see if this is useful. As an example:</p>
<p>1) Web based apps.<br />
2) Cloud components.<br />
3) Databases without business logic (aka stored procedures).<br />
4) Multi-Core architecture.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://lucasjosh.com/blog/2008/07/23/drizzle/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

