I think Stewart's question was - now that we've gotten rid of a central
system database, if we were to store data about tablespaces, where would
we keep it?

For my part, I'm not totally sure I agree that it is important the users
can manage tablespaces through Drizzle commands.

I mean, I hear what you're saying, and if you accept the premise that
Tablespaces are good and/or required, then managing them through Drizzle
commands is sensible - but I'm always extremely wary of systems that try
to re-write all of UNIX. Again. My question is, other than complexity of
database config and setup and a possible bootstrapping problem, what is
it that tablespaces gain us?

We've already got filesystems. We've got LVM. If we're on Solaris or OSX
I've got the much-lauded (yet still uselessly licensed) ZFS. OR, if
we've wasted^?^?^?^?^? spent money on a big-ass SAN, I've got the
storage management features in the SAN. What do I gain by having the
database engine manage this itself as well?

(I'm both trolling and honestly asking here...)


Roy Lyseng wrote:
> Stewart,
> 
> this is a good question. Some comments below to start off a discussion...
> 
> Different engines have very different requirements for management of
> tablespaces, so I think it is important that tablespaces are managed
> entirely by the engine on the micro-level. Yet, on a higher level, it is
> important that users can manage tablespaces through Drizzle commands
> that generalize the management as much as possible.
> 
> How is this achievable?
> 
> - Create, modify and drop tablespace commands supported by Drizzle.
> - Engine-specific parameters to tablespace commands
> - Engine-specific namespace of tablespaces simplifies management.
> - Tablespace configuration data can be managed by the engine or by the
> server, interfaces for both can be provided.
> - In the simplest case, the server stores all config data (XML, blob?)
> and provides them to the engine when the server initiates the engine.
> 
> In the case of a distributed engine, it is much easier to keep
> tablespace information consistent by managing config data in the engine,
> in particular when multiple servers attach to the same engine.
> 
> BTW, HADB (a distributed server/engine) does not have tablespaces (or
> rather it has a single unnamed tablespace). However, each server node is
> given a list of file names on startup, and the concatenated storage
> space provided by these files is used as storage space for that node.
> Information about schemas and tables and mapping to which nodes they are
> stored in is entirely through system-managed tables (the data dictionary).
> 
> Thanks,
> Roy
> 
> Stewart Smith wrote:
>> On Mon, Oct 20, 2008 at 10:06:59AM +0200, Roy Lyseng wrote:
>>> IMHO, forcing the database(schema)/directory relationship is the
>>> bigger  problem. With tablespaces there would be no need for symlinks.
>>
>> You also have to think about where this information is being stored. How
>> will drizzle know where to look for tablespaces?
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~drizzle-discuss
> Post to     : [email protected]
> Unsubscribe : https://launchpad.net/~drizzle-discuss
> More help   : https://help.launchpad.net/ListHelp
> 


_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to