The SQL Anywhere Relational Database Management System (RDBMS) provides enterprise-caliber functionality including full transaction processing, referential integrity, materialized views, snapshot isolation, high availability via database mirroring and server clustering, SQL and Java stored procedures, triggers, row-level locking, automatic event scheduling, automatic backup and recovery, full-text searching, support for spatial data, and much more. SQL Anywhere Server can easily scale to hundreds of concurrent users and hundreds of gigabytes of data. Yet its small footprint and its many features that automate administration make it an ideal database to embed into server and desktop applications that are widely deployed in customer and remote sites.
SQL Anywhere contains a range of features to enable self-management and maintenance in frontline environments, including features that enable optimization of computer resources, self-tuning for improved performance, and simplification of remote installation and support. SQL Anywhere provides enterprise-caliber databases that operate on frontline systems and devices whether connectivity with enterprise systems is available or not. Its synchronization technologies ensure data can be exchanged efficiently over wireless and wired networks with back-end databases, application servers, and messaging systems.
Figure 1. Internal SQL Anywhere Server Structure
SQL Anywhere is available on many platforms, including Windows, Windows Mobile, Linux, Oracle Solaris, HP-UX, IBM AIX, and Mac OS X. Unique to SQL Anywhere, its database files can be copied between platforms. SQL Anywhere includes support for many common database interfaces, including ODBC, JDBC, ADO.NET, PHP, and Perl. Many popular application development tools can be used, including: Microsoft Visual Studio, SAP PowerBuilder, Eclipse, and various web tools. Stored procedures can be written in C/C++, Java, .NET, or Perl. With a built-in HTTP server and web service support, OData producer and server, XML / JSON features, full text search, and a PHP interface, SQL Anywhere is an ideal database for use in a web-based environment behind a web server.
Figure 2. Supported Client Application Programming Interfaces (APIs)
SQL Anywhere is designed to deliver outstanding performance, without ongoing tuning and administration. Features such as dynamic cache sizing, dynamic worker allocation, auto generation of statistics, a sophisticated query optimizer, parallel query processing, and materialized views mean that SQL Anywhere is ideal for environments that demand high performance but which have no on-site database administrator. By offering, On-Line Analytical Processing (OLAP) SQL Anywhere offers the ability to perform complex data analysis within a single SQL statement, increasing the value of the results, while improving performance by decreasing the amount of querying on the database.
Figure 3. Dynamic sizing of database worker threads is handled by the worker pool manager, based on incoming requests
SQL Anywhere provides full end-to-end security with 128-bit strong encryption of database tables, files, and communications streams between the application and the database, and the MobiLink synchronization stream. SQL Anywhere can audit data access, offers built-in user authentication, and can integrate with third-party authentication systems. SQL Anywhere also offers FIPS-certified encryption via a separately licensed security option.