Spot: A Payment Record Search Engine

Square Engineering
Feb 1, 2016 · 8 min read

Setting the stage

Indexing technologies

Implementing Spot

Platform

Data model

payment_token     VARBINARY(64) PRIMARY KEY
payment_record BLOB
payment_token     VARBINARY(64) PRIMARY KEY,
merchant_token VARBINARY(255)
created_at_ms BIGINT(20)
... etc ...

Efficient Indexing

Searching and Pagination

Index hinting

Compression

Compressed blobs

InnoDB page compression

Runaway queries

Load testing and tuning

The final product

The future


Square Engineering

Written by

The official account for @Square Engineering.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade