Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

provide DBMS #302

Open
nimo23 opened this issue Oct 11, 2024 · 3 comments
Open

provide DBMS #302

nimo23 opened this issue Oct 11, 2024 · 3 comments

Comments

@nimo23
Copy link

nimo23 commented Oct 11, 2024

Is your feature request related to a problem? Please describe.

Currently we cannot manage the data stored by eclipseStore from an external source. It is also very difficult for outsiders to believe that this is really a database because they are used to being able to view the data on an external client (apart from the application).

Describe the solution you'd like

A public static void main method. So clicking on “eclipseStoreImpl.jar” will open a browser tab and display a user interface similar to h2-db (see screenshots at https://www.h2database.com/html/quickstart.html and try it out by downloading the jar and open it with java -jar h2*.jar). In such a user interface (UI), the user can open an EclipseStore database from the file system. All eclipseStore entities are displayed in a tree structure (similar to h2-ui), allowing the user to manage the entities. For example, instead of the SQL console, a terminal with jbang can be used to allow the user to interact with the eclipseStore entities. Other useful tools such as statistics and backups can also be viewed in this browser interface. With such an external user interface, not only the Java developer himself can be sure that this data has actually been saved.

It would be very nice to have something like this, even for a non-Java developer(e.g. stakeholder, decision maker, db-manager, etc.) who wants to see the data in an external client GUI independent from the application. This way he can be sure that it is actually a database, otherwise it is a kind of black box, as viewing and interacting with the data is only possible via the application. In order to convince with a conventional database system, such a DBMS for EclipseStore is a must.

In Microstream there was https://docs.microstream.one/manual/storage/rest-interface/setup.html. Perhaps something like this can be reworked and integrated into the eclipseStore.jar file itself.

@fh-ms
Copy link
Contributor

fh-ms commented Oct 14, 2024

The REST interface is also available for EclipseStore:
https://docs.eclipsestore.io/manual/storage/rest-interface/setup.html

@nimo23
Copy link
Author

nimo23 commented Oct 14, 2024

The REST interface is also available for EclipseStore:

Well, firstly it's not a DBMS and secondly it doesn't work for containers like Wildfly or Quarkus. So it's not an out-of-the-box solution like the one found when simply executing the main method of h2.jar.

@rpx99
Copy link

rpx99 commented Oct 16, 2024

An important aspect seems that the whole application needs to be running. You cannot access the data like with an external SQL database.

Everything actually needs to run "through" the application - whereas the rest interface is part of this architecture.

Crucial seems to me we have this ONE JVM process that has it's objects persisted somewhere to files, but we cannot use more than this. Otherwise it breaks and creates inconsistent data?

So using multiple (external) clients won't work right now?

In fact it's like an embedded database into an app?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants