C-ISAM Maximum File Size?
Posted in 2000
Topics: General Discussion
Does anybody know what the maximum file size is for a C-ISAM set of data files? We currently have a data file approaching 2GB, with an index file not far behind. -- Robin Grayson
Robin Grayson wrote: > Does anybody know what the maximum file size is for a C-ISAM set of > data files? > > We currently have a data file approaching 2GB, with an index file not > far behind. My esteemed but Obnoxious colleague is behind the times. With C-ISAM versions 7.24 or earlier, you are indeed limited to 2GB files for any or all of the index, data, audit or transaction log files. With C-ISAM version 7.25 on platforms where the interfaces allow us to do it without excessive pain (eg Solaris, HP-UX, etc, but not Linux, as a counter-example), you can have rather significantly increased file sizes. The audit trails and transaction log are limited to 2^63-1 bytes (that's big, even if you've got 75 GB disk drives in a massive farm). The index and data files are limited to 2^31-1 (possibly 2^32-1, but what's a factor of two between friends at midnight) rows, or to certain other limits imposed by the way that indexes describe themselves internally. The actual data file and index file (and audit trail) structures are unchanged; you are simply no longer fettered by the 2GB offset. You can actually achieve file sizes somewhere in the region of 2^45 bytes (give or take a couple of factors of two). If you have exploited the variable length record features, you have a much more severe limit (around 16 GB). This is due to the internal coding for a variable length record. There is not yet a 7.25 SE; we're thinking about it. The C-ISAM datablade does not currently exploit this technology. And there are cogent arguments for saying that you should aim to avoid 2 GB data files, related to the depth of the B-tree and the number of index nodes that have to be read to do random access by primary key on the files. One item up for consideration is another new version of C-ISAM which would not be index compatible with the current version, but which would increase the index node sizes from 512/1024 bytes up to say 4/8 kB. This would dramatically decrease the depth of the B-tree, at the cost of compatability. That raises conversion and reversion issues, amongst other things, and dual-mode working (with both smaller and bigger index node sizes). If you have views on this, please let me know, preferably via this forum too so we can see who would need the larger size index nodes, etc, and matching versions of SE and the C-ISAM datablade. Note that doing SE has ramifications for things like DB-Load and DB-Import and DB-Export. -- Jonathan Leffler (jleffler@informix.com, jleffler@earthlink.net) Guardian of DBD::Informix v1.00.PC1 -- see http://www.perl.com/CPAN #include <disclaimer.h>
>Subject: C-ISAM Maximum File Size? >From: Robin Grayson robin@rg-net.com >Date: 18.04.00 12:54 W. Europe Daylight Time >Message-id: <fjfofsofq3un8oipuit0s5aru9cu3pg3jf@4ax.com> > >Does anybody know what the maximum file size is for a C-ISAM set of >data files? > >We currently have a data file approaching 2GB, with an index file not >far behind. > > > >-- >Robin Grayson > > > > > > order 7.25.uc1 to handle bigger indexes. Nona