A bit of history. Several years ago, as part of an internal project, we tried to create a service that meets the following minimum requirements:
- as simple as possible integration with an existing java application - support for persistent data storage - indices support - support for a distributed database and distributed operations, such as the ability to insert or modify data in a database from any of the available nodes - the easiest cluster deployment - transaction support - basic SQL support with complex event processing and stream SQL support
One of the outcomes of this development was an open source product branch called interference. What can this service do?
Easy integration with java application. You include the library and then simply manage all the interference functions from within the java application using session methods, JPA annotations, queries and direct access to table objects. Interference is a distributed service. This means that this service can be used within a distributed cluster, or you can build a distributed event-driven application based solely on this service, without any additional services like coordinators and so on. Interference is not an RDBMS in the usual sense. You do not use JDBC or anything like that to access the data. Instead, direct object-relational mapping is used that works directly with persistent storage and remote event transport mechanisms. Read the documentation for a detailed understanding. We are always happy to answer your questions.