SQL Anywhere and UltraLite address data storage and data access needs from large enterprise database sources to small, mobile databases. When designing an application, you need to choose the database that is the right fit.
If your target platform is Unix, Linux, Mac OS X, or Novell NetWare, you must use a SQL Anywhere database.
If your target platform is the Palm OS or Symbian OS, you must use an UltraLite database.
If the target platform is Windows Vista or Windows XP, both SQL Anywhere and UltraLite are available. SQL Anywhere is often preferred because provides a fuller feature set and its additional memory requirements are rarely an issue.
If the target platform is Windows CE, such as on a Pocket PC or Smartphone, you need to consider memory constraints, and possibly the tasks your application needs to perform. On Windows CE, SQL Anywhere requires approximately 6 MB of memory plus another 2 MB for the synchronization component, whereas UltraLite requires less than 1 MB and has synchronization built in. But, while UltraLite is considerably smaller, it does not offer the same support as SQL Anywhere for such things as complex queries, events, procedures, triggers, views, and so on.
Your overall solution may result in a mixture of SQL Anywhere and UltraLite databases, synchronized using MobiLink.
For more information about the differences between the core database solution (SQL Anywhere) and the UltraLite database solution, see UltraLite features and limitations.