SQLite Database Information

The default RockWorks database is a SQLite database. You do not need to have any separate programs installed onto your computer in order to run RockWorks. This is because the components that support the database functionality are installed with RockWorks.

SQLite is an in-process library that implements a self-contained, serverless, zero-configuration, transactional SQL database engine. SQLite is an embedded SQL database engine. Unlike most other SQL databases, SQLite does not have a separate server process; it reads and writes directly to ordinary disk files. A complete SQL database with multiple tables, indices, triggers, and views, is contained in a single disk file. SQLite responds gracefully to memory allocation failures and disk I/O errors. Transactions are ACID even if interrupted by system crashes or power failures.

Client/server SQL database engines strive to implement a shared repository of enterprise data. They emphasize scalability, concurrency, centralization, and control. SQLite strives to provide local data storage for individual applications and devices. SQLite emphasizes economy, efficiency, reliability, independence, and simplicity.

SQLite Features

 Transactions are atomic, consistent, isolated, and durable (ACID) even after system crashes and power failures.
 Zero-configuration - no setup or administration needed.
 Implements most of SQL92. Supports table triggers and views.
 A complete database is stored in a single cross-platform disk file.
 Supports terabyte-sized databases and gigabyte-sized strings and blobs.
 Faster than popular client/server database engines for most common operations.
 Self-contained: no external dependencies.
 Cross-platform: Windows, Linux, Mac OS X, iOS and Android are supported out of the box.
 Sources are in the public domain. Use for any purpose is free.
 Very powerful API, allowing to extend engine in practically all areas.
 SQLite achieves one of the best data access performances among other embedded, file-server and client-server database engines used by the Delphi applications. We are aware of many successful applications with multi gigabyte databases. For example Silwood Technology Saphir is built with SQLite, Delphi and FireDAC.

Applications NOT for SQLite (i.e. use RockWorks Advanced with SQL Server instead)

 High Concurrency. SQLite uses reader/writer locks on the entire database file. That means if any process is reading from any part of the database, all other processes are prevented from writing any other part of the database. Similarly, if any one process is writing to the database, all other processes are prevented from reading any other part of the database.
 Client/Server Applications. If you have many client programs accessing a common database over a network, you should consider using a client/server database engine instead of SQLite. SQLite will work over a network file system, but because of the latency associated with most network file systems, performance will not be great.
 Very large datasets (N tb).

(see http://www.sqlite.org/whentouse.html and http://docwiki.embarcadero.com/RADStudio/XE7/en/Using_SQLite_with_FireDAC )


If you wish to run RockWorks using SQL Server, which is supported in the Advanced level only, you need to be sure that these components are installed separately from the RockWorks program.

 


Back to Database Overview

RockWare home page