Skip to content

Datomic/day-of-datomic-conj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Amazing Day of Datomic

Datomic is a distributed, general-purpose database that provides immutability, time-aware data access, and strong ACID guarantees. The Amazing Day of Datomic is an interactive workshop designed to teach you these fundamentals and help you get hands-on experience with Datomic.

📽️ Presentation Slides


📑 Table of Contents

  1. About
  2. Getting Started
  3. Connecting to a Database
  4. Database Sample
  5. Learn More
  6. Questions & Feedback

What You’ll Find in This Repo

Inside the src directory, you'll find three Clojure files:

  • petshop.clj – The main file used in the workshop. It walks through basic Datomic operations such as creating a database, performing transactions, and running queries.
  • music_brainz.clj – Contains more complex query examples. To run it, you'll need to restore the MusicBrainz sample database. See how to do this in the Database Sample section.
  • partitions.clj – Demonstrates how to use implicit partitions in Datomic and discusses the performance implications.

Getting Started

Install Clojure

Follow the official instructions to install Clojure for your operating system:

https://clojure.org/guides/install_clojure

You'll also need to have Java installed.


Download Datomic Pro

Download Datomic Pro from:

https://docs.datomic.com/setup/pro-setup.html#get-datomic


Run a Transactor

For this workshop, you’ll run a dev mode transactor locally.

Dev mode uses local disk storage and requires a transactor process to be running:

https://docs.datomic.com/setup/pro-setup.html#starting-a-transactor


Running a REPL

You can use your preferred IDE or run the Datomic REPL directly.

If you don’t have a development environment set up, Datomic provides a REPL distribution.

With the transactor running, open another terminal tab, navigate to the config directory of your Datomic Pro distribution, and run:

bin/repl

Running in Editors

You can also run the examples in your favorite editor:

VSCode + Calva

IntelliJ + Cursive

Emacs + CIDER


Connecting to a Database

Here you can learn how to connect to a database:

https://docs.datomic.com/peer-tutorial/connect-to-a-database.html

Connection instructions are also included in the workshop source code.


Database Sample

To use a sample database, follow the tutorial below using only the Getting the Data section of the mbrainz-sample repository.

mbrainz-sample

  • Run the commands in a separate terminal tab too.

Learn more

Datomic


Clojure

  • Clojure Official Website – The official Clojure language website.
  • 4Clojure – Solve small coding problems interactively to practice Clojure.
  • Try Clojure – An interactive REPL to learn the basics of Clojure online.
  • Brave Clojure – A free, beginner-friendly online book to learn Clojure, with practical examples and explanations.

Questions, Feedback?

For questions or feedback about the tutorials, please create an issue.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5