About
Currently I head the Azure SQL DB R&D Organization in India. Prior to this, I was a researcher at Microsoft Research India and Microsoft Gray Systems Lab. My areas of interest include query processing and optimization in large scale databases and data management systems. I am also interested in cloud database-as-a-service offerings and the intersection of databases and compilers/programming languages.
I have a PhD in computer science from Indian Institute of Technology Bombay and a B.Tech. from BMS College of Engineering, Bangalore. My doctoral thesis titled “Holistic Optimization of Database Applications” won an honorable mention for the ACM SIGMOD Jim Gray Doctoral Dissertation Award in 2015. It also won the IIT Bombay “Excellence in Ph.D Research Award 2015”. Prior to my Ph.D., I spent 5 years at ThoughtWorks Inc., where I led teams designing and developing enterprise software systems. Find my resume here.
Featured content
Froid and the relational database query quandry with Dr. Karthik Ramachandra
Episode 73, April 24, 2019 - In the world of relational databases, structured query language, or SQL, has long been King of the Queries, primarily because of its ubiquity and unparalleled performance. But many users prefer a mix of imperative programming, along with declarative SQL, because its user-defined functions (or UDFs) allow for good software engineering practices like modularity, readability and re-usability. Sadly, these benefits have traditionally come with a huge performance penalty, rendering them impractical in most situations. That bothered Dr. Karthik Ramachandra, a Senior Applied Scientist at Microsoft Research India, so he’s spent a great deal of his career working on improving an imperative complement to SQL in database systems. Today, Dr. Ramachandra gives us an overview of the historic trade-offs between declarative and imperative programming paradigms, tells us some fantastic stories, including The Tale of Two Engineers and The UDF Story, Parts 1 and 2, and introduces us to Froid – that’s F-R-O-I-D, not the Austrian psychoanalyst – which is an extensible, language-agnostic framework for optimizing imperative functions in databases, offering the benefits of UDFs without sacrificing performance.
Optimizing imperative functions in relational databases with Froid
For decades, databases have supported declarative SQL as well as imperative functions and procedures as ways for users to express data processing tasks. While the evaluation of declarative SQL has received a lot of attention resulting in highly sophisticated techniques,…