Home › Products › FAQ
Frequently Asked Questions
How does DeviceSQL differ from an embedded database?
How can DeviceSQL be so much faster than other databases?
What API’s does DeviceSQL support?
What is DeviceSQL’s memory footprint?
Does DeviceSQL support both in-memory data as well as persistent data?
What CPUs and target operating systems are supported?
What data types are supported?
Can I use my favorite editor or IDE with DeviceSQL?
Does DeviceSQL support crash recovery?
Does DeviceSQL have Unicode for multi-language support?
How does DeviceSQL differ from an embedded database?
An embedded DBMS typically consists of pre-packaged libraries and set APIs for accessing and managing data. By contrast, DeviceSQL is an SDK that consists of a DeviceSQL-to-C compiler and modular runtime services that let you design and build an embedded database, and other data management functions and APIs, to your exact requirements. With its unique compiled approach and the flexibility of its services-based architecture, you get much higher performance, a smaller footprint and more control and design flexibility than with a pre-packaged embedded DBMS.
How can DeviceSQL be so much faster than other databases?
Third-party benchmarks and real-world DeviceSQL users have found that DeviceSQL provides 3-50x the performance of other embedded database technologies. This higher performance is achieved through several unique features of DeviceSQL, including: compiled (as opposed to interpreted) execution that allows for extensive build-time optimizations and in-line execution; the variety of optimized indexing algorithms that can be applied on a per-table basis; and the performance of DeviceSQL’s other highly-optimized runtime data management services. Also, due to its service-based architecture, DeviceSQL provides you with more granular control for experimenting and optimizing database performance and memory usage. Finally, Encirq’s data management experts can help you optimize database performance in surprising ways.
What API’s does DeviceSQL support?
DeviceSQL provides three types of APIs: a Developer-Defined API, a Dynamic C API and an Interpreted SQL API. More information on these APIs can be found here.
What is DeviceSQL’s memory footprint?
The minimum runtime memory footprint for DeviceSQL is 24KB. However, depending on your application and runtime services requirements, CPU and compiler, memory footprints vary considerably. Real-world implementations often run around 100KB. Importantly, due its services-based architecture, DeviceSQL only includes the runtime services required by your application to minimize footprint. Also, as DeviceSQL offers advanced data compaction and data compression capabilities, it can significantly reduce data sizes and therefore overall memory and/or storage requirements.
Does DeviceSQL support both in-memory data as well as persistent data?
Yes. DeviceSQL can be used on pure in-memory data as well as persistent data. Data can be paged-in from persistent media with fine-grained control over page sizes. Also, queries can simultaneously span in-memory table data, in-memory stream data and persistent data.
What CPUs and target operating systems are supported?
DeviceSQL can be used on virtually CPU (8-, 16-, 32-, 64-bit and multi-core processor) where there is a C compiler available. However, most customers use it with common 32-bit CPUs such as ARM, SuperH, MIPS, x86, PowerPC, etc. DeviceSQL does not require an underlying operating system. However, if one is present, it can take advantage of a limited number of OS services such as file systems, memory managers and more. DeviceSQL has been tested and deployed on various flavors of Linux, Windows, VxWorks, u-Itron, QNX and more.
What data types are supported?
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
Can I use my favorite editor or IDE with DeviceSQL?
Yes. The principal interface to DeviceSQL is simply writing DeviceSQL statements in your favorite editor. Encirq also has integrations with Microsoft Visual Studio and Eclipse-based IDEs for integrated build launches, project management, etc. DeviceSQL can be easily integrated with other IDEs as well.
Does DeviceSQL support crash recovery?
Yes. DeviceSQL provides full transaction processing with crash recovery and roll-back capabilities. This provides high data integrity and roll-back to the latest committed state if the device experiences unexpected power loss. Because of DeviceSQL’s unique “log-less” approach, crash recovery is faster than with other database management systems.
Does DeviceSQL have Unicode for multi-language support?
Yes. DeviceSQL is fully compliant with Unicode UTF8 and UTF16. It uses the NVARCHAR data type, with full search, native Unicode order and string functions. It is represented in the generated C source code as an array of shorts.
 
 
 
Copyright © 2008 Encirq Corporation • All rights reserved. | Legal & PrivacyCopyright