| clj-record | A pseudo-port of ActiveRecord to the Clojure programming language |
| ClojureQL ★ | ClojureQL allows you to express powerful database queries through simple, elegant, Clojure expressions. Out of the box it compiles to SQL92 which ensures compatability with PostgreSQL and MySQL. |
| clj-sql | clj-sql was written by developers who use clojure.contrib.sql but needed to add a few features to support their projects. |
| SQLRat | Clojure (v1.2 or later) library to access relational databases using entity objects and to navigate entity relations in a stateless manner. Easy to use and flexible - you can also pass in native SQL for accessing the database. |
| Fountain-JDBC | Clojure wrapper for Spring-JDBC component of the Spring framework. |
| Clj-Liquibase | Clj-Liquibase is a simple Clojure DSL/wrapper around the Liquibase library http://www.liquibase.org/ for carrying out relational database change management and migrations. |
| Drift | Drift is a migration library written in Clojure. Drift works much like Rails migrations where a directory in your project contains all of the migration files. Drift will detect which migration files need to be run and run them as appropriate. |
| sqlkorma ★ | Korma is a domain specific language for Clojure that takes the pain out of working with your favorite RDBMS. Built for speed and designed for flexibility, Korma provides a simple and intuitive interface to your data that won't leave a bad taste in your mouth. |
| topoged-hibernate | The topoged-hibernate library is part of the larger topoged project. Its purpose is to create a Clojure interface to Hibernate. The goals of this project are: * To remove all the boilerplate code. * Allow Hibernate configuration to be used as is. There is no need to create a new configuration mechanism in Clojure; XML is just fine. * Allow for programatic configurarion. * Integrate with existing Clojure paradigms. |
| java.jdbc | A Clojure wrapper for JDBC-based access to databases. Formerly known as clojure.contrib.sql. |
| clj-sql-mapper | Dynamic SQL for Clojure with apologies to mybatis. Based on the Dynamic SQL work in mybatis. No actual sql mapper functionality yet. |
| Ragtime | Ragtime is a Clojure library for migrating structured data. It defines a common interface for expressing migrations, much like Ring defines a common interface for expression web applications. |
| Karras | A clojure wrapper to the mongo java driver |
| redis-clojure | A Clojure client library for the key-value storage system Redis |
| CongoMongo | Clojure wrapper for the mongo-db java api |
| Hassium | Hassium is a MongoDB client library for the Clojure programming language. |
| clutch | A Clojure library for Apache CouchDB |
| sdb | A Clojure library for working with Amazon SimpleDB |
| Solrclj | A clojure library for Apache Solr. |
| jiraph | Jiraph is an embedded graph database for Clojure. It is extremely fast and can walk 100,000 edges in about 3 seconds on the authors laptop. It uses Tokyo Cabinet for backend storage. |
| Borneo | Clojure wrapper for Neo4j, a graph database. Purpose of this library is to provide intiutive access to commonly used Neo4j operations. It uses official Neo4j Java bindings. It does not use Blueprints interface. |
| Rummage | Rummage is a Clojure client library for Amazon’s SimpleDB (SDB). It depends upon the standard AWS SDK for Java, and provides a Clojure-idiomatic API for the SDB-related functionality therein. |
| Vhector | Vhector is a Clojure wrapper for Hector, high level client for Apache Cassandra. |
| capjure | capjure is a persistence helper for HBase. It is written in the Clojure language, and supports persisting of native hash-maps. The way capjure works is to shred the contents of the hash-map being saved into pieces, based on the keys of the hash-map. Each piece is then mapped to a cell in HBase – the is picked based on the map’s keys and some capjure configuration. |
| clj-blueprints | Wrapper for the TinkerPop Blueprints API for Graph DBMSs. It supports version 0.7 of the Blueprints API. |
| clojure-solr | Clojure bindings for Apache Solr. |
| plasma | A graph query system for distributed computing. |
| clj-orient | Wrapper for the OrientDB Native APIs. It supports version 1.0 of the APIs. |
| sumo | Clojure driver for Riak |
| modelcouch | A Clojure CRUD function generator for a given document model spec and CouchDB (clutch) connection URL. The following functions (incl. documentation) are created in the calling namespace: make-typename get-typename put-typename delete-typename valid-typename? typename-exists? |
| Monger | Monger is a Clojure MongoDB client for a more civilized age: friendly, flexible and with batteries included. |
| neocons | Neocons is a young idiomatic Clojure client for the Neo4J REST API. Neo4j is a high-performance, NOSQL graph database |
| Welle | An expressive Clojure client for Riak |
| carmine | Carmine is an attempt to cohesively bring together the best bits from each of current redis clients. |
| Mongoika | A MongoDB Library for Clojure. Mongoika simplify building queries behaved like lazy sequences, and supports basic operations and GridFS using Mongo Java Driver. |
| ClojureDB | ClojureDB is a networked document database engine implementation in Clojure programming language. |
| Aurinko | Aurinko is a networked document database engine implementation in Clojure programming language |
| couchbase-clj | A Clojure client for Couchbase Server 2.0, built on top of couchbase-java-client and spymemcached. |
| hermes | A Clojure library designed to make it easy to work with embedded Titan graphs. |
| Titanium | Clojure graph library built on top of Aurelius Titan and the Tinkerpop stack |
| clj-dbcp | Clj-DBCP is a simple Java-6/Clojure wrapper around the Apache DBCP library for creating database connection pools and for embedding databases in applications. |
| Lobos | Lobos is a library to help you create and modify database schemas using Clojure code. It currently has support for H2, MySQL, PostgreSQL, SQLite and SQL Server. It is currently being actively developed and its API isn't stable yet. In its present form, it only provide an imperative DSL to generated database specific data definition statements. That is the foundation upon which the migrations and declarative schema features will be built. |
| knockbox | knockbox is an eventual-consistency toolbox for Clojure, and eventually the JVM in general. It's inspired by statebox and the paper A comprehensive study of Convergent and Commutative Replicated Data Types. Databases like Riak let you trade consistency for availability. This means that you can have two conflicting values for a particular key. Resolving these conflicts is up to application-logic in the database clients. Certain data-types and operations are suited for automatic conflict-resolution. This project is a collection of these data-types and operations. |
| drift-db | A database interface for use with drift. Drift db focuses on database tasks used in migrating databases. Creating, updating and deleting tables in a database are the primary tasks. Drift itself is a migration library written in Clojure. Drift works much like Rails migrations where a directory in your project contains all of the migration files. |
| Hubris | Hubris is abbreviation for Hbase UBeR Interface Shell and is HBase shell on steroids, providing alternative to quite limited hbase shell command. Key features: * speed - much faster startup and runtime than JRuby version, as code is compiled to java bytecode * familiar - execute commands as you did in old hbase shell * extendible - you can easily add your own commands, writing Clojure script and putting it in appropriate directory. * connectible - connect to local HBase instance or remote by simply running connect HOSTNAME |
| validateur | Validateur is a validation library inspired by Ruby's ActiveModel. Validateur is functional: validators are functions, validation sets are higher-order functions, validation results are returned as values. |
| clj-ldap | Clojure LDAP client |
| Clj-DBSpec | Clj-DBSpec is a common configuration spec for dealing with relational databases e.g. data source, connection, conversion of schema/tables/columns/indices names between the database and Clojure. |
| Clucy | Clucy is a Clojure interface to Lucene. |
| cupboard | Cupboard is an embedded database library for Clojure, intended to make writing Clojure objects to disk, and retrieving them, a relatively simple task. Cupboard is almost completely schemaless, supports unique and non-unique indices, querying by one or more indices, and ACID transactional semantics. At its lowest level, Cupboard uses Berkeley DB JE, and contains a fairly complete Clojure wrapper for the JE API. |
| Icarus | A robust Solr query API for Clojure. Icarus is built on top of Clojure-Solr. The Icarus API is a more flexible interface to perform search via Solr, with a focus on expressing queries of arbitrary complexity in a clean, simple way. |
| matsu | A Clojure SPARQL query constructor |