Permazen: Language-natural persistence to KV stores

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • Permazen

    Language-Natural Persistence Layer for Java

    Ok, let's change to that from https://permazen.io/ above.

    Usually we go the other way and prefer the project page, but there's clearly not enough info there.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • JDBI

    The Jdbi library provides convenient, idiomatic access to relational databases in Java and other JVM technologies such as Kotlin, Clojure or Scala.

    Someone else mentioned jOOQ, but personally I also rather enjoyed JDBI3: https://jdbi.org/#_introduction_to_jdbi_3

    It addresses the issues with using JDBC directly (not nice ergonomics), while still letting you work with SQL directly without too many abstractions in the middle. In combination with Dropwizard, it was pretty pleasant: https://www.dropwizard.io/en/stable/manual/jdbi3.html

    Other than that, I actually liked using myBatis with XML mappers: https://mybatis.org/mybatis-3/sqlmap-xml.html and their dynamic functionality: https://mybatis.org/mybatis-3/dynamic-sql.html

    It might sound a bit of crazy on the surface, but their DSL actually made sense and was intertwined with the SQL you wrote, a bit like templating that you might use for front end stuff, except that directly for your database queries. It was great for adding complex WHERE parts for specific filters or re-using parts of queries.

  • MapDB

    MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine.

    So, it's an object database, like Zope's ZODB on Python?

    I like the idea, but I'd like to learn about use cases for it.

    Otherwise, in Java, MapDB is about as far as I'd be willing to go: https://github.com/jankotek/mapdb/

  • microstream

    High-Performance Java-Native-Persistence. Store and load any Java Object Graph or Subgraphs partially, Relieved of Heavy-weight JPA. Microsecond Response Time. Ultra-High Throughput. Minimum of Latencies. Create Ultra-Fast In-Memory Database Applications & Microservices.

    Personally, I found https://microstream.one/ interesting for simple persistance needs (haven't tried it, though).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Figma Is a File Editor

    3 projects | news.ycombinator.com | 13 Jul 2023
  • Persism 2.2.0 - A Lightweight ORM for Java

    1 project | /r/programming | 17 Sep 2022
  • Persism 2.2.0 - A Lightweight ORM for Java

    1 project | /r/coolgithubprojects | 17 Sep 2022
  • Advantages of not using Spring Data and Hibernate with relational data

    1 project | /r/programming | 21 Jul 2022
  • vm arguments for jdbc in javafx app

    1 project | /r/JavaFX | 12 Jun 2022

Did you konow that Java is
the 8th most popular programming language
based on number of metions?