What is Speedment?

For Enterprises With Java Applications and Relational Databases

Speedment is a software tool for enterprises that run Java applications and relational databases, which can increase the data access by order of magnitudes and reduce development time by 50%. It works by creating a virtual data object, retrieving only the data the application needs when it needs it.

What You Get

three-feature-chart
Reduced Development Time
Speedment was originally developed by researchers and engineers based in Palo Alto with the purpose to simplify and streamline the development of Java database applications. This was achieved in two ways; first a Java Stream API, allowing the developer to use pure Java in their full application and also a code generation component, where Speedment automatically creates a Java representation of the database. For the developer, this means they do not need to write boilerplate code, Java entity classes or using SQL-coding/Hibernate. The risk for bugs is minimized and the code becomes short, concise and bug-free. The developer will reduce development time.
Increased Data Access
Speedment provides immediate relief from performance bottlenecks by accelerating application response times by orders of magnitude and giving database load reduction and application latency reduction. This is achieved by a unique technology including Speedment Datastore, In-JVM memory, and an Off-Heap Storage engine.
Leveraging Your Infrastructure
Upgrading a legacy database system can be a daunting task. With large numbers of tables in the database and many lines of code both in backend and frontend upgrading it all to a more modern data access framework may incur both high costs and considerable risk. Speedment is designed to facilitate a piecewise implementation, where you can keep your existing database. The Speedment tool coexists nicely with the current backend and works for any database; Oracle, MySQL, Microsoft SQL Server, PostgreSQL, DB2, MariaDB or AS400. It is possible to deploy Speedment in the cloud, standalone, or on an app server.

How it Works

speedment-architecture
GUI
Speedment has an easy to use GUI to enable developers to connect to a database and configure what part of the data that is needed in the application.
Code Generation
Speedment analyses the underlying data sources’ metadata and automatically generates Java code which directly reflects the structure (i.e. the “domain model”) of the underlying data sources.
In-JVM Memory DataStore
Speedment creates a snapshot of data from your database and places the copy within the JVM as close as possible to your application. All operations are performed using an Off-Heap Storage Engine which has no impact on Garbage Collect (GC) times. Data will be received in sub-millisecond time. The original database is allowed to focus solely on storing and validating data and data constraints.
Java Stream ORM
Speedment allows development of database applications by using pure Java streams. You will not need to write your own mapping layer or use SQL or Hibernate. This is possible since the Speedment Stream ORM fully handles the SQL specifics of the application. Abstracting away the query language, the development becomes faster and less error-prone.