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.
- What it is
- Time-series databases,Bitemporal modeling
- 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 arcticdband 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.
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.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 versionSee 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
- 2012
Man Group starts Arctic, a pandas datastore on MongoDB
- 2015
Arctic is open-sourced on GitHub under the LGPL
- 2018
Ground-up rewrite begins: a C++ engine on S3, without MongoDB
- 2023
Bloomberg agreement in February; ArcticDB 1.0 under BSL 1.1 in March
- 2025
ArcticDB 1.0 converts to Apache 2.0, two years after release
- 2026
6.x releases; every version up to 4.5 is now Apache 2.0
- ArcticDB docs: History of ArcticDB
- man-group/arctic on GitHub (LGPL 2.1, now in maintenance mode)
- Man Group press release: Man Group brings DataFrame database product ArcticDB to market with Bloomberg (Feb 27, 2023)
- PyPI: arcticdb 1.0.0 (Mar 16, 2023)
- ArcticDB README: licence conversion dates per version
- ArcticDB LICENSE.txt (BSL 1.1, two-year change date, Apache 2.0)
Sources11 · facts checked 6 October 2026
- ArcticDB README: features, storage backends, licence
- ArcticDB LICENSE.txt (Business Source License 1.1)
- ArcticDB docs: Licensing and commercial FAQs (business use needs a commercial agreement)
- ArcticDB docs: Architecture (C++ engine, no server)
- ArcticDB docs: On-disk storage format (reference, version, index and data layers)
- ArcticDB docs: FAQ (concurrency, last-writer-wins, de-duplication, Python only, no SQL)
- ArcticDB docs: Fundamentals (write, append, update, as_of)
- ArcticDB docs: Snapshots
- ArcticDB source: OutputFormat (pandas, PyArrow, Polars)
- Man Group press release: ArcticDB to market with Bloomberg (Feb 2023)
- ArcticDB website: plans and Bloomberg BQuant integration