On 12.01.2014 22:34, Alek Paunov wrote:
[*] Crucial aspect of any sophisticated data management system is
the
data query and manipulation language. Unfortunately the choices are
rather limited - Imperative approaches (recently resurrected by some
NoSQL DBs) are weak and error prone; SQL and few more "text prose"
languages have proven their incompatibility with the vast majority
of the developers (these without years of specific experience around
the data volumes processing). The predominant workaround seems to be
ORMs, but ORMs and "sophisticated/fast" should not be mixed in same
project :-).
My personal preference leans towards rules approach (which e.g. is also
adopted by at least one of the ERP innovation leaders - LogicBlox) and
especially its variant of visual rules definition UIs, where the user
describes dependencies (relations) between source and result trees of a
operations using blocks and arrows, and then the compiler lowers the the
whole transaction definition to executable (by the DB engine),
procedure.
IMHO, such kind of visual interface would be one of the possible
adequate languages (Adequate to the DB specialization level of our
target audience, including big share of the developers).
My personal preferences for the lower level executable language and DB
engine are LuaJIT procedures on top of SQlite4/LSM C API.