@Amir Gur I do believe I checked in a sqlite dummy database in src/main/resources that I use as a Target among several at my day job, and iirc there are maven driver imports of every database I've touched along the evolution. That codebase is intended to be part of a repl that pools jdbc meta in hazelcast map for later utility functions to deliver rows. In pre-hazelcast attempts I started to have some decent destructed code moving in the direction of useful generic abstractions toward pandas gateway formats-- pandas doesn't work with jdbc and relational is a little messier in Python. Also, Kotlin can better transform memory efficiently.
Wrt ignite, I'm not there yet. Hazel has a single-jar autoconnect broadcast mesh by default, the only thing that seems to have one. I have no patience for tracking down ip addresses and replicating config files; which seems to be the assumptions of Apache ip-turned-open-source analogs of hz (geode and ignite both seems to start with a "server" config). Might as well use zookeeper and hdfs if we're assigning IP address nodes...
Wrt to declarative grammars I had the pleasure of working on early semantic web, where Rdf and xml tuples by the billion were invalidating good intentioned big Data solutions of the mid-late 90's. Pre Json, pre msgpack, back when GOF AI was the only way forward.