Sponsored Content
Full Discussion: ADABAS anyone?
The Lounge What is on Your Mind? ADABAS anyone? Post 302537348 by NaturalDave on Thursday 7th of July 2011 11:52:54 PM
Old 07-08-2011
Adabas was around before SQL had established itself as a standard.
It is extremely fast & reliable & has been known to run literally for years at customer sites.

As quadphonic observed, it uses Inverted Lists, which are really just Indices.

In theory, the performance is comparable with, lets say other all-pervasive SQL Databases you may have encountered out there.
In practice, real-life Adabas DB's run much faster, as SQL has some shortcomings:
for example, you can't formally specify which Index you want to use (instead you have to rely on hints).

My experience of Larrys DB (that & Java is what I work with these days) is that queries often can deteriorate into a full table scan, because the optimizer doesn't always get it right & that can be very costly.

With Adabas you have WITH (Index criteria) & WHERE (non-Index) clauses, which empower the expert programmer.
(There is also a special-case for mixing non-Index criteria with WITH, but lets not get into that here!)

You also have 3 major access-paths:
FIND - sort of like SELECT in SQL
READ - similar to SELECT...ORDER BY, but allows Index or Physical order to be specified
HISTOGRAM - like read, but operates only on Indices. Very fast.

For those who need it, there is an SQL-Engine available for Adabas.

Natural, the programming language, is mostly used together with Adabas, but the same queries can be mapped via the Data-Dictionary (PREDICT) to many different underlying DB's (Adabas, Oracle, DB2, IMS/DB (DL1), VSAM, even System-resources like Main-Memory & Job-Queues. The list is long...)

Natural is in use by many Major International corporations & runs on various Hardware, from Mainframes (IBM, Siemens) to Windows.

The name stams from the term "Natural Language", as you might speak, for example:
MOVE A TO B, or MULTIPLY A BY B
Very similar to Cobol, but much, much more powerful.
It is much easier to understand than the OO/Java/C-like object.method(...) * DWORD -> ~^ ! stuff thats prevalent these days.

Natural was probably the first language to make window-technology readily available on the mainframe & is lightyears ahead of Cobol which is the all-pervasive mainframe language in real-world Fortune500 IT.

It would be unfair to compare Natural with PL/SQL.
While Natural is also used to write Adabas Triggers, it is also a full-function language in its own right, not just some old scripting language.

Software AG also offer various middleware to connect old & new, for example an ILOG JView Java Frontend connected via their EntireX middleware to the old host-based applications is used to allocate Cargo-loks by the german state railways (DB). Through their aquisition of WebMethods, they are also well positioned in the SOA marketplace.
 
QSTAT(1)						User Contributed Perl Documentation						  QSTAT(1)

NAME
qstat - display job/partition information in a familiar pbs format SYNOPSIS
qstat [-f] [-a|-i|-r] [-n [-1]] [-G|-M] [-u user_list] [-? | --help] [--man] [job_id...] qstat -Q [-f] qstat -q DESCRIPTION
The qstat command displays information about jobs. OPTIONS
-a Displays all jobs in a single-line format. See the STANDARD OUTPUT section for format details. -i Displays information about idle jobs. This includes jobs which are queued or held. -f Displays the full information for each selected job in a multi-line format. See the STANDARD OUTPUT section for format details. -G Display size information in gigabytes. -M Show size information, disk or memory in mega-words. A word is considered to be 8 bytes. -n Displays nodes allocated to a job in addition to the basic information. -1 In combination with -n, the -1 option puts all of the nodes on the same line as the job id. -r Displays information about running jobs. This includes jobs which are running or suspended. -u user_list Display job information for all jobs owned by the specified user(s). The format of user_list is: user_name[,user_name...]. -? | --help brief help message --man full documentation STANDARD OUTPUT
Displaying Job Status If the -a, -i, -f, -r, -u, -n, -G, and -M options are not specified, the brief single-line display format is used. The following items are displayed on a single line, in the specified order, separated by white space: the job id the job name the job owner the cpu time used the job state C - Job is completed after having run E - Job is exiting after having run. H - Job is held. Q - job is queued, eligible to run or routed. R - job is running. T - job is being moved to new location. W - job is waiting for its execution time (-a option) to be reached. S - job is suspended. the queue that the job is in If the -f option is specified, the multi-line display format is used. The output for each job consists of the header line: Job Id: job identifier followed by one line per job attribute of the form: attribute_name = value If any of the options -a, -i, -r, -u, -n, -G or -M are specified, the normal single-line display format is used. The following items are displayed on a single line, in the specified order, separated by white space: the job id the job owner the queue the job is in the job name the session id (if the job is running) the number of nodes requested by the job the number of cpus or tasks requested by the job the amount of memory requested by the job either the cpu time, if specified, or wall time requested by the job, (in hh:mm) the job state The amount of cpu time or wall time used by the job (in hh:mm) EXIT STATUS
On success, qstat will exit with a value of zero. On failure, qstat will exit with a value greater than zero. perl v5.14.2 2012-04-10 QSTAT(1)
All times are GMT -4. The time now is 12:22 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy