Petr Volobuev | Technology RadarPetr Volobuev | Technology Radar
Using

YDB has made it to production: we ported a couple of apps to the cloud onto Serverless containers, and their data moved into YDB.

A separate chapter is my pet project — an EF Core provider for YDB. I buried it with a clear conscience once the official one came out. One of those rare cases where you're genuinely happy to shut down your own project.

Assessing

Yet another DataBase

A distributed DBMS from Yandex; lately they've been promoting it as a solution for high-load systems where fault tolerance, scalability and strict data consistency are critical.

A good fit for (going by the docs)

  • replacing NoSQL systems where strict consistency and transactional changes are required;
  • systems with large data volumes that need horizontal scaling (clusters of >5,000 nodes);
  • serverless computing under low load;
  • high-load OLTP applications.

Features:

  • Automatic data partitioning as volume or load grows;
  • Built-in load balancing between nodes;
  • TTL (Time to Live) support and data eviction to external storage;
  • A relational model with row-based (for OLTP) and columnar (for OLAP) tables;
  • YQL (Yandex Query Language) — an SQL dialect for working with big data.
  • gRPC support.
  • YDB CLI

My experience

I needed to move a web application to the cloud as serverless because of unpredictable, spiky load. While digging into Yandex Cloud it became clear that for their serverless platform the database had to be migrated to YDB. At that point the only .NET client library available was an ADO.NET implementation. I decided to go with it for now, and in parallel started a pet project — an ef core implementation for YDB.