LIST OF TABLES
2
List of Tables
1 Grammar conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2 List of reserved words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3 Predened functions . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
4 Error classes and default handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1 Intro duction
FastDB is highly ecient main memory database system with realtime capabilities and convenient C++
interface. FastDb do esn't supp ort client-server architecture and all application using FastDB database
should run at the same host. FastDB is optimized for applications with dominated read access pattern.
High speed of
query execution is provided by elimination of data transfer overhead and very eective
locking implementation. Database le is mapp ed to virtual memory space of each application working
with database. So query is executed in the context of application, requiring no context switching and data
transfer. Synchronization of concurrent database access is implemented in FastDB by means of atomic
instructions, adding almost no overhead to query pro cessing. FastDB assumes that all database is present
in RAM and optimizes search algorithms and structures according to this assumption. Moreover FastDB
has no overhead of database buers management and need not to transfer data b etween database le and
buers p ool. That is why FastDB will work signicantly faster then traditional database with all data
cached in buers p ool.
FastDB supports transactions, online backups and automatic recovery after system crash. Transaction
commit protocol is based on shadow root pages algorithm, p erforming atomic up date of database. Recov-
ery can be done very fast, providing high availability for critical applications. Moreover, elimination of
transaction logs improves total system p erformance and leads to more eective usage of system resources.
FastDB is application-oriented database. Database tables are constructed using information ab out
application classes. FastDB supports automatic scheme evaluation, allowing you to do changes only in one
place | in your application classes. FastDB provides exible and convenientinterface for retrieving data
from database. SQL-like query language is used to sp ecify queries, and such p ost-relational capabilities as
non-atomic elds, nested arrays, user-dened types and methods, direct interob ject references simplies
design of database application and makes them more ecient.
Although FastDB is optimized in the assumption that all database ts in computer physical memory,
it is also possible to use it with databases, which size exceeds size of physical memory in the system. In
the last case standard operation system swapping mechanism will work. But all FastDB search algorithms
and structures are optimized in the assumption of residence of all data in memory, so they eciency for
swapped out data will not b e very high.
2 Query language
FastDB supp orts query language with SQL-likesyntax. FastDB uses notation more popular for ob ject-
oriented programming then for relational database. Table rows are considered as ob ject instances and
the table | as class of these ob jects. Unlike SQL, FastDB is oriented on work with ob jects instead of
SQL tuples. So the result of each query execution is a set of ob jects of one class. The main dierences of
FastDb query language from standard SQL are:
1. There are no joins of several tables and nested sub queries. Query always returns set of ob jects from
one table.
2. Standard C types are used for atomic table columns.
3. There are no NULL values, except null references. I am completely agree with C. J. Date critics of
three-value logic and his proposal to use default values instead.
评论3
最新资源