We help technology companies build innovative data management products

hero-img
icon
Distributed Systems
arrow

Distributed execution is essential for horizontal scalability and fault tolerance. We build complex distributed protocols for infrastructure products, including replication and transactional layers, and use formal methods to verify their correctness.

We have practical experience with Apache Zookeeper↗, etcd↗ and Consul↗, and use TLA+↗ for formal verification.

arrow
Query Engines
arrow

Building an SQL query engine is a challenging task, requiring careful optimizer and executor design. We created multiple query engines for different backends, including distributed and federated systems and custom hardware.

We have extensive experience with Apache Calcite, a framework to build query engines, and regularly contribute to it.

arrow
Query Optimizers
arrow

Query optimizer is one of the most important components of modern data management systems, having a critical impact on performance. Using Apache Calcite↗, we create powerful cost-based optimizers that surpass in their capabilities the optimizers of any modern DBMS

arrow
Persistent Stores
arrow

Almost every database requires a persistent storage for the business data. We have decent experience building distributed storage engines, including ARIES recovery protocols, write-ahead logs and B+Tree indexes

arrowarrow
iconarrow
iconarrow
icon

Research & Development

Data processing is an active area of research. We bring together academic knowledge and practice to help you make better design decisions by creating prototypes and reviewing the design.

icon

Training & Workshops

In-house expertise is essential for long-term product success. We conduct training to help your team accumulate solid knowledge of distributed systems and query processing.

icon

Support

Querify Labs provides support and consulting for Apache Calcite. Our team regulary contributes to this framework and has extensive experience with it.

blog-img
August 11, 2022

Building an SQL query engine is a challenging task, requiring careful optimizer and executor design. We created multiple query engines for different backends, including distributed and federated systems and custom hardware.

blog-img
August 11, 2022

Building an SQL query engine is a challenging task, requiring careful optimizer and executor design. We created multiple query engines for different backends, including distributed and federated systems and custom hardware.

blog-img
August 11, 2022

Building an SQL query engine is a challenging task, requiring careful optimizer and executor design. We created multiple query engines for different backends, including distributed and federated systems and custom hardware.