03.03.2016 17:57, Jim Starkey wrote:
> The place to start is with a clear, well understood, and agreed set of 
> requirements.  Here is a suggested starting point.
>
> First, some definitions.  A "data space" is the collection of pointer and 
> data pages that hold the data from a single table.  An
> "index" (in this context), is the set of index pages that compromise a single 
> index on a table.  A "database object" is either a
> data space or an index.  A "table space" consists of a page structured file, 
> a collection of management pages, and a page number
> space that can hold zero or more database objects.
>
> The minimal requirements:
>
>  1. To extend the theoretical number of database pages in a database beyond 
> 2^32.
>  2. To be as inobstrusive as possible so that no explicit configuration is 
> required for databases that don't use table spaces.  In
>     other words, a default (root) table space.
>  3. To allow a user to define and manage additional table spaces.
>  4. To allow a user to define tables spaces for individual tables and 
> individual indexes.  In other words, while indexes may default
>     to the same table space of the table data space, indexes may reside in 
> different table spaces.
>  5. A user should be able to move a table data space or index from one table 
> space to another.  Whether this is an on-line or
>     off-line operation is deferred to specific proposals.
>  6. It should be possible to bring up a database with some or all table 
> spaces unavailable other than the root.
>  7. A table space should have sufficient internal integrity to tolerate 
> operational problems resulting improper management of
>     database files.
>  8. It must be necessary to allow the filename of an offline table space to 
> be changed.

  Basically, i agree with above.

> Personally, I think the following are also important, but not requirements:
>
>  1. There should be minimal changes to the on-disk structure. More 
> specifically, pages references in the ODS should remain as 32
>     bits.  This precludes allowing a database object to straggle table spaces.
>  2. There should be as few changes as possible to internal page, index, and 
> data handling mechanism other than tracking the table
>     space for database objects for the CCH interface.
>  3. It should be anticipated that table spaces will be abused, for example 
> replacing table space files with older versions. To the
>     degree feasible, this should be supported, and where not supported, 
> detected.

   I would add

4. Allow to specify FW and Read-Only settings on per tablespace level
5. Ability to bring individual tablespace off-line (and back online, of course)

> Non-goals:
>
>  1. Change the size of record numbers
>  2. Store blobs in other than the table's data space.

   Why not allow blobs to be separated from regular data ?

>  3. Implement any ODS change other than those required to support table 
> spaces (other projects are fine, but should be layered on,
>     not part of, table spaces).

Regards,
Vlad


------------------------------------------------------------------------------
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