spring-data-eclipse-store
A library to simplify using EclipseStore in the Spring environment.
What makes this library special is, that it creates a working copy of the data. This way EclipseStore behaves almost exactly like relational database from a coding perspective.
Features
The library provides following features:
- Enforces the Spring data repository concept for EclipseStore by using working copies
- Drop in compatible for your existing Spring application
- Utilizes ultra-fast EclipseStore serializing and storing
- Enables your application to select any EclipseStore target (e.g. PostgreSQL, AWS S3 or IBM COS)
- Can save up to 99%[^1] of monthly costs in the IBM Cloud and up to 82%[^2] in the AWS Cloud
[^1]:If the COS Connector is used in the IBM Cloud instead of a PostgreSQL and approx. 10,000 entries with a total size of 1 GB of data are stored. (IBM Cloud Pricing, as of 08.01.2024)
[^2]: If the S3 connector is used instead of DynamoDB under the same conditions at AWS. (AWS Pricing Calculator, as of 08.01.2024)
Installation & Usage
Installation guide for the latest release
Detailed instructions are in the documentation
Supported versions
| Spring-Data-Eclipse-Store | Java | Spring Data | EclipseStore |
|---|---|---|---|
<= 1.0.2 | 17+ | 3.2.2 | 1.1.0 |
|||
1.0.3/1.0.4 | 17+ | 3.2.3 | 1.2.0 |
|||
1.0.5-1.0.7 | 17+ | 3.2.5 | 1.3.2 |
|||
1.0.8-1.0.10 | 17+ | 3.3.1 | 1.3.2 |
|||
2.0.0-2.1.0 | 17+ | 3.3.2 | 1.4.0 |
|||
2.2.0-2.3.1 | 17+ | 3.3.4 | 1.4.0 |
|||
2.4.0 | 17+ | 3.4.0 | 2.0.0 |
|||
2.4.1 | 17+ | 3.4.0 | 2.1.0 |
|||
2.5.0 | 17+ | 3.4.1 | 2.1.0 |
|||
2.5.1-2.5.2 | 17+ | 3.4.2 | 2.1.1 |
|||
2.5.3 | 17+ | 3.5.3 | 2.1.3 |
|||
2.5.4 | 17+ | 3.5.9 | 2.1.3 |
|||
2.6.0 | 17+ | 4.0.1 | 2.1.3 |
|||
3.0.0 | 17+ | 4.0.1 | 3.1.0 |
Demo
To see how easy it is to implement EclipseStore in your Spring project, take a look at the demos:
[!NOTE]
Since the library is using reflection to copy data, the following JVM-Arguments may have to be set:--add-opens=java.base/java.util=ALL-UNNAMED --add-exports java.base/jdk.internal.misc=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.time=ALL-UNNAMED
Support
If you need support as soon as possible, and you can't wait for any pull request, feel free to use our support.
Additional Information
- Recording of an introduction talk at JUG Bangalore
- Recording of an introduction talk at JCON 2024
- Blog-Article: Minimize Costs by Utilizing Cloud Storage with Spring-Data-Eclipse-Store
Contributing
See the contributing guide for detailed instructions on how to get started with our project.
Dependencies and Licenses
View the license of the current project.