> I am looking for a commercial (good and tested ;-))real time database
> to be run on embedded systems. The following features would suffice -
> persistence, in-memory, relational data model, (or even
> relation-object model), redundancy and quick query execution time.
Do you just want a fast DB or do you want guaranteed response times
(usually needed for real time systems). Note: I doubt that there is a
single DB that can give you guaranteed response times since they depend
largely on the amount of data and its organization.
Regards
robert
Please take a look at eXtremeDB.
The transaction logging version journals transactions to a file for
persistence.
eXtremeDB is an in-memory database (written specifically for embedded
systems).
eXtremeDB supports conventional primary/foreign key relations, as well as
object identifiers and references.
The High Availability version satisfies the requirement for redundancy.
In-memory means fast (really fast) searches.
W.r.t. the other poster's comments about guaranteed response times: He is
correct. The best a real-time database can do is guarantee return of
control after a given amount of time. If the operation can't be completed
in the time allowed, it will be cancelled. (eXtremeDB supports this concept
through its time-cognizant two-phase commit protocol in the High
Availability version, which ensures that master and replica(s) won't wait on
each other longer than a prescribed amount of time.) All that said, it is
possible to calculate the worst-case response time. eXtremeDB will be more
predictable than most other databases (maybe all?) because there is no SQL
to parse/optimize/execute, no inter-process communication (except for High
Availability, but then the time-cognizant two-phase commit guarantees
response time), no disk or file I/O (except the Transaction Logging
version), and no calls to the C run-time.
Regards,
McObject LLC
> I am looking for a commercial (good and tested ;-))real time database
> to be run on embedded systems. The following features would suffice -
[quoted text clipped - 3 lines]
> If anybody can advise, please.
> Thanks is advance.
Db Guy - 15 Jun 2004 06:20 GMT
> eXtremeDB will be more
> predictable than most other databases (maybe all?) because there is no SQL
[quoted text clipped - 5 lines]
> Regards,
> McObject LLC
yes..the equery execution time should be guaranteed. Any other product
recommendations ?
How does the eXtremeDB execute the query ? Is ODBC API implementaion
there in eXtremeDB ?
Thanks
Information - 15 Jun 2004 15:32 GMT
Sorry, no ODBC. That would mean an SQL programming interface which, as
previously mentioned, is counter productive to predictable (much less
guaranteed) response times.
There are a variety of in-memory databases available, with varying
architectures. This article is a good place to review some of the
architectures and representative products:
Real-time databases for embedded systems
Embedded Systems Europe, February 2004
http://i.cmpnet.com/embedded/europe/esefeb04/esefeb04p38.pdf
> > eXtremeDB will be more
> > predictable than most other databases (maybe all?) because there is no SQL
[quoted text clipped - 12 lines]
> there in eXtremeDB ?
> Thanks
Nigel Day - 23 Jun 2004 15:59 GMT
A commercially-available in-memory database supporting SQL, ODBC and JDBC;
it's been around since 1993, so can be considered quite stable. As with any
such system, it will give fairly consistent response times to a given query
to a given database, but no guarantees. Performance will always depend in
the speed of the computer, comms delays (if the client application is not on
the same board), and the overall workload of the computer
Nigel Day, Polyhedra.
> Please take a look at eXtremeDB.
>
[quoted text clipped - 35 lines]
> > If anybody can advise, please.
> > Thanks is advance.