Software:Speedment
Stable release | OSS 3.0.x Enterprise 1.1.x |
---|---|
Repository | github.com |
Written in | Java 8+ |
Operating system | Cross Platform |
Type | Object-relational mapping, In-JVM-Memory Acceleration |
License | Dual License: Apache 2.0 and Commercial |
Website | speedment.com |
Speedment is a Java stream ORM developed by the team at Speedment, Inc. It is an open source tool hosted at Github[1] that uses Java 8 streams[2] to develop relational database applications. Speedment is available under the Apache 2-license. Speedment also licenses extensions under closed-source commercial terms.[3] Speedment is implemented in Java and accessible from software written in other languages that works on the JVM i.e. Scala and Kotlin.
History
Version 0.1, was a part of the cloud music service Chilirec.[4]
June, 2010 Enterprise Version 1.0[5] was released. Current release Alma 1.1.1[6] was launched Sep 8th, 2017.
Speedment Open Source Software was launched on GitHub 2015:
- June 11, 2015: 2.0.0 Hawthorne Early Access[7]
- September 4, 2015: 2.1.0 Everett[8]
- October 18, 2016: 3.0.0 Forest[9]
Technology
Speedment is a Java 8 Stream ORM Toolkit and Runtime.[10] The toolkit analyzes the metadata of an existing relational database and creates a Java representation of the data model which together with the Speedment runtime allows the user to create Java applications using Java 8 streams without any specific query language or API.[11] There is a resemblance between Java streams and SQL which is exemplified in the following table[12]
SQL | Java 8 Stream Equivalent |
---|---|
FROM
|
stream()
|
SELECT
|
map()
|
WHERE
|
filter() (before collecting)
|
HAVING
|
filter() (after collecting)
|
JOIN
|
flatMap()
|
DISTINCT
|
distinct()
|
UNION
|
concat(s0, s1).distinct()
|
ORDER BY
|
sorted()
|
OFFSET
|
skip()
|
LIMIT
|
limit()
|
GROUP BY
|
collect(groupingBy())
|
COUNT
|
count()
|
Licensing and edition
Speedment is available as an open source and an enterprise edition. The open source edition is limited to open source databases. The enterprise edition, which requires a proprietary license, adds on commercial databases (Oracle, DB2, DB2/400 and Microsoft SQL Server) as well as Avro-files.[13] It also includes an in-JVM-memory data store.
Speedment, Inc.
Speedment was founded by the serial-entrepreneurs Carina Dreifeldt[14] (CEO) and Per Minborg [15](CTO) in 2010. It is a spin-off from the music service Chilirec.[4]
Speedment, Inc. is headquartered in Palo Alto, CA, USA in Silicon Valley.
See also
References
- ↑ "Search: Java ORM". 13 Dec 2017. https://github.com/search?q=java+stream+orm&ref=opensearch.
- ↑ Urma, Raoul-Gabriel (April 2014). "Processing Data with Java SE 8 Streams, Part 1". http://www.oracle.com/technetwork/articles/java/ma14-java-se-8-streams-2177646.html.
- ↑ "Speedment Closed Source Features". https://www.speedment.com/pricing/.
- ↑ 4.0 4.1 "Chilirec Is Like TiVo for Internet Radio". https://techcrunch.com/2008/04/24/chilirec-is-like-tivo-for-internet-radio/.
- ↑ "Frametwist Office 2010 Tutorial Launch powered by Speedment". http://news.cision.com/se/frametwist-ab/r/microsoft-valjer-frametwists-utbildningsfilmer-infor-lansering-av-nya-office-2010,c498252.
- ↑ "New Speedment Release Alma". Sep 8, 2017. https://twitter.com/Speedment/status/906121532346421248.
- ↑ "Hawthorne Early Access". https://github.com/speedment/speedment/releases/tag/2.0.0-EA.
- ↑ "Everett 2.1.0". https://github.com/speedment/speedment/releases/tag/2.1.0.
- ↑ "Forest 3.0.0". https://github.com/speedment/speedment/releases?after=3.0.1.
- ↑ Lawesson, Dan PhD. "Speedment White Paper". https://speedment.com/wp-content/uploads/2017/03/Speedment-White-Paper_2017.pdf.
- ↑ "Speedment User Guide". https://speedment.github.io/speedment-doc/.
- ↑ Minborg, Per (May 2017). "Database Actions Using Java 8 Stream Syntax Instead of SQL". http://www.javamagazine.mozaicreader.com/MayJune2017/Default/1/0#&pageSet=34&page=0&contentItem=0.
- ↑ "Speedment Avro Plugin". https://speedment.github.io/speedment-doc/enterprise_avro.html#top.
- ↑ "LinkedIn Carina Dreifeldt". https://www.linkedin.com/in/carina-dreifeldt-5641b1a/.
- ↑ "LinkedIn Per Minborg". https://www.linkedin.com/in/minborg/.