Re: dbus and GNOME 2.8



On Mon, 2004-04-05 at 16:58, Paolo Maggi wrote:
> On Mon, 2004-04-05 at 17:25, Gustavo J. A. M. Carneiro wrote:
> > A Seg, 2004-04-05 às 14:25, Paolo Maggi escreveu:
> > > Hi guys,
> > > 	as I wrote in
> > > http://mail.gnome.org/archives/desktop-devel-list/2004-January/msg00495.html
> > > I'm working on a new implementation and a new API for egg-recent that I
> > > hope to have ready in time for 2.7.0 or 2.7.1 so that it can be
> > > evaluated for inclusion in 2.8.
> > 
> >   BTW, is there a reason why recent files isn't just a gconf key?
> > 
> >   Regards,
> 
> >From http://www.gnome.org/projects/gconf/ :
> 
> "Do not store anything but preferences in GConf. Documents, session
> state, random data blobs do not belong in GConf. Stuff breaks if you do
> this. Moreover, THERE IS NO GUARANTEE THAT IT'S EVEN POSSIBLE TO WRITE
> TO THE GCONF DATABASE. Which means you may not use GConf as an IPC
> mechanism or when it's required to be able to store a piece of data."
> 
> Ciao,
> Paolo

Isn't it about time Gnome adopted and standardised on an RDBMS to help
solve all these data storage problems?

Whilst we are going to end up with an RDBMS anyhow cause Gnome Storage
will use one, it makes sense to have one available for all desktop apps
and services especially as it will save a hell of a lot of coding and
wasted man hours in developing propriety storage dumps and associated
IPC access mechanisms (I wonder how much development time could have
been saved if Evolution Data Server used an RDBMS?). 

An RDBMS will provide us with security, concurrent access, transactions
and highly efficient network transparency all for free. It also allows
thin clients to be developed with the bulk of all business rules being
implemented as stored procedures and triggers. Gnome-DB already provides
us with a rich widget set for rapid development of such thin clients and
thanks to the built in the network transparency, an admin user can
remotely administer desktops using the same thin clients.

My preferred RDBMS for the desktop is Firebird (formerly known as
Interbase but released by Borland as open source under a mozilla style
license - http://firebird.sourceforge.net). Whilst Gnome storage is
currently being built around Postgres, Postgres is as far as I know an
RDBMS designed as a server for high volume transactions and and high
user counts and as such might be overkill (and heavy on resource usage
too). Firebird on the other hand was designed as an embeddable RDBMS to
be used in systems where administration was not possible or desirable
and where reliability, small memory footprint and high performance with
tiny resource usage was required. Firebird, unlike other RDBMS, does not
use any record locking (it has a multiple generation architecture
instead) so that availability of data is always guaranteed (and
blocks/record locks by concurrent users/threads is not an issue).
Firebird can be easily embedded into Gnome cause it provides an API to
generate events (callbacks) to respond to certain conditions and it also
provides user definable functions that can be used in its SQL (these are
basically functions written in an external shard lib). All in all,
Firebird would make an excellent RDBMS for inclusion into Gnome.

The kind of apps/services that would benefit from such an RDBMS include:
- Gnome Storage
- Gconf (would provide network transpoarency for free so admins could
alter settings remotely and also eliminate record locking on it)
- Central storage of address books, contacts like EDS.
- Centralised help (ability to do a keyword search on all help topics in
yelp efficiently)
- useful for other data intensive apps EG package managers (could
integrate with Storage to create a killer package manager?) 
- any kind of data that should be made configurable by admins remotely.

I should also point out that MS includes a cut down of their SQL server
as freely distributable (its called MSDE) and is to be used in Longhorn
for their equivalent storage.  

jamie.






 


 

> 
> _______________________________________________
> desktop-devel-list mailing list
> desktop-devel-list gnome org
> http://mail.gnome.org/mailman/listinfo/desktop-devel-list
> 
> 




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]