Part of the SuneidoPlatform. * '''not''' SQL, uses a relational algebra query language * query language includes select, project, join, left outer join, union, difference, intersect, * integrated with SuneidoLanguage to lower ''impedance'' mismatch, same data types, same language for rules and triggers * allows multiple ''candidate'' keys, a single ''primary'' key is not required * explicit foreign keys, with cascade or block * business rules e.g. for derived fields, may be stored or calculated on demand * rules automatically determine dependencies and recalculate when dependencies change * standalone or '''client-server''' (tcp/ip) * add, update, and delete triggers * small footprint (executable is roughly 1mb) * concurrency * fully isolated transactions with commit and rollback * ''optimistic'', timestamp based, multi-version * read-only transactions see data ''as-of'' their start time * read-only transactions (e.g. long running reports) never conflict with other transactions * recovery - database can be rolled back to last consistent state after hardware or software crash * ''on-line'' backups - use a single read-only transaction to take a ''snapshot'' of the database * database is a single file accessed via virtual memory mapping for fast speed * fields and records are variable length * fields are dynamically typed (like SuneidoLanguage) * fields and indexes can be added and removed at any time without ''rebuilding'' data * multiple btree indexes * sophisticated cost based query optimizer that rearranges queries, chooses strategies, and selects the best index usage * '''open source''' under GPL license * sample applications, including a complete accounting system (GL, AR, AP) available ---- Homepage of Suneido is http://www.suneido.com/ There is an on-line forum for the discussion of Suneido at : http://www.suneido.com/forum/ ---- See also SuneidoPlatform SuneidoLanguage SuneidoDevelopmentEnvironment ---- CategoryDatabase CategorySoftwareTool