Datomic Cloud 884-9095: New tiers and internet access

Datomic Cloud 884-9095 is a major new release offering more instance options, lower pricing, API Gateway automation for ions and clients, and more.

More instance options

Datomic now provides a wider variety of compute, memory, and monitoring choices. Basic compute instances start from t3.small and step up to t3.2xlarge, letting you ramp up on capability and cost linearly.

Lower pricing at all scales

All instances sizes now cost less to run. If you were running Solo before, you can now run the smallest production tier, including a load balancer, for what solo cost before. If you are running production, your cost will be lower at your current instance size, and you may be able to select a smaller instance size as well.

New automation ion web applications

Datomic’s CloudFormation templates can automatically setup both the VPC link and API Gateway needed to expose your web application (ion).

New client access from outside the VPC

Building on the new API Gateway automation, you can now elect to access your Datomic cloud system via an automatically-configured API Gateway, obviating the need for an access gateway and SOCKS proxy.

Run and scale analytics anywhere

Datomic analytics support is now available via a Datomic connector for Trino. With this connector, you can run analytics anywhere that you would like, e.g. a dev laptop or a cluster in EC2. You can also access Trino features including clustering and federation.

Security first

All of the new access points described above (web ions, client access, and analytics) are secured via TLS, and Datomic compute nodes continue to run in a private VPC.

Metrics choices

Datomic metrics are now available in two tiers: basic or detailed. (You can also turn off metrics entirely.) These choices let you minimize cost or maximize observability, independently for each compute group.

Try it

If you are an existing Datomic Cloud user, this release significantly simplifies operations. Before you upgrade, please read the changelog carefully, so that you understand all the things you will no longer need to do.

If you are new to Datomic Cloud, getting started has never been easier.


Cognitect Joins Nubank!

We are thrilled to announce that Cognitect is joining the Nubank family of companies. This is the next step in a long relationship, and opens new opportunities for Clojure and Datomic worldwide. Please read the full story over on the Cognitect Blog.


Datomic Analytics (Preview)

Today's releases of Datomic Cloud and Datomic On-Prem preview a major new feature: analytics support.
With analytics support, your data scientists, analysts, and operations people can directly access Datomic using the languages and tools they already know (e.g. SQL, Python, R, Tableau, Metabase, Superset and more), without you having to do any ETL.
The analytics metaschema specifies a mapping from Datomic entities and attributes to dynamic SQL tables and columns, as shown in the example below:
In Cloud, the bastion server has been renamed to access gateway, as it now also supports analytics. Analytics support is automatic when you select an EC2 instance size that supports it, and costs nothing beyond the cost of the EC2 instance.
In On-Prem, analytics support is available via the bin/presto script in the distribution.
To learn more about the analytics preview:

Tuples and Database Predicates

Today's releases of Datomic Cloud and Datomic On-Prem include two major new features: tuples and  database predicates.

Tuples are a new compound data type, small vectors as values. You can use tuples to create multi-attribute unique keys on domain entities. You can also use tuples to optimize queries that otherwise would have to join two or more high-population attributes.

  • If you declare a composite tuple, Datomic will automatically populate the tuple from existing attributes. 
  • You can also define your own homogeneous or heterogeneous tuple types that you populate as you see fit.
Database predicates are functions and attribute lists that constrain the values accepted by transactions.
  • Attribute predicates are declared in schema and constrain the values taken on by a single attribute, in all contexts.  For example, you could limit a test/grade attribute to the range 0-100.
  • Entity specs comprise lists of required attributes and/or predicates of the entity and the post-transaction db. You can use entity specs to ensure properties across different attributes of an entity or even across entities.  For example, you might enforce that a game player's score/lowest must be less than or equal to their score/highest.  You must explicitly call for entity specs in transactions in which you want them to apply.
To learn more about tuples, database predicates, and other enhancements:


1 of 12