Fork me on GitHub

A difference between enumerations and keywords are that the enumeration keyword is only saved once (in the schema), where as a keyword is saved on every transaction (and giving you the option of freeform input). So if you have a limited set of keywords and you know them in advance you should use enums for better read, write and storage behaviour (so pointer to keyword in the schema = 1 datom VS pointer to keyword and keyword = 2 datoms)


@lockdown- I'm curious where you got this from Datomic is a slow DB use mostly for low load internal apps ?


yeah, slow and low need something to be contrasted with. And why internal?


@jeroenvandijk > a keyword is saved on every transaction so is the entity-id for each enum reference pointer. the question, as I understand it from antons post, is not about disk space, as we know enums means we store less data. it’s not about transactions, because we know there’s a write either way. it’s about reads, memory footprint and performance. I could care less about storing the extra data to disk.


I think the difference comes down to: 1. the enum is indexed, the keyword is not (by default) 2. the enum is one datom read, the keyword is two I don't know how this translate into your specific performance numbers, but enum should always be better


what is the suggested strategy for backing up dbs using dynamodb as storage? is enabling backups of dynamodb tables a safe route or should i rather use the datomic cli?


Datomic On-Prem or Cloud?


You should use datomic backup


“Replication or backup of eventually consistent storages cannot (by definition) make consistent copies and is not suitable for disaster recovery. ”


thanks 🙂