0% found this document useful (0 votes)
19 views24 pages

Getting Started Guide

The Solid Database Engine Getting Started Guide provides an introduction to the Solid Database Engine, detailing its features, capabilities, and installation procedures. It covers the client-server model, SQL query submission methods, and available technical support resources. The guide is intended for users with little or no experience with Solid products and includes references to additional documentation for further learning.

Uploaded by

ikkikurogane15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views24 pages

Getting Started Guide

The Solid Database Engine Getting Started Guide provides an introduction to the Solid Database Engine, detailing its features, capabilities, and installation procedures. It covers the client-server model, SQL query submission methods, and available technical support resources. The guide is intended for users with little or no experience with Solid products and includes references to additional documentation for further learning.

Uploaded by

ikkikurogane15
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Solid Database Engines

Solid
Database Engine
Getting Started
Guide

Version 4.2

June 2004

SOLID INFORMATION TECHNOLOGY


www.solidtech.com
Copyright © 2002-2004 Solid Information Technology.

All rights reserved. No portion of this product may be used in any way except as expressly authorized in writing by
Solid Information Technology.
Solid logo with the text "SOLID" is a registered trademark of Solid Information Technology Inc.

Solid AcceleratorLib™, Solid Availability™, Solid Bonsai Tree™, Solid BoostEngine™, Solid CarrierGrade
Option™, Solid Database Engine™, Solid Diskless™, Solid EmbeddedEngine™, Solid FlowControl™, Solid Flo-
wEngine™, Solid High Availability™, Solid HotStandby™, Solid Information Technology™, Solid Intelligent
Transaction™, Solid Remote Control ™, Solid SmartFlow™, Solid SQL Editor™, Solid SynchroNet™, and Built
Solid™ are trademarks of Solid Information Technology Inc. All other products, services, companies and publica-
tions are trademarks or registered trademarks of their respective owners.

Solid Intelligent Transaction patented Solid Information Technology (U.S. patent 6144941).

This product contains the skeleton output parser for bison ("Bison"). Copyright (c) 1984, 1989, 1990 Bob Corbett
and Richard Stallman.

For a period of three (3) years from the date of this license, Solid Information Technology Inc. will provide you, the
licensee, with a copy of the Bison source code upon receipt of your written request and the payment of Solid's rea-
sonable costs for providing such copy.

Document number SEGS-4.20-20040630


Date: June 30, 2004
Contents

Welcome ....................................................................................................................................................... i-v


About This Guide.................................................................................................................................... i-v
Organization ...................................................................................................................................... i-v
Audience............................................................................................................................................ i-v
Conventions...................................................................................................................................... i-vi
......................................................................................................................................................... i-vii
Solid Documentation ............................................................................................................................ i-vii
Electronic Documentation ............................................................................................................... i-vii
Solid Technical Support ...................................................................................................................... i-viii
.................................................................................................................................................................. i-x

1 Getting Started with your Solid Database Engine


What Solid Database Engine Can Do ................................................................................................. 1-1
Special Features of Solid Database Engine......................................................................................... 1-4
AcceleratorLib: Higher Performance, More Control, Diskless Server ........................................... 1-5
Fault Tolerance with Solid’s CarrierGrade (HotStandby) Option .................................................. 1-6
SmartFlow ....................................................................................................................................... 1-6
In-Memory Tables ........................................................................................................................... 1-7
What’s In Your Solid Development Kit .............................................................................................. 1-7
Software........................................................................................................................................... 1-7
Samples............................................................................................................................................ 1-7
Documentation ................................................................................................................................ 1-7
What Next?............................................................................................................................................ 1-7

iii
Glossary

Index

iv Solid Database Engine Getting Started Guide


Welcome
Solid provides the features you would expect to find in any industrial-strength database
server—multithreaded architecture, stored procedures, optimistic row level transaction man-
agement. Solid also provides other features, such as "hot standby" capability to provide pro-
tection against server failure, SmartFlow technology to distribute data among multiple
nodes, and in-memory capability to increase performance.
Solid is available for on a very side range of platforms, including Real-Time Operating Sys-
tems such as VxWorks and ChorusOS, as well as platforms such as Windows NT/2000/XP,
Linux, Solaris, HP-UX and other UNIX platforms.

