Analytics Support requires Datomic On-Prem version 0.9.5656 or greater.
To set up analytics support the first time, you will need to perform the following steps in order:
- Create configuration files
- Configure a catalog
- Configure one or more metaschema(s)
Once analytics support is configured, you can use the system by following the connecting documentation.
Metaschema files can be updated without restarting the presto server and the changes will be adopted dynamically (in 1 minute or less).
Changes to catalog and properties files require a restart of the presto server.
Analytics support requires you to configure a catalog and you should include at least one metaschema file. The catalog allows you to configure the set of databases that are available for analytics, while the metaschema is responsible for driving the mapping between Datomic attributes and Presto tables and columns.
A set of sample config files can be found in the unzipped Datomic distribution under
presto-server/etc-samples/ ├── catalog │ └── analytics.properties ├── config.properties ├── jvm.config └── node.properties
Presto can be run with these files, however we recommend you make a copy of them elsewhere and configure your Presto instance to use your copies.
jvm.config files include default settings that
should be reviewed and modified for the machine Presto is running on.
node.properties file uses the default node.id. You should generate a new
id and replace it in the properties file. This is also a good time to update
the node.data line to a local directory you wish to use for data storage.
catalog/analytics.properties file is a sample catalog file.
This file will need to be updated with the secret-key and access-key used to
run your Peer Server.
The optional list of exposed databases (
datomic.databases) in the catalog enables you to
select only specific databases from this system as accessible for analytics.
If you leave this list commented, all databases in the system will be accessible via analytics.
NOTE: If you have a large number of databases and you do not limit the set of exposed databases, some tools may automatically query all databases in the system, which can result in significant query load on the analytics server and the Peer Server. Limiting the set of exposed databases to those specifically desired for analytics is highly recommended.
Note: all properties specified in *.properties files can be passed as command line parameters, e.g. you can provide a node.id without editing the node.properties file with:
bin/presto run -Dnode.id=<uuid>
jvm.config settings cannot be passed this way
Changes to the catalog and any
*.properties files require restarting
the Presto server.
Enabling JDBC Metadata
Many analytics tools provide the ability to automatically explore all of the tables in your system. Such exploration involves issuing one (or many!) JDBC metadata queries, forcing the load of every table in your system.
Because these automatic queries can be so expensive, they are disabled by
default. To enable JDBC metadata queries, you must explicitly enumerate the Datomic
databases you want to query with the
Place one or more metaschema edn files in the
Changes to metaschema files will be adopted dynamically (in 1 minute or less) without restarting the Presto server.
See the metaschema grammar for more information on writing your metaschema.
See the Connecting documentation for details on running and connecting to analytics support.