Aerospike can replace at the same time 2 cache layers, an in-memory layer, and a persistent memory layer like Memcached and Couchbase, respectively, with awesome performance.

Especially explore the usages of this distributed key-value store for the e-commerce catalogs indispensable in the online ads ecosystem to build ad campaigns, recommend products to the right audience, and display the ads for the publishers.

As a member of catalog teams at Criteo, I was at the last meetup of Scale Warriors Aerospike, where the CTO (and founder at Aerospike) was present Srini V. Srinivasan to share new and existing features of Aerospike, and where Criteo presented its plan and strategy to migrate to Aerospike.

Aerospike

Aerospike is a key-value NoSQL database with flash memory and in-memory open source. The high-level ecosystem of Aerospike is deeply integrated with tools of the Big data ecosystem for streaming, batch, and SQL usages with Kafka, Spark, and Trino with a Java client:

The Aerospike Real-time Data Platform
The Aerospike Real-time Data Platform [source]

Aerospike is a distributed key-value store. You can access the data with a simple API:

Get(key) -> byte[]
Set(key, byte[], ttl)

The goal is to have small objects from a few bytes to 4 MiB, with low latency, 1 ms on average, and 5 ms at the 99th percentile.

Aerospike is first optimized for the OLTP paradigm because it is a KV Store. Still, you can easily do OLAP queries for other usages for more exotic queries to scan the data thanks to the data models layer for Documents, SQL, Graphs, or Time Series.

Aerospike clusters at Criteo

A DKVS plays a central role in online ads. With this storage, the infrastructure can answer to the small-time budgets required for each business use case: to bid a request for the auction of RTB (< 100 ms) or to render the ads (< 250 ms).

Time budget for the online ads
Time budget for the online ads [source]

The tech stack is diversified to respond to the needs of online ads, and a DKVS is insufficient. It is only a part of the ecosystem:

Data stack at Criteo
Data stack at Criteo [source]

The data stored in the KV stores must be persisted and loaded in memory to access long-term and quick readings.

👀 Read more

Read the rest of the article …


Also read
Comments