<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.1" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: ThruDB for Rails? ActiveDocument</title>
	<link>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/</link>
	<description>we don't believe in slogans</description>
	<pubDate>Fri, 05 Sep 2008 23:19:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.1</generator>

	<item>
		<title>By: Jake Luciani</title>
		<link>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26569</link>
		<author>Jake Luciani</author>
		<pubDate>Fri, 11 Jan 2008 04:27:26 +0000</pubDate>
		<guid>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26569</guid>
					<description>This is a great idea.

I'd be happy to discuss your integration with Thrudb. Drop me a note.

Also, I live close to NYC.  I can try and be there at your next meeting...

Thanks to you and Matt for your interest in Thrudb.</description>
		<content:encoded><![CDATA[<p>This is a great idea.</p>
<p>I&#8217;d be happy to discuss your integration with Thrudb. Drop me a note.</p>
<p>Also, I live close to NYC.  I can try and be there at your next meeting&#8230;</p>
<p>Thanks to you and Matt for your interest in Thrudb.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jon Guymon</title>
		<link>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26584</link>
		<author>Jon Guymon</author>
		<pubDate>Fri, 11 Jan 2008 07:51:06 +0000</pubDate>
		<guid>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26584</guid>
					<description>I started on this a while back from the CouchDB angle:

class Post </description>
		<content:encoded><![CDATA[<p>I started on this a while back from the CouchDB angle:</p>
<p>class Post</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: matt knox</title>
		<link>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26611</link>
		<author>matt knox</author>
		<pubDate>Fri, 11 Jan 2008 18:46:10 +0000</pubDate>
		<guid>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26611</guid>
					<description>Yeah, I started work on a similar mapping (also called ActiveDocument, natch) today.  May the best AD win! (and the loser buy beer for both!)  :)

Thanks for your kind words about the talk-I'm a bit overwhelmed at how good the response has been.</description>
		<content:encoded><![CDATA[<p>Yeah, I started work on a similar mapping (also called ActiveDocument, natch) today.  May the best AD win! (and the loser buy beer for both!)  :)</p>
<p>Thanks for your kind words about the talk-I&#8217;m a bit overwhelmed at how good the response has been.</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: rick</title>
		<link>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26713</link>
		<author>rick</author>
		<pubDate>Sat, 12 Jan 2008 20:04:28 +0000</pubDate>
		<guid>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26713</guid>
					<description>Hey, I started work on one last night too.  We should all compare notes and just write one lib.  

Also, I'd suggest not bothering with validations and callbacks in ActiveDocument, and rather write them in ActiveModel, an extraction from ActiveRecord that I started on.  

I'm gonna post mine to git and do a quick blog post.  Hopefully we can meet later in irc/campfire/whatever and join forces :)</description>
		<content:encoded><![CDATA[<p>Hey, I started work on one last night too.  We should all compare notes and just write one lib.  </p>
<p>Also, I&#8217;d suggest not bothering with validations and callbacks in ActiveDocument, and rather write them in ActiveModel, an extraction from ActiveRecord that I started on.  </p>
<p>I&#8217;m gonna post mine to git and do a quick blog post.  Hopefully we can meet later in irc/campfire/whatever and join forces :)</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: Jacqui</title>
		<link>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26714</link>
		<author>Jacqui</author>
		<pubDate>Sat, 12 Jan 2008 20:24:32 +0000</pubDate>
		<guid>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26714</guid>
					<description>Sebastian, this looks great. I was reading your post over again when something occurred to me: part of the beauty of ActiveRecord is that it provides you, in most cases, with a database-agnostic way of querying data and structuring it. I realize that you're not trying to provide a catch-all abstraction layer - but how cool would something like that be? 

You could switch out MySQL with Postgresql with CouchDB with ThruDB with minimal changes to your models. 

Of course there would be edge cases where you would have to write specific queries in Lucene syntax or SQL. How often do people use find_by_sql in Rails apps, though (actually, I really want to know this)? 

Borrowing from your example above, do I really care about how the conditional should be structured here:

User.find(:all, :conditions =&#62; “login:’s*’ AND created_at :[20071201 TO 20080115]”)

I really just want to say find all users where the login starts with "s" that were created between dec 01 of last year and the 15th of this month. 

Basically, I guess what I'm proposing is twofold:

1. something like ActiveRecord::Extensions for your ActiveDocument - this would be easier than a bigger abstraction layer and would help developers adopt DocDBs because it removes most of the need to learn lucene syntax. Joins are of course a more difficult issue that I would need to give more, serious, thought to.

2. my pie in the sky (heh) dream is the bigger abstraction layer of course, which would satisfy my above-expressed desire to be able to swap about data storage backends with minimal code changes or restructuring. Imagine realizing that you are using a RDBMS but would get better scaling, at a way cheaper cost, by switching to a DocDB system. Then, oh I don't know, some need changes in the project and you realize, crap, I need MySQL for this. 

Maybe this wouldn't require a totally agnostic abstraction layer (as in a replacement for or AR &#38; AD), but just an interface used in models that results in your application not really caring what your storage system is; a config parameter that specifies:

  config.data_store = :active_record
  config.data_store = :active_document

much like the current directive:
  config.action_controller.session_store = :active_record_store

Something else just came to me - what if you continue using a DocDB system but switch from Lucene to something else, with a different query language syntax?

Anyway those are just my immediate thoughts. This is a really interesting endeavor and I'd love to hack away at it with you. We should figure out a good time to meet up with Paul Dix - he said next week after Wednesday was good for him I believe?</description>
		<content:encoded><![CDATA[<p>Sebastian, this looks great. I was reading your post over again when something occurred to me: part of the beauty of ActiveRecord is that it provides you, in most cases, with a database-agnostic way of querying data and structuring it. I realize that you&#8217;re not trying to provide a catch-all abstraction layer - but how cool would something like that be? </p>
<p>You could switch out MySQL with Postgresql with CouchDB with ThruDB with minimal changes to your models. </p>
<p>Of course there would be edge cases where you would have to write specific queries in Lucene syntax or SQL. How often do people use find_by_sql in Rails apps, though (actually, I really want to know this)? </p>
<p>Borrowing from your example above, do I really care about how the conditional should be structured here:</p>
<p>User.find(:all, :conditions =&gt; “login:’s*’ AND created_at :[20071201 TO 20080115]”)</p>
<p>I really just want to say find all users where the login starts with &#8220;s&#8221; that were created between dec 01 of last year and the 15th of this month. </p>
<p>Basically, I guess what I&#8217;m proposing is twofold:</p>
<p>1. something like ActiveRecord::Extensions for your ActiveDocument - this would be easier than a bigger abstraction layer and would help developers adopt DocDBs because it removes most of the need to learn lucene syntax. Joins are of course a more difficult issue that I would need to give more, serious, thought to.</p>
<p>2. my pie in the sky (heh) dream is the bigger abstraction layer of course, which would satisfy my above-expressed desire to be able to swap about data storage backends with minimal code changes or restructuring. Imagine realizing that you are using a RDBMS but would get better scaling, at a way cheaper cost, by switching to a DocDB system. Then, oh I don&#8217;t know, some need changes in the project and you realize, crap, I need MySQL for this. </p>
<p>Maybe this wouldn&#8217;t require a totally agnostic abstraction layer (as in a replacement for or AR &amp; AD), but just an interface used in models that results in your application not really caring what your storage system is; a config parameter that specifies:</p>
<p>  config.data_store = :active_record<br />
  config.data_store = :active_document</p>
<p>much like the current directive:<br />
  config.action_controller.session_store = :active_record_store</p>
<p>Something else just came to me - what if you continue using a DocDB system but switch from Lucene to something else, with a different query language syntax?</p>
<p>Anyway those are just my immediate thoughts. This is a really interesting endeavor and I&#8217;d love to hack away at it with you. We should figure out a good time to meet up with Paul Dix - he said next week after Wednesday was good for him I believe?</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: THIRD RAIL &#187; Blog Archive &#187; Rails ODM for Thrudb</title>
		<link>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26730</link>
		<author>THIRD RAIL &#187; Blog Archive &#187; Rails ODM for Thrudb</author>
		<pubDate>Sun, 13 Jan 2008 00:51:28 +0000</pubDate>
		<guid>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-26730</guid>
					<description>[...] http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/  [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] <a href="http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/" rel="nofollow">http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/</a>  [&#8230;]</p>
]]></content:encoded>
				</item>
	<item>
		<title>By: grant</title>
		<link>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-29280</link>
		<author>grant</author>
		<pubDate>Thu, 07 Feb 2008 23:11:03 +0000</pubDate>
		<guid>http://www.notsostupid.com/blog/2008/01/10/thrudb-for-rails-activedocument/#comment-29280</guid>
					<description>Jacqui, sounds like a job for ambition: http://ambition.rubyforge.org/

It's a project to allow querying data sources using the Enumerable api.</description>
		<content:encoded><![CDATA[<p>Jacqui, sounds like a job for ambition: <a href="http://ambition.rubyforge.org/" rel="nofollow">http://ambition.rubyforge.org/</a></p>
<p>It&#8217;s a project to allow querying data sources using the Enumerable api.</p>
]]></content:encoded>
				</item>
</channel>
</rss>
