2) What is the fundamental difference between a relational database and a hierarchical database and how does that effect the end-user? (Should we even care? If so why?): Difference between revisions
From VistApedia
Jump to navigationJump to search
No edit summary |
(No difference)
|
Revision as of 00:31, 21 September 2005
While MUMPS has been characterized as "hierarchical", the
DBMS that VistA uses, VA FileMan, provides what is more accurately
characterized as a polymorphic view of the database. One can
readily use relational projections (indeed there are commercial
add-ons that give a strict SQL view of the database). The more
advantageous view through VA FileMan is more like an object view
of the data with abstract data types being highly specialized for
optimal use and performance. End users usually need not care
(except that performance of VA FileMan is demonstrably superior
(there are published reports) to SQL on the same hardware and
configuration.)
Another difference is the way the data is stored. M data is stored
in b-trees, as compared to flat tables (I believe). This leads to
faster data acess, and less CPU power needed.
Also, the database in M is called by some a "sparce array." This
means that there are no "blank spaces" left for data to be later
filled into. So with M, if there is no data present, then no space
is wasted. I find this to lead to many many fields being defined
for a given file. With a traditional database, having all these
fields with empty/wasted space, would lead to huge database files.
But with M, one can can store years of patient information on a
relatively small disk.