Re: Data managment
Re: Data managment
- Subject: Re: Data managment
- From: Dru Satori <email@hidden>
- Date: Mon, 12 Apr 2010 15:24:14 -0400
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 <email@hidden> 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 (email@hidden)
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:
This email sent to email@hidden