Talk:ISAM
From Wikipedia, the free encyclopedia
[edit] Merge with Isam
Regarding proposed merge with Isam (redundany, inaccurate title), please support/oppose and sign with ~~~~ :
- Support Tvh2k 12:08, 26 May 2006 (UTC)
It should obviously be merged. In fact the entry "Isam" is improperly titled. The acronym should be all uppercase.
- Support for the same reason. RossPatterson 23:06, 26 May 2006 (UTC)
- Support for reasons above. Thalter 16:45, 27 July 2006 (UTC)
- Support for reasons above. equinexus 23:20, 30 July 2006 (PST)
- Support -- no-brainer 84.12.245.134 14:46, 10 August 2006 (UTC)
- Support obvious Thelem 22:53, 23 August 2006 (UTC)
[edit] Corrections to Basic Concepts
In ISAM systems, all fields do not have to be fixed length, nor do records have to be fixed length. This includes Btrieve. One can have variable length fields (typically text strings) and, consequently, variable length records.
Additionally, the indexing does not have to be a hash table. See Knuth (The Art of Computer Programming, any edition) for an in-depth discussion of trees, BTrees (I assume that is how Softcraft named its first product - as a sort of geeky pun), and B*Trees, which have much better properties for indexing millions of records than hash tables - such as no collisions.
My main point here is that ISAMs do not require fixed length fields and records, nor do they require hash tables. Very many ways to skin this cat.
In particular, the user manual for Btrieve - and I used it in a production environment starting with version 2.xx or something until 6.15 running as an NLM on Netware - discussed parent and child nodes, and when it created such nodes and the circumstances under which it would populate them with record addresses. Additionally, for I/O efficiency,Btrieve organized the data records in pages of different sizes (always a multiple of 512) that was specified when the Btrieve file was first created.
As I recall, Knuth (?) states a properly constructed B*Tree can retrieve a single record from a table of 1 million records with only 3 disk reads...
RSzoc 12:21, 10 October 2007 (UTC)
[edit] Too Much Sweep with no References
The opening paragraph states that ISAM forms the "basis of almost all databases, relational or non-relational". Unfortunately, there is no citation for such a sweeping statement, and just knowing the database world some, I would find it difficult to be true.
- I agree - for instance the article later says DB2 uses VSAM, and Informix (part from SE) moved on to RSAM with the first release of Turbo/OnLine/DSA/Whatever-it's-called-now, nearly 20 years ago.Pterre 14:49, 25 October 2007 (UTC)
Why? Hmmm. Let's see. There are at least 4 different types of database types: Network, Hierarchical, Indexed-Sequential, and Relational. Additionally, there are variations within each type. Except for Index-Squential (ISAM) which had a specific implementation when originally developed by IBM that is not the same as other ISAM products, I don't know which, if any of the other types of databases - and there are probably more now, such as object-oriented - use ISAM as a fundamental data structure.
There is also the distinction between a database - which can be a collection of tables - and a particular method for organizing records in a file. That is why - I imagine - that "AM" part of ISAM stands for "Access Method", and it's not "DB" for database. ISAM is a method to organize records within a table, not necessarily a database per se....
Anyway, either a source citation for the sweeping statement or eliminating the last sentence of the firs paragraph would make this more accurate. RSzoc 00:36, 13 October 2007 (UTC)

