Databases
Bindings
- Caqti: monadic, asynchronous common interface to relational databases. Currently supports MariaDB, PostgreSQL and SQLite3.
- Mongo: OCaml driver for Mongodb
- OCaml-mariahdb: OCaml bindings to MariahDB interface.
- PG’OCaml:
PostgreSQL client in pure OCaml. Includes a
PPX
that provides compile-time checking of SQL syntax and types. - 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.
- PGX: a pure-OCaml PostgreSQL client library, supporting Async, LWT, or synchronous operations.
- SQLite3-OCaml: OCaml bindings to the SQLite3 database.
- Sqlite3EZ: thin wrapper for SQLite3 with a simplified interface.
- ocaml-redis: Redis bindings for OCaml.
- mysql8: Bindings to the latest version of the mysql database. docs
- 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.
- ppx_rapper: a syntax extension for PostgreSQL using Caqti
Out of Date
- Sequoia: (Needs update to latest OCaml) Create type-safe queries. Currently with bindings to MySQL/MariaDB and SQLite.
- mysql: (Older version of mysql) mysql library.
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.