I looked at it pretty hard, but in the end I went with a traditional RDBMS, 
largely for the eventual need to expose the interface to external reporting 
tools, that as a rule don't talk custom interfaces.  Admittedly, I borrowed 
some concepts though.

Design wise the 'server' in my configuration is PostgreSQL->Cocoa Business 
Objects exposed via web services ( custom fastcgi interface running in an 
embedded instance of lighttpd using SOAP for compatability with a possible .NET 
client ) that even in single user mode passes all data requests via http.

It is a solution.  It has quirks, but the long term, I think it is a design 
that we will see more and more of.  CouchDB is very very slick, but it has some 
issues behind the scenes particularly in terms of performance.

Andy 'Dru' Satori

On Apr 12, 2010, at 2:05 PM, Jens Alfke <j...@mooseyard.com> wrote:

> 
> On Apr 12, 2010, at 10:54 AM, Dru Satori wrote:
> 
>> One application that can be used standalone, or always on multi-user or with 
>> multiple disconnected users synchronizing data when peered.  Complex?  You 
>> have no idea.  But in the design process, many decisions had to be made, 
>> that meant architecture and implementation.  The end result for me?  a 
>> client server design that uses a multi-user capable database engine even 
>> when in stand-alone single user mode. When you start the application, it 
>> starts the embedded database engine.  While this is massive overkill for 
>> most implementations, it is still a very real design, IF your project 
>> demands it.
> 
> Veering a little off-topic, but have you looked at CouchDB? It's a very cool 
> persistent data store that works either single-user, multi-user, or 
> replicated. It's kind of a fancy JSON-based key-value store with MapReduce 
> based querying, and a fancy sync engine for connecting multiple instances.
> 
> I haven't seen any usage of CouchDB by Mac apps yet, but it's already been 
> integrated into Ubuntu Linux's desktop as the underlying shared data store 
> for contacts and calendars and so on — like a combination of the AddressBook 
> and Calendar frameworks and iSync. This is one of the few times I've been 
> jealous of Linux's UI. :)
> 
> The CouchDB protocol is pretty easy to work with because it's all 
> HTTP/REST/JSON. You'd mostly just need NSURLRequest and one of the Cocoa JSON 
> parsers.
> 
> —Jens
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to