Dmitry,

> When we speak about tablespaces, it usually means that the database
> consists of multiple files and different database object are stored in 
> different
> files. Each such file is named within a database and called a tablespace. And
> each tablespace has its own page set and page numbering.

While I can see possible use cases, I am concerned that implementing 
tablespaces would only make database management more complicated.

The filename/path would become integral to the database and thus cause problems 
if a device which part of the database was stored was not accessible...

With the continuing evolution of disk/storage technology with automatic 
storage/block tiering (hot block on flash, cold blocks on HDDs) being built 
into OS/storage devices, I do not think that the database should be concerned 
about table/storage location management.


> A typical usage pattern is that tablespaces are used to separate table data
> from indices (and logs from the rest of the database) and thus allow better
> concurrent performance due to parallel I/O. Often it's argued that RAIDs now
> handle the same job and maybe even better. For many usage cases - maybe.
> But I'm pretty sure that the opposite cases are also possible, when a 
> carefully
> designed partitioning could outperform automatic RAID data management.

Rather than focus on physical page location management, perhaps Tablespace can 
be thought of as:

- mechanism to set page cache size/rules -- X pages cache for index pages, Y 
page cache for high activity tables...
- mechanism to set garbage collection policy for tables
- way to reduce header page/lock contention


> Another usage case could be extending the database size beyond the
> current limits. The limit is 64TB, the biggest FB database I known is 7TB. Not
> that far, I'd say. The limit may be shifted with even larger page sizes, but 
> it
> has its drawbacks as well.

I might be alone in thinking this way, but if you have more than 4 to 10 TB of 
data to store/query, in this day/age, you should be looking to use distributed 
database/Hadoop type engines.  

Heck, I have been looking at these technologies for quite some time and my 
largest database is only 250GB.


> (*) My personal opinion is that legacy multi-file databases must die,
> preferrably in FB4. They make zero sense in modern filesystems.

Completely agree, including database shadows!!

Based on your outline/proposal, however, aren't Tablespaces just enabling 
multi-file databases -- just under a different name?


Sean


------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to