Exposed
MapDB
Our great sponsors
- Appwrite - The Open Source Firebase alternative introduces iOS support
- InfluxDB - Access the most powerful time series database as a service
- SonarQube - Static code analysis for 29 languages.
- ONLYOFFICE ONLYOFFICE Docs — document collaboration in your environment
- CodiumAI - TestGPT | Generating meaningful tests for busy devs
Exposed | MapDB | |
---|---|---|
25 | 3 | |
7,129 | 4,701 | |
2.2% | - | |
7.6 | 0.0 | |
5 days ago | 2 months ago | |
Kotlin | Java | |
Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Exposed
-
How are you all handling database persistence?
Exposed by JetBrains https://github.com/JetBrains/Exposed
-
Why people don't like Java?
Alternatively there are... hybrid solutions like Kotlin's https://github.com/JetBrains/Exposed or https://jdbi.org/ that don't quite... do all the heavy lifting for querying but allow you to sorta stitch queries together manually.
-
Using PostgreSQL as an Append-only Datastore with Kotlin and Exposed
In our last episode (https://youtu.be/Uza\_dWsNMUs) we worked out how to save stock items in PostgreSQL (https://www.postgresql.org/) using the JetBrains Exposed library (https://github.com/JetBrains/Exposed). This time we refactor our existing file-based storage, extracting an interface that we can implement with files, in-memory, or with Exposed. For the database version, instead of replacing items in a table when they change, we choose to implement an append-only datastore. This keeps all the old versions of every row, using a query to select the latest versions when we want to see the current state. This has the advantage that we can rebuild the state of our system if things go wrong, and may also be faster than amending when we consider transactions. This is part 62 of an exploration of where a Test Driven Development implementation of the Gilded Rose stock control system might take us in Kotlin. You can see the whole series as a playlist https://www.youtube.com/playlist?list=PL1ssMPpyqociJNwykAOB9\_KEZVW7BW7m2 and the code on GitHub https://github.com/dmcg/gilded-rose-tdd If you like this, you’ll probably like my book Java to Kotlin, A Refactoring Guidebook (http://java-to-kotlin.dev). It's about far more than just the syntax differences between the languages - it shows how to upgrade your thinking to a more functional style. I have some free time between producing videos and working for team Gilded Rose. If you like these videos I'd like to work with you - please get in touch - [email protected]
-
Writing to db
I have used hikari and exposed to do this in the past with postgres, although other dialects are supported.
-
KTor and non-blocking sql
This falls apart as soon as you need to chain transactions across multiple services/DAOs. You end up making everything non-suspend or use suspendTransaction and have to pass the parent txn around which isn’t ideal (https://github.com/JetBrains/Exposed/issues/1477)
-
PostgreSQL and Exposed - Kotlin database access
Whether or not we persue our Event Sourcing experiment from the lastepisode, we know that we want to store our stock data in a database ofsome sort. So today we investigate using the JetBrains Exposed library (https://github.com/JetBrains/Exposed) to write to and read from PostgreSQL (https://www.postgresql.org/).
-
Could I create a blogging platform with ktor? (For learning purposes)
I used exposed to access a database https://github.com/JetBrains/Exposed. You can use sqlite for the easiest setup.
-
Simple JBDC wrapper I made
And sorry to rain on your parade but; keep in mind that something similar already exists: Exposed. And it's rather unlikely someone would use yours over something like what you made that has no OS license, no community and no tests.
- What's your go-to web backend stack for 2021 ?
MapDB
-
what is the best persistent collection library?
Anyway, without further ado, I found MapDB (https://github.com/jankotek/mapdb) which does exactly that. Of course, they also provide their own Java collection implementations as well, so I suspect using it with Vavr would be a poor idea, but it is very cool in its own right anyway. Of course, there is also Apache Derby and HSQLDB, and those great options with a long history as well. I haven't played with these in a while though, so I might give them a try again soon for some personal stuff.
-
Ask HN: What are the best key-value self-hosted storage engines?
In Java I like
It is more feature rich than you want but in Python I'd probably just use sqlite3 since it is in the standard library.
-
Solution for hash-map with >100M values
I have had good results with mapdb
What are some alternatives?
Ktorm - A lightweight ORM framework for Kotlin with strong-typed SQL DSL and sequence APIs.
SQLDelight - SQLDelight - Generates typesafe Kotlin APIs from SQL
Chronicle Map - Replicate your Key Value Store across your network, with consistency, persistance and performance.
H2 - H2 is an embeddable RDBMS written in Java.
requery - requery - modern SQL based query & persistence for Java / Kotlin / Android
kotlin-jpa-specification-dsl - This library provides a fluent DSL for querying spring data JPA repositories using spring data Specifications (i.e. the JPA Criteria API), without boilerplate code or a generated metamodel.
JetBrains Xodus - Transactional schema-less embedded database used by JetBrains YouTrack and JetBrains Hub.
Redisson - Redisson - Easy Redis Java client with features of In-Memory Data Grid. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, MyBatis, RPC, local cache ...
kwery - Kwery is an SQL library for Kotlin
kotliquery - A handy Database access library in Kotlin
DBFlow - A blazing fast, powerful, and very simple ORM android database library that writes database code for you.
kotlin-nosql - NoSQL database query and access library for Kotlin