Re: Chunk Writes
Posted in 1997
In article <669976$s4o@cssun.mathcs.emory.edu>, Mark Collins <mcollins@us.dhl.com> writes >> >Short of actually checking for disk name and then chunk offset within disk, >> >there really is >> >no way to ensure that writing is actually done completely in sequence across >the >> >entire >> >disk. Even at that, when you consider logical volumes, disk arrays, disk >> >sections, etc., I >> >doubt that you could ever develop a method that would completely guarantee >> >writes to occur >> >in perfect order across all platforms. >> > >> Use 2Gb disks, 1 disk = 1 chunk = 1 dbspace. Also allows use >> fragmentation across disks. You fragment across dbspaces and therefor >> automatically across disks... >> > >Yes, this is a valid strategy, at least in some cases. This is, however, a >work-around, if >you will. It requires that every dbspace be some multiple of 2 GB, or at least >take up all >of the disk if you use less than 2 GB disks. Maybe you have a rootdbs of 2 GB, >but I don't >need that much space and don't want to waste 95% of a disk to implement this >work-around. OK so rootdbs = 40Mb of first disk and is an exception. Nothing should be in the rootdbs apart from sysmaster and sysutil. >As for fragmenting tables, that's another valid approach for some situations, >but I doubt >anyone wants to fragment a table listing the 50 states in the United States. I said it "allows use of fragmentation across disks" ^^^^^^ not FORCES use..!!! >This >work-around also eliminates the possibility of using larger disks, which are >becoming >cheaper all the time. I would suspect that some time soon it will be as hard to >find a new >2 GB disk as it currently is for a 40 MB disk. OK, if the disk is large then >1 chunk on the disk, but still one dbspace per disk. > >The point I was trying to make in the original response is that there is >virtually no way >for Informix to code the chunk write logic in such a way as to guarantee >perfectly ordered >writes across all platforms. Your approach will work, but it requires effort on >your part >to live within certain constraints, rather than having the DBMS figure it out on The only conttaints is that you set it up the write way: So we have:- - 1 dbspace per disk - rootdbs 40Mb - As many chunks per dbspace as needed, each chnunk 2Gb or as large as possible. Few chunks = fewer gaps betwwn chunks (i.e. smaller seeks). - create chunks round-robin across disks. Of course it would be nice if a tools existed to do this and I'd like to write it. Anyone know how VTOC's are stored on their OS and version? You could have a nice curses-based disk partitioner which also handles Online disk configuration. Add-in something to allow a) CPU detection and memory size detection. (To allow configuration of NUMCPUVPS and SHMVIRTSIZE) b) Something to help Online network setup. Detect use of NIS/NIS+ or /etc/hosts and /etc/service. Setup entries in NIS,/etc/services,/etc/hosts and sqlhosts and make sure they all tie-up. If you have PC clients if could add requried entries and even ping the client to make sure it was alive and the IP address was correct!!! Trouble is where would I get the info to do this? >its own. > > > > > >Mark Collins >mcollins@us.dhl.com > >Words that come to mean everything may finally mean nothing; yet >their very emptiness may allow them to be filled with a mesmerizing >glamour. -- David Williams