datahike

stathissideris 2024-05-23T11:09:31.594999Z

hello, we’re thinking of implementing a Datahike DynamoDB backend. Just wanted to check how come it doesn’t exist yet? Do you think it’s a good idea and reasonably easy to do?

whilo 2024-11-10T22:11:31.232799Z

@stathissideris There is now https://github.com/replikativ/datahike-dynamodb

❤️ 2
whilo 2024-11-10T22:13:08.184959Z

It probably needs some experimentation and tuning with write throughput and capacity planning still. It stalled on a large transaction for me yesterday and did not propagate the error properly it seems. This still needs fixing. But if you have feedback and are willing to check it out that would be appreciated.

stathissideris 2024-11-10T23:24:34.368059Z

Thank you for this! It’s been pretty hectic for me lately so I can’t promise anything…

timo 2024-05-23T11:14:21.124549Z

Hi, there was one konserve-dynamo backend: https://github.com/csm/konserve-ddb It's quite old so it doesn't reflect the current api of konserve but it should be easier now since the api got leaner. I did implement a backend for cassandra a while ago and it wasn't bad.

timo 2024-05-23T11:15:06.639969Z

the datahike-backend is just a small wrapper then

stathissideris 2024-05-23T11:15:10.242759Z

so you’re saying it’s a small step from that to datahike with a dynamodb backend?

stathissideris 2024-05-23T11:15:13.323979Z

yep

stathissideris 2024-05-23T11:15:19.508519Z

ok thanks!

timo 2024-05-23T11:17:12.910339Z

👍 If you need help, this is the right place. You can look at konserve-jdbc and konserve-s3 for an up-to-date implementation

timo 2024-05-23T11:17:22.223899Z

https://github.com/replikativ/konserve-s3

timo 2024-05-23T11:17:30.475769Z

https://github.com/replikativ/konserve-jdbc

timo 2024-05-23T11:18:11.150189Z

redis as well https://github.com/replikativ/konserve-redis/tree/main

stathissideris 2024-05-23T11:53:57.448519Z

thank you very much!

alekcz 2024-05-23T12:56:29.170719Z

@stathissideris I had started working on dynamoDB a few years back then gave up when I came across the fact that the reads are eventually consistent by default and cost more to be strongly consistent. It's something worth keeping in mind in your implementation. https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html

whilo 2024-05-23T19:24:37.557879Z

@alekcz360 Right, you will have to use proper quorums, depending on how DynamoDB handles things. @stathissideris Lmk if I can help, I think this would be very useful and it should not be too hard to do. The S3 backend was fairly simple and it already supports multiple stores per bucket, which you can maybe ignore to get started.