Skip to main content

Why Tracera?

Tracera is built with a performance-first philosophy. Every technology choice is deliberate, optimized for the unique requirements of real-time financial data processing.

Design Principles

1

Performance First

Sub-second price updates, efficient batch inserts, and pre-computed aggregates. No compromises on speed.
2

Data Integrity

TimescaleDB hypertables with continuous aggregates ensure accurate, queryable historical data at any time window.
3

Real-Time by Default

WebSocket-based architecture means every connected client gets live updates — no polling, no stale data.
4

Security as Standard

CSRF protection, input validation, rate limiting, session hardening, and Docker runtime security are built in from day one.

Why Go?

Go is the backbone of Tracera’s backend. Here’s why it wins over the alternatives:
CriteriaGoRustPythonNode.js
ConcurrencyGoroutines — lightweight, nativeTokio async — powerful but complexGIL limits true parallelismSingle-threaded event loop
Developer VelocityFast compile, simple syntaxSteep learning curve, slow compilesFastest prototypingFast prototyping
Performance90% of Rust’s speedFastest10-50x slowerCPU-bound struggles
Best ForNetwork I/O + moderate CPUSystems programmingScripts and MLI/O-bound web apps
For Tracera’s workload — concurrent price fetching, volatility computation, and WebSocket fan-out — Go’s goroutines are the perfect abstraction.

Why TimescaleDB?

Time-series data is Tracera’s core. TimescaleDB provides:
  • SQL compatibility — No new query language to learn. Full PostgreSQL feature set.
  • Hypertables — Automatic time-based partitioning for billions of price points.
  • Continuous aggregates — Pre-computed 1h, 24h, and 7d windows that refresh automatically.
  • Retention policies — Automated cleanup of raw data while preserving aggregates.

Why Redis?

Redis serves dual duty in Tracera:
  • Cache layer — Sub-millisecond reads for latest prices and volatility rankings
  • Pub/Sub — Broadcasting price updates to the WebSocket hub for real-time fan-out
  • Session store — Redis-backed session management with SCS
  • Rate limiting — Per-IP and per-user rate limit counters
  • Magic link tokens — Time-limited token storage with automatic expiry