SQL Anywhere is an embedded SQL database engine designed from its first release in 1992 to give good performance out of the box in a range of environments from small devices (Raspberry Pi and handhelds) up to server class machines supporting databases of hundreds of gigabytes and thousands of users.
From the beginning, SQL Anywhere was designed to offer self-management features supporting deployment as an embedded database system where the database administrator cannot immediately connect and diagnose and solve problems. In some (extreme) cases, connecting to the database involves a trip on a float plane to a remote Arctic location or a helicopter ride to an oil rig. Packaging and deployment options are important to support embedded applications, and it also critical that the database server give robust good performance under conditions that change long after the application has shipped. While performance needs to be robust under changing conditions, embedded applications still have many of the same needs as those applications where a DBA is able to continually manage and tune system parameters. SQL Anywhere addresses these needs by choosing good defaults and managing system parameters automatically. For example, SQL Anywhere achieves the best price/performance on the TPC-C benchmark with very minimal configuration. We have also found that embedded applications need similar processing capabilities as any other database application, and make good use of materialized views, procedures, triggers, text indexes, geospatial support and database encryption on handheld devices all the way up to server class machines.
This talk describes the embedded database applications that are supported by SQL Anywhere, the mechanisms and policies implemented to support them, and our experience with problems that are not yet solved in this environment.
Ivan T. Bowman works for SAP Labs Canada (1993-) as a development Expert in HANA Platform Data Management with primary responsibility for the software architecture of the SQL Anywhere DBMS and the time series support of SAP HANA. His professional interests include query execution, end-to-end performance for database applications, methods to understand and control the architecture of large software systems, formal languages, and integrating non-relational data into RDBMSs (XML, text, JSON and time series). Ivan completed his academic work concurrently with industry work: BMath 1995, MMath 1999 (advisers Ric Holt and Mike Godfrey--software architecture recovery of object-oriented systems), and a PhD in computer science 2005 (adviser Ken Salem--optimizing client access patterns to avoid the overheads of fine grained database requests).
Faculty Host: Andy Pavlo
Partially funded by Yahoo Labs.