From 1709b7341c9882a99aa71a2eb0a78eebded989cc Mon Sep 17 00:00:00 2001 From: Evgeniy Ivanov Date: Sat, 1 Jun 2024 06:54:13 +0200 Subject: [PATCH] add techinternals ydb vs. tpcc presentation (#4934) Co-authored-by: Ivan Blinkov --- .../conferences/2024/TechInternals.md | 19 +++++++++++++++++++ ydb/docs/en/core/public-materials/videos.md | 6 ++++-- 2 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 ydb/docs/en/core/public-materials/_includes/conferences/2024/TechInternals.md diff --git a/ydb/docs/en/core/public-materials/_includes/conferences/2024/TechInternals.md b/ydb/docs/en/core/public-materials/_includes/conferences/2024/TechInternals.md new file mode 100644 index 000000000000..d690e7a2912a --- /dev/null +++ b/ydb/docs/en/core/public-materials/_includes/conferences/2024/TechInternals.md @@ -0,0 +1,19 @@ +### YDB vs. TPC-C: the Good, the Bad, and the Ugly behind High-Performance Benchmarking {#2024-conf-techinternals-highload} + +{% include notitle [testing-tag](../../tags.md#database_internals) %} + +Modern distributed databases scale horizontally with great efficiency, making them almost limitless in capacity. This implies that benchmarks should be able to run on multiple machines and be very efficient to minimize the number of machines required. This talk will focus on benchmarking high-performance databases, particularly emphasizing YDB and our implementation of the TPC-C benchmark, the de facto gold standard in the database field. + +First, we will speak about benchmarking strategies from a user's perspective. We will dive into key details related to benchmark implementations, which could be useful when you create a custom benchmark to mirror your production scenarios. Throughout our performance journey, we have identified numerous anti-patterns: there are things you should unequivocally avoid in your benchmark implementations. We'll highlight these "bad" and "ugly" practices with illustrative examples. + +Next, we'll briefly discuss the popular key-value benchmark YCSB, which is a prerequisite for robust performance in distributed transactions. We'll then explore the TPC-C benchmark in greater detail, sharing valuable insights derived from our own implementation. + +We'll conclude our talk by presenting performance results from the TPC-C benchmark, comparing YDB and CockroachDB with PostgreSQL to illustrate situations where PostgreSQL might not be enough and when you might want to consider a distributed DBMS instead. + +[{{ team.ivanov.name }}]({{ team.ivanov.profile }}) ({{ team.ivanov.position }}) discussed best high-performance benchmarking practices and some pitfalls found during TPC-C implementation, then demonstrated TPC-C results of PostgreSQL, CockroachDB, and YDB. + +@[YouTube](https://youtu.be/LlqfqzPtLD0?si=YYDcXkUZFsLJRJEY) + +The presentation will be of interest to developers of high-load systems and developers of platforms for various purposes. + +[Slides](https://presentations.ydb.tech/2024/en/techinternals_cyprus/ydb_vs_tpcc/presentation.pdf) diff --git a/ydb/docs/en/core/public-materials/videos.md b/ydb/docs/en/core/public-materials/videos.md index bcadf4192bda..d266bd37f7c4 100644 --- a/ydb/docs/en/core/public-materials/videos.md +++ b/ydb/docs/en/core/public-materials/videos.md @@ -9,6 +9,8 @@ Video recordings from conferences and webinars. The materials are divided by cat - 2024 + {% include [TechInternals](./_includes/conferences/2024/TechInternals.md) %} + {% include [Conf42](./_includes/conferences/2024/Conf42.md) %} {% include [Devworld](./_includes/conferences/2024/Devworld.md) %} @@ -21,10 +23,10 @@ Video recordings from conferences and webinars. The materials are divided by cat {% include [webinars](./_includes/webinars/2023/webinars.md) %} - - 2022 + - 2022 {% include [Hydra](./_includes/conferences/2022/Hydra.md) %} - + {% include [webinars](./_includes/webinars/2022/webinars.md) %}