Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 10.0.1 » UltraLite - Database Management and Reference » Introducing UltraLite » UltraLite features and limitations

UltraLite features and limitations Next Page

UltraLite feature comparison


Certain features or metrics may help you determine which database type is best suited to your deployments.

The footprint of an UltraLite database and management system is small—which only adds 400-500 KB to your application size in the case of the C/C++ version. Comparatively, the SQL Anywhere database, server, and synchronization client add approximately 6 MB. While UltraLite does not support some of the features included with the SQL Anywhere (for example, triggers and stored procedures), all of the basic features of a relational database are included.

Comparing SQL Anywhere features with UltraLite

If you are unsure which database you require, compare the supported features of SQL Anywhere and UltraLite. An X indicates that a feature is supported.

Feature requiredSQL AnywhereUltraLiteConsiderations

Transaction processing, referential integrity, and multi-table joins

XX

Triggers, stored procedures, and views

X

External stored procedures (callable external DLLs)

X

Built-in referential and entity integrity

XX

Declarative referential integrity, where deletes and updates are cascaded, is a feature that is not supported in UltraLite databases—except during synchronization when deletes are cascaded for this purpose. See Avoiding synchronization issues with foreign key cycles and Table Order synchronization parameter.

Cascading updates and deletes

XLimited

Dynamic, multiple database support

XX1

Multi-threaded application support

XX

Row-level locking

XX

XML unload and load utilities

X

UltraLite uses separate administration tools to accomplish XML load and unloads. It is not built into the runtime. See UltraLite Load XML to Database utility (ulload) and UltraLite Unload Database to XML utility (ulunload).

XML export and import utilities

X

SQL Anywhere uses SQL statements to export/import data to XML. You can also use dbunload to export your data. See Importing and Exporting Data.

SQLX functionality

X

SQL functions

XX

Not all SQL functions are available for use in UltraLite applications. Using an unsupported function gives a Feature not available in UltraLite error. See UltraLite SQL Function Reference .

SQL statements

XLimited

The scope of SQL statements are limited in UltraLite compared to SQL Anywhere. See UltraLite SQL Statement Reference.

Integrated HTTP server

X

Strong encryption for database files and network communications

XX

Event scheduling and handling

X

High-performance, self-tuning, cost-based query optimizer

X

UltraLite has a query optimizer, but it is not as extensive as that of SQL Anywhere. Therefore, the UltraLite optimizer may not provide as high performance as the SQL Anywhere optimizer on complex queries. However, if you are running simple queries, UltraLite can run faster. See Query access plans in UltraLite.

Choice of several thread-safe APIs

XX

UltraLite gives application developers a uniquely flexible architecture that allows for the creation of applications for changing and/or varied deployment environments. See Choosing an UltraLite programming interface.

Cursor support

XX

Dynamic cache sizing with an advanced cache management system

X

Cache sizing is static in UltraLite. Nonetheless, UltraLite allows you to set the cache size when the database is started, which gives you the ability to scale cache size accordingly. See UltraLite CACHE_SIZE connection parameter.

Database recovery after system or application failure

XX

Binary Large Object (BLOB) support

XX

UltraLite cannot index or compare BLOBs.

Windows Performance Monitor integration

X

Online table and index defragmentation

X

Online backup

X

Small footprint, which can be as small as 500 KB

X

Small footprint devices tend to have relatively slow processors. UltraLite employs algorithms and data structures that are targeted for these devices, so UltraLite continues to provide high performance and low memory use.

Supports both Palm OS and Symbian OS

X

Direct device connections to a Windows CE device from the desktop.

X

SQL Anywhere databases need a database server before allowing desktop connections to the database that you deploy on a Windows CE device. On UltraLite, you simply need to prefix the connection string with WCE:\. See Windows CE.

High-performance updates and retrievals through the use of indexes

XX

UltraLite uses a mechanism to determine whether each table is searched using an index or by scanning the rows directly.

Additionally, you can hash indexes to speed up data retrieval. See UltraLite index performance considerations.

Synchronizing to Oracle, DB2, Sybase Adaptive Server Enterprise, or SQL Anywhere

XX

Built-in synchronization

X

Unlike SQL Anywhere deployments, UltraLite does not require a client agent to facilitate synchronization. Synchronization is built into the UltraLite runtime to minimize the components you need to deploy. See UltraLite Clients.

In-process execution

X

Computed columns

X

Declared temporary tables/global temporary tables

X

System functions

X

UltraLite does not support SQL Anywhere system functions, including property functions. You cannot include them as part of your UltraLite application.

Timestamp columns

XX

SQL Anywhere Transact-SQL timestamp columns are created with the DEFAULT TIMESTAMP default.

UltraLite timestamp columns are created with the DEFAULT CURRENT TIMESTAMP default. Therefore, UltraLite does not automatically update the timestamp when the row is updated.

User-based permission scheme to determine object-based ownership and access

X

UltraLite is primarily designed for single user databases in which an authorization system is not needed. However, you can include up to four user IDs and passwords, which are used for authentication purposes only. These users have access to all database objects. See The role of user authentication.

1With the UltraLite engine only.