AresDB

AresDB

AresDB is a GPU-based real-time analytics database with low memory overhead, real-time upserts with primary key deduplication, and time series aggregations on both streaming and finite dimensional data, including geofences.

History

Uber began to develop AresDB to replace Elasticsearch as their analytical database, as Elasticsearch used inverted indexes that weren’t optimized for Uber’s “time range-based storage and filtering,” had a lot of unnecessary overhead due to using JSON files for storage, and was JVM-based, meaning it “[did] not support joins and its query execution runs at a higher memory cost.” Uber decided to accelerate AresDB with GPUs because they expect GPUs’ higher core count, ‘greater computational throughput”, and “greater compute-to-storage (ALU to GPU global memory) data access throughput (not latency) compared to [CPUs],” will further speed up their analytical queries.

src dbdb.io/db/aresdb


official eng.uber.com/aresdb


source Code github.com/uber/aresdb


docs github.com/uber/aresdb/wiki