Application Link – The ability to directly link an application program with RDM Server in order to eliminate the inter-process communication overhead normally associated with client/server interaction.
Application Server – The application program is built using the application link technology of RDM Server. An application server processes application-specific database operations made from application client programs.
Atomicity – The property of a transaction that guarantees that either all or none of the changes made by the transacton are written to the database.
Blob – An abbreviation for: binary large object. In SQL blob can be a general term for any data of type long varbinary, long varchar, or long wvarchar. It is also a specific term (and synonym) for data of type long varbinary.
B-Tree – An indexing method in which the values of the columns used in the index are efficiently maintained in sorted order that also provides fast access (three or four additional disk accesses) to an individual index entry.
Cache – The RDM/RDM Server computer memory that is set aside to contain a portion of the database data that has most.recently been accessed by the database application program. A cache is used to minimize the amount of physical disk I/O performed by the DBMS.
Cascade – A foreign key attribute that automatically migrates the changes made to a referenced (i.e., primary key) table to all of the referencing (foreign key) table rows.
Catalog – A repository for the computer-readable form of a database’s data definition meta-data. Sometimes called the system catalog or just syscat.
Client – A client-side machine, containing the Product libraries, which is connecting to a Server machine
Client/Server – A server is a program that runs on a computer in which directly manages the database. A client is a separate program (or process) that communicates with the database server through some kind of inter-process communication protocol (e.g., TCP/IP) in order to perform application-specific database operations.
Column – A single unit of named data that has a particular data type (e.g., number, text, or date). Columns only exist in tables.
Commit – The action that causes the all of the changes made by a particular transaction to be reliably written to the database files.
Concurrency – The property in which two or more computing processes are executing at the same time.
Connection – The means of communication between a client and a server. In RDM and RDM Server SQL, a connection can only by used by one thread at a time. However, a process can have multiple connections opened, each in its own thread, to one or more databases at a time.
Consistency – The property of a transaction that guarantees that the state of the database both before and after execution of the transaction remains consistent (i.e., free of any data integrity errors) whether or not the transaction commits or is rolled back.
Context – The data associated with a class of operations (e.q., an SQL connection or statement handle) which needs to be maintained between separate calls to specific API functions within that class. Contexts are important in that they allow for greater concurrency in a multi-threaded program.
Core/Core-level – The non-SQL API and DDL DBMS features.
Cost-based Optimization – The process where data distribution statistics (e.g., the number of rows in a table) are used to guide the SQL query optimizer’s choice of the best way to retrieve the needed data from the database.
Cursor – A select statement that is in the process of having its result rows retrieved.
Data Field – A single unit of named data that has a particular data type (e.g., char, integer, or date)—equivalent to an SQL column. Data fields only exist in record types.
Data Type – The basic kind of data that can be stored in a column. The data types that are available in SQL are: char, wchar, varchar, wvarchar, binary, varbinary, boolean, tinyint, smallint, integer, bigint, real, float, double, date, time, timestamp, long varbinary, long varchar, long wvarchar.
Database Instance – An independent database which shares the same schema as another database. Only used in RDM Server.
db_VISTA – Original name for the Raima DBMS product now called RDM (not RDM Server).
DBMS – An acronym for database management system.
DDL – Database Definition Language.
Deadlock – A situation in which resources (i.e. locks) are held by two or more connections that are each needed by the other connections so that they are stuck in an infinite wait loop. For example, connection 1 has a lock on table1 and is requesting a lock on table2 that is currently held by connection 2 which is also requesting a lock on table1. There are programming practices that can be used that will prevent deadlocks from ever occurring.
Deterministic – A type of scalar function that always returns the same value when called with the same argument values. A deterministic scalar function can be called by RDM SQL at compile time when all of the argument values are known a compile time (i.e., they are literal constants). This feature is not available in RDM Server.
Device – In RDM Server, an identifier that is defined as the path name of a file system directory into which RDM Server specific files can be located.
Distributed Database – A database in which its data is distributed among multiple computers or devices (nodes) allowing multiple computers to simultaneously access data residing on separate nodes.
DLL – Dynamic Link Library—a library of related functions that are not loaded into memory until they are called by the application program. All RDM and RDM Server APIs are contained in DLLs on those operating systems that support them (e.g., MS-Windows). These are sometimes called shared libraries on some systems.
DML – Database Manipulation Language.
Documentation – All Product-related materials, specifications, technical manuals, user manuals, flow diagrams, file descriptions, or other written information either received from or published by Raima.
Domain – An alternate name for a base data type that is defined using the RDM SQL create domain statement. This statement is not available in RDM Server.
Durability – The property of a transaction in which the DBMS guarantees that all committed transactions will survive any kind of system failure.
Dynamic DDL – The ability to change the definition of a database (its schema) after data has been stored in the database without having to take the database off-line.
Encryption – The encoding of data so that it cannot be understood by a human reader. explicit locking Locks that are explicitly made by the application program through API function calls defined for that purpose or through execution of the lock table SQL statement.
End-User – An entity that licenses an Application for its own use from Licensee or its Additional Reseller.
Feedback – A Licensee’s voluntary provision of comments, suggestions, or any other communication with respect to the Product(s) or Documentation
Foreign Key – One or more columns in a table intended to contain only values that match the related primary/unique key column(s) in the referenced table. Foreign and primary keys explicitly define the direct relationships between tables.
Grouped Lock Request – A single operation that requests locks on more than one table or rows at a time. Either all or none of the requested locks will be granted. Issuing a grouped lock request at the beginning of a transaction that includes all of the tables/rows that can potentially be accessed by the transaction guarantees that a deadlock will not occur.
GUI – Graphical User Interface.
Handle – A software identification variable that is used to identify and manage the context associated with a particular computing process or thread. E.g., SQL uses handles for each user connection and SQL statement among other things.
Hash – An indexing method that provides for a fast retrieval (usually in only one additional disk access) of the row that has a matching column value.
Hierarchical Model – A special case of a network model database in which each record type can only participate as the member of one set.
Hot Spot – In a database, a hot spot is a single row of a table (record occurrence) that is used and updated so often that it creates a performance bottleneck on the system.
I/O – Input/output.
IDA – Interactive Database Access utility.
IEC – International Electrotechnical Commission. Along with the ISO, the IEC controls the SQL standard (ISO/IEC 9013px13px) and many others as well.
Implicit Locking – Done by SQL to automatically apply the locks needed to safely execute an SQL statement in a multiuser (i.e., shared database) operational environment.
Index – A separate file containing that allows fast access to a table’s rows based on the data values of the columns used in the index. RDM supports two indexing types: hash and b-tree. A key (not foreign key) is implemented using an index.
In-memory (Inmemory) – A feature in which the DBMS keeps the entire contents of a database or table available in computer memory at all times while the database is opened.
Inner Join – A join between two tables where only the rows with matching foreign and primary key values are returned.
IP Address – A numerical identification tag assigned to a computing device in a network. Internet IP addresses are displayed as a set of four, 3-digit numbers separated by periods (e.g., 113px1.12.213px4.2).
ISO – International Organization for Standardization. Along with the IEC, the ISO controls the SQL standard (ISO/IEC 9013px13px) and many others as well.
Isolation – The property of a transaction that guarantees that the changes made by a transaction are isolated from the rest of the system until after the transaction has committed.
Java – A multi-platform, object-oriented programming language, similar to C++, which is freely available to any and all software developers. It is particularly important in the development of Internet/Web applications.
JDBC – Java Database Connectivity API. JDBC provides a standard database access and manipulations API for Java programs. Both RDM and RDM Server support JDBC.
Join – An operation in which the rows of one table are related to the rows of another through common column values.
Key – A column or columns on which an index is constructed to allow rapid and/or sorted access to a table’s row.
LAN – A Local Area Network which used to interconnect the computers in a single geographic location.
Library – The container for a set of common software API functions.
Licensee – A customer that has obtained the right to use and/ or distribute Raima Product(s).
Locking – A method for safely protecting data from being changed by two or more users (processes/threads) at the same time. A write (exclusive) lock allows access to only one user (process/thread) at a time. A read (shared) lock allows read-only access to multiple users (processes/threads).
Maintenance and Support – The maintenance and support services for a Product under an Agreement (Maintenance and Support Addendum).
Marks – Raima’s trademarks, trade names, service marks or logos identified on Raima’s website.
Mirroring – The ability to copy the changes to the database made by each transaction from the master database to one or more slave databases so that exact copies of the master database are always available on the slaves.
Modification Stored Procedure – An SQL stored procedure that contains one or more insert, update, and/or delete statements.
Multi-platform – The ability for a software system to run on different computer hardware and operating systems with little or no changes.
Natural Join – A join formed between two tables where the values of identically named and defined columns are equal.
Network Model – A database in which inter-record type relationships are organized using one-to-many sets. Individual record instances (rows) can be retrieved using API functions that allow an application to navigate through individual set instances.
Network – An inter-connection of computers and computing devices all of which can send and receive messages from one another. The world’s largest network is the Internet in which billions of computers are connected.
Object-oriented – A computing programming paradigm which defines the computing problem to be solved as a set of objects which are members of various object classes each with its own set of data manipulation methods. Individual objects which have been instantiated (created) can only be manipulated using those prescribed methods.
Open Source Software (OSS) – Software that is released under a Software License that (1) permits each recipient of the software to copy and modify the software; (2) permits each recipient to distribute the software in modified or unmodified form; and (3) does not require recipients to pay a fee or royalty for the permission to copy, modify, or distribute the software.
Optimizer – A component of the SQL system that estimates the optimum, (i.e., fastest) method to access the database data that requested by particular SQL select, update, or delete statement.
Outer Join – A join formed between two tables that in addition to including the rows from the two tables with matching join column values will also include the values from one table that do not have matching rows in the other.
Page Size – The size in bytes of a database page.
Page – The basic unit of database file input/output. All database files are organized into a set of fixed-sized pages containing data associated with one or more record occurrences (table rows).
Party – A party to an Agreement (between Raima and Customer)
PLC – Programmable Logic Controller.
Port – A network portal through which two computing processes can communicate.
Portable – Software which has been developed to be able to run on many different computer hardware and operating systems with little or no change.
Positioned Update/Delete – An SQL update or delete statement that modifies the current row of a cursor.
Primary Key – A column or group of columns in a given table that uniquely identify each row of the table. The primary key is used in conjunction with a foreign key in another (or even the same) table to related the two tables together. For example, the primary key in an author table would match the foreign key in a book table in order to relate a particular author to that author’s books.
Process – An instance of the execution of a program on a single computer. A process can consist of one or more threads executing, more or less, concurrently. The memory used by a process cannot be accessed by any other process.
Product – The Raima software product(s) licensed to Licensee under an Agreement, including all bug fixes, upgrades, Updates, and releases. Product(s) does not include any Third Party Software or any OSS that may be included and distributed with the Product(s).
Protocol – A specific method in which messages are formulated, formatted, and passed between computers in a network. Internet messages are passed between computers using the TCP/IP protocol.
Query – A complete select statement that specifies 1) the columns and tables from which data is to be retrieved, 2) optionally, conditions that the data must satisfy, 3) optionally, computations that are to be performed on the retrieved column values, and 4) optionally, a desired ordering of the result set.
RDM – Raima Database Manager. Formerly called RDM Embedded now consists of three product configurations: RDM Mobile, RDM Embedded, and RDM Workgroup.
RDM Embedded – RDM version for use on embedded and real-time operating system platforms and applications.
RDM Mobile – RDM version designed for smartphone and tablet applications. Currently, only Apple’s iOS platform is support. Android support is forthcoming.
RDM Server – The client/server DBMS designed for business-critical applications that need greater concurrency and transaction throughput and/or dynamic DDL capabilities.
RDM Workgroup – RDM version designed for operating systems commonly used within the desktop and server environments.
Read-only Transaction – A multi-version concurrency control (MVCC) feature that allows database data to be read by one process without blocking another process’s modification of that same data. This features is available in RDM but not RDM Server.
Real-time – A real-time environment is one in which specific tasks must be guaranteed to execute within a specified time interval. For a DBMS to be considered truly real-time, it must be able to perform specific database-related tasks in a time that can be deterministically demonstrated—i.e., the worst case execution time can be demonstrated. Because a general-purpose DBMS deals with dynamic data in which the sizes of tables vary over time and since DBMS response times depend on the amount of data to be processed they cannot be considered as real-time. This is true also for RDM Embedded. It is real-time friendly, because it has a small footprint and has features (such as virtual tables) that allow it to be used in beneficial ways in a real-time application.
Record Instance/Occurrence – One set of related data field values associated with a specific record type—equivalent to an SQL row.
Record Type – A collection of closely related data fields—equivalent to an SQL table. Similar to a C struct, a record type is defined by a set of closely related data fields.
Referential Integrity – A condition in which the foreign key column values in all of the rows in one table have matching rows in the referenced primary key table. Referential integrity is maintained by SQL during the processing of an insert and delete statement and any update statement that modifies a foreign or primary key value.
Relational Model – A database in which inter-table relationships are organized based on common data columns which define a one-to-many relationship between a row of the primary key table and one or more rows of the matching foreign key table. Besides describing how the database tables are related, the relational model also defines how the related data can be accessed and manipulated. SQL is the most commonly used relational model database language.
Replication – A process where all or part of a database is replicated (copied) to another database. The other database can either be another RDM database, RDM Server database, or a 3rd party database.
Restriction Factor – Each relational expression specified in the where clause of a query has an associated restriction factor that is estimated by the SQL optimizer that specifies the fraction (or percentage) of the table for which the expression will be true. For example, in the query select * from book where bookid = ‘austen013px’ the relational expression bookid = ‘austen013px’ has a restriction factor equal to .003 (only one out of 3213px rows will satisfy this expression).
Result Set – The complete set of rows that is returned by a particular select statement.
Rollback – An operation, usually performed by the SQL rollback statement, that discards all of the changes made by all insert, update and delete statements that have been executed since the most recently started transaction (e.g., start transaction statement).
One set of related values for all of the columns declared in a given table. Also known as a record occurrence.
Royalty – A License fee set forth in an Agreement (Product and Pricing Addendum).
Scalability – A software system is scalable when its performance and overall system throughput continues to improve as more computing resources are made available for its use. This usually comes in the form of the number of cores (built-in CPUs) available in the computer on which the software system is run. However, there is always an upper limit to the number of CPUs that can be utilized before overall system performance and throughput begins to degrade.
Scalar Function – Either a built-in SQL function or a user-defined function that returns a single value computed only from the values of any required arguments at the time the function is called.
Schema – A representation of the design of a database. It may be graphical or textual. Graphical representations typically involve the use of boxes that represent database tables and arrows that represent inter-table relationships. Textual schema representations utilize Data(base) Definition Language statements to describe a database design.
Searched Update/Delete – An SQL update or delete statement in which the rows to be updated/deleted are those for which the conditional expression specified in the where clause is true.
Seat – A copy of a Product, or any of its components, installed on a single machine.
Semaphore – A variable that is used to synchronize shared access to data.
Server (Software) – A Seat that resides on a single Server machine and is capable of accepting connections from one or more Seats residing on Client machines.
Session – Similar to a connection but used in an RDM/RDM Server Core API programming context. A session (or task) handle is returned by the d_opentask function.
Set – A method used to implement the one-to-many relationship formed between two tables based on their foreign and primary key declarations. A set is defined to have an owner (primary key) table and a member (foreign key) table where all of the member table rows that are related to the same owner table row are connected together with a linked list.
Source Code (Raima) – The English language source code version of a Product, and any accompanying comments or other programmer Documentation, provided by Raima to Licensee pursuant to the terms of an Agreement. The capitalized term Source Code as used in an Agreement does not include OSS.
Stored Procedure – A named and, optionally, parameterized compiled set of SQL database access statements that can be executed as a unit through a call to the stored procedure.
Synchronization – The implementation method by which concurrently executing multiple computer threads or processes can safely access shared data.
System Catalog – See catalog.
Table – A collection of closely related columns. A table consists of rows each of which shares the same columns but vary in the column values.
Third Party Software – Software that is licensed separately by a third party with the Product(s) or Documentation.
Thread – A single, sequential execution of a computer program or program segment. A program can consist of concurrently executing threads. Where multiple threads access the same data, some kind of synchronization method needs to be employed to ensure that the data is only accessed by one thread at a time.
Timeout – Occurs when a lock request has waited longer than the prescribed wait time for the request to be granted.
Transaction Log – A sequential record of all of the database changes made by each transaction in the order they were issued. The transaction log is used to ensure that a database conforms to the ACID properties. Transaction logs are also used to mirror or replicate data to other databases.
Transaction – A set of logically related database modifications that are written to the database as a unit. The database changes associated with a given transaction are guaranteed by the DBMS to be either completely written to the database or, in the event of a system failure, none are written.
Transactional File Server (TFS) – A common process shared by all RDM runtimes that performs all of the database file input and output, serving up database pages to the runtimes as requested, controlling read-only transactions, and committing all transaction change logs to the database.
Transactional Stored Procedure – A modification stored procedure in which the database changes made by the procedure are encapsulated in its own transaction.
Update (of Product) – A Product that has been modified in a minor way, including but not limited to bug fixes, and has been furnished to Licensee under this Agreement. An Update is represented by a Product version number that increments to the right of the decimal point.
Upgrade (of Product) – A Product that has been modified in a major way, and is released as a new version of the Product. An Upgrade is represented by a Product version number that increments to the left of the decimal point.
Use – Storing, loading, installing, and/or running a Product, or displaying screens generated by a Product.
User-defined Function – An application-specific SQL callable scalar or aggregate function written in C.
User-defined Procedure – An application-specific function written in C and invocable through use of the SQL call statement. This feature is only available in RDM Server.
Velocis – Former name of a DBMS product now called RDM Server.
Virtual Table – An SQL table that is defined through a set of application-specific, C functions that conform to a particular interface specification that allow a non-database data source (e.g., a device, etc.) to be accessed as if it was a conventional SQL table. This feature is no available in RDM Server.
XML – Extensible Markup Language. XML documents are much used in the Internet’s World-Wide Web but are also used in many computing contexts in which data needs to be shared.