is the dynamodb storage backend for Datahike reasonably up to date ?
also dynamodb comes by default with aws services doesn't it ?
what do you mean with aws services?
that you can access a dynamodb from anywhere by default without having to install it I thought
(I'm not that familiar with aws)
yes, you can
it is offered as a service
which one?
there's more than one ? any
I just need to know which one you are referring to so I can take a look
ok it looks like this is the only one it has https://github.com/csm/konserve-ddb
that one hasn't seen updates for 5 years so no. Datahike has seen a lot of development in recent years. Everything older than a year won't work with latest datahike version I assume
If there is interest, it would not be hard to create one.
This is what was needed to support a S3 backend https://github.com/replikativ/konserve-s3/blob/main/src/konserve_s3/core.clj.
The main limitation this one still has is that it does not use an async client as well when the API would prefer it, but just wraps sync calls in go blocks. That is totally fine though to get started.
@octo221 Would you be interested in helping with that?
Maybe the S3 backend would also work, it depends mostly on your latency requirements I think.
Would your backend run in a AWS data center?
why S3 for dynamodb ? edit: oh you mean as an alternative would https://github.com/taoensso/faraday be of use ?
that would do, although direct java API calls should also be fine. whatever is simple to pick up and reliable
(and has no significant overhead)
a backend does not require a lot of code, so we can also iterate on it if needed
what does it need to store and retrieve ? is it just [e a v t op] ?
just blobs
key column which will be uuids as strings and a blob it will assign to it
so there will be a blob column, but normally dynamo adds columns automatically as far as i understand
these will hold tree fragments of the indices, which then contain the datoms
ohhhh yessss I remember
this is how it looks like for SQL if that helps https://github.com/replikativ/konserve-jdbc
@octo221 can you contextualize how you would like to use dynamodb?
I don't have a preference really I just wondered. If there's an existing AWS backend that does the job then that's fine
(unless there's some advantage to dynamodb)
latency
you pay more, but it will be faster
the first thing to improve though is to add proper async support to konserve-s3, it will reduce latency on S3
at least when you transact bigger batches of datoms