This discussion is archived
4 Replies Latest reply: Jan 30, 2009 6:17 AM by 807557 RSS

Any library available to use transactions in JavaRTS ?

807557 Newbie
Currently Being Moderated
Hello,

I am new to Real Time world and in particular to JavaRTS. I am looking for information about possible existing implementations of transactions (the usual semantic of transactions used in Databases) with Real Time capabilities. In other words, I would like to know if there exist some implementations available which can led me to add temporal constraints.

Thank you very much in advance.

Federico .-

Edited by: fedewi on Jan 29, 2009 10:01 AM
  • 1. Re: Any library available to use transactions in JavaRTS ?
    807557 Newbie
    Currently Being Moderated
    Federico,

    I'm not even sure what temporal constraints on a transaction would mean. Sorry I haven't heard of anything of this nature.

    David Holmes
  • 2. Re: Any library available to use transactions in JavaRTS ?
    807557 Newbie
    Currently Being Moderated
    It sounds like you are talking about a real-time database:

    [http://en.wikipedia.org/wiki/Real_time_database]

    This is still an area of ongoing research, although some commercial products are available:

    [http://www.empress.com/]
    [http://www.mcobject.com/]

    However, I doubt there is any such product specifically for RTSJ or Java RTS.
  • 3. Re: Any library available to use transactions in JavaRTS ?
    807557 Newbie
    Currently Being Moderated
    Hello David,

    Firstly thank you very much for replaying back quite soon. I will try to clarify a little bit more what I am looking for, maybe you can help me.

    I need to use transactions that guaranties ACID properties (Atomicity, Consistency, Isolation, Durability) under the context of Real Time processing. But not only that, I would like to have the chance to add deadlines to each transaction or maybe to select priorities between transactions, etc. However if such a thing does not exist, I would like to know how I can guarantee that normal operations over databases can meet certain temporal constrains when using JavaRTS ? ... could you also recommend me some in-memory database that support transactions that works well with JavaRTS ?

    Thank you very much again.
    Federico .-
  • 4. Re: Any library available to use transactions in JavaRTS ?
    807557 Newbie
    Currently Being Moderated
    fedewi wrote:
    I need to use transactions that guaranties ACID properties (Atomicity, Consistency, Isolation, Durability) under the context of Real Time processing. But not only that, I would like to have the chance to add deadlines to each transaction or maybe to select priorities between transactions, etc.
    That would probably need to be a feature of the DBMS. Prioritization might be handled by setting the thread priority, but it then depends on how the DBMS processes requests (it might not be aware of priorities and might internally use queues etc that don't preserve priroity order). The DBMS would also have to support a "timeout" on a transaction commiting (to give it an effective deadline), or else support asynchronous rollback so that (for example) a timer-based activity could issue a rollback request when the "deadline" arrives. The problem with such a scheme is the inevitable race between the completion of the action and the execution of the deadline miss activity.

    I don't know if any of the systems Trevor Harmon referred to support this.
    However if such a thing does not exist, I would like to know how I can guarantee that normal operations over databases can meet certain temporal constrains when using JavaRTS ?
    In simple terms you can't guarantee anything without full knowledge of the DBMS (or without full participation by the DMS). The best I can think of is as above where you set a timer before doing a transaction and if the timer expires it then either tries to abort or simply records the fact that the "deadline" was missed - it all depends on what impact a missed deadline has, and what your DMS allows you to do about it.

    But depending on the DBMS implementation you could easily have priority inversion issues.
    could you also recommend me some in-memory database that support transactions that works well with JavaRTS ?
    Sorry, I have no personal experience here and have not heard of anyone using one.

    David Holmes