Not currently logged in. Login now.

Libraries for Category 'Database'

SQL
clj-recordA pseudo-port of ActiveRecord to the Clojure programming language
ClojureQLClojureQL 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-sqlclj-sql was written by developers who use clojure.contrib.sql but needed to add a few features to support their projects.
SQLRatClojure (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-JDBCClojure wrapper for Spring-JDBC component of the Spring framework.
Clj-LiquibaseClj-Liquibase is a simple Clojure DSL/wrapper around the Liquibase library http://www.liquibase.org/ for carrying out relational database change management and migrations.
DriftDrift 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.
sqlkormaKorma 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-hibernateThe 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.jdbcA Clojure wrapper for JDBC-based access to databases.

Formerly known as clojure.contrib.sql.
clj-sql-mapperDynamic SQL for Clojure with apologies to mybatis. Based on the Dynamic SQL work in mybatis. No actual sql mapper functionality yet.
RagtimeRagtime 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.
honeysqlSQL as Clojure data structures. Build queries programmatically -- even at runtime -- without having to bash strings together.
NoSQL
KarrasA clojure wrapper to the mongo java driver
redis-clojureA Clojure client library for the key-value storage system Redis
CongoMongoClojure wrapper for the mongo-db java api
HassiumHassium is a MongoDB client library for the Clojure programming language.
clutchA Clojure library for Apache CouchDB
sdbA Clojure library for working with Amazon SimpleDB
SolrcljA clojure library for Apache Solr.
jiraphJiraph 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.
BorneoClojure 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.
RummageRummage 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.
VhectorVhector is a Clojure wrapper for Hector, high level client for Apache Cassandra.
capjurecapjure 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-blueprintsWrapper for the TinkerPop Blueprints API for Graph DBMSs. It supports version 0.7 of the Blueprints API.
clojure-solrClojure bindings for Apache Solr.
plasmaA graph query system for distributed computing.
clj-orientWrapper for the OrientDB Native APIs. It supports version 1.0 of the APIs.
sumoClojure driver for Riak
modelcouchA 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?
MongerMonger is a Clojure MongoDB client for a more civilized age: friendly, flexible and with batteries included.
neoconsNeocons is a young idiomatic Clojure client for the Neo4J REST API. Neo4j is a high-performance, NOSQL graph database
WelleAn expressive Clojure client for Riak
carmineCarmine is an attempt to cohesively bring together the best bits from each of current redis clients.
MongoikaA MongoDB Library for Clojure.

Mongoika simplify building queries behaved like lazy sequences, and supports basic operations and GridFS using Mongo Java Driver.
ClojureDBClojureDB is a networked document database engine implementation in Clojure programming language.
AurinkoAurinko is a networked document database engine implementation in Clojure programming language
couchbase-cljA Clojure client for Couchbase Server 2.0, built on top of couchbase-java-client and spymemcached.
hermesA Clojure library designed to make it easy to work with embedded Titan graphs.
TitaniumClojure graph library built on top of Aurelius Titan and the Tinkerpop stack
FaradayFaraday is a Clojure DynamoDB client
adiadi, rhyming with 'hardy' stands for the acronym (a) (d)atomic (i)nterface. It has four main objectives

* Using the schema as a 'type' system to process incoming data.
* Relations mapped to nested object structures (using a graph-like notion)
*Nested maps/objects as declarative logic queries.
Custom views on data (schemas for how data is consumed)

The concept is simple. adi is a document-database syntax grafted on Datomic. It makes use of a map/object notation to generate datastructure for Datomic's query engine. This provides for an even more declarative syntax for relational search. Fundamentally, there should be no difference in the data-structure between what the programmer uses to ask and what the programmer is getting back. We shouldn't have to play around turning objects into records, objects into queries... etc...
Utilities
clj-dbcpClj-DBCP is a simple Java-6/Clojure wrapper around the Apache DBCP library for creating database connection pools and for embedding databases in applications.
LobosLobos 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.
knockboxknockbox 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-dbA 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.
HubrisHubris 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
validateurValidateur 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.
Other
clj-ldapClojure LDAP client
Clj-DBSpecClj-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.
ClucyClucy is a Clojure interface to Lucene.
cupboardCupboard 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.
IcarusA 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.
matsuA Clojure SPARQL query constructor