About This Guide


The Getting Started With Solid Database Engine manual introduces you to the Solid
Database Engine. This manual also gives you an overview of the other manuals in this set.

Organization
This guide contains the following chapters:
■ Chapter 1, Getting Started with your Solid Database Engine, familiarizes you with the
underlying components of Solid Database Engine.
Glossary
The Glossary provides definitions of terms.

Audience
This guide is for users who have little or no experience with Solid products.

v
Conventions

Product Name
In this guide:
■ "Solid Database Engine", "Solid engine", or "Solid server" refers to the database server
used in Solid products, such as Solid BoostEngine, Solid FlowEngine, or Solid Embed-
ded Engine.
■ "Solid" used alone refers to all Solid data management products. In addition, "Solid" is
the short company name for Solid Information Technology.

Typographic
This manual uses the following typographic conventions.

Format Used for


WIN.INI Uppercase letters indicate filenames, SQL
statements, macro names, and terms used at
the operating-system command level.
RETCODE SQLFetch(hdbc) This font is used for sample command lines
and program code.
argument Italicized words indicate information that
the user or the application must provide, or
word emphasis.
SQLTransact Bold type indicates that syntax must be
typed exactly as shown, including function
names.
[] Brackets indicate optional items; if in bold
text, brackets must be included in the syn-
tax.
| A vertical bar separates two mutually
exclusive choices in a syntax line.
{} Braces delimit a set of mutually exclusive
choices in a syntax line; if in bold text,
braces must be included in the syntax.
... An ellipsis indicates that arguments can be
repeated several times.

vi
. A column of three dots indicates continua-
. tion of previous lines of code.
.

Solid Documentation
Below is a complete list of documents available for Solid Database Engine, including
options. Solid documentation is distributed in an electronic format (usually PDF files).
Solid Online Services on our Web server offer the latest product and technical information
free of charge. The service is located at:
http://www.solidtech.com/

Electronic Documentation
■ Release Notes This file contains installation instructions and the most up-to-date infor-
mation about the specific product version. This file (releasenotes.txt) is copied
onto your system when you install the software.
■ Solid Database Engine Getting Started Guide This manual gives you an introduction
to the Solid Database Engine.
■ Solid Database Engine SQL Guide This manual describes the SQL commands that
Solid Database Engine supports. This manual also describes some of the system tables,
system views, system stored procedures, etc. that the engine makes available to you.
This manual contains some basic tutorial material on SQL for those readers who are not
already familiar with SQL. Note that some specialized material is covered in other man-
uals. For example, the Solid "administrative commands" related to the High Availabil-
ity (HotStandby) Option are described in the Solid High Availability Option User
Guide, not the SQL Guide.
■ Solid Database Engine Administrator Guide This guide describes administrative pro-
cedures for Solid servers. This manual includes configuration information. Note that
some administrative commands use an SQL-like syntax and are documented in the SQL
Guide.
■ Solid Programmer Guide This guide explains in detail how to use features such as
Solid Stored Procedure Language, triggers, events, and sequences. It also describes the

vii
interfaces (APIs and drivers) available for accessing Solid Database Engines and how to
use them with a Solid database.
■ Solid In-Memory Database Guide This manual describes how to use the in-memory
feature of Solid BoostEngine.
■ Solid SmartFlow Data Synchronization Guide This describes how to use Solid’s
SmartFlow technology to synchronize data across multiple database servers.
■ Solid AcceleratorLib User Guide This guide describes how to use the AcceleratorLib
library, a database engine library that can be linked directly to the client application.
Linking directly to the server improves performance by eliminating network communi-
cation overhead.
This manual also explains how to use two proprietary Application Programming Inter-
faces (APIs). The first API is Solid’s SA interface, a low-level C-language interface
that allows you to perform simple single-table operations (such as inserting a row in a
table) quickly. The second API is SSC API, which allows your C-language program to
set priorities for some of the server’s internal operations; this allows you to tune perfor-
mance in some ways - for example, giving the "local" user higher priority (more of the
CPU time) than remote users.
This manual also explains how to set up a Solid server to run without a disk drive.
■ Solid High Availability User Guide Solid’s High Availability Option (formerly called
the HotStandby Option) allows your system to maintain an identical copy of the data-
base in a backup server or "secondary server". This secondary database server can con-
tinue working if the primary database server fails.
■ Installing Solid Database Engine On Tornado/VxWorks This guide describes how to
install Solid Database Engine on the Tornado/VxWorks environment. It also explains
how to start the engine and run a brief test to ensure that installation was correct. This
manual is included only in packages for Tornado/VxWorks.

