Cloud Parts

ArcticDB

Man Group’s serverless DataFrame database: a Python library with a C++ engine that stores versioned pandas DataFrames directly in S3, Azure Blob Storage or local LMDB.

Type
Commercial product
Made by
Man Group (licensed through ArcticDB Limited)
License
Business Source License 1.1 (source-available, not OSI open source): free for non-commercial, personal and academic use, while any business use, even in research or development, needs a commercial licence. Each version becomes Apache 2.0 two years after its release; 1.0 converted in March 2025
Facts checked
6 October 2026

What it is

ArcticDB has no server. It is a Python package whose C++ engine turns pandas DataFrames, Series and NumPy arrays into its own columnar format, slices them by rows and by columns, compresses the pieces and writes them straight to S3-compatible object storage, Azure Blob Storage or LMDB on local disk. Each dataset is a symbol inside a library, and symbols share nothing, so many clients can work on different symbols in parallel and capacity grows with the storage rather than a cluster. Frames can be wide as well as long: Man Group says one symbol can hold a 20-year history of more than 400,000 securities, and its launch announcement spoke of hundreds of thousands of columns.

Every write, append or update creates a new version instead of changing data in place. Storage is layered: a mutable reference key points to the latest version, versions form an immutable linked list, each version points to a B-tree index, and the index points to immutable data segments, so unchanged segments are shared between versions. Reading with as_of returns a symbol as it was at an earlier version or time, and a snapshot names the current version of many symbols at once. Reads filter by date range and columns, and a lazy, pandas-like API pushes filters and aggregations into the C++ engine; results come back as pandas, Arrow or Polars. There is no SQL.

Man Group built ArcticDB for its quant researchers and runs its front-office time-series analysis on it, and Bloomberg integrated it into its BQuant platform after a 2023 agreement. The source is on GitHub, but under the BSL any business use needs a paid licence from ArcticDB Limited until a version turns Apache 2.0, two years after it ships.

Why teams pick it

  • No server to run: pip install arcticdb and point it at a bucket or a local folder
  • Versions and time travel by default, plus multi-symbol snapshots for reproducible research and backtests
  • Handles frames that are huge in both directions: billions of rows, hundreds of thousands of columns
  • Pandas in, pandas out, with filtering and aggregation run in a multi-threaded C++ engine

Watch out for

  • Source-available, not open source: business use, even for research or development, needs a commercial licence until a version converts
  • No transactions or isolation: concurrent writers to one symbol are last-writer-wins, so applications must coordinate them or use staged writes
  • Python only, and no SQL
  • Each write keeps a version, so storage grows; Man’s enterprise tools add pruning and compaction

Alternatives

What all time-series databases have in common →
Amazon TimestreamAWSAWS’s time-series databases: a serverless engine now closed to new customers, and managed InfluxDB 2 and 3.Apache IoTDBOpen sourceAn Apache time-series database for industrial IoT that stores everything in its own open file format, TsFile, and lets you model devices as a tree of paths or as SQL tables.+1 TimechoDBArcOpen sourceA young single-binary time-series database in Go that writes incoming data as Parquet files and queries them with DuckDB SQL.GreptimeDBOpen sourceA Rust database that stores metrics, logs and traces as tables on object storage, queried with SQL or PromQL.InfluxDBOpen sourceThe best-known time-series database, fed by line protocol and Telegraf; now in its third generation, a Rust rewrite that keeps data as Parquet files on object storage.kdb+CommercialA columnar time-series database that is also an interpreter for q, an array language, used for market data across trading and risk.QuestDBOpen sourceA columnar time-series database in Java, C++ and Rust that ingests millions of rows a second and answers time-series SQL, with old partitions kept as Parquet.TDengineOpen sourceA clustered time-series database for IoT and industrial data that gives every device its own table, grouped under “supertables” with tags.TimescaleDBOpen sourceA PostgreSQL extension that turns ordinary tables into time-partitioned, compressed time-series tables.Workers Analytics EngineCommercialCloudflare’s time-series analytics store for Workers: a non-blocking `writeDataPoint()` call to record events with unlimited cardinality, adaptive sampling to keep it cheap, and a SQL API to query them.

How it fits with other technologies

Write, append, slice and time-travel a symbol · python

import arcticdb as adb
import pandas as pd

ac = adb.Arctic("s3://s3.eu-west-1.amazonaws.com:my-bucket?aws_auth=true")
# or on local disk: adb.Arctic("lmdb:///tmp/arctic")
lib = ac.get_library("prices", create_if_missing=True)

lib.write("EURUSD", df)            # version 0 (df has a DatetimeIndex)
lib.append("EURUSD", next_day_df)  # version 1; must start after the last row

# a date range and two columns, read straight from object storage
recent = lib.read("EURUSD",
                  date_range=(pd.Timestamp("2026-10-01"), None),
                  columns=["bid", "ask"]).data

before = lib.read("EURUSD", as_of=0).data  # as it was before the append
lib.snapshot("eod-2026-10-06")             # pin every symbol’s current version

See it in a real stack

No architecture uses ArcticDB yet. Drop it into the playground and wire it up yourself.Open playground →
Where it came from2012–2026

Man Group, a quantitative investment firm, began building Arctic in 2012: a Python datastore for time series and tick data that kept pandas DataFrames in MongoDB. It underpinned Man’s research and trading from its first release, was open-sourced on GitHub in 2015 under the LGPL, and went on to more than a million downloads.

In 2018 Man started a ground-up rewrite to get past Arctic’s limits. ArcticDB dropped MongoDB for ordinary S3-compatible storage, moved the engine to C++ for an order-of-magnitude speedup, and kept Arctic’s pandas-centred Python API. In February 2023 Man signed a multi-year development agreement with Bloomberg, which built ArcticDB into BQuant, its analytics platform for quants. Version 1.0 shipped in March 2023 under the Business Source License, with a paid licence for production use.

Arctic is now in maintenance mode, and ArcticDB has shipped steadily since, reaching the 6.x series in 2026. Because each version’s licence turns into Apache 2.0 after two years, 1.0 became Apache 2.0 on March 16, 2025, and every version up to 4.5 had converted by August 2026.

Why it’s built this way

No server: clients talk to storage directly
Pulling compressed data straight from object storage means there is no server to run or overload, and capacity scales with the bucket. The cost is no transactions: writers to the same symbol must coordinate themselves.
Immutable versions in storage
Research and backtests need data as it was on a given day. Writing new versions instead of updating in place gives point-in-time reads, and a version once written can’t be corrupted by later updates.
Tile frames by rows and columns
Man’s data is wide as well as long, such as modelling a whole corporate bond universe, so segments are cut in both directions and a read can fetch a date range of just a few columns.
A Python API, not SQL
The users are quants in Jupyter and pandas. Man’s CTO Gary Collier argued that DataFrames emerge as the unit of analysis in modern data science, and ArcticDB makes them a first-class concern.

Timeline

  1. 2012

    Man Group starts Arctic, a pandas datastore on MongoDB

  2. 2015

    Arctic is open-sourced on GitHub under the LGPL

  3. 2018

    Ground-up rewrite begins: a C++ engine on S3, without MongoDB

  4. 2023

    Bloomberg agreement in February; ArcticDB 1.0 under BSL 1.1 in March

  5. 2025

    ArcticDB 1.0 converts to Apache 2.0, two years after release

  6. 2026

    6.x releases; every version up to 4.5 is now Apache 2.0

Sources11 · facts checked 6 October 2026

Improve this page on GitHub