Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!linus!decvax!harpo!utah-cs!utah-gr!thomas From: thomas@utah-gr.UUCP (Spencer W. Thomas) Newsgroups: net.unix-wizards Subject: Re: Discussion of "dbm" data base system Message-ID: <1053@utah-gr.UUCP> Date: Sun, 15-Jan-84 23:50:04 EST Article-I.D.: utah-gr.1053 Posted: Sun Jan 15 23:50:04 1984 Date-Received: Tue, 17-Jan-84 02:00:54 EST References: sri-arpa.15363 Lines: 15 Gosling (of emacs fame) did some work on the dbm package (producing something called ndbm). His changes include the ability to have multiple data bases open at once. I don't know about the internals, but ndbm files have 3 files, a ".dat", ".dir", and ".pag" file. I think he tried to solve the page-splitting problem by moving the actual data into a third file, which is pointed to from the second one (the one which, in dbm, would contain the data), which now contains only keys and pointers, making it much more likely that all records hashing to one page will fit into the page. On the minus side, there is no reclamation of space in the data file (this is also a plus, if you screw up and want to recover), so you have to dump and reload the database every now and then. Can anybody out there enlarge on this? =Spencer