Indexing, storing, and serving point queries across 100,000,000 cryptographic hash records with consistent sub-millisecond p99 latencies requires a fundamentally different architecture than standard relational database deployments.
A single SHA-256 digest is 32 bytes (or 64 hexadecimal ASCII characters). 100 million records represent 6.4 GB of raw keys alone, excluding indexes, values, cluster replication, and query routing overhead.
Here is the architectural teardown of how LOOKUP API guarantees 0.48ms p99 query latency under high concurrency with zero garbage-collection jitter.
Architecture Overview
[ Edge Ingress / TLS Termination ]
│
▼
[ API Gateway Router ]
├── Dynamic Rate Limiting (Token Bucket per IP / API Key)
├── Tor / Malicious Node Detection
└── Content-Type / API-Version Validation
│
├─── (Cache Hit: In-Memory Hot Cache) ──▶ [ ~0.15ms Return ]
│
▼
[ Sharded Distributed Storage Cluster ]
├── Shard-per-core partition routing
├── High-speed primary key index
└── Zero-copy binary deserialization
│
▼
[ Sub-0.5ms Response ]
1. Key-Space Partitioning & Shard-per-Core Design
Traditional multi-threaded database servers suffer from thread context switching, lock contention, and cache invalidation when thousands of concurrent requests access shared memory structures.
To avoid this, the storage engine employs a shard-per-core architecture:
- Each CPU core is assigned an independent memory partition and worker thread.
- Incoming hash queries are mapped directly to target shards using uniform cryptographic distribution.
- Queries execute without mutex locking or cross-core synchronization, maximizing CPU L1/L2/L3 cache locality.
Because SHA-256 hashes are pseudo-random uniformly distributed bit sequences, partition keys exhibit perfect load distribution across cluster nodes without hash hot-spots.
2. Multi-Tiered Sliding-Window Rate Limiting
To maintain sub-millisecond SLAs for verified enterprise customers while preventing malicious scraping or Denial of Service (DoS) attacks, the API gateway enforces a multi-tier sliding-window rate limiter:
- Unauthenticated Public Tier: Restricted to 6 requests total per IP address. When exceeded, the gateway returns
HTTP 429 Too Many Requestswith a prompt to obtain a free API key. - Free Registered Keys: Provisioned with 500 requests per day and zero burst penalty for testing and prototype integrations.
- Production Tier: Supports sustained high concurrency up to 2,500 RPS with dedicated query routing and priority queues.
- Autonomous Threat Blocking: Immediate edge drops for requests originating from known Tor exit relays or malicious VPN ranges.
3. High-Capacity Asynchronous Batch Engine
While single lookups and 500-hash synchronous batches execute in real time, forensic datasets often contain tens of thousands of records.
The 50,000-item asynchronous job engine leverages an independent background worker pipeline:
- Submission (
POST /v1/jobs/batch): The gateway validates and chunks the array of 50,000 hashes, stores job metadata in an in-memory status registry, and returns an immediateHTTP 202 Acceptedwith a UUIDjob_id. - Parallel Chunk Execution: Sharded background workers resolve hash chunks concurrently against the cluster.
- Progress Tracking: Clients can poll
GET /v1/jobs/{job_id}for live completion percentages and resolved count counters. - Webhook Dispatch: Upon completion, the worker engine posts the finalized results directly to the client's registered webhook endpoint with cryptographic signatures.
4. Benchmark Performance & SLA Metrics
Under sustained load testing using synthetic traffic generators mimicking enterprise reconciliation spikes:
| Metric | Target SLA | Measured Performance |
|---|---|---|
| p50 Latency (Single Lookup) | $< 1.0\text{ ms}$ | 0.32 ms |
| p90 Latency (Single Lookup) | $< 1.5\text{ ms}$ | 0.41 ms |
| p99 Latency (Single Lookup) | $< 2.0\text{ ms}$ | 0.48 ms |
| Batch Resolution (500 Hashes) | $< 50\text{ ms}$ | 28.4 ms |
| 50K Async Job Completion | $< 120\text{ s}$ | 42.1 s |
| Cluster Uptime | $99.9%$ | 99.99% |
Getting Started
Developers can begin testing immediately through our interactive web console or by registering an API key in seconds:
- Web Console: Launch Interactive Lookup
- Batch Processing: Synchronous 500 Batch
- API Explorer: Explore OpenAPI Documentation
- Get API Key: Provision Free Developer Key