Portrait of Badrish Chandramouli

Badrish Chandramouli

Principal Researcher


Badrish Chandramouli is a principal researcher in the database group at Microsoft Research.  He is interested in creating technologies to perform real-time and offline big data processing and resilient state management for Cloud applications. Badrish’s work on stream processing first shipped commercially in 2010 with Microsoft SQL Server, as the StreamInsight engine. His recent project, Trill, is an analytics engine that is widely used at Microsoft, for example, in the Bing advertising platform and as part of the public-facing Azure Stream Analytics service (see MSR’s blog post for more information). Recently, Badrish led the creation of FASTER, a new high-performance concurrent key-value store that supports larger-than-memory data and is optimized for the hot working set.





My main ongoing research projects include:

  • Trill: Since early 2012 when he started the Trill project with colleagues, Badrish has been working on building Trill as a .NET based high-performance incremental analytics engine. Trill is a library with a new architecture that provides best-of-breed or better performance across a diverse range of analytics styles and latency needs. As described in this blog post from MSR, Trill is widely used within Microsoft, for example, in the Bing advertising platform and as part of the public-facing Azure Stream Analytics service.
  • FASTER: FASTER is a new key-value store for point operations, that combines a highly cache-optimized concurrent hash index with a novel self-tuning data organization. It extends the standard key-value store interface to handle read-modify-writes and blind update operations. FASTER achieves orders-of-magnitude better throughput – up to 160M operations per second on a single machine – than alternative systems deployed widely today, and exceeds the performance of pure in-memory data structures when the working set fits in memory.

In the context of these projects, Badrish has worked on diverse research areas such as progressive analytics, sorting, pattern detection, query processing, concurrent multi-core data structures, storage and indexing, and distributed systems.

Français English