Reach out directly about this role
By country
5 years
Experience
Full-time
Employment
Hybrid, Onsite
Work Format
Middle
Grade
Backend
Specialization
IT & Tech
Industry
Corporation
Company Type
YDB is a distributed, fault-tolerant, open-source relational database that combines high availability, scalability, and performance. Together with its accompanying stack of serverless technologies, YDB enables the organization of a data storage and processing system for the most complex and demanding applications.
YDB is also a platform for creating infrastructure components. We offer users not only reliable transactions on top of tables but also ready-made solutions based on the engine itself: persistent queues, federated queries, network disks for virtual machines (Yandex Network Block Store), and others.
One of YDB's main tasks is the distributed execution of user SQL queries. This includes parsing, optimization, distributed planning, and direct computation on database nodes. The quality of solving these tasks directly affects many user-visible characteristics of the database: consistency, responsiveness, and throughput. We are constantly improving the query execution subsystem to provide users with new functionality, increase performance, and expand YDB's use cases. All our development is done in OpenSource on GitHub, so you will be able to publicly share the results of your work.
Developing new functionality Develop new functionality in YDB queries to support user scenarios. Implement new distributed query planning and execution algorithms, develop analytical capabilities in YDB, develop the workload manager for distributed database resource management. Develop the PostgreSQL compatibility layer.
Improving what already exists Improve the query optimizer to build optimal plans for OLTP and OLAP scenarios. Increase the overall system performance, including both logical and low-level optimizations. Develop new indexing capabilities within YDB, through support and construction of partial and unique indexes, generated columns, and indexes on them. Improve the usability of YDB from the user's perspective.
RnD and interaction with related teams Investigate problematic areas in the current implementation and propose ways to solve problems. Interact with teams of underlying YDB subsystems to choose optimal solutions when designing changes. Conduct research on the capabilities of competing systems to improve the user experience in YDB.