Solid Technical Support


Solid provides several sources of information and technical support for customers and evalu-
ators.
Our web site contains copies of many of our manuals, an FAQ (Frequently Asked Ques-
tions) page, information from our knowledge base, and the white papers we've published.
www.solidtech.com

viii
Technical Support Requests
If you are a current customer and need assistance, the most efficient way to get answers is to
use the "support request form" on the web page
http://www.solidtech.com/support/index.html
Alternatively, for quick questions you may email us at
[email protected]
You may also search our knowledge base for solutions to common issues.
To follow up on a previously submitted request, email us at [email protected].
Please include the TPR tracking number. (A TPR tracking number is given to you when you
initially report a problem.)

Evaluation Support
If you are in the process of evaluating our software and require support, please fill out the
"Evaluation Support Form", which is accessible at
http://www.solidtech.com/commit/technicalsupport
or by clicking on "support request form" on the web page
http://www.solidtech.com/support/index.html
Or you may contact us at
[email protected]

Other Support
To purchase the product, or to purchase any options or upgrades, please contact:
[email protected]
or your sales representative.
To suggest an additional feature for future versions, please contact:
[email protected]
For other questions, please email
[email protected]
or browse our web site,
www.solidtech.com

ix
The web site will also have the most up-to-date contact information if any information has
changed.

Solid List Email List


The Solid List mailing list is provided to foster communication among the developers using
Solid technology. Solid List is a valuable place to contribute or request tips from other Solid
users who may be using SOLID products in ways similar to your own usage. Currently,
Solid List usually involves no more than a few messages each day.
Although Solid technical staff members frequently read the messages on Solid List and will
occasionally offer their own comments by posting to the list, Solid List is not an official
technical support channel. This means that to obtain technical support that you have pur-
chased from Solid you should be using the support channels provided as part of that support
agreement.
To SUBSCRIBE to Solid List, send an email message to:
[email protected]
which has the text:
subscribe solid-list
in the body of the message.
If you want to UNSUBSCRIBE from Solid List, send an email message to:
[email protected]
which has the text:
unsubscribe solid-list
in the body of the message.

x
1
Getting Started with your Solid Database
Engine

This chapter describes the underlying components and processes that make Solid Database
Engine the solution to managing distributed data in today’s complex distributed system envi-
ronments. It provides you with the background necessary to administer and maintain Solid
Database Engine in your network environment.

What Solid Database Engine Can Do


At its core, Solid Database Engine is a relational database engine (also called a "database
server"). This means that it stores data in one or more tables. Data in these tables may be
inserted, updated, deleted, and retrieved. Data in one table may be related to data in another
table, and a single retrieval (query) may pull related data from multiple tables. Tables are
discussed in more details in the SQL Guide.
Solid uses the industry-standard database query language SQL ("Structured Query Lan-
guage") for queries.

Client-Server Model
Solid supports the client-server model. The database server responds to queries from one or
more clients, each of which is a separate process. Those clients may be on the same com-
puter as the Solid database engine, or they may be on separate computers. The clients and
server use a communication protocol (such as TCP/IP) to send queries and data back and
forth. The Administrator Guide has more information about which communications proto-
cols are available.
To submit a query (an SQL statement) to a database server, a client must be able to commu-
nicate with that database server. Solid, like many other database servers, uses "drivers" to
enable this communication. Client applications call functions in the driver, and the driver
then handles the communications and other details with the server. For example, you might

Getting Started with your Solid Database Engine 1-1


What Solid Database Engine Can Do

write a C program that calls functions in the ODBC(Open DataBase Connectivity) driver, or
you might write a Java program that calls functions in the JDBC (Java DataBase Connectiv-
ity) driver.
For more information about the ODBC and JDBC drivers, and how to use them with your
client applications, see the Solid Programmer Guide.

Submitting A Query
There are multiple possible ways to submit a query:
■ "Raw SQL"
■ A database connectivity API
■ Solid’s proprietary SA API

Raw SQL
Raw SQL can be sent to the computer by using a utility program that merely sends the SQL
and then retrieves and displays the data. Solid provides a utility called "solsql" that allows
you to interactively type in SQL commands and send them to the server. It is also possible to
run a script, which is a series of SQL commands, without human interaction. The solsql util-
ity is documented in the Administrator Guide.

A Database Connectivity API


Although SQL is a powerful high-level language, it has a quite narrow scope; it is largely
limited to querying tables. SQL is not a general-purpose programming language like C or
Java. Many applications need the specific capabilities of SQL combined with the more gen-
eral capabilities of C or Java. For example, you might want to use SQL to retrieve data from
a table and then use C to call operating system functions to display the retrieved data as a
graph. Fortunately, you can combine SQL with other languages. A C program can use the
ODBC (Open DataBase Connectivity) API to communicate with the database server. Your
C program makes a series of function calls to send an SQL query to the server and then
retrieve the data. After the data has been retrieved, the C program can then do further tasks
(such as displaying graphs). Java programs can use the JDBC API to access the server. Solid
provides ODBC and JDBC as code libraries that your client application can call. (These
libraries are called "drivers", i.e. the "ODBC driver" and "JDBC driver".) The ODBC and
JDBC APIs are not specific to Solid, and are documented in many published books. For
information about the specifics of the Solid ODBC and JDBC drivers, see the Solid Pro-
grammer Guide.
In most work, you will write your application in a language such as C, link it to the appropri-
ate driver (e.g. the ODBC driver), and then execute it. To learn more about this, see the
Solid Programmer Guide. You may also look at the sample programs that Solid provides.

1-2 Solid Database Engine Getting Started Guide


What Solid Database Engine Can Do

Many of these samples are written in C or Java and use the ODBC or JDBC drivers. You
may want to use these programs and their "make" files as models for your own work.

Solid’s proprietary SA API


If you need to access only 1 table at a time (i.e. you don’t need the full power of SQL), you
may get higher performance by using Solid’s low-level database API, named the SA API.
This API is documented in the Solid Programmer Guide.

Summary
You typically use raw SQL when you don’t expect to re-use the query, and when you don’t
need to do any processing other than displaying the results. You typically use a C or Java
program and a database connectivity API when you expect to re-use the query, or when you
need to do additional work with the results.
For example, if you have a report that must be run every week, you will probably write a
program to do the query and display the results. Similarly, if you have 100 customer-service
representatives who all run the same query(s), or if you have 500 network line cards that all
need to do the same type of work, then you will probably write a program. On the other
hand, if you have a one-time question that needs to be answered now, and if the format of
the output can be simple, then you may simply run a raw SQL query.
Raw SQL is also very convenient when learning SQL, because you can compose and exe-
cute a query and see the results almost immediately without going through the compile/link/
execute process.

Standards Compliance
Solid conforms to the SQL-92 Entry-Level standard, along with several Intermediate-Level
enhancements. Solid supports Unicode for international character sets.
Solid also has its own proprietary extensions, which are discussed in the SQL Guide and in
other manuals. These extensions provide higher performance, higher availability, and tools
for distributing data among multiple servers.
Solid supports multiple application programming interfaces, including ODBC and JDBC.
These allow a client program to exchange data with the server.
■ ODBC 3.51 compliant driver
■ JDBC 2.0 compliant driver, type 4, with 100% Pure Java™ certification
■ Direct C-language table access. Client programs may communicate with the Solid
server using Solid’s own prioprietary API. This allows faster access for some opera-

Getting Started with your Solid Database Engine 1-3


Special Features of Solid Database Engine

tions and also provides some control over the server’s own internal operations, such as
prioritizing tasks.

Solid Database Engine Is Portable


Solid’s database engine is compact and can be run on a wide variety of platforms, including
embedded systems. Solid’s architecture is also highly scalable. Solid can run on computers
ranging from handheld PDAs (Personal Digital Assistants) such as MS-Windows CE
devices, up to mainframes.
Solid runs on a variety of operating systems, including several flavors of Unix, Linux, MS-
Windows, some RTOSs (Real-Time Operating Systems) such as VxWorks, and some pro-
prietary operating systems designed primarily for embedded systems, including Symbian.
For a more complete list of supported operating systems, see the release notes file that came
with the product.
Like most modern database servers, the Solid server is a multi-user server that allows many
simultaneous users/connections. The Solid server is also multi-threaded, which means that
while one operation is "blocked" (for example, waiting for the disk drive to return some
information), another operation may proceed. This improves performance when the server is
processing requests from multiple users.
The core of Solid Database Engine is a relational database server. This database server
accepts queries in the SQL language. Usually, these SQL queries are submitted by a "client"
application that sends SQL statements to the server and receives result sets back from the
server.

Special Features
Solid Database Engine has synchronization features that allow updated data in one Solid
Database Engine to be sent to one or more other Solid Database Engines.
Solid High Availability product (also called "HotStandby" or "CarrierGrade Edition") allows
you to run a pair of Solid Database Engines in a hot standby configuration
Solid’s AcceleratorLib allows you to link your client application directly to the database
server routines for higher performance and tighter control over the server.

Special Features of Solid Database Engine


Solid Database Engine can be configured to provide high availability, high performance, and
the ability to run on computers without disk drives, as well as the ability to distribute data
among multiple servers. Each of these capabilities is described below. Note that to use some
of these configurations, you must have purchased an appropriate license. If you do not have
the right type of license, the feature will not work.

1-4 Solid Database Engine Getting Started Guide


Special Features of Solid Database Engine

Note that all features are compatible with each other; you may purchase any combination of
features that you want.

AcceleratorLib: Higher Performance, More Control, Diskless Server

Higher Performance
The Solid Database Engine AcceleratorLib is designed especially for local high perfor-
mance data access. It improves performance by eliminating the overhead of the network pro-
tocol between a client and server that run on the same computer.
The AcceleratorLib is implemented as a linkable Solid Database Engine library. You write
and compile your program, then link it with the AcceleratorLib library file. The resulting
program starts execution with the main() routine of your code, which allows your applica-
tion to call one of AcceleratorLib’s own Control API functions to start the server.
In multi-threaded AcceleratorLib implementations, the server and your application operate
on different threads. The server becomes semi-autonomous, able not only to respond to input
requests from your application (via function calls) but also to remote applications that con-
nect through the usual communication protocols (such as TCP/IP). On a multi-processor sys-
tem, parts of your application and parts of the operating system may be executing (on
separate threads) simultaneously.

Tighter Control
The AcceleratorLib library includes an additional API (Solid Server Control API, or SSC
API), which allows the local client greater control over the server. This API allows you to do
things such as set the priority of the local client vs. remote clients.

Diskless Operation
The Solid Database Engine can operate without a disk drive. This is particularly useful in
some embedded systems. The AcceleratorLib library includes a function call to start a "disk-
less" server. Such a server stores all the tables, including the database server’s own system
tables, in memory. A diskless server also does not write data files, log files, or any other files
to a disk drive. Not surprisingly, if data is stored only in memory and not on disk, that data
may be lost during a power failure or other abnormal computer shutdown. If you want to use
a diskless server, you should either copy data to another server (by using Solid’s SmartFlow
(tm) option) or store only non-critical data in your diskless server.

For more information about the AcceleratorLib , read the Solid AcceleratorLib User
Guide.

Getting Started with your Solid Database Engine 1-5


Special Features of Solid Database Engine

Fault Tolerance with Solid’s CarrierGrade (HotStandby) Option


Solid Database Engine CarrierGrade option is a robust failover solution that delivers high
database availability in a fault-tolerant environment. The CarrierGrade optionCarrierGrade
option addresses the critical need for data redundancy, data integrity, and minimal down-
time in today’s network infrastructure.
The CarrierGrade option uses a technique called "hot standby", in which a second server
runs in parallel with the first one. Any data that is updated on the "Primary" server is copied
to the "Secondary" server. If the Primary server goes down, clients can connect to the Sec-
ondary server and continue operating. All information that has been committed and saved on
disk is available.
Without HotStandby, failed database recovery requires restarting a Solid server and recover-
ing the previous log file, or even restoring the database from a backup. These procedures can
take minutes, and can even result in data loss. With HotStandby, a database is switched to a
standby copy (known as the secondary database) and applications reconnect to this server.
Data integrityis maintained and downtime can be reduced to seconds.
The CarrierGrade option is "built into" the Solid Database Engine executable (solid.exe).
However, to activate the CarrierGrade option, you need to have a Solid license file that
enables this option, and you must also specify particular information in the server’s
solid.ini configuration file. After the configuration file is updated, you can then start
the HotStandby "primary" and "secondary" servers and use special commands to tell each
server which role (primary or secondary) it should take.
Read the Solid High Availability User Guide for details on the CarrierGrade option.

SmartFlow
Solid has unique proprietary technology that allows you to synchronize data across multiple
servers. This technology is based on a master/replica relationship. One server has a "master"
copy of the data, and one or more "replica" servers may contain copies of all of that data or a
subset of that data. Solid’s synchronization capability allows large numbers of replicas to
exist and to be updated independently. Solid allows bi-directional synchronization; replicas
may send updated data to the master, and the master may send updated data to the replicas.
Either the master or the replica may initiate updates of data in the replica.
Each server (master and replica) is a complete, independent server that can operate with or
without the other server(s). Thus the synchronization feature allows you not only to make
sure that all replicas are up to date, but also to make sure that your entire system does not
depend upon a single master server. This gives your system more robustness. To make your
system even more robust, you may use Solid’s CarrierGrade option.

1-6 Solid Database Engine Getting Started Guide


What Next?

In-Memory Tables
Solid’s BoostEngine gives you the option of storing some or all tables in memory. This
allows you to maximize performance without being limited by the total amount of memory
in your system. In-memory tables are stored on disk when the server is shut down, so the
data will persist beyond the current session.
For more information about in-memory tables, see the Solid In-MemoryDatabase Guide.

What’s In Your Solid Development Kit


Your Solid Development Kit (SDK) contains more than just a Solid Database Engine pro-
gram. It also contains the solid AcceleratorLib library, sample client programs, and docu-
mentation.

Software
The Solid Development Kit contains a complete set of Solid Database Engine software,
including the AcceleratorLib linkable library, and various "utility" programs.

Samples
The SDK comes with several sample programs written in C, SQL, and Java to help you get
started using the features in your Solid Database Engine.

Documentation
For a description of the manuals that come with Solid, see
“Solid Documentation” on page -vii.

What Next?
If you have not already read the release notes (releasenotes.txt file) in the Solid
Development Kit, you should read that first.
If you are not already very familiar with relational databases and the SQL programming lan-
guage, we recommend that you read at least the first two chapters of the Solid Database
Engine SQL Guide. These chapters give you an overview of basic relational database con-
cepts, such as tables, and also give you an introduction to the SQL commands that do basic
operations, such as inserting data, updating data, and selecting data.
We recommend that you read the first 3-5 chapters of the Solid Database Engine Adminis-
trator’s Guide. This will help you configure, start, and maintain your database server.

Getting Started with your Solid Database Engine 1-7


What Next?

We recommend that try one of the sample programs provided with the Solid Development
Kit.
After you’ve read the Administrator’s Guide, you may want to read the Guides that apply to
any specific options that you plan to use:
■ In-Memory Database Guide
■ High Availability Guide
■ AcceleratorLib Guide
■ SmartFlow Data Synchronization Guide
Most users will probably want to read the parts of the Programmer Guide that are relevant to
them. If you will be writing client programs that query the server, you will need to read at
least part of this manual.

1-8 Solid Database Engine Getting Started Guide


Glossary

This glossary gives you a description of the terminology used in this guide.

API (Application Programming Interface)


An API is a way for one piece of code to use another piece of code. In the case of the Solid
Database Engine, client programs use an API (such as ODBC or JDBC) to communicate
with the server and make requests of it. For example, your client application program may
compose an SQL query and then use an ODBC or JDBC function call to send that query to
the server for processing.
Solid also provides proprietary APIs that can be accessed via AcceleratorLib.

Client/server computing
Client/server computing divides a large piece of software into modules that need not all be
executed within the same memory space nor on the same processor. The calling module
becomes the ‘client’ that requests services, and the called module becomes the ‘server’ that
provides services. Client and server processes exchange information by sending messages
through a computer network. They may run on different hardware and software platforms as
appropriate for their special functions.
Two basic client/server architecture types are called two-tier and three-tier application archi-
tectures.

Communication protocol
A communication protocol is a set of rules and conventions used in the communication
between servers and clients. The server and client have to use the same communication pro-
tocol in order to establish a connection. TCP/IP is an example of a common communication
protocol.

Glossary-1
Database administrator
The database administrator is a person responsible for tasks such as:
■ managing users, tables, and indices
■ backing up data
■ allocating disk space for the database files

Database Management System (DBMS)


A DBMS is a system that stores information in and retrieves information from a database. A
DBMS typically consists of a database server, administration utilities, an application inter-
face, and development tools.

Database procedures
See stored procedures.

Index
An index of records has an entry for each key field (for example, employee name, identifica-
tion number, etc.) and the location of the record. Indexes are used to speed up access to
tables. The database engine uses indexes to access the rows in a table directly. Without
indexes, the engine would have to search the whole contents of a table to find the desired
row. A single table can have more than one index; however, adding indexes does slow down
write operations, such as inserts, deletes, and updates on that table. There are two kinds of
indexes: non unique indexes and unique indexes. A unique index is an index where all key
values are unique.

Open Database Connectivity (ODBC)


ODBC is a programming interface standard for SQL database programs. Solid Database
Engine offers a native ODBC programming interface.

Optimizer Hints
Optimizer hints (which are an extension of SQL) are directives specified through embedded
pseudo comments within query statements. The Optimizer detects these directives or hints
and bases its query execution plan accordingly. Optimizer hints allow applications to be opti-
mized under various conditions to the data, query type, and the database. They not only pro-
vide solutions to performance problems occasionally encountered with queries, but shift
control of response times from the system to the user.

Glossary-2 Solid Database Engine Getting Started Guide


Relational database management system (RDBMS)
Solid Database Engine is an RDBMS, which stores and retrieves information that is orga-
nized into two-dimensional tables. This name derives from the relational theory that formal-
izes the data manipulation requests as set operations and allows mathematical analysis of
these sets. RDBMSs typically support the SQL language for data manipulation requests.

SQL (See Structured Query Language)

SQL Access Group’s Call Level Interface (SAG CLI)


SAG CLI is a programming interface standard that defines the functions that are used to sub-
mit dynamic SQL clauses to a database server for execution. The ODBC interface is also
based on SAG CLI. The Solid SQL API conforms to the SAG CLI standard.

Stored procedures
Stored procedures allow programmers to split the application logic between the client and
the server. These procedures are stored in the database, and they accept parameters in the
activation call from the client application. This arrangement is used by intelligent transac-
tions that are implemented with calls to stored procedures.

Structured Query Language (SQL)


SQL is a standardized query language designed for handling database requests and adminis-
tration. The SQL syntax used in Solid Database Engine is based on the ANSI X3H2-1989
Level 2 standard including important ANSI X3H2-1992 (SQL2) extensions. Refer to the
Administrator’s Guide for a more formal definition of the syntax.

Triggers
Triggers are pieces of logic that a Solid server automatically executes when a user attempts
to change the data in a table. When a user modifies data within the table, the trigger that cor-
responds to the command (such as insert, delete, or update) is activated.

Glossary-3
Glossary-4 Solid Database Engine Getting Started Guide
Index
A High Availability (HotStandby), 1-6
AcceleratorLib
described, 1-5 S
API, Glossary-1 SQL
Application Programming Interface, Glossary-1 see Structured Query Language, Glossary-3
Stored procedures, Glossary-3
C
Communication protocol, Glossary-1 T
Triggers, Glossary-3
D
Database Management System (DBMS)
defined, Glossary-2
DBMS, Glossary-2
Documentation
electronic, i-vii

H
High Availability (HotStandby) option
described, 1-6
hints
optimizer, Glossary-2
HotStandby
See High Availability, 1-6

I
Index, Glossary-2

O
ODBC, Glossary-2
Open Database Connectivity, Glossary-2
optimizer hints, Glossary-2
options

Index-1
Index-2 Solid Database Engine Getting Started Guide

You might also like