3 ms·
I'm interested in what and how quick the development/testing cycle is. How quickly can you spin up, populate, and destroy a test instance for integration testin
by rbolkey 13y ago
I'm interested in what and how quick the development/testing cycle is. How quickly can you spin up, populate, and destroy a test instance for integration testing? How do you iterate on feature development against it?
- coolsunglasses 13y agoSuper fast, better than any SQL database or MongoDB. Datomic (free and pro) has an "in memory" version that I used when developing my Clojure application. Makes firing off test-cases super simple and nice. I used fixtures (edn) for the schema and for example data as well. I would reload/dump/interact with the in-memory database in my REPL directly. Quite nice. You can run a test instance (free/dev, which uses H2), that's no big deal to setup either, same as running a local MongoDB or PostgreSQL instance. Ease-of-configuration is on par with MongoDB but with sane defaults. It "just works". I use environment variables for configuration, so the default Datomic database is just an in-memory instance, but I can point it to a localhost free instance easily. Whether I use a free instance or an in-memory instance depends on whether or not I need the full transaction log. Typically no, but the migration toolkit I'm working on requires a persistent database so the defaults there are different for testing/development. I'm seriously in love with a database that has a embedded and "real world" modes of operation with parity in their functionality (except for the log).