[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: Kash Kontinued.
From: "Michael J. Bedy" <mjbedy () mtu ! edu>
Date: 1999-10-31 3:48:45
[Download RAW message or body]
I'm starting to think that I may be thinking about this the wrong way.
I know very little about databases, so could someone who does answer me
this:
Does there exist a free database system, suitable for a program of
this type, that can work on a file in the users home directory?
The reason i ask is that people keep recommending stuff like ODBC and
SQL, while my impression was that these are very heavy weight things that
require a large amount of setup. Can somthing like MySQL or postgres be
told, easily, that I want them to access ~/.kdekash/database.db?
I know gdbm exists for small scale databases, SQL is good for large
scale - is there an existing "medium scale" database that we can use. If
there is, then I think the typical open source "start coding and see what
happens" method of doing things may well be the best. The only part I am
nervous about is the database.
Is there anybody out there that knows a lot about databases that would
be interested in working on this project? Truth be told, I am probably not
the best person to be thinking about stuff like that. I don't have any
experiance. GUI and application stuff I could be a LOT more confident
about. (Well, my graduate research is in compilers, but i don't think that
applies here :-)
- Mike
On Sun, 31 Oct 1999, Corrin Lakeland wrote:
> Hi, I'm sending this to you directly because kde-devel doesn't like my From:
> field.
>
> >>[Use a database]
> >
> > I agree. But I envision an abstraction that allows for a number of
> > different implementations. There would be an interface that rest of the
> > program could talk to, and each storage type would implement the required
> > features.
>
> Reading this, ODBC sprang into mind and started flashing with lots of bells
> ringing around it...
>
> > Also, it may be that the user wants a number of databases open
> > simultaniously (credit card, checking, etc.) and a way of organizeing this
> > is necessary.
>
> No. A user might want access to many TABLES, but they really should only need
> one database.
>
> > AND more than one part of the program may want to access the same
> > information at once (regeister is open, yet the report wants to read the
> > data also.) Coordinating this requires some thinking as well.
>
> Not really, Databases are very good at concurrency -- just have a look at
> something like Date to see how much effort they go to. Just as long as you
> don't keep pointers yourself, it isn't every hard.
>
> > BUT WAIT THERES MORE! The database layer should be as secure as
> > possible. This is probably a storage method specific problem, but we need
> > as part of our interface an abstraction for dealing with
> > encription/password type stuff.
>
> Hmmm, hmmmmmm.... Nah, just leave it all to the database. Databases have
> concentrated on security for a long time now, they're much better at it than
> you're ever going to be. Provided you never go behind their back, their
> security model is going to be bulletproof. Really, the only thing you have to
> be careful about is that the passwords for accessing the DB are dealt with
> carefully (umask 377 on the config file). The database will ensure the user
> only gets access to what they are supposed to access. Just don't try the
> equivilant of suid too often and you won't have any trouble.
>
> Like most people on this list, my interest increased significantly when you
> said you'd treat it as a SE project. I've both taught SE and participated in
> OpenSource development projects and I think the models are totally different,
> though I'm looking forward to being proved wrong.
>
> SE believes in designing things correctly, building an implementation of that
> design (called a prototype), and building a new design to fix whatever things
> weren't liked about the prototype. A lot of thought goes into design so that
> you don't code something 'wrong'. However, SE is aware that other approaches
> exist, and even includes the model used by open source, under the label spiral
> model.
>
> I really don't think any other model works for nontrivial open source
> applications; design flaws WILL be present in version one, but the rewrite you
> have to do for version two will get rid of them. Reliability comes from
> extensive reuse (80%?) and the code is studied by so many people, not from
> careful planning. Design flaws are also minimised by the philosophy of doing
> each part well rather than rushing to get a complete product to market. Have
> you read the cathedral and the bazaar?
>
> Still, as I said above, I'm looking forward to being proven wrong :-)
>
> Corrin Lakeland
> --
> Corrin Lakeland <lakeland@cs.otago.ac.nz> Phone 64 6 876 5219
> Department of Computer Science Faculty of Business Studies
> University of Otago, New Zealand Eastern Institute of Technology, NZ
>
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic