disclaimer: not totally sure what I'm talking about. Datascript is intended for in-memory stuff so that logic to live client-side, probably whilst using a different db on the backend. There are other options if durability is required, there's a good summary at the very bottom of this page: https://github.com/juji-io/datalevin
wrt datomic compatibility, datascript's own docs cover it in detail here: https://cljdoc.org/d/datascript/datascript/1.0.4/doc/readme I'm well over my skis in this assertion but the schema differences, lack of typesystem in datascript and lack of db/ident in my limited experience mean that code fragments from datomic don't always port, I believe in a large project you''d be able to paper over it
hard to say whether you need datalog, I'd rather chew off my own arm than write any more SQL though
I 2nd this arm chewing statement