Home › Products › Specifications

DeviceSQL Data Specifications

 

Attribute

 

Size

 

Database size

 

4,398 Gigabytes

 

Number of records in a table

 

274,877,906,944

 

Record size

 
  • Paged Data: 64K
  • In-Memory: Unlimited
  • Memory-Persisted: Unlimited
 

Number of tables per data application

 

2048

 

File size

 
  • 4 GB file or limited by the operating system file size constraints. 
  • 4.2 TB using Page Service with striped file Page Adapter
 

Memory footprint for Runtime Services

 

Min: 24KB
Max: Depends on application since it is converted to C code

 

Number of fields in a table

 

2 billion

 

Number of indexes per table

 

Unlimited

 

Number of bytes per index key

 
  • BTree: 64K
  • In-Memory: Unlimited
 

Number of tables referenced per transaction

 

No limit

 

DeviceSQL Language Specifications

 

Attribute

 

Characteristics

 

Language

 

SQL and Procedural SQL (similar to PL/SQL), with embedded extensions, including:

  • Manage streams of data
  • Table Types
  • Control Structures (IF, THEN, ELSE, LOOP, WHILE, EXIT, …)
  • Exporting DeviceSQL function name to C
  • Importing of C Code as DeviceSQL function
  • Choose storage location per table
 

Table JOIN support

 

Yes (INNER)

 

Cursor Support

 

Internal and manual control (Open, Fetch, Close)

 

Exception Handling

 
  • Handle exceptions directly in functions/procedures
  • Create and raise user-defined exceptions
  • Pass error codes to C application code
 

International Language Support

 

Roman characters (ASCII) and Unicode (UTF-16)

 

APIs for Application calls 

 

Developer-defined API, Dynamic C API, Interpreted SQL API

 

Critical Section Support

 

Important code sections can be protected within DeviceSQL code or from within C application code

 

Data Types

 
  • Simple Types: BOOLEAN, VARCHAR, NVARCHAR, SHORT, CSHORT, INT8, INT16, INT32, LONG, BIT8, BIT16, BIT32, DOUBLE, CDOUBLE, DATE, BINARY, TIMESTAMP, FLOAT64, PHONECHAR, POINTER, VECTOR_INT8, VECTOR_INT16, VECTOR_INT32, VECTOR_BIT8, VECTOR_INT16, VECTOR_INT32, VECTOR_DOUBLE,
  • Complex types:  RECORD, TABLE, STREAM, AGGREGATE
 

Event Hooks

 
  • Available to run C functions and procedures
  • Control maximum memory usage
  • Interrupt long running queries

 

DeviceSQL Product Specifications

 

Functionality

 

Values

 

Host Development Platforms

 

Windows, Linux, Solaris

 

Target CPU

 

Supports virtually any target CPU, including multicore CPUs, Commonly supported CPUs include:

  • ARM, PowerPC, MIPS, SuperH, x86 and others
 

Target OS

 

DeviceSQL Runtime Services available for any target OS including Linux, VxWorks, Windows, u-ITron, QNX and others

 

Runtime Library Type

 

Static Library (dynamic on demand)

 

IDEs Supported

 
  • Microsoft® Visual Studio™
  • GNU development toolchain and command-line operation
  • Wind River® Workbench
  • ARM® RealView® Development Suite
  • Renesas HEW
  • QNX® Momentics® Development Suite
  • Freescale® CodeWarrior™
 

Transaction Support

 
  • COMMIT, ROLLBACK, and AUTOCOMMIT
  • ACID compliance
  • Create Read-Only or Read-Write Transactions
 

Compression

 

Compresses paged data. Algorithms available are:

  • ZLIB
  • BZ2

Additional compression algorithms and methods are available from Encirq professional services

 

Communication

 

Data Streams layer communication support for TCP sockets, FIFO and shared memory

 

Runtime Backup and Restore

 
  • Available, using SM_COPY, SM_OPEN, SM_CLOSE
  • Defragmentation performed during backup
 

Storage Management

 
  • Services-based (only use what is required)
  • Store fixed and variable sized data
  • Write to any persistent storage type, such as  ROM, NVRAM, Flash, Disk, EEPROM
  • Table data can reside in-memory, memory-persisted, and paged-in as needed
  • Customizable abstraction layer
  • Support permanent and temporary tables
  • Multiple persistent file support
  • Storage can be managed per table
  • Each manager can be open/closed as needed
  • Configurable tuning parameters, such as stripe size
 

Index Management

 
  • Services-based (only use what is required)
  • Several different index types (Hash, BTree, AVL)
  • Reside in memory or paged-in as needed
  • Create indexes using user-defined algorithms
  • Configurable tuning parameters, such as hash bucket size
  • Open and close indexes as required
  • Create and drop using SQL syntax
 

Memory Management

 
  • Memory Management service allows user-defined functions for controlling memory allocation and de-allocation
  • Manage data entirely in memory (In-Memory)
  • Load persistent data into memory at database open (Memory-Persisted)
  • Load data into memory as needed (Paged)
  • Parameters for constraining memory usage
  • Configurable tuning parameters, such as buffer and page size
 

Compaction Algorithms

 

For data types, storage managers, and indexes

 

Memory Optimizations

 

For SELECT query results, indexes, and paging of data

 

Thread-safe Support

 

Native thread-safe or coded multiple thread access to shared data

 

Multi-Process Support

 
  • Multiple concurrent readers can access shared data from same database instance
  • Processes can access separate database instances

 

 
 
 
Copyright © 2008 Encirq Corporation • All rights reserved. | Legal & PrivacyCopyright