View on GitHub

OCamlverse

Documenting everything about OCaml

Edit

Databases

Bindings

  • Caqti: monadic, asynchronous common interface to relational databases. Currently supports MariahDB, PostgreSQL and SQLite3.
  • Sequoia: Create type-safe queries. Currently with bindings to MySQL/MariaDB and SQLite.
  • Mongo: OCaml driver for Mongodb
  • OCaml-mariahdb: OCaml bindings to MariahDB interface.
  • PG’OCaml: a type-safe interface to PostgreSQL in pure OCaml. NOTE: uses camlp4, which is deprecated.
  • ppx_pgsql: a syntax extension for embedded SQL queries using PG’OCaml.
  • PostgreSQL-OCaml: a low-level interface to PostgreSQL through the C API (libpq).
  • ezpostgresql: simple, non-type-safe interface to PostgreSQL. Prioritizes simplicity. Wraps around PostgreSQL-OCaml.
  • SQLite3-OCaml: OCaml bindings to the SQLite3 database.
  • Sqlite3EZ: thin wrapper for SQLite3 with a simplified interface.
  • ocaml-redis: Redis bindings for OCaml.
  • mysql: bindings to libmysqlclient for interacting with MySQL databases.
  • ppx_mysql: Syntax extension for mysql bindings. Blog post.
  • mysql_protocol: implementation of MySQL Protocol with the Bitstring library.
  • Dbm: a binding to the NDBM/GDBM Unix “databases”.
  • camltc: OCaml bindings to Tokyo Cabinet.
  • orocksdb: OCaml RocksDB bindings using ctypes.

OCaml Clients

  • PGX: a pure-OCaml PostgreSQL client library, supporting Async, LWT, or synchronous operations.

Ocaml Databases

  • Irmin: a distributed database that follows the same design principles as Git.
    • A fairly through tutorial for Irmin can be found here.
  • Obigstore: a database with BigTable-like data model atop LevelDB.
  • RunOrg: a WIP database server written in OCaml.
  • Arakoon: a consistent distributed key-value store built on top of Tokyo Cabinet.

Overlays

  • Macaque: Macaque is a library for safe and flexible database queries using comprehensions on top of PG’OCaml.
  • ORM: ORM for SQLite.

Articles