SIMPOL Micro Database Engine

SIMPOL Micro Database Engine Information

The SIMPOL Micro Database Engine (SBME) is the new next-generation database engine from the same engineers that built the Superbase database engine. This team has a long history of producing powerful, fast, resource-friendly, and efficient database engines. The newest incarnation is faster than previous versions, is far more flexible in design, generally requires less space for storage, and runs on multiple platforms, including: Win32, Linux for Intel, Mac OS-X, and Symbian OS.

Technical Information

The SBME database engine has complete support for the native data types in the new next-generation cross-platform development language called SIMPOL. This list includes: strings, blobs, booleans, integers, numbers, dates, times, and datetimes.

In SIMPOL, strings are Unicode strings and blobs are a collection of bytes. The size of a string or a blob is limited only by memory in SIMPOL. The maximum number of significant digits in an integer is platform dependent, but on all 32-bit platforms is more than 100,000 significant digits. The number type supports exact precision and scale for decimal values and is not subject to the inaccuracies of typical floating-point implementations.

The date, time, and datetime data types are stored internally as integer values. Dates are stored as the number of days since 1st of January in the year 0001. This assumes a correct Gregorian calendar throughout (the actual number of days is stored, to get dates from various periods in the correct local Gregorian calendar a conversion must be applied). Times are stored as the number of microseconds that have elapsed since midnight. Datetimes are stored as the number of microseconds that have elapsed since midnight of the 1st of January 0001.

There is no column width, formatting or validation applied to the fields of a table. All of the components of a table: the table definition, data, and indices are stored inside of a single file. One or more tables can be stored inside of the same physical file. The footprint of the single-user database engine including the language support for SIMPOL is approximately 112KB in size. The following is an overview of the capabilities:

  • Number of tables per file: unlimited
  • Number of columns per table: limited by memory only
  • Number of rows per table: limited by total file size only
  • Maximum size of a text column: limited by memory only
  • Maximum size of a blob column: limited by memory only
  • Maximum size of a record: limited by memory only
  • Number of indexes per table: unlimited
  • Maximum size of the file: limited to the maximum size of a file on the volume (file system and OS-dependent)

SIMPOL Server — Multi-User Access

Currently multi-user access is performed through the SIMPOL Data Transfer Protocol (SDTP) (formerly PPCS) Type 1 Server component and the database files and tables are shared using a small SIMPOL program. Not all of the capabilities of the database are currently available via this approach, since the SDTP (PPCS) Type 1 is compatible with the older Superbase PPCS database limitations. An extended SDTP Type 1 has been planned but not yet implemented. This extended version is expected to support all of the data types with their full capabilities. Also, SDTP Type 2 was designed to allow for modification to the actual database structure via the protocol whereas SDTP Type 1 does not allow for structure modifications. The footprint of the current multi-user engine is 148 KB. The existing 32-bit ODBC driver supports SDTP Type 1 and can be used to access database tables in multi-user mode from ODBC-compliant applications (this is not the most efficient method of access).

Cross-Platform by Design

The new database engine is written using platform independent code and is intended to be easily recompiled for any target operating system and processor architecture. Currently the engine runs on Win32, Linux for Intel, Mac OS-X (PPC), and Symbian OS. Platforms being considered as potentially interesting targets for conversion include: Win64, Windows CE (Pocket PC), and PalmOS (Access Linux Platform).

On April 28th, 2011 Simpol Limited released the fifth maintenance update of SIMPOL Professional.

Read more...