Re: Newbie question on table design.




"-CELKO-" <jcelko212@xxxxxxxxxxxxx> wrote in message
news:1177850477.793972.30990@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
There are numerous record management systems that allow for concurrent
access by multiple processes. <<

The record systems I know used a job queue and locks. They could not
even share read-only data very well. We had all kinds of schemes for
handling the queues, but the model was that you had to wait until the
other user was done with his changes. The early SQL systems were also
built on a queues and locking model because that is what we had.

Synchronizing processes (locks) is one way to allow for concurrent access
without allowing race conditions. Saying that a system uses locks is NOT
the same thing as saying that it doesn't provide for concurrent access.



There was no concept of optimistic concurrency control or parallelism
via logical partitioning when changing the data.

The above is NOT inherent in the definition of "row" and "record".



"row" and "record" is more a matter of terminology than concept. <<

I disagree. Rows are not records. A record is defined in the
application program which reads it; a row is defined in the database
schema and not by a program at all. The name of the field is in the
READ or INPUT statements of the application; a row is named in the
database schema. Likewise, the PHYSICAL order of the field names in
the READ statement is vital (READ a,b,c is not the same as READ c, a,
b; but SELECT a,b,c is the same data as SELECT c, a, b.


Again, this is simply not true. In the later days of COBOL and file based
applications, record definitions were stored in libraries, and referenced
by COBOL source programs. These record definition libraries eventually grew
into active data dictionaries.

You are vastly oversimplifying the historical evolution of data management.

All empty files look alike; they are a directory entry in the
operating system with a name and a length of zero bytes of storage.

That's only one way of looking at empty files.


.



Relevant Pages

  • Re: Using a data structure with many critical sections
    ... for use with lock-free operations, ... "flat" structures that seem to require enormous numbers of locks into ... not to process elements, and this is just a handful of locks, and you might ... be able to use lock-free queues. ...
    (microsoft.public.win32.programmer.kernel)
  • Re: Lock(this): Aufgestaute Aufrufer eliminieren ?
    ... auf TryEnter) keinerlei Überwachung bzw. Administration von Locks ... bzw. Queues. ... Prev by Date: ... Next by Date: ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)