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

Re: what about Database?

On Mon, Jun 10, 2002 at 12:35:29AM +0200, Giuseppe Sacco wrote:
> Actually when installing an application that for instance uses a DBI or
> PHPlib interface you have to scan for every database engine installed and
> then ask the user to select one of them. After choosing the engine you
> have to select a database instance name and some users/passwords.

But where do the little instances come from? What if they are on a
remote server?  In addition to a list of locally installed RDBMS' you'd
have to include a way to specify remote servers. And what if the local
(or remote) RDBMS has not yet been configured?

User/passwd info has no place in the debconf data base.

We'd also need a way to specify "need transactions" "don't care about
the geometry data types" &c. for clients, and "provides..." for servers.

What if both client and server support a feature, but your middleware
doesn't (ODBC for example?) So middleware needs to be catalogued and
attributed as well.

> When you upgrade a database engine you would probably need to stop
> applications that uses the engine and then restart them.

Again, how do you manage remote instances? What if they aren't even Debian
machines? What if the remote DB is Oracle? Or Sybase? Or MS SQL Server?

> When you want to uninstall applications you could remove the associated
> database instance. When you remove database engine you could ask the
> user to migrate to a different engine.

Hairy. I am reluctant to lay down migration paths in policy. It's difficult
enough to migrate databases manually from one standard-compliant commercial
DB to another. The free DBs are even more divergent in their feature sets.
Things like this are (imho) impossible to automate. No policy can hope to
overcome the intricate immensity of such a vague requirement.

> I would like to have some infrastructure to support all these operations
> in a standard way.

Something like the menu system for data bases. Let's do it, just to annoy
the DBAs at work.

We'll have to straighten out a few terms:

DB Instance
DB Engine / RDBMS 
DB Driver / API 
DB Client / Application  

There is also the class of middleware that goes between the Engine and the Driver:
Transaction monitors, Load balancers, result caches, proxies.

I'm sure I missed some things.


Attachment: pgpOLknZqfNsh.pgp
Description: PGP signature

Reply to: