diff --git a/ydb/docs/.yfm b/ydb/docs/.yfm index 6c2263229e7c..5eb394ed32d9 100644 --- a/ydb/docs/.yfm +++ b/ydb/docs/.yfm @@ -5,6 +5,8 @@ allowCustomResources: true resources: script: - _assets/gtm.js + style: + - _assets/tags.css docs-viewer: project-name: ydb diff --git a/ydb/docs/_assets/tags.css b/ydb/docs/_assets/tags.css new file mode 100644 index 000000000000..68de4823e8d1 --- /dev/null +++ b/ydb/docs/_assets/tags.css @@ -0,0 +1,81 @@ +.tags_list { + display: grid; + grid-template-columns: auto 1fr; + grid-auto-rows: auto; + grid-auto-columns: auto; + grid-gap: 10px; +} + + +.multi-tags-container { + display:flex; + flex-direction: row; + justify-content: flex-start; + flex-wrap: wrap; + column-gap: 10px; +} + +.tags-shape { + border-radius: 5px; + padding: 4px; + } + + .g-root_theme_light { + .tags-color-text { + color: white; + } + + .overview-tag { + background-color:#e8b4bf; + } + + .use_cases-tag { + background-color:#edc9a7; + } + .practice-tag { + background-color:#97b38e; + } + + .database_internals-tag { + background-color:#98989c; + } + + .releases-tag { + background-color:#b3cc73; + } + + .testing-tag { + background-color:#83adda; + } + + } + + .g-root_theme_dark { + .tags-color-text { + color: black; + } + + .overview-tag { + background-color:#e8b4bf; + } + + .use_cases-tag { + background-color:#edc9a7; + } + .practice-tag { + background-color:#97b38e; + } + + .database_internals-tag { + background-color:#98989c; + } + + .releases-tag { + background-color:#b3cc73; + } + + .testing-tag { + background-color:#83adda; + } + + } \ No newline at end of file diff --git a/ydb/docs/en/core/public-materials/_includes/conferences/2022/Hydra.md b/ydb/docs/en/core/public-materials/_includes/conferences/2022/Hydra.md new file mode 100644 index 000000000000..beb027c60da6 --- /dev/null +++ b/ydb/docs/en/core/public-materials/_includes/conferences/2022/Hydra.md @@ -0,0 +1,10 @@ +### Parallel asynchronous replication between YDB database instances {#2022-conf-hydra-parallel-async-rep} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +In this talk, we present an approach to asynchronous replication in {{ ydb-short-name }} that provides the following characteristics: changefeed from the source database is sharded among multiple persistent queues, sharded changefeed is applied to the target database in a manner that guarantees the target database consistency. + +@[YouTube](https://www.youtube.com/watch?v=Ga2Eg2rbPPc) + +[Slides](https://presentations.ydb.tech/2022/en/hydra/presentation.pdf) + diff --git a/ydb/docs/en/core/public-materials/_includes/conferences/2023/Fossasia.md b/ydb/docs/en/core/public-materials/_includes/conferences/2023/Fossasia.md new file mode 100644 index 000000000000..8b29e4f12ffc --- /dev/null +++ b/ydb/docs/en/core/public-materials/_includes/conferences/2023/Fossasia.md @@ -0,0 +1,11 @@ +### {{ ydb-short-name }} — an open-source distributed SQL database {#2023-conf-fos-ydb} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +{{ ydb-short-name }} is used as a mission-critical database for many Internet-scale services. YDB has been designed as a platform for various data storage and processing systems and is aimed at solving a wide range of problems. [{{ team.bondar.name }}]({{ team.bondar.profile }}) ({{ team.bondar.position }}) spoke about the structure of {{ ydb-short-name }}, its main features, and benefits. + +@[YouTube](https://www.youtube.com/watch?v=A0O7yr9_1Tg) + +The presentation is suitable for everyone who is not yet familiar with {{ ydb-short-name }}. + +[Slides](https://presentations.ydb.tech/2023/en/fossasia_summit/presentation.pdf) diff --git a/ydb/docs/en/core/public-materials/_includes/conferences/2023/HighLoad.md b/ydb/docs/en/core/public-materials/_includes/conferences/2023/HighLoad.md new file mode 100644 index 000000000000..57081f9c7ad7 --- /dev/null +++ b/ydb/docs/en/core/public-materials/_includes/conferences/2023/HighLoad.md @@ -0,0 +1,15 @@ +### Scale it easy: YDB's high performance in a nutshell {#2023-conf-hl-serbia-scale} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +Implementing a distributed database with strong consistency isn’t difficult; ensuring speed and scalability is the challenge. YDB excels in these aspects. In this talk, we’ll discuss YDB’s architecture and high performance, present benchmark results, and compare YDB to top competitors. + +[{{ team.ivanov.name }}]({{ team.ivanov.profile }}) ({{ team.ivanov.position }}) discussed the architecture of YDB, demonstrated its high performance through benchmark results, and compared YDB with its competitors. + +@[YouTube](https://youtu.be/iMjq96GQTHQ?si=moMbI3Je90s3zY60) + +The presentation will be of interest to developers of high-load systems and developers of platforms for various purposes. + +[Slides](https://presentations.ydb.tech/2023/en/highload_serbia/ydb_performance/presentation.pdf) + + diff --git a/ydb/docs/en/core/public-materials/_includes/conferences/2024/Conf42.md b/ydb/docs/en/core/public-materials/_includes/conferences/2024/Conf42.md new file mode 100644 index 000000000000..9dcdb9aa7b52 --- /dev/null +++ b/ydb/docs/en/core/public-materials/_includes/conferences/2024/Conf42.md @@ -0,0 +1,11 @@ +### Enhancing a Distributed SQL Database Engine: A Case Study on Performance Optimization {#2024-conf42-devops} + +{% include notitle [internals_tag](../../tags.md#database_internals) %} + +Learn how we optimized a distributed SQL database engine, focusing on benchmark-driven improvements, and pivotal testing strategies. [{{ team.ozeritskiy.name }}]({{team.ozeritskiy.profile}}) ({{team.ozeritskiy.position}}) will talk about performance optimization of distributed SQL engine. He will discuss background information about YDB engine itself and where it is used. The final part of his talk will be about containerization and performance. + +@[YouTube](https://youtu.be/I_UaaqJrxT8?si=xhqI-LBy1VfC34FZ) + +The presentation is suitable for DBA. + +[Slides](https://presentations.ydb.tech/2024/en/conf42_devops/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/cache-queries.webp b/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/cache-queries.webp new file mode 100644 index 000000000000..e55d7032c7ab Binary files /dev/null and b/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/cache-queries.webp differ diff --git a/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/database.webp b/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/database.webp new file mode 100644 index 000000000000..cde7c31a5fac Binary files /dev/null and b/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/database.webp differ diff --git a/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/goose.webp b/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/goose.webp new file mode 100644 index 000000000000..c4a908544ee2 Binary files /dev/null and b/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/goose.webp differ diff --git a/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/tcp-c.webp b/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/tcp-c.webp new file mode 100644 index 000000000000..a11e13c7a588 Binary files /dev/null and b/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/tcp-c.webp differ diff --git a/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/ycsb.webp b/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/ycsb.webp new file mode 100644 index 000000000000..a4b9e8cbc9ea Binary files /dev/null and b/ydb/docs/en/core/public-materials/_includes/publications/2023/_includes/ycsb.webp differ diff --git a/ydb/docs/en/core/public-materials/_includes/publications/2023/medium.md b/ydb/docs/en/core/public-materials/_includes/publications/2023/medium.md new file mode 100644 index 000000000000..c51576371d47 --- /dev/null +++ b/ydb/docs/en/core/public-materials/_includes/publications/2023/medium.md @@ -0,0 +1,39 @@ +### Migrations in YDB using “goose” {#2023-pub-medium-goose} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +![Migrations in YDB using goose](./_includes/goose.webp ={{pub-cover-size}}) + +Any production process that works with a database will require a schema migration sooner or later. The migration updates the database’s table structure from one version to the next. Schema migrations can be done manually by executing an `ALTER TABLE` query or by using specialized tools. One such tool is called goose. In this [article](https://blog.ydb.tech/migrations-in-ydb-using-goose-58137bc5c303) we see how goose provides schema management in a project and has supported YDB (a distributed open-source database) since v3.16.0. + +### About prepared statements, server-side compiled query cache, or how to efficiently cache queries in YDB {#2023-pub-medium-cache-queries} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +![How to efficiently cache queries in YDB](./_includes/cache-queries.webp =700x300) + +There are various ways to reduce the cost of SQL query execution in modern DBMS. The most common approaches are using prepared statements and query caching. Both methods are available in YDB. Their functionality and benefits are discussed in this [article](https://blog.ydb.tech/about-prepared-statements-server-side-compiled-query-cache-or-how-to-efficiently-cache-queries-in-df3af73eb001). + +### YDB meets TPC-C: distributed transactions performance now revealed {#2023-pub-medium-tcp-c} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +![YDB meets TPC-C](./_includes/tcp-c.webp ={{pub-cover-size}}) + +We are excited to present our first [results](https://blog.ydb.tech/ydb-meets-tpc-c-distributed-transactions-performance-now-revealed-42f1ed44bd73) of [TPC-C](https://www.tpc.org/tpcc/)*, which is industry-standard On-Line Transaction Processing (OLTP) benchmark. According to these results, there are scenarios in which YDB slightly outperforms CockroachDB, another trusted and well-known distributed SQL database. + +### database/sql bindings for YDB in Go {#2023-pub-medium-ydb-go} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +![Database/sql bindings for YDB in Go](./_includes/database.webp ={{pub-cover-size}}) + +YQL is a SQL dialect with YDB specific strict types. This is great for performance and correctness, but sometimes can be a bit daunting to express in a query, especially when they need to be parametrized externally from the application side. For instance, when a YDB query needs to be parametrized, each parameter has name and type provided via `DECLARE` statement. To explore more about this and see practical examples, read the detailed explanation in this [article](https://blog.ydb.tech/database-sql-bindings-for-ydb-in-go-a8a2671a8696). + +### YCSB performance series: YDB, CockroachDB, and YugabyteDB {#2023-pub-medium-ycsb} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +![YCSB performance series](./_includes/ycsb.webp ={{pub-cover-size}}) + +It’s a challenge to implement a distributed database with strong consistency, ensuring high speed and scalability. YDB excels in these aspects, and our customers can attest to this through their own experiences. Unfortunately, we have never presented any performance numbers to a broader audience. We recognize the value of this [information](https://blog.ydb.tech/ycsb-performance-series-ydb-cockroachdb-and-yugabytedb-f25c077a382b), and we are preparing more benchmark results to share. \ No newline at end of file diff --git a/ydb/docs/en/core/public-materials/_includes/publications/2024/_includes/java21.webp b/ydb/docs/en/core/public-materials/_includes/publications/2024/_includes/java21.webp new file mode 100644 index 000000000000..4057243e43f9 Binary files /dev/null and b/ydb/docs/en/core/public-materials/_includes/publications/2024/_includes/java21.webp differ diff --git a/ydb/docs/en/core/public-materials/_includes/publications/2024/_includes/postgresql.webp b/ydb/docs/en/core/public-materials/_includes/publications/2024/_includes/postgresql.webp new file mode 100644 index 000000000000..a36aadac3c65 Binary files /dev/null and b/ydb/docs/en/core/public-materials/_includes/publications/2024/_includes/postgresql.webp differ diff --git a/ydb/docs/en/core/public-materials/_includes/publications/2024/medium.md b/ydb/docs/en/core/public-materials/_includes/publications/2024/medium.md new file mode 100644 index 000000000000..80e8d730b8b1 --- /dev/null +++ b/ydb/docs/en/core/public-materials/_includes/publications/2024/medium.md @@ -0,0 +1,15 @@ +### When Postgres is not enough: performance evaluation of PostgreSQL vs. Distributed DBMSs {#2024-pub-medium-postgresql} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +![When Postgres is not enough](./_includes/postgresql.webp ={{pub-cover-size}}) + +The [research](https://blog.ydb.tech/when-postgres-is-not-enough-performance-evaluation-of-postgresql-vs-distributed-dbmss-23bf39db2d31) presented is the result of our joint effort and close collaboration with [Evgeny Efimkin](https://www.linkedin.com/in/evgeny-efimkin-4061a893/), an expert in PostgreSQL who doesn’t work on YDB. + +### How we switched to Java 21 virtual threads and got a deadlock in TPC-C for PostgreSQL {#2024-pub-medium-java-21} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +![When Postgres is not enough](./_includes/java21.webp) + +In this [post](https://blog.ydb.tech/how-we-switched-to-java-21-virtual-threads-and-got-deadlock-in-tpc-c-for-postgresql-cca2fe08d70b), we present a case study on how we encountered a deadlock with virtual threads in TPC-C for PostgreSQL, even without the dining philosophers problem. This post might be helpful for Java developers who are considering switching to virtual threads. \ No newline at end of file diff --git a/ydb/docs/en/core/public-materials/_includes/tags.md b/ydb/docs/en/core/public-materials/_includes/tags.md new file mode 100644 index 000000000000..94d360ce4f17 --- /dev/null +++ b/ydb/docs/en/core/public-materials/_includes/tags.md @@ -0,0 +1,17 @@ +## Overview { #overview } +  Overview + +## Use cases { #use_cases } +  Use cases + +## Practice { #practice } +  Practice + +## Database internals { #database_internals } +  Database internals + +## Releases { #releases } +  Releases + +## Testing{ #testing } +  Testing \ No newline at end of file diff --git a/ydb/docs/en/core/public-materials/_includes/tags_list.md b/ydb/docs/en/core/public-materials/_includes/tags_list.md new file mode 100644 index 000000000000..ece96f4c76fa --- /dev/null +++ b/ydb/docs/en/core/public-materials/_includes/tags_list.md @@ -0,0 +1,27 @@ +
+ +{% include notitle [overview_tag](./tags.md#overview) %} + +

– overview materials that introduce {{ ydb-short-name }} and the technologies used in it.

+ +{% include notitle [use_cases_tag](./tags.md#use_cases) %} + +

– use cases of {{ ydb-short-name }}.

+ +{% include notitle [practice_tag](./tags.md#practice) %} + +

– best practices for using {{ ydb-short-name }}.

+ +{% include notitle [database_internals_tag](./tags.md#database_internals) %} + +

– a detailed analysis of the internal implementation of {{ ydb-short-name }} or its individual parts and mechanisms.

+ +{% include notitle [releases_tag](./tags.md#releases) %} + +

– an overview of new features and released versions of {{ ydb-short-name }}.

+ +{% include notitle [testing_tag](./tags.md#testing) %} + +

– performance testing cases of {{ ydb-short-name }} and comparisons with other similar-class DBMSs.

+ +
\ No newline at end of file diff --git a/ydb/docs/en/core/public-materials/_includes/webinars/2022/webinars.md b/ydb/docs/en/core/public-materials/_includes/webinars/2022/webinars.md new file mode 100644 index 000000000000..ee33265308c8 --- /dev/null +++ b/ydb/docs/en/core/public-materials/_includes/webinars/2022/webinars.md @@ -0,0 +1,4 @@ +### Scalability and Fault Tolerance in YDB {#2022-webinar-scalability} +In this talk, we will cover two layers of YDB: Tablet and BlobStorage, which together provide fault tolerance, scalability, and user isolation. + +@[YouTube](https://www.youtube.com/watch?v=eYpyKXihGaY) \ No newline at end of file diff --git a/ydb/docs/en/core/public-materials/_includes/webinars/2023/webinars.md b/ydb/docs/en/core/public-materials/_includes/webinars/2023/webinars.md new file mode 100644 index 000000000000..fd75d014e655 --- /dev/null +++ b/ydb/docs/en/core/public-materials/_includes/webinars/2023/webinars.md @@ -0,0 +1,9 @@ +### {{ ydb-short-name }} — a Distributed SQL Database {2023-webinar-dist-sql} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +This is a recording of a guest lecture in Belgrade University at the faculty of Mathematics. In this video, we describe the reasons why distributed SQL databases were created. Illustrate a brief history of Distributed SQL DBMS development, which products have appeared first. + +@[youtube](https://youtu.be/ZFl0F30qsPQ?si=BL7nskNU9BGiTgBe) + +[Slides](https://presentations.ydb.tech/2023/en/belgrade_lecture/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/en/core/public-materials/articles.md b/ydb/docs/en/core/public-materials/articles.md new file mode 100644 index 000000000000..6c403beb60f2 --- /dev/null +++ b/ydb/docs/en/core/public-materials/articles.md @@ -0,0 +1,17 @@ +# Articles + +The materials are divided by categories and tagged: + +{% include [tags_list](./_includes/tags_list.md) %} + +{% list tabs %} + + - 2024 + + {% include [Medium](./_includes/publications/2024/medium.md) %} + + - 2023 + + {% include [Medium](./_includes/publications/2023/medium.md) %} + +{% endlist %} diff --git a/ydb/docs/en/core/public-materials/toc_i.yaml b/ydb/docs/en/core/public-materials/toc_i.yaml new file mode 100644 index 000000000000..664fa330f4c2 --- /dev/null +++ b/ydb/docs/en/core/public-materials/toc_i.yaml @@ -0,0 +1,5 @@ +items: +- name: Videos + href: videos.md +- name: Articles + href: articles.md \ No newline at end of file diff --git a/ydb/docs/en/core/public-materials/toc_p.yaml b/ydb/docs/en/core/public-materials/toc_p.yaml new file mode 100644 index 000000000000..5bfec4365def --- /dev/null +++ b/ydb/docs/en/core/public-materials/toc_p.yaml @@ -0,0 +1,2 @@ +items: +- include: { mode: link, path: toc_i.yaml } \ No newline at end of file diff --git a/ydb/docs/en/core/public-materials/videos.md b/ydb/docs/en/core/public-materials/videos.md new file mode 100644 index 000000000000..6453949e8069 --- /dev/null +++ b/ydb/docs/en/core/public-materials/videos.md @@ -0,0 +1,29 @@ +# Videos + +Video recordings from conferences and webinars. The materials are divided by categories and tagged: + +{% include [tags_list](./_includes/tags_list.md) %} + + +{% list tabs %} + + - 2024 + + {% include [Conf42](./_includes/conferences/2024/Conf42.md) %} + + - 2023 + + {% include [HighLoad](./_includes/conferences/2023/HighLoad.md) %} + + {% include [Fossasia](./_includes/conferences/2023/Fossasia.md) %} + + {% include [webinars](./_includes/webinars/2023/webinars.md) %} + + - 2022 + + {% include [Hydra](./_includes/conferences/2022/Hydra.md) %} + + {% include [webinars](./_includes/webinars/2022/webinars.md) %} + + +{% endlist %} \ No newline at end of file diff --git a/ydb/docs/en/core/toc_i.yaml b/ydb/docs/en/core/toc_i.yaml index 77e474af50ba..d479ca48100a 100644 --- a/ydb/docs/en/core/toc_i.yaml +++ b/ydb/docs/en/core/toc_i.yaml @@ -35,8 +35,10 @@ items: include: mode: link path: downloads/toc_p.yaml -- name: Public talks - href: public-talks.md +- name: Public materials + include: + mode: link + path: public-materials/toc_p.yaml - name: Changelog include: mode: link diff --git a/ydb/docs/en/presets.yaml b/ydb/docs/en/presets.yaml index 805ee95ca7b7..d1f3bdc8a293 100644 --- a/ydb/docs/en/presets.yaml +++ b/ydb/docs/en/presets.yaml @@ -1,2 +1,16 @@ default: - lang: en \ No newline at end of file + lang: en + pub-cover-size: 700x400 + team: + bondar: + name: Oleg Bondar + position: CPO YDB + profile: https://www.linkedin.com/in/olegbondar2000/ + ivanov: + name: Evgenii Ivanov + position: Senior developer + profile: https://www.linkedin.com/in/eivanov89/ + ozeritskiy: + name: Alexey Ozeritskiy + position: Lead Software Engineer + profile: https://www.linkedin.com/in/alexey-ozeritskiy/ diff --git a/ydb/docs/ru/core/_assets/team_photos/babich.png b/ydb/docs/ru/core/_assets/team_photos/babich.png new file mode 100644 index 000000000000..1c3fe4b2b22a Binary files /dev/null and b/ydb/docs/ru/core/_assets/team_photos/babich.png differ diff --git a/ydb/docs/ru/core/_assets/team_photos/bondar.png b/ydb/docs/ru/core/_assets/team_photos/bondar.png new file mode 100644 index 000000000000..8828cbecb560 Binary files /dev/null and b/ydb/docs/ru/core/_assets/team_photos/bondar.png differ diff --git a/ydb/docs/ru/core/_assets/team_photos/cherednik.png b/ydb/docs/ru/core/_assets/team_photos/cherednik.png new file mode 100644 index 000000000000..712af7a7fc67 Binary files /dev/null and b/ydb/docs/ru/core/_assets/team_photos/cherednik.png differ diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2017/Heisenbug.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2017/Heisenbug.md new file mode 100644 index 000000000000..4a86d9098d76 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2017/Heisenbug.md @@ -0,0 +1,12 @@ +### Как проверить систему, не запуская ее {#2017-conf-heisenbug} + +{% include notitle [testing_tag](../../tags.md#testing) %} + +Системы, которые мы разрабатываем, становятся сложнее с каждым днем. И кажется, что нет спасения от вездесущей сложности, которая проникает во все. Один из аспектов этой сложности — конфигурация. С одной стороны, конфигурация сильно влияет на стабильность и доступность системы, с другой — проверке ее корректности уделяется очень мало внимания. В докладе рассказ о том, как тестируются конфигурации и насколько это полезно. + + +@[YouTube](https://youtu.be/KaeEjsAjV6A) + +Этот доклад будет интересен всем, кто хочет узнать простой способ увеличения стабильности и доступности системы в продакшене. + +[Слайды](https://presentations.ydb.tech/2017/ru/heisenbug/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2018/about_cloud.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2018/about_cloud.md new file mode 100644 index 000000000000..fc0079f6443e --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2018/about_cloud.md @@ -0,0 +1,30 @@ +### Три доклада о {{ ydb-short-name }} с about:cloud {#2018-conf-about-cloud} + +
+ +{% include notitle [overview_tag](../../tags.md#overview) %} + +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +
+ +1. [{{ ydb-name }}](https://youtu.be/Kr6WIYPts8I?t=8558): платформа распределенных систем хранения данных, критичных к задержкам. Рассказ о {{ ydb-short-name }}, как о платформе, на которой можно строить различные системы хранения и обработки данных. На платформе {{ ydb-short-name }} построены: +* LogBroker (аналог Apache Kafka). +* Real-time Map Reduce (обработка потоков данных). +* Хранение временных рядов в системе мониторинга. + +2. [{{ ydb-name }}](https://youtu.be/Kr6WIYPts8I?t=10550): Distributed SQL база данных. Рассказ о {{ ydb-short-name }} как базе данных. Из доклада вы узнаете: +* Что такое "Таблетка" и какими свойствами она обладает. +* Как работают распределенные транзакции в {{ ydb-short-name }} и что такое детерминированные транзакции. +* Что такое YQL и чем он отличается от SQL. + +3. [{{ ydb-name }}](https://youtu.be/Kr6WIYPts8I?t=12861): сетевое блочное устройство. Рассказ о Network Block Store — сервисе виртуальных дисков, на которых работают все виртуальные машины Yandex Cloud. В докладе подробно разобрано: +* Устройство File System (Файл/директория, Операции с метаданными, Индекс блоков). +* Устройство Block Device (Хранение блоков данных, интерфейс взаимодействия). +* Работа с QEMU/KVM (Virtio-очереди, Виртуализация процессора, режим паравиртуализации). + +@[YouTube](https://www.youtube.com/watch?v=Kr6WIYPts8I) + +Доклады будут полезны всем, кто хочет познакомиться с {{ ydb-short-name }}. \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2019/BackendConf.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2019/BackendConf.md new file mode 100644 index 000000000000..a997c8f6f23b --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2019/BackendConf.md @@ -0,0 +1,14 @@ +### {{ ydb-name }}: распределенные запросы в облаках {#2019-conf-backendconf} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +[ {{ team.puchin.name }} ]( {{ team.puchin.profile }} ) ( {{ team.puchin.position }} ) рассказал про применяемую модель транзакций и уровни изоляции, особенности SQL-диалекта Yandex Query Language (YQL), параметризацию и подготовку запросов, многошаговые транзакции и механизм оптимистичных блокировок. Также в докладе затронуты общие вопросы эффективного выполнения запросов в распределенных базах данных и рассмотрены основные факторы, влияющие на производительность запросов, и стандартные практики при работе с {{ ydb-short-name }}. + +@[YouTube](https://youtu.be/V95bBGB-89Y?t=15514) + +В докладе разобраны сценарии использования {{ ydb-short-name }} под высокими нагрузками внутри Яндекса: +* [Турбо-страницы](https://yandex.ru/dev/turbo/). {{ ydb-short-name }} используется для хранения метаданных. +* Яндекс.Коллекции. {{ ydb-short-name }} используется для хранения истории о рекомендациях пользователям. +* [Яндекс Облако](https://yandex.cloud/ru/). {{ ydb-short-name }} является основным хранилищем метаданных для системных сервисов и сервисов управления пользовательскими данными: Yandex Object Store, Yandex Message Queue. + +[Слайды](https://presentations.ydb.tech/2019/ru/backend_conf/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2019/HighLoad.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2019/HighLoad.md new file mode 100644 index 000000000000..3d990cbec00c --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2019/HighLoad.md @@ -0,0 +1,27 @@ +### Распределенные транзакции в {{ ydb-short-name }} {#2019-conf-hl-dist-transc} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +В докладе рассмотрен алгоритм планирования транзакций, лежащий в основе транзакционной системы {{ ydb-short-name}}. Сделан разбор сущностей, участвующих в транзакциях. На примере распространенной задачи рассмотрена реализация транзакций с применением двухфазного коммита и детерминистических транзакций. + +@[YouTube](https://youtu.be/8AR1u5OZIm8) + +Из доклада вы узнаете: +* Как реализован ACID механизм. +* Какие есть уровни изоляции. +* Как работают распределенные транзакции. +* Что такое таблетки и как они устроены. + +[Слайды](https://presentations.ydb.tech/2019/ru/highload_moscow/presentation.pdf) + +### {{ ydb-name }} — как мы обеспечиваем отказоустойчивость {#2019-conf-hl-faul-tol} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +{{ ydb-short-name }} – горизонтально масштабируемая геораспределенная отказоустойчивая СУБД, выдерживающая отказ дисков, серверов, стоек и дата-центров без нарушения консистентности. Для обеспечения отказоустойчивости применяется собственный алгоритм достижения распределенного консенсуса, а также ряд технических решений, которые детально рассмотрены в докладе. + +@[YouTube](https://youtu.be/-GlRSxG4JQU?t=10779) + +[ {{ team.kuznetcov.name }} ]( {{ team.kuznetcov.profile }} ) ( {{ team.kuznetcov.position }} ) рассказал о том, как {{ ydb-short-name }} хранит данные с избыточностью и как {{ ydb-short-name }} решает задачу распределенного консенсуса. + +[Слайды](https://presentations.ydb.tech/2019/ru/highload_siberia/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2019/Hydra.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2019/Hydra.md new file mode 100644 index 000000000000..c79b93c5da9e --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2019/Hydra.md @@ -0,0 +1,11 @@ +### Распределенные транзакции в YDB {#2019-conf-hydra} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +В докладе рассмотрен алгоритм планирования транзакций, на котором основана транзакционная система {{ ydb-short-name }}. Вы узнаете, какие сущности участвуют в транзакциях, кто устанавливает глобальный порядок транзакций и как достигается атомарность транзакций, надежность и изоляция высокого уровня. + +@[YouTube](https://www.youtube.com/watch?v=85GIFpG3zx4) + +На примере общей проблемы показана реализация транзакций с использованием двухфазной фиксации и детерминированных транзакций. + +[Слайды](https://presentations.ydb.tech/2019/ru/hydra/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2019/YaTalks.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2019/YaTalks.md new file mode 100644 index 000000000000..f51bd75d61c0 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2019/YaTalks.md @@ -0,0 +1,28 @@ +### {{ ydb-name }} — как выжать 10K IOPS из HDD и вставить в таблицу 50K записей на одном ядре {#2019-conf-yatalks-10k-iops} + +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +Из доклада вы узнаете об успешном использовании {{ ydb-name }} в качестве бэкэнда для распределенной трассировки Jaeger от представителей [Auto.ru](https://auto.ru) и [Яндекс.Недвижимости](https://realty.yandex.ru/), а также об архитектуре распределенного сетевого хранилища в {{ ydb-name }}. + +@[YouTube](https://www.youtube.com/watch?v=hXH_tRBxFnA&t=11318s) + + +[Слайды](https://storage.yandexcloud.net/ydb-public-talks/yatalks-ydb.pptx) + +### {{ ydb-name }}: Distributed SQL база данных Яндекса {#2019-conf-yatalks-dist-sql} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +[ {{ team.puchin.name }} ]( {{ team.puchin.profile }} ) ( {{ team.puchin.position }} ) рассказал об основных моментах, связанных с выполнением распределенных запросов в {{ ydb-short-name }}: +* Модель транзакций и уровни изоляции. +* Особенности SQL-диалекта Yandex Query Language (YQL). +* Многошаговые транзакции и механизм оптимистичных блокировок. +* Эффективное выполнение запросов к распределенным БД в целом. +* Основные факторы, влияющие на производительность запросов. +* Стандартные практики работы с {{ ydb-short-name }}, в том числе инструменты для разработчика. + +@[YouTube](https://youtu.be/tzANIAbc99o?t=3012) + +Доклад будет интересен тем, кто хочет глубже погрузиться в процессы работы {{ ydb-name }} и узнать как клиентские приложения взаимодействуют с {{ ydb-name }}, и как работает система распределенных транзакций {{ ydb-short-name }}. + +[Слайды](https://storage.yandexcloud.net/ydb-public-talks/YdbInCloud_2.pptx) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2019/YandexScale.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2019/YandexScale.md new file mode 100644 index 000000000000..4221b7abe480 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2019/YandexScale.md @@ -0,0 +1,30 @@ +### {{ ydb-name }} — эффективная альтернатива традиционным noSQL-решениям {#2019-conf-yascale-ydb-nosql-alt} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +[ {{ team.fomichev.name }} ]( {{ team.fomichev.profile }} ) ( {{ team.fomichev.position }} ) рассказал, как и зачем была создана {{ ydb-name }}, чем она отличается от других БД и для каких задач она лучше всего подходит. + +@[YouTube](https://youtu.be/MlSdUq5RIN8) + +В докладе подробно разобраны следующие свойства {{ ydb-short-name }}: +* Автоматический split/merge шардов. +* Автоматическое восстановление после сбоев за время обнаружения отказа. +* Синхронная репликация данных, в том числе в геораспределенной конфигурации данных. +* Механизм serializable-транзакций между записями базы данных. + +[Слайды](https://presentations.ydb.tech/2019/ru/yandex_scale_nosql_alternative/presentation.pdf) + +### {{ ydb-name }} at Scale: опыт применения в высоконагруженных сервисах Яндекса {#2019-conf-yascale-ydb-at-scale} + +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +Представители [Auto.ru](https://auto.ru), [Яндекс.Репетитора](https://yandex.ru/tutor/), [Алисы](https://yandex.ru/alice) и [Condé Nast](https://www.condenast.ru/) рассказали, почему они выбрали {{ ydb-name }} и как эта СУБД помогает развивать их продукты. + +@[YouTube](https://youtu.be/kubFwIKJjBY) + +Вы узнаете: +* Как {{ ydb-short-name }} хранит гигабайты данных умных устройств. +* Почему разработчики Алисы выбрали {{ ydb-short-name }} для хранения логов. +* Какие преимущества есть у {{ ydb-short-name }} перед Cassandra и MongoDB. + +[Слайды](https://storage.yandexcloud.net/ydb-public-talks/242-olegbondar.pptx) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2020/YandexScale.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2020/YandexScale.md new file mode 100644 index 000000000000..b982a21c6bd3 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2020/YandexScale.md @@ -0,0 +1,13 @@ +### Serverless: публичный запуск {{ ydb-name }} {#2021-conf-yandex-scale} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +Сервис {{ ydb-name }} вышел в общий доступ. Теперь можно выбрать режим работы с выделенными серверами или бессерверный режим. + +В докладе: +* Выход сервиса {{ ydb-name }} в общественный доступ. +* Запуск нового продукта {{ ydb-name }} Serverless. +* Новые возможности {{ ydb-name }}. +* Ценообразование {{ ydb-name }} и {{ ydb-name }} Serverless. + +@[YouTube](https://www.youtube.com/watch?v=PD0wjTueIeA&t=9025s) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2021/DevOpsConf.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2021/DevOpsConf.md new file mode 100644 index 000000000000..437924c42c4f --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2021/DevOpsConf.md @@ -0,0 +1,9 @@ +### Распределенная трассировка с помощью Jaeger и {{ ydb-name }}. Опыт Auto.ru и Yandex Cloud. {#2021-conf-devops-jaeger} + +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +Мы активно используем Jaeger как инструмент распределенной трассировки, и при росте нагрузки встал вопрос эффективности хранения и обработки данных. В докладе мы расскажем, как выбирали базу для хранения трейсов Jaeger и про дальнейший опыт эксплуатации Jaeger и {{ ydb-name }} в Auto.ru и Yandex Cloud. Решение стало популярным внутри Яндекса, и мы выпустили Jaeger-драйвер для {{ ydb-name }} в Open Source. Появление {{ ydb-name }} Serverless дало пользователям возможность сэкономить, и мы хотим поделиться результатами тестов Jaeger с {{ ydb-name }} Serverless. + +@[YouTube](https://youtu.be/J0OT8Qxbsvc) + +[Слайды](https://presentations.ydb.tech/2021/ru/devops_conf/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2021/YaSubbotnik.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2021/YaSubbotnik.md new file mode 100644 index 000000000000..55082af44032 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2021/YaSubbotnik.md @@ -0,0 +1,11 @@ +### Мультиарендный подход Яндекса к построению инфраструктуры работы с данными {#2021-conf-yasub-multirendn} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +Времена, когда для экземпляра базы данных выделялся отдельный компьютер, давно прошли. Сейчас повсюду управляемые решения, поднимающие необходимые процессы в виртуальных машинах. Для вычислений применяется еще более прогрессивный подход — «бессерверные вычисления», например AWS Lambda или Yandex Cloud Functions. И уж совсем на острие прогресса находятся бессерверные БД. + +@[YouTube](https://www.youtube.com/watch?v=35Q2338ywEw&t=4282s) + +[ {{ team.fomichev.name }} ]( {{ team.fomichev.profile }} ) ( {{ team.fomichev.position }} ) рассказал о бессерверных решениях, которые еще до всеобщего хайпа стали популярны в Яндексе и по-прежнему используются для хранения и обработки данных. + +[Слайды](https://presentations.ydb.tech/2021/ru/ya_subbotnic_infrastructure/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2021/YaTalks.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2021/YaTalks.md new file mode 100644 index 000000000000..8016146bb7ca --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2021/YaTalks.md @@ -0,0 +1,30 @@ +### Большой таблеточный взрыв {#2021-conf-yatalks-big-tablet-exp} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +Современная распределённая БД, как и сама Вселенная, состоит из мельчайших частиц. Из частиц, которые мы называем таблетками, строится петабайтная вселенная данных Yandex Database. [ {{ team.fomichev.name }} ]( {{ team.fomichev.profile }} ) ( {{ team.fomichev.position }} ) рассказал о том, какую задачу решают таблетки, как они обеспечивают согласованные изменения данных и отказоустойчивое хранение, а также как мечты помогают нам создавать новые технологии космического масштаба, не ограничиваясь стандартными решениями. + +@[YouTube](https://www.youtube.com/watch?v=Ay6_ffxK4us&t=7076s) + +### Миграция приложения с PostgreSQL на Yandex {{ ydb-name }} Serverless. Производительность, стоимость, риски. {#2021-conf-yatalks-cloud-o-serverless} + +
+ +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +{% include notitle [practice_tag](../../tags.md#practice) %} + +
+ +В исследовании, которое провела команда Yandex {{ ydb-name }}, рассмотрены аспекты миграции Е-commerce приложения, изначально разработанного для PostgreSQL, на Yandex {{ ydb-name }}. Основная тема исследования — сравнение производительности и стоимости решений на PostgreSQL и {{ ydb-short-name }}. + +В докладе показано: +* Что нового в Cloud Functions. Глеб Борисов. +* Как клиенты облака используют Yandex Database Serverless. [ {{ team.kovalenko.name }} ]( {{ team.kovalenko.profile }} ) ( {{ team.kovalenko.position }} ). +* Миграция приложения с PostgreSQL на Yandex Database Serverless. Производительность, стоимость, риски. [ {{ team.smirnov.name }} ]( {{ team.smirnov.profile }} ) ( {{ team.smirnov.position }} ). + +@[YouTube](https://www.youtube.com/watch?v=8bgtMxkduV8&t=3946s) + +Доклад будет полезен разработчикам, архитекторам, инженерам сопровождения. + +[Слайды](https://presentations.ydb.tech/2021/ru/about_cloud_postgresql_migration/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2021/about_cloud.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2021/about_cloud.md new file mode 100644 index 000000000000..a978e27e47cb --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2021/about_cloud.md @@ -0,0 +1,13 @@ +### Как клиенты облака используют {{ ydb-short-name }} Serverless {#2021-conf-about-cloud-ydb-serverless} + +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +[{{team.kovalenko.name}}]({{team.kovalenko.profile}}) ({{team.kovalenko.position}}) поделился клиентским опытом использования {{ ydb-short-name }}. В докладе: +* Что такое {{ ydb-short-name }}. +* {{ ydb-short-name }} как Serverless-платформа. +* За что клиенты выбирают {{ ydb-short-name }}. + +@[YouTube](https://www.youtube.com/live/8bgtMxkduV8?si=yoyWw_uqSfwgReou) + + +[Слайды](https://presentations.ydb.tech/2021/ru/about_cloud_serverless/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2022/HighLoad.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2022/HighLoad.md new file mode 100644 index 000000000000..911a39076c74 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2022/HighLoad.md @@ -0,0 +1,111 @@ +### Эволюция акторной системы {#2022-conf-hl-actor-sys} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +Существует несколько подходов к созданию эффективных многопоточных приложений на С++. В {{ ydb-short-name }} была выбрана модель акторов и с нуля создана собственная акторная система. С тех пор прошло более 7 лет, и сегодня акторная система исполняется на десятках тысяч серверов. Чтобы пройти путь к созданию сложных модульных распределенных систем с помощью модели акторов команде {{ ydb-short-name }} пришлось решить множество проблем. + +В докладе [ {{ team.stankevichus.name }} ]( {{ team.stankevichus.profile }} ) ( {{ team.stankevichus.position }} ) рассказал о некоторых из них: +* как совместить интерактивную нагрузку и фоновые задачи в одном приложении; +* как обеспечить гарантии latency и высокую утилизацию; +* как изолировать подсистемы и обойтись без резервирования CPU. +И, конечно, Алексей рассказал, почему выбрали именно модель акторов. + +@[YouTube](https://youtu.be/bvfb4Mn4dXc) + +Доклад будет интересен разработчикам, интересующимся высоконагруженными системами обработки данных, асинхронным программированием, оптимизацией, планировщиками CPU. + +[Слайды](https://presentations.ydb.tech/2022/ru/highload_foundation_actor_system/presentation.pdf) + +### Считаем число просмотров видео для десятков миллионов пользователей в день {#2022-conf-hl-count-video-view} + +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +Обычные продуктовые фичи могут стать нетривиальной задачей на больших масштабах. {{ team.sokolov.name }} ( {{ team.sokolov.position }} ) рассказал, как они спроектировали две системы подсчёта пользователей: общее число просмотров видео и количество текущих зрителей лайв-трансляций. + +В докладе Иван рассказывает о решении следующих задач: +* близкое к realtime время обновления счётчиков; +* возможность горизонтального масштабирования; +* отказоустойчивость при выпадении части мощностей. + +@[YouTube](https://youtu.be/AFJMOOpMjQM) + +Доклад будет интересен разработчикам и аналитикам Video on Demand-сервисов. + +[Слайды](https://presentations.ydb.tech/2022/ru/highload_foundation_dzen/presentation.pdf) + +### Миллион RPS в {{ ydb-short-name }}: история одного переезда Метрики {#2022-conf-hl-mil-rps} + +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +В Яндекс Метрике существует сборка визитов пользователей на сайте, для этого необходимо хранить историю всех событий и склеивать их друг с другом на лету. Для этого использовалась конвейерная распределенная система, со своим самописным локальным хранилищем и своей логикой репликации и шардирования. По мере роста нагрузки команда, в которой работает [ {{ team.prudaev.name }} ]( {{ team.prudaev.profile }} ) ( {{ team.prudaev.position }} ), уперлась в производительность отдельного шарда, при этом продолжать наращивать их количество без принципиальной перестройки архитектуры было крайне болезненно. + +Александр в рамках доклада рассказал: +* Почему остановились на {{ ydb-short-name }}, как переезжали, что сломали. +* Как научились работать с таблицей в 40ТБ и 1 миллионом запросов в секунду. +* Как тестировали и масштабировали. + +@[YouTube](https://youtu.be/9zagbmkdFDk) + +Доклад рассчитан на разработчиков среднего уровня и выше. + +[Слайды](https://presentations.ydb.tech/2022/ru/highload_foundation_million_rps_metrika/presentation.pdf) + +### {{ ydb-short-name }}: мультиверсионность в распределенной базе {#2022-conf-hl-ydb-multiver} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +[ {{ team.fomichev.name }} ]( {{ team.fomichev.profile }} ) ( {{ team.fomichev.position }} ) рассказал про особенности выполнения распределенных транзакций, что нужно делать, чтобы их поведение было привычным для пользователя и раскрыл особенности реализации `MVCC` в {{ ydb-short-name }}: +* `MVCC` поверх LSM-деревьев. +* Как удалось сделать `MVCC` с консистентными снапшотами в распределенной базе данных. +* Почему выбрали глобальные, а не локальные таймстемпы. + +@[YouTube](https://youtu.be/k2ccFXWdBN4) + +Доклад подойдет всем, кто интересуется распределенными системами, базами данных. + +[Слайды](https://presentations.ydb.tech/2022/ru/highload_foundation_mvcc/presentation.pdf) + +### Q&A про Open Source {{ ydb-short-name }} и планы на будущее {#2022-conf-hl-qa} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +[ {{ team.fomichev.name }} ]( {{ team.fomichev.profile }} ) ( {{ team.fomichev.position }} ), [ {{ team.bondar.name }} ]( {{ team.bondar.profile }} ) ( {{ team.bondar.position }} ) и [ {{ team.puchin.name }} ]( {{ team.puchin.profile }} ) ( {{ team.puchin.position }} ) выступили на Q&A-сессии, поделились планами на будущие и ответили на вопросы слушателей. + +Также в докладе: +* Кратко о том, что такое {{ ydb-short-name }}. +* История развития {{ ydb-short-name }}: от первого коммита 10.01.2014 до выхода за пределы Yandex. +* Про выход в Open Source. + +@[YouTube](https://youtu.be/qRE2ROtd74g) + +Выступление будет интересно тем, кто хочет глубже понять некоторые аспекты реализации и работы {{ ydb-short-name }}. + +### Дедупликация 5 миллионов событий в секунду на YDB в АппМетрике {#2022-conf-hl-dedup-ydb} + +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +Доклад Артема Исмагилова (Разработчик Яндекс.Метрики) раскрывает детали перехода АппМетрики на {{ ydb-short-name }}. Из доклада Артема вы узнаете: +* Как была устроена прошлая версия сервиса: физические сервера с состоянием в оперативной памяти, сохраняемым на диск и самодельной репликацией. +* Подходы к реализации новой версии, которые рассматривали. +* Почему выбрали именно {{ ydb-short-name }} для реализации новой версии сервиса. +* С какими трудностями столкнулись и как их преодолели: большой поток событий, необходимость транзакционной обработки событий, удаление старых данных из базы. +* Как уменьшили нагрузку на {{ ydb-short-name }} в 10 раз, добавив фильтр блума в виде отдельной таблицы {{ ydb-short-name }}. +* Что еще предстоит сделать. + +@[YouTube](https://youtu.be/W9s-pVnUpp8?si=Sge12jGh7SqKSunB) + +Доклад будет интересен разработчикам высоконагруженных бэкендов. + +[Слайды](https://presentations.ydb.tech/2022/ru/highload_foundation_deduplicate_5m_events_per_second/presentation.pdf) + +### Просто о сложном: как работает драйвер распределенной базы данных YDB {#2022-conf-hl-ydb-driver} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +Драйвер распределенной базы данных существенно отличается от драйверов традиционных (нераспределенных) баз данных. Главная отличительная особенность распределенных баз данных - необходимость работать со множеством нод СУБД. Для равномерной нагрузки на ноды БД в {{ ydb-short-name }} используется как клиентская, так и серверная балансировка. Для баз данных, работающих в режиме 24/7 и допускающих различные сценарии отказа, драйвер должен быть готов к ошибкам разного рода. Это влияет на то, каков должен быть драйвер распределенной базы данных. + +@[YouTube](https://youtu.be/bbdk2UGkWR8?si=RHQh4JxAUrFyHMdW) + +В докладе [ {{ team.myasnikov.name }} ]( {{ team.myasnikov.profile }} ) ( {{ team.myasnikov.position }} ) рассказал про опыт разработки драйверов для распределенной БД на разных языках, про проблемы, с которыми сталкивались и решали или митигировали, а также про вынесенные уроки и принятые решения. Доклад будет интересен разработчикам, интересующимся высоконагруженными системами. + +[Слайды](https://presentations.ydb.tech/2022/ru/highload_foundation_ydb_distributed_database_driver/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2022/Hydra.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2022/Hydra.md new file mode 100644 index 000000000000..79d992ae12dc --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2022/Hydra.md @@ -0,0 +1,7 @@ +### Интервью с Андреем Фомичевым {#2022-conf-hydra-interview} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +[ {{ team.fomichev.name }} ]( {{ team.fomichev.profile }} ) ( {{ team.fomichev.position }} ) рассказал о том, как он пришел в разработку баз данных, с чего начиналась {{ ydb-short-name }}, что предшествовало её появлению. + +@[YouTube](https://www.youtube.com/watch?v=TYvgLWDtTFY) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2022/YaTalks.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2022/YaTalks.md new file mode 100644 index 000000000000..ce4e4be68b5f --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2022/YaTalks.md @@ -0,0 +1,9 @@ +### Open Source трибуна. {{ ydb-short-name }} в Open Source — что это такое? {#2022-conf-yatalks-open-source} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +Яндекс понимает важность опенсорса, выпускает собственные открытые продукты и поддерживает сообщество. [ {{ team.bondar.name }} ]( {{ team.bondar.profile }} ) ( {{ team.bondar.position }} ) рассказал о выходе {{ ydb-short-name }} в Open Source, о сообществе платформы, а также о балансе между потребностями внутренних и внешних пользователей. + +@[YouTube](https://www.youtube.com/watch?v=s238or35z48). + +Доклад будет интересен всем, кто интересуется распределенными базами данных. \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2023/HighLoad_part_1.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2023/HighLoad_part_1.md new file mode 100644 index 000000000000..1c0d71bfbfc0 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2023/HighLoad_part_1.md @@ -0,0 +1,49 @@ +### Реализовать OLAP: как мы делали колоночное хранение в {{ ydb-short-name }} {#2023-conf-hl-olap} + +
+ +{% include notitle [overview_tag](../../tags.md#overview) %} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +
+ +{{ ydb-short-name }} – это платформа, которая умеет обрабатывать большой поток быстрых транзакций (OLTP, Online Transaction Processing). Команда, в которой работает {{ team.novozhilova.name }} ({{ team.novozhilova.position }}) захотела научить YDB обрабатывать другой тип запросов — аналитические (OLAP, Online Analytical Processing). + +Из доклада вы узнаете ответы на вопросы: +* Достаточно ли просто поменять систему хранения, упаковать данные по колонкам, чтобы получить профит? +* Зачем это было нужно и какая польза от таких расширений системе в целом? + +@[YouTube](https://www.youtube.com/watch?v=6A7ZfMsHJRM&list=PLH-XmS0lSi_yksBrXBOIgnuW_RmwfLKYn&index=59&pp=iAQB) + +Доклад будет интересен разработчикам нагруженных систем и разработчикам платформ различного назначения. + +[Слайды](https://presentations.ydb.tech/2023/ru/highload/olap/presentation.pdf) + + +### database/sql: плохой, хороший и злой. Опыт разработки драйвера для распределенной СУБД YDB {#2023-conf-hl-database-sql} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +В Golang есть пакет `database/sql`, который предоставляет универсальный интерфейс общения с базами данных. С течением времени `database/sql` сильно изменился и далеко ушёл от своего первоначального вида, он стал намного удобнее и функциональнее, но так было не всегда. Команда YDB работала с драйвером для YDB, начиная с версии Golang v1.11, и сталкивалась с различными трудностями в процессе эксплуатации в продакшнах пользователей. + +В этом ретроспективном докладе [{{ team.myasnikov.name }}]({{ team.myasnikov.profile }}) ({{ team.myasnikov.position }}) расскажет о том, какие недочеты были в пакете `database/sql`, во что это выливалось при эксплуатации и как он становился все лучше от версии к версии Golang. + +@[YouTube](https://www.youtube.com/watch?v=82JGONT3AOE&list=PLH-XmS0lSi_yksBrXBOIgnuW_RmwfLKYn&index=73) + +Доклад будет интересен разработчикам и пользователям драйверов в стандарте `database/sql`, а также пользователям распределенной базы данных YDB, разрабатывающим свой код на языке Golang. + +[Слайды](https://presentations.ydb.tech/2023/ru/golang_conf/database_sql/presentation.pdf) + + +### YDB-оптимизации производительности под ARM {#2023-conf-hl-ydb-opt} + +{% include notitle [testing_tag](../../tags.md#testing) %} + +{{ team.kita.name }} ({{ team.kita.position }}) расскажет о том, с какими проблемами столкнулась команда YDB и как они их решали при оптимизации YDB под архитектуру ARM. В докладе детально рассмотрены основные проблемы оптимизаций высоконагруженных приложений под ARM, методы и инструменты, с помощью которых проводилось тестирование производительности и находились узкие места для оптимизации. + +@[YouTube](https://www.youtube.com/watch?v=AJCp-Uyi_ak&list=PLH-XmS0lSi_yksBrXBOIgnuW_RmwfLKYn&index=124&pp=iAQB) + +Доклад будет интересен разработчикам баз данных, разработчикам систем хранения данных и разработчикам высоконагруженных приложений. + +[Слайды](https://presentations.ydb.tech/2023/ru/highload/ydb_optimizations_for_arm/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2023/HighLoad_part_2.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2023/HighLoad_part_2.md new file mode 100644 index 000000000000..2abbad288489 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2023/HighLoad_part_2.md @@ -0,0 +1,56 @@ +### YDB Topic Service: как мы повышали производительность очереди сообщений {#2023-conf-hl-ydb-topic} + +
+ +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +{% include notitle [testing_tag](../../tags.md#testing) %} + +
+ +5 лет назад Яндекс перешел с Kafka на собственную разработку поверх YDB. С тех пор Yandex Topic Service сильно подрос по нагрузке и вышел в Open Source. В этом докладе {{ team.zivaykin.name }} ({{ team.zivaykin.position }}) рассказывает про ускорение YDB Topic Service и приводит сравнение с конкурентами. + +@[YouTube](https://www.youtube.com/watch?v=I-6SS6_C1Cw&list=PLH-XmS0lSi_yksBrXBOIgnuW_RmwfLKYn&index=22&pp=iAQB) + +Доклад будет интересен разработчикам, лидам разработки, техническим менеджерам. Всем, кто решал, решает или интересуется задачей масштабируемой поставки данных. + +[Слайды](https://presentations.ydb.tech/2023/ru/highload/ydb_topic_service/presentation.pdf) + + +### Особенности шин данных для очень больших инсталляций на примере YDB Topics {#2023-conf-hl-data-bus} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +Шины передачи данных используются практически везде, но использование шин данных в очень больших инсталляциях на тысячи серверов накладывают особые требования для работы и приводят к отличиям в работе систем. [{{ team.dmitriev.name }}]({{ team.dmitriev.profile }}) ({{ team.dmitriev.position }}) показывает на примере YDB Topics, в чем заключаются эти отличия, как они влияют на архитектуру и эксплуатацию. + +@[YouTube](https://www.youtube.com/watch?v=zKPOAdNOQx4&list=PLH-XmS0lSi_yksBrXBOIgnuW_RmwfLKYn&index=92&pp=iAQB) + +Доклад будет интересен разработчикам и командам эксплуатации, особенно в компаниях больших размеров. + +[Слайды](https://presentations.ydb.tech/2023/ru/highload/ydb_topics_data_bus/presentation.pdf) + + +### Поиск по образцу на последовательностях строк в БД {#2023-conf-hl-search-inline} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +Задача поиска по образцу на последовательности строк БД может возникать в различных сферах деятельности. Например, в финансовой аналитике — поиск определённых паттернов изменения цены акций. Для реализации таких запросов к базам данных в стандарте `SQL:2016` была введена конструкция `MATCH_RECOGNIZE`. {{ team.zverev.name }} ({{ team.zverev.position }}) рассказывает о реализации `MATCH_RECOGNIZE` в YDB: о том, как это работает под капотом, какие подходы и алгоритмы реализованы, с какими сложностями столкнулась команда. + +@[YouTube](https://www.youtube.com/watch?v=TSFVV0zGSBI&list=PLH-XmS0lSi_yksBrXBOIgnuW_RmwfLKYn&index=130&pp=iAQB) + +Отдельная часть выступления посвящена отличиям в обработке аналитических запросов на табличках и обработке на потоках «живых» данных. Доклад будет интересен разработчикам БД, дата-аналитикам, а также всем, кто интересуется поиском по образцу на больших данных. + +[Слайды](https://presentations.ydb.tech/2023/ru/highload/template_search_in_str_seq/presentation.pdf) + + +### Из pytest в Go. Тестовое окружение на фикстурах {#2023-conf-hl-pytest-go} + +{% include notitle [testing_tag](../../tags.md#testing) %} + +Фикстуры позволяют писать очень лаконичные тесты и не отвлекаться на подготовку окружения. [{{ team.kulin.name }}]({{ team.kulin.profile }}) ({{ team.kulin.position }}) рассказал, как перенёс идеологию фикстур из pytest в Go и разработал библиотеку `fixenv`, которая сокращает код тестов и улучшает их читаемость. + +@[YouTube](https://www.youtube.com/watch?v=Vtg8UmU62OA&list=PLH-XmS0lSi_yksBrXBOIgnuW_RmwfLKYn&index=100&pp=iAQB) + +Доклад будет интересен разработчикам на Go и тимлидам. + +[Слайды](https://presentations.ydb.tech/2023/ru/golang_conf/from_pytest_to_go/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2023/JPoint.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2023/JPoint.md new file mode 100644 index 000000000000..4913c4ee3c4d --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2023/JPoint.md @@ -0,0 +1,11 @@ +### YDB Java SDK: борьба за производительность {#2023-conf-jp-ydb-jsdk} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +[ {{ team.gorshenin.name }} ]( {{ team.gorshenin.profile }} ) ( {{ team.gorshenin.position }} ) даёт краткий обзор архитектуры {{ ydb-short-name }}, описывает особенности распределенных систем, показывает необходимость сложной балансировки запросов на клиенте и сравнивает несколько вариантов решения проблем балансировки, и пула сессий. Еще Александр приводит теоретическое обоснование того, почему те или иные решения должны работать лучше, а также демонстрирует метрики, собранные с помощью тестового приложения, которые подтверждают или опровергают сделанные предположения. + +@[YouTube](https://www.youtube.com/watch?v=V0rZQsYopng) + +Доклад будет интересен всем тем, кто работает с распределенными базами данными и сконцентрирован на вопросе создания высокопроизводительных приложений, использующих такие БД. + +[Слайды](https://presentations.ydb.tech/2023/ru/jpoint/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/conferences/2023/YaTalks.md b/ydb/docs/ru/core/public-materials/_includes/conferences/2023/YaTalks.md new file mode 100644 index 000000000000..be9f29ce783d --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/conferences/2023/YaTalks.md @@ -0,0 +1,11 @@ +### Искусство бенчмаркинга распределённых баз данных на примере {{ ydb-short-name }} {#2023-conf-yt-bench} + +{% include notitle [testing_tag](../../tags.md#testing) %} + +[ {{ team.ivanov.name }} ]( {{ team.ivanov.profile }} ) ( {{ team.ivanov.position }} ) рассказал, какие проблемы производительности нашли в популярных бенчмарках Yahoo! Cloud Serving Benchmark (YCSB) и Benchbase TPC-C. Как их исправили и как теперь используют эти бенчмарки, чтобы находить узкие места в {{ ydb-short-name }} и делать оптимизацию. И насколько, согласно этим бенчмаркам, YDB опережает своих основных конкурентов CockroachDB и YugabyteDB, которые тоже являются распределёнными СУБД с открытым исходным кодом. + +@[YouTube](https://www.youtube.com/watch?v=1vXwSRU--9o) + +Доклад будет интересен как разработчикам приложений, которым требуется надёжная СУБД, так и людям, интересующимся распределёнными системами и базами данных. + +[Слайды](https://presentations.ydb.tech/2023/ru/yatalks/ydb_benchmarking/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/publications/2021/Habr.md b/ydb/docs/ru/core/public-materials/_includes/publications/2021/Habr.md new file mode 100644 index 000000000000..e9aaaab31c6b --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/publications/2021/Habr.md @@ -0,0 +1,45 @@ +### Бессерверная альтернатива традиционным базам данных {#2021-smi-serverless} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +![Бессерверная альтернатива традиционным базам данных](./_includes/serverless.png ={{pub-cover-size}}) + +Современная распределенная СУБД должна уметь поддерживать различные типы нагрузки, удовлетворяя запросы совершенно разных пользователей. СУБД {{ ydb-name }} позволяет не только хранить петабайты данных, поддерживать обработку миллионов запросов в секунду, но и предоставляет режим бессерверных вычислений. Эта платформа дает возможность обслуживать проекты с различными типами нагрузки: ключ-значение, традиционные веб-приложения на основе реляционной базы, а также документоориентированные базы данных. + +В [статье](https://habr.com/ru/post/562746/) изложена: +* История появления {{ ydb-name }}. +* {{ ydb-name }} с точки зрения пользователя. +* Архитектура {{ ydb-name }}. +* Бессерверный режим в {{ ydb-name }}. + +### Погружение в Serverless. Рождение {{ ydb-name }} {#2021-smi-inner-serverless} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +![Погружение в Serverless](./_includes/inner-serverless.png ={{pub-cover-size}}) + +Продолжение беседы с разработчиками экосистемы сервисов Serverless. В начале нашего путешествия Глеб Борисов описал ситуацию с Yandex Cloud Function, затем Данил Ошеров погрузил нас в мир протокола S3 и сервиса Object Storage. В этой [статье](https://habr.com/ru/post/552032/) [ {{ team.fomichev.name }} ]( {{ team.fomichev.profile }} ) ( {{ team.fomichev.position }} ) поделился подробностями о NewSQL. + +### Мультиарендный подход Яндекса к построению инфраструктуры работы с данными {#2021-smi-multiarend} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +@[YouTube](https://youtu.be/35Q2338ywEw) + +Времена, когда для экземпляра базы данных выделялся отдельный компьютер, давно прошли. Сейчас повсюду управляемые решения, поднимающие необходимые процессы в виртуальных машинах. Для вычислений применяется еще более прогрессивный подход — «бессерверные вычисления», например AWS Lambda или Yandex Cloud Functions. И уж совсем на острие прогресса находятся бессерверные БД. + +В [статье](https://habr.com/ru/company/yandex/blog/564854/) [ {{ team.fomichev.name }} ]( {{ team.fomichev.profile }} ) ( {{ team.fomichev.position }} ) рассказал о бессерверных решениях, которые еще до всеобщего хайпа стали популярны в Яндексе и по-прежнему используются для хранения и обработки данных. + +### Готовим c serverless. Голосовой сервис записи к врачу и регистрации в поликлинике {#2021-smi-serverless-cook} + +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +![Готовим c serverless](./_includes/serverless-cook.png ={{pub-cover-size}}) + +Какой serverless-стек нужен, из чего состоит сценарий и как может быть устроена система CRM на стороне Yandex Cloud? Коммуникационная платформа Voximplant и Yandex Cloud подготовили рецепт голосового сервиса регистрации и записи на прием к врачу в поликлинику. Впрочем, им можно воспользоваться и для других похожих serverless-задач. + +В [статье](https://habr.com/ru/post/547970/): +* Устройство визуального конструктора Voximplant Kit. +* Разбор сценария входящего звонка. +* Устройство CRM-системы на стороне Yandex за API. +* Создание Yandex Database Serverless в Yandex Cloud. diff --git a/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/inner-serverless.png b/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/inner-serverless.png new file mode 100644 index 000000000000..29ea2a4472a0 Binary files /dev/null and b/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/inner-serverless.png differ diff --git a/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/serverless-alternative.jpeg b/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/serverless-alternative.jpeg new file mode 100644 index 000000000000..660415d5d1b5 Binary files /dev/null and b/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/serverless-alternative.jpeg differ diff --git a/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/serverless-cook.png b/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/serverless-cook.png new file mode 100644 index 000000000000..5607a4b5e9ae Binary files /dev/null and b/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/serverless-cook.png differ diff --git a/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/serverless.png b/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/serverless.png new file mode 100644 index 000000000000..7ab61b96e313 Binary files /dev/null and b/ydb/docs/ru/core/public-materials/_includes/publications/2021/_includes/serverless.png differ diff --git a/ydb/docs/ru/core/public-materials/_includes/publications/2021/osp.md b/ydb/docs/ru/core/public-materials/_includes/publications/2021/osp.md new file mode 100644 index 000000000000..27626df3a164 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/publications/2021/osp.md @@ -0,0 +1,14 @@ +### Бессерверная альтернатива традиционным базам данных {#2021-smi-serverless-alternative} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +![Бессерверная альтернатива традиционным базам данных](./_includes/serverless-alternative.jpeg) + +Бессерверные вычисления стали следующим шагом к снижению «налога» на инфраструктуру, который вынуждены платить пользователи облачных сервисов, однако на рынке сегодня мало баз данных для этой экосистемы, и задача {{ ydb-name }} — восполнить этот пробел. + +В [статье](https://www.osp.ru/os/2021/01/13055826): +* История развития распределенных баз данных. +* О Yandex Database. +* Архитектура YDB. +* Бессерверный режим в YDB. +* YDB с точки зрения пользователя. \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/publications/2023/_includes/open-source.jpeg b/ydb/docs/ru/core/public-materials/_includes/publications/2023/_includes/open-source.jpeg new file mode 100644 index 000000000000..381b8870a330 Binary files /dev/null and b/ydb/docs/ru/core/public-materials/_includes/publications/2023/_includes/open-source.jpeg differ diff --git a/ydb/docs/ru/core/public-materials/_includes/publications/2023/osp.md b/ydb/docs/ru/core/public-materials/_includes/publications/2023/osp.md new file mode 100644 index 000000000000..083d09a135f1 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/publications/2023/osp.md @@ -0,0 +1,15 @@ +### Открытые системы (электронный журнал). СУБД. Как открытый исходный код меняет современные СУБД {#2023-smi-open-source} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +![Как открытый исходный код меняет современные СУБД](./_includes/open-source.jpeg) + +У {{ ydb-short-name }} путь проектирования изначально начался с учетом масштабных надежных инсталляций, что позволило СУБД быстро занять одну из ключевых ролей во внутренней инфраструктуре «Яндекса» в транзакционных сценариях использования. Затем {{ ydb-short-name }} доросла до публичного управляемого сервиса в Yandex Cloud, позже обзавелась бессерверным (serverless) режимом работы. Сегодня СУБД {{ ydb-short-name }} переживает следующий этап развития — выход в Open Source и адаптация к новым реалиям. + +Из [статьи](https://www.osp.ru/os/2023/02/13057254) вы узнаете: +* Почему вообще YDB пошла в Open Source? +* Какими возможностями обладает YDB? +* Как развивался проект? +* В каких сценариях YDB показывает себя сопоставимо с конкурентами, а в каких их превосходит? + +Ознакомиться со [статьёй](https://www.osp.ru/os/2023/02/13057254) можно на сайте [OSP](https://www.osp.ru). \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/publications/2024/Habr.md b/ydb/docs/ru/core/public-materials/_includes/publications/2024/Habr.md new file mode 100644 index 000000000000..cf6e0f338c53 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/publications/2024/Habr.md @@ -0,0 +1,7 @@ +### Обновление кешей сервисов в реальном времени с помощью YDB CDC на примере Yandex Monitoring {2024-pub-habr-ydb-cdc} + +{% include notitle [database_internals_tag](../../tags.md#database_internals) %} + +![Yandex Monitoring: обновление кешей сервисов в реальном времени с помощью YDB CDC](./_includes/ydb-cdc.png ={{pub-cover-size}}) + +Летом 2023 года Егор Литвиненко (старший разработчик Yandex Observability Platform) рассказывал на Saint Highload в Санкт‑Петербурге о пути внедрения YDB CDC для обновления данных в сервисах, чтобы решить проблему инвалидации кешей. В этой [статье](https://habr.com/ru/companies/oleg-bunin/articles/801603/) будет вся история внедрения с теорией, вопросами, ответами, ошибками, о которых он говорил на выступлении. diff --git a/ydb/docs/ru/core/public-materials/_includes/publications/2024/_includes/ydb-cdc.png b/ydb/docs/ru/core/public-materials/_includes/publications/2024/_includes/ydb-cdc.png new file mode 100644 index 000000000000..767ea1a7eee8 Binary files /dev/null and b/ydb/docs/ru/core/public-materials/_includes/publications/2024/_includes/ydb-cdc.png differ diff --git a/ydb/docs/ru/core/public-materials/_includes/tags.md b/ydb/docs/ru/core/public-materials/_includes/tags.md new file mode 100644 index 000000000000..94d360ce4f17 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/tags.md @@ -0,0 +1,17 @@ +## Overview { #overview } +  Overview + +## Use cases { #use_cases } +  Use cases + +## Practice { #practice } +  Practice + +## Database internals { #database_internals } +  Database internals + +## Releases { #releases } +  Releases + +## Testing{ #testing } +  Testing \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/tags_list.md b/ydb/docs/ru/core/public-materials/_includes/tags_list.md new file mode 100644 index 000000000000..709f9372f69a --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/tags_list.md @@ -0,0 +1,27 @@ +
+ +{% include notitle [overview_tag](./tags.md#overview) %} + +

– обзорные материалы, знакомящие с {{ ydb-short-name }} и технологиями, которые применяются в ней.

+ +{% include notitle [use_cases_tag](./tags.md#use_cases) %} + +

– кейсы использования {{ ydb-short-name }}.

+ +{% include notitle [practice_tag](./tags.md#practice) %} + +

– практика использования {{ ydb-short-name }}.

+ +{% include notitle [database_internals_tag](./tags.md#database_internals) %} + +

– подробный разбор внутренней реализации {{ ydb-short-name }} или её отдельных частей и механизмов.

+ +{% include notitle [releases_tag](./tags.md#releases) %} + +

– обзор новых возможностей, вышедших релизов {{ ydb-short-name }}.

+ +{% include notitle [testing_tag](./tags.md#testing) %} + +

– кейсы тестирования производительности {{ ydb-short-name }} и сравнения с другими одноклассовыми СУБД.

+ +
\ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/webinars/2019/webinars.md b/ydb/docs/ru/core/public-materials/_includes/webinars/2019/webinars.md new file mode 100644 index 000000000000..4515d059eeb0 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/webinars/2019/webinars.md @@ -0,0 +1,17 @@ +### Опыт использования {{ ydb-name }} на примере продуктов Яндекса {#2019-webinar-ydb-exp} + +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +[ {{ team.bondar.name }} ]( {{ team.bondar.profile }} ) ( {{ team.bondar.position }} ) поделился опытом использования {{ ydb-name }} на примере продуктов Яндекса. + +В вебинаре: +* Что такое {{ ydb-name }}. +* Как выглядит {{ ydb-name }}. +* Примеры использования {{ ydb-name }} в Яндексе. +* Тестирование производительности (YCSB). + +@[YouTube](https://youtu.be/qWqU-R-X3Dc) + +Вебинар будет интересен тем, кто хочет познакомиться с {{ ydb-name }}. + +[Презентация](https://presentations.ydb.tech/2019/ru/webinar_ydb/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/webinars/2020/webinars.md b/ydb/docs/ru/core/public-materials/_includes/webinars/2020/webinars.md new file mode 100644 index 000000000000..0c5fdf5615b5 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/webinars/2020/webinars.md @@ -0,0 +1,23 @@ +### Новости {{ ydb-name }} — обзор новых возможностей {#2020-webinar-ydb-news} + +{% include notitle [overview_tag](../../tags.md#overview) %} + +[ {{ team.kovalenko.name }} ]( {{ team.kovalenko.profile }} ) ( {{ team.kovalenko.position }} ) сделал обзор новых возможностей БД: работа с JSON, системные таблицы и nodeJS SDK. Раньше пользователи Яндекс.Облака могли работать с Yandex Database только из виртуальных машин на платформе. Теперь это возможно через интернет. + +Из вебинара вы узнаете про: +* Публикацию драйвера для системы сбора и анализа трейсов Jäger в Open Source. +* Расширение возможностей для работы с JSON из YQL. +* Системные таблицы для диагностики производительности запросов. +* Публикацию в Open Source Node.js SDK. + +@[YouTube](https://youtu.be/6LMH4Q4uGBU) + +Ссылки на материалы: +* [Jaeger Plugin к YDB доступен на https://github](https://github.com/yandex-cloud/jaeger-ydb-store) +* [Yandex Database Public Preview](cloud.yandex.ru/services/ydb) +* [Python SDK](https://github.com/yandex-cloud/ydb-python-sdk) +* [Go SDK](https://github.com/yandex-cloud/ydb-go-sdk) +* [Java SDK](https://github.com/yandex-cloud/ydb-java-sdk) +* [Node.js SDK](https://github.com/yandex-cloud/ydb-nodejs-sdk) + +[Презентация](https://presentations.ydb.tech/2020/ru/webinar_ydb/presentation.pdf) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/webinars/2021/webinars.md b/ydb/docs/ru/core/public-materials/_includes/webinars/2021/webinars.md new file mode 100644 index 000000000000..c8c305d1424d --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/webinars/2021/webinars.md @@ -0,0 +1,13 @@ +### Практический пример использования serverless: интеграция сервисов Yandex Cloud с голосовыми технологиями компании Voximplant {#2021-webinar-voximplant} + +{% include notitle [use_cases_tag](../../tags.md#use_cases) %} + +В докладе показано, как интегрировать сервисы Yandex Cloud с голосовыми технологиями компании Voximplant. + +В докладе подробно описаны следующие шаги: +* Интеграция Voximplant Kit с Yandex SpeechKit — сервисом распознавания и синтеза речи. +* Настройка и автоматизация обработки диалога с помощью Voximplant Kit. +* CRM-система, построенная с помощью serverless API Gateway, Yandex Cloud Functions и {{ ydb-name }} (serverless). +* [Пример приложения на Go](https://github.com/yandex-cloud/examples/tree/master/serverless/serverless_voximplant). + +@[YouTube](https://youtu.be/mB0Wpn2473U) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/webinars/2022/webinars.md b/ydb/docs/ru/core/public-materials/_includes/webinars/2022/webinars.md new file mode 100644 index 000000000000..381543fd0a94 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/webinars/2022/webinars.md @@ -0,0 +1,32 @@ +### Практические примеры использования Change Data Capture в YDB {#2022-webinar-cdc} + +{% include notitle [practice_tag](../../tags.md#practice) %} + +[ {{ team.fomichev.name }} ]( {{ team.fomichev.profile }} ) ( {{ team.fomichev.position }} ), [ {{ team.zinal.name }} ]( {{ team.zinal.profile }} ) ( {{ team.zinal.position }} ), [ {{ team.nizametdinov.name }} ]( {{ team.nizametdinov.profile }} ) ( {{ team.nizametdinov.position }} ), [ {{ team.kulin.name }} ]( {{ team.kulin.profile }} ) ( {{ team.kulin.position }} ) объяснили, что такое CDC и какие задачи с помощью него можно решить сейчас и в перспективе. Основной упор в вебинаре сделан на практику – продемонстрировано, как с помощью CDC поддерживать актуальное состояние кэша базы данных оперативной памяти приложения. Пример выполнен в виде программы на языке Go, в ней также покажем приёмы работы с YDB Go SDK. + +В вебинаре: +* включение CDC для таблицы; +* прослушивание потока изменений; +* работа с CDC, c использованием командного интерпретатора YDB CLI. + +@[YouTube](https://www.youtube.com/watch?v=BG6pPfQ0IHE) + +### Управляемый сервис YDB: настройка, применение, мониторинг {#2022-webinar-ydb-managment} + +{% include notitle [practice_tag](../../tags.md#practice) %} + +Применение {{ ydb-name }} как управляемого сервиса позволяет разработчикам и архитекторам сосредоточиться на бизнес-задачах, а команда Yandex Cloud возьмёт на себя заботы о надёжности, производительности и ресурсной эффективности баз данных. + +В вебинаре [ {{ team.zinal.name }} ]( {{ team.zinal.profile }} ) ( {{ team.zinal.position }} ) показал: +* [YDB в целом и сервис YDB в Yandex Cloud](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=90s). +* [Разворачиваем сервисы YDB](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=284s). +* [Методы аутентификации пользователей, создание учётных записей](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=728s). +* [Обзор web-интерфейса консоли Yandex Cloud в части YDB](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=1145s). +* [Работа с YDB через клиент командной строки](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=1396s). +* [Пример приложения на Java](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=1837s). +* [Приложение на Python (serverless)](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=2466s). +* [Стандартный генератор нагрузки YDB](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=2962s). +* [Мониторинг кластера YDB под нагрузкой](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=3189s). +* [Масштабирование кластера YDB](https://www.youtube.com/watch?v=d5NEDzsyp7Q&t=3417s). + +@[YouTube](https://www.youtube.com/watch?v=d5NEDzsyp7Q) \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/_includes/webinars/2023/webinars.md b/ydb/docs/ru/core/public-materials/_includes/webinars/2023/webinars.md new file mode 100644 index 000000000000..e9f411aa6f0a --- /dev/null +++ b/ydb/docs/ru/core/public-materials/_includes/webinars/2023/webinars.md @@ -0,0 +1,44 @@ +### О релизе {{ ydb-short-name }} v23.1 {#2023-webinar-ydb-23-1} + +{% include notitle [releases_tag](../../tags.md#releases) %} + +В вебинаре рассказывается о поддержке изначального сканирования в CDC, атомарной замене индексов, и аудитном логе: +* Устройство [Change Data Capture](https://www.youtube.com/live/vzKoEVvESi0?si=PDu8VliKHNKn25iE&t=171) (механизм отслеживания изменения данных в таблицах) и улучшения этой системы в новом релизе. [{{ team.nizametdinov.name }}]({{ team.nizametdinov.profile }}) ({{ team.nizametdinov.position }}). +* Новая функциональность YDB – [аудитный лог](https://www.youtube.com/live/vzKoEVvESi0?si=umC_WpfI8XXpWrRY&t=925), которая позволяет отслеживать ключевые действия и события в системе. [{{ team.rykov.name }}]({{ team.rykov.profile }}) ({{ team.rykov.position }}). +* Улучшение в конфигурации [акторной системы]((https://www.youtube.com/live/vzKoEVvESi0?si=roXublyzdBy8UNjC&t=1177)). [{{ team.kriukov.name }}]({{ team.kriukov.profile }}) ({{ team.kriukov.position }}) +* Улучшения в форматах [передачи данных](https://www.youtube.com/watch?v=vzKoEVvESi0&t=1381s) между этапами выполнения запросов. [{{ team.gridnev.name }}]({{ team.gridnev.profile }}) ({{ team.gridnev.position }}). +* [Оптимизация производительности YDB](https://www.youtube.com/live/vzKoEVvESi0?si=vLEerc2xz9O9LABz&t=1896) – кеширование паттернов графов вычислений. [{{ team.kuznetcov.name }}]({{ team.kuznetcov.profile }}) ({{ team.kuznetcov.position }}). +* [Атомарное переименование](https://www.youtube.com/watch?v=vzKoEVvESi0&t=2122s) вторичных индексов. [{{ team.cherednik.name }}]({{ team.cherednik.profile }}) ({{ team.cherednik.position }}). +* [Поддержка вторичных индексов](https://www.youtube.com/watch?v=vzKoEVvESi0&t=2318s) в сканирующих запросах. [{{ team.sidorina.name }}]({{ team.sidorina.profile }}) ({{ team.sidorina.position }}). +* Улучшения в переносе [предикатов на чтения](https://www.youtube.com/watch?v=vzKoEVvESi0&t=2454s) из таблиц. {{ team.surin.name }}. + +@[YouTube](https://www.youtube.com/watch?v=vzKoEVvESi0&t=69s) + +[Слайды](https://presentations.ydb.tech/2023/ru/release_webinar_v23.1/presentation.pdf) + +### Используем {{ ydb-short-name }}: Возможности встроенного веб-интерфейса и CLI {#2023-webinar-ydb-interface} + +{% include notitle [practice_tag](../../tags.md#practice) %} + + +[{{ team.kovalenko.name }}]({{ team.kovalenko.profile }}) ({{ team.kovalenko.position }}) рассказал и показал как запустить нагрузку на кластер с помощью {{ ydb-short-name }} CLI, как найти причины проблем с производительностью запросов, и как с помощью встроенного веб-интерфейса оценить состояние кластера. +@[YouTube](https://www.youtube.com/watch?v=jB8RBnA4Y-Y) + +Вебинар будет полезен тем, кто работает с {{ ydb-short-name }}, в том числе и разработчикам приложений. + +### Развертывание {{ ydb-short-name }} в Kubernetes {#2023-webinar-ydb-kubernetes} + +{% include notitle [practice_tag](../../tags.md#practice) %} + +[{{ team.fomichev.name }}]({{ team.fomichev.profile }}) ({{ team.fomichev.position }}), [{{ team.babich.name }}]({{ team.babich.profile }}) ({{ team.babich.position }}) и [{{ team.gorbunov.name }}]({{ team.gorbunov.profile }}) ({{ team.gorbunov.position }}) рассказали про архитектуру системы и объяснили, как гарантируется надёжное хранение данных. Также спикеры продемонстрировали, как быстро развернуть собственный кластер в Managed Kubernetes® в Yandex Cloud и рассказали о практических рекомендациях по конфигурации узлов. + +@[YouTube](https://www.youtube.com/watch?v=qzcB5OQaiYY) + +Вебинар будет полезен SRE-инженерам и разработчикам, которые занимаются развёртыванием и администрированием {{ ydb-short-name }} с помощью Kubernetes® — как в публичных, так и в частных облаках. + +### Анализ потоковых данных с помощью Yandex Query - интерактивного сервиса виртуализации данных в {{ ydb-short-name }} {#2023-webinar-ydb-data-streams} +[{{ team.dmitriev.name }}]({{ team.dmitriev.profile }}) ({{ team.dmitriev.position }}) рассказал, что такое обработка потоковых данных, с какими задачами она помогает справляться и как её выполнять с помощью Yandex Query. В практической части вебинара показаны решения нескольких задач с помощью потоковой аналитики в сервисе Yandex Query. + +@[YouTube](https://www.youtube.com/watch?v=PW7v57ELCfQ) + +Вебинар будет полезен разработчикам, особенно тем, кто ещё не пользовался потоковой обработкой и хочет разобраться, что это такое. \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/articles.md b/ydb/docs/ru/core/public-materials/articles.md new file mode 100644 index 000000000000..d77eef0d7538 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/articles.md @@ -0,0 +1,26 @@ +# Статьи + +Статьи о {{ ydb-short-name }}. Материалы разделены по категориям и размечены тегами: + + +{% include [tags_list](./_includes/tags_list.md) %} + + +{% list tabs %} + + - 2024 + + {% include [Habr](./_includes/publications/2024/Habr.md) %} + + - 2023 + + {% include [OSP](./_includes/publications/2023/osp.md) %} + + - 2021 + + {% include [Habr](./_includes/publications/2021/Habr.md) %} + + {% include [OSP](./_includes/publications/2021/osp.md) %} + +{% endlist %} + diff --git a/ydb/docs/ru/core/public-materials/toc_i.yaml b/ydb/docs/ru/core/public-materials/toc_i.yaml new file mode 100644 index 000000000000..9d51b1e7448d --- /dev/null +++ b/ydb/docs/ru/core/public-materials/toc_i.yaml @@ -0,0 +1,5 @@ +items: +- name: Видеоматериалы + href: videos.md +- name: Статьи + href: articles.md \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/toc_p.yaml b/ydb/docs/ru/core/public-materials/toc_p.yaml new file mode 100644 index 000000000000..5bfec4365def --- /dev/null +++ b/ydb/docs/ru/core/public-materials/toc_p.yaml @@ -0,0 +1,2 @@ +items: +- include: { mode: link, path: toc_i.yaml } \ No newline at end of file diff --git a/ydb/docs/ru/core/public-materials/videos.md b/ydb/docs/ru/core/public-materials/videos.md new file mode 100644 index 000000000000..14a3d2a7c978 --- /dev/null +++ b/ydb/docs/ru/core/public-materials/videos.md @@ -0,0 +1,70 @@ +# Видеозаписи + +Видеозаписи с конференций и вебинаров. Материалы разделены по категориям и размечены тегами: + + +{% include [tags_list](./_includes/tags_list.md) %} + + +{% list tabs %} + + - 2023 + + {% include [JPoint](./_includes/conferences/2023/JPoint.md) %} + + {% include [YaTalks](./_includes/conferences/2023/YaTalks.md) %} + + {% include [HighLoad_part_1](./_includes/conferences/2023/HighLoad_part_1.md) %} + + {% include [HighLoad_part_2](./_includes/conferences/2023/HighLoad_part_2.md) %} + + + - 2022 + + {% include [Hydra](./_includes/conferences/2022/Hydra.md) %} + + {% include [YaTalks](./_includes/conferences/2022/YaTalks.md) %} + + {% include [HighLoad](./_includes/conferences/2022/HighLoad.md) %} + + + - 2021 + + {% include [about_cloud](./_includes/conferences/2021/about_cloud.md) %} + + {% include [YaTalks](./_includes/conferences/2021/YaTalks.md) %} + + {% include [DevOpsConf](./_includes/conferences/2021/DevOpsConf.md) %} + + {% include [YaSubbotnik](./_includes/conferences/2021/YaSubbotnik.md) %} + + + - 2020 + + {% include [YandexScale](./_includes/conferences/2020/YandexScale.md) %} + + + - 2019 + + {% include [YaTalks](./_includes/conferences/2019/YaTalks.md) %} + + {% include [YandexScale](./_includes/conferences/2019/YandexScale.md) %} + + {% include [Hydra](./_includes/conferences/2019/Hydra.md) %} + + {% include [BackendConf](./_includes/conferences/2019/BackendConf.md) %} + + {% include [HighLoad](./_includes/conferences/2019/HighLoad.md) %} + + + - 2018 + + {% include [about_cloud](./_includes/conferences/2018/about_cloud.md) %} + + + - 2017 + + {% include [Heisenbug](./_includes/conferences/2017/Heisenbug.md) %} + + +{% endlist %} \ No newline at end of file diff --git a/ydb/docs/ru/core/public-talks.md b/ydb/docs/ru/core/public-talks.md deleted file mode 100644 index 068ebe76a959..000000000000 --- a/ydb/docs/ru/core/public-talks.md +++ /dev/null @@ -1,237 +0,0 @@ -# Публичные материалы - -## Обзорные материалы {#overview} - -* [{{ ydb-name }} Whitepaper](https://storage.yandexcloud.net/ydb-public-talks/yandex-database-a4.pdf). - -### 2023: YaTalks. Разработка и эксплуатация {#yatalks-2023} - -* Тема: Искусство бенчмаркинга распределённых баз данных на примере YDB - - * [Запись трансляции](https://youtu.be/iMjq96GQTHQ?si=moMbI3Je90s3zY60). - * [Презентация](https://https://github.com/ydb-platform/ydb-presentations/blob/main/2023/ru/yatalks/ydb_benchmarking/presentation.pdf) - * Из доклада вы узнаете, какие проблемы производительности мы нашли в популярных бенчмарках Yahoo! Cloud Serving Benchmark (YCSB) и Benchbase TPC-C. Как их исправили и как теперь используют эти бенчмарки, чтобы находить узкие места в YDB и делать оптимизацию. И насколько, согласно этим бенчмаркам, YDB опережает своих основных конкурентов CockroachDB и YugabyteDB, которые тоже являются распределёнными СУБД с открытым исходным кодом. - -### 2023: Открытые системы. СУБД {#ospdatabases2023} - -* Тема: Как открытый исходный код меняет современные СУБД. - - * [Статья](https://www.osp.ru/os/2023/02/13057254). - * Описание: У {{ ydb-short-name }} путь проектирования изначально начался с учетом масштабных надежных инсталляций, что позволило этой СУБД быстро занять одну из ключевых ролей во внутренней инфраструктуре «Яндекса» в транзакционных сценариях использования. Затем {{ ydb-short-name }} доросла до публичного управляемого сервиса в Yandex Cloud, позже обзавелась бессерверным (serverless) режимом работы. Сегодня СУБД {{ ydb-short-name }} переживает следующий этап развития — выход в Open Source и адаптация к новым реалиям. - -### 2022: YaTalks. Open Source трибуна {#yatalks-2022-opensource} - -* Тема: YDB в Open Source — что это такое? - - * [Запись трансляции](https://www.youtube.com/watch?v=s238or35z48). - * Описание: Рассказ о выходе YDB в Open Source, о сообществе платформы, а также и балансе между потребностями внутренних и внешних пользователей. - -### 2022: Вебинар YDB 2022-09-11 {#webinar20220911} - -* Тема: Управляемый сервис YDB: настройка, применение, мониторинг. - - * [Запись трансляции](https://www.youtube.com/watch?v=d5NEDzsyp7Q). - * Описание: Применение {{ ydb-name }} как управляемого сервиса позволяет разработчикам и архитекторам сосредоточиться на бизнес-задачах, а команда Yandex Cloud возьмёт на себя заботы о надёжности, производительности и ресурсной эффективности баз данных. На вебинаре показали, как: - * начать работу с сервисом; - * подключить приложения и настроить аутентификацию; - * контролировать потребление ресурсов; - * работать с доступными инструментами мониторинга; - * масштабировать базы данных, когда нагрузка растёт. - -### 2022: Вебинар YDB 2022-08-15 {#webinar20220815} - -* Тема: Scalability and Fault Tolerance in YDB — материал доступен только на английском языке. - - * [Запись трансляции](https://www.youtube.com/watch?v=eYpyKXihGaY). - * Описание: In this talk we will cover two layers of YDB: Tablet and BlobStorage layers that together provide fault tolerance, scalability, and user isolation. - -### 2022: Hydra {#hydra-2022} - -* Тема: Parallel Asynchronous Replication between YDB Database Instances — материал доступен только на английском языке. - - * [О мероприятии](https://hydraconf.com/talks/d63511d6011a4b458b9c16be675f6897/). - * [Презентация](https://squidex.jugru.team/api/assets/srm/acbeabc7-56f1-4234-9e97-0e66c33be4ce/hydra-2022-fomichev-nizametdinov-1-.pdf). - * [Запись трансляции](https://www.youtube.com/watch?v=Ga2Eg2rbPPc). - * Описание: In this talk we present an approach to asynchronous replication in YDB that provides the following characteristics: changefeed from source database is sharded among multiple persistent queues, sharded changefeed is applied to the target database in a manner to guarantee target database consistency. - -### 2022: HighLoad++ Foundation 2022 {#highload-foundation-2022} - -* Тема: Q&A про Open Source {{ ydb-name }}, планы на будущее и афтерпати. - * [Запись трансляции](https://youtu.be/qRE2ROtd74g). -* Тема: Миллион RPS в {{ ydb-name }}: история одного переезда Метрики. - * [Презентация](https://presentations.ydb.tech/2022/ru/highload_foundation_million_rps_metrika/presentation.pdf). - * [Запись трансляции](https://youtu.be/9zagbmkdFDk). - * Описание: В Яндекс Метрике существует сборка визитов пользователей на сайте, для которой нужно хранить историю всех событий и склеивать их друг с другом на лету. Для этого использовалась конвейерная распределенная система со своим самописным локальным хранилищем и логикой репликации и шардирования. По мере роста нагрузки мы уперлись в производительность отдельного шарда, при этом продолжать наращивать количество шардов без принципиальной перестройки архитектуры было крайне болезненно. -* Тема: {{ ydb-name }}: мультиверсионность в распределенной базе. - * [Презентация](https://presentations.ydb.tech/2022/ru/highload_foundation_mvcc/presentation.pdf). - * [Запись трансляции](https://youtu.be/k2ccFXWdBN4). - * Описание: Особенности реализации MVCC, за и против, сравнение поведения распределенной базы с MVCC и без MVCC под различными нагрузками. -* Тема: Считаем число просмотров видео для десятков миллионов пользователей в день. - * [Презентация](https://presentations.ydb.tech/2022/ru/highload_foundation_dzen/presentation.pdf). - * [Запись трансляции](https://youtu.be/AFJMOOpMjQM). - * Описание: Проектирование двух систем подсчёта пользователей: по общему числу просмотров видео и по количеству текущих зрителей лайв-трансляций. Решение задач: близкое к realtime время обновления счётчиков, возможность горизонтального масштабирования, отказоустойчивость при выпадении части мощностей. -* Тема: Эволюция акторной системы. - * [Презентация](https://presentations.ydb.tech/2022/ru/highload_foundation_actor_system/presentation.pdf). - * [Запись трансляции](https://youtu.be/bvfb4Mn4dXc). - * Описание: Существует несколько подходов к созданию эффективных многопоточных приложений на С++. В {{ ydb-name }} была выбрана модель акторов и с нуля создана своя акторная система. - -### 2021: YaTalks. Backend: масштабы, антихрупкость и единороги {#yatalks-2021} - -* Тема: Большой таблеточный взрыв. - * [Запись трансляции](https://www.youtube.com/watch?v=Ay6_ffxK4us&t=7076s) - * Описание: Современная распределённая БД, как и сама Вселенная, состоит из мельчайших частиц. Из частиц, которые мы называем таблетками, строится петабайтная вселенная данных Yandex Database. В докладе мы расскажем о том, какую задачу решают таблетки, как они обеспечивают согласованные изменения данных и отказоустойчивое хранение, а также как мечты помогают нам создавать новые технологии космического масштаба, не ограничиваясь стандартными решениями. - -### 2021: about:cloud о Serverless {#about-cloud-20210715} - -* Тема: Миграция приложения с PostgreSQL на Yandex {{ ydb-name }} Serverless. Производительность, стоимость, риски. - * [О мероприятии](https://cloud.yandex.ru/events/408#about). - * [Презентация](https://storage.yandexcloud.net/ydb-public-talks/pg2ydb.pdf). - * [Запись трансляции](https://www.youtube.com/watch?v=8bgtMxkduV8&t=3946s). - * Описание: В исследовании, которое провела команда Yandex {{ ydb-name }}, рассмотрены аспекты миграции Е-commerce приложения, изначально разработанного для PostgreSQL, на Yandex {{ ydb-name }}. Основная тема исследования — сравнение производительности и стоимости решений на PostgreSQL и YDB. - -### 2021: Я.Субботник по разработке инфраструктуры {#inframeetup20210621} - -* Тема: Мультиарендный подход Яндекса к построению инфраструктуры работы с данными. - * [О мероприятии](https://events.yandex.ru/events/ya-subbotnik-po-infr_19-06-2021/). - * [Запись трансляции](https://www.youtube.com/watch?v=35Q2338ywEw&t=4282s). - * Описание: Времена, когда для экземпляра базы данных выделялся отдельный компьютер, давно прошли. Сейчас повсюду управляемые решения, поднимающие необходимые процессы в виртуальных машинах. Для вычислений применяется еще более прогрессивный подход — «бессерверные вычисления», например AWS Lambda или Yandex Cloud Functions. И уж совсем на острие прогресса находятся бессерверные БД. Мы поговорим о бессерверных решениях, которые еще до всеобщего хайпа стали популярны в Яндексе и по-прежнему используются для хранения и обработки данных. - -### 2021: DevOpsConf {#devopsconf2021} - -* Тема: Распределенная трассировка с помощью Jaeger и {{ ydb-name }}. Опыт Auto.ru и Yandex Cloud. - * [О мероприятии](https://devopsconf.io/moscow/2021/abstracts/7522). - * [Запись трансляции](https://youtu.be/J0OT8Qxbsvc). - * Описание: Мы активно используем Jaeger как инструмент распределенной трассировки, и при росте нагрузки встал вопрос эффективности хранения и обработки данных. В докладе мы расскажем, как выбирали базу для хранения трейсов Jaeger и про дальнейший опыт эксплуатации Jaeger и {{ ydb-name }} в Auto.ru и Yandex Cloud. Решение стало популярным внутри Яндекса, и мы выпустили Jaeger-драйвер для {{ ydb-name }} в Open Source. Появление {{ ydb-name }} Serverless дало пользователям возможность сэкономить, и мы хотим поделиться результатами тестов Jaeger с {{ ydb-name }} Serverless. - -### 2021: Habr {#habr2021} - -* Тема: Бессерверная альтернатива традиционным базам данных. - * [Статья](https://habr.com/ru/post/562746/). - * Описание: Современная распределенная СУБД должна уметь поддерживать различные типы нагрузки, удовлетворяя запросы совершенно разных пользователей. СУБД {{ ydb-name }} позволяет не только хранить петабайты данных, поддерживать обработку миллионов запросов в секунду, но и предоставляет режим бессерверных вычислений. Эта платформа дает возможность обслуживать проекты с различными типами нагрузки: ключ-значение, традиционные веб-приложения на основе реляционной базы, а также документоориентированные базы данных. -* Тема: Погружение в Serverless. Рождение {{ ydb-name }}. - * [Статья](https://habr.com/ru/post/552032/). - * Описание: Продолжаем беседовать с разработчиками экосистемы сервисов Serverless — Андрей Фомичев поделится подробностями о NewSQL. -* Тема: Мультиарендный подход Яндекса к построению инфраструктуры работы с данными. - * [Статья](https://habr.com/ru/company/yandex/blog/564854/). - * Описание: Времена, когда для экземпляра базы данных выделялся отдельный компьютер, давно прошли. Сейчас повсюду управляемые решения, поднимающие необходимые процессы в виртуальных машинах. Для вычислений применяется еще более прогрессивный подход — «бессерверные вычисления», например AWS Lambda или Yandex Cloud Functions. И уж совсем на острие прогресса находятся бессерверные БД. Мы поговорим о бессерверных решениях, которые еще до всеобщего хайпа стали популярны в Яндексе и по-прежнему используются для хранения и обработки данных. -* Тема: Готовим c serverless. Голосовой сервис записи к врачу и регистрации в поликлинике - * [Статья](https://habr.com/ru/post/547970/). - * Описание: Какой serverless-стек нужен, из чего состоит сценарий и как может быть устроена система CRM на стороне Yandex Cloud. Коммуникационная платформа Voximplant и Yandex Cloud подготовили рецепт голосового сервиса регистрации и записи на прием к врачу в поликлинику. Впрочем, им можно воспользоваться и для других похожих serverless-задач. - -### 2021: Открытые системы. СУБД {#ospdatabases2021} - -* Тема: Бессерверная альтернатива традиционным базам данных. - * [Статья](https://www.osp.ru/os/2021/01/13055826). - * Описание: Бессерверные вычисления стали следующим шагом к снижению «налога» на инфраструктуру, который вынуждены платить пользователи облачных сервисов, однако на рынке сегодня мало баз данных для этой экосистемы, и задача {{ ydb-name }} — восполнить этот пробел. - -### 2021: Webinar YDB 2021-01-21 {#webinar20210121} - -* Тема: Практический пример использования serverless: интеграция сервисов Yandex Cloud с голосовыми технологиями компании Voximplant. - * [О мероприятии](https://cloud.yandex.ru/events/298). - * [Запись трансляции](https://youtu.be/mB0Wpn2473U). - * Описание: - 1. Интеграция Voximplant Kit с Yandex SpeechKit — сервисом распознавания и синтеза речи. - 1. Настройка и автоматизация обработки диалога с помощью Voximplant Kit. - 1. CRM-система, построенная с помощью serverless API Gateway, Yandex Cloud Functions и {{ ydb-name }} (serverless). - 1. [Пример приложения на Go](https://github.com/yandex-cloud/examples/tree/master/serverless/serverless_voximplant). - -### 2020: Yandex Scale. {{ ydb-name }} Serverless. {#scalecloudnative20200925} - -* Тема: {{ ydb-name }} Serverless: публичный запуск. - * [Запись трансляции](https://www.youtube.com/watch?v=PD0wjTueIeA&t=9025s). - * Описание: Сервис {{ ydb-name }} (YDB) вышел в общий доступ. Теперь вы можете выбрать режим работы с выделенными серверами или бессерверный режим. - -### 2020: Webinar YDB 2020-04-23 {#webinar20200423} - -* Тема: Новости {{ ydb-name }}. - * [Запись трансляции](https://youtu.be/6LMH4Q4uGBU). - * Описание: - 1. Пример приложения на Node.js. - 1. Поддержка JSON в YDB. - 1. База YDB в Yandex Cloud доступная через Internet ("белые" IP). - -### 2019: YaTalks Москва {#yatalks-moscow-2019} - -* Тема: {{ ydb-name }} — как выжать 10K IOPS из HDD и вставить в таблицу 50K записей на одном ядре. - * [Презентация](https://storage.yandexcloud.net/ydb-public-talks/yatalks-ydb.pptx). - * [Запись трансляции](https://youtu.be/hXH_tRBxFnA?t=11283). - * Описание: - 1. Рассказ об успешном использовании {{ ydb-name }} в качестве бэкэнда для распределенной трассировки Jaeger от представителей [Auto.ru](https://auto.ru) и [Яндекс.Недвижимости](https://realty.yandex.ru/). - 1. Рассказ об архитектуре распределенного сетевого хранилища в {{ ydb-name }}. - -### 2019: Yandex Scale {#scale} - -* Тема: {{ ydb-name }} — эффективная альтернатива традиционным noSQL-решениям. - * [Презентация](https://storage.yandexcloud.net/ydb-public-talks/08-20190905_yscale_fomichev.pptx). - * [Запись трансляции](https://youtu.be/MlSdUq5RIN8). - * Описание: как и зачем была создана {{ ydb-name }}, чем она отличается от других БД и для каких задач она лучше всего подходит. -* Тема: {{ ydb-name }} at Scale: опыт применения в высоконагруженных сервисах Яндекса. - * [Презентация](https://storage.yandexcloud.net/ydb-public-talks/242-olegbondar.pptx). - * [Запись трансляции](https://youtu.be/kubFwIKJjBY). - * Описание: представители [Auto.ru](https://auto.ru), [Яндекс.Репетитора](https://yandex.ru/tutor/), [Алисы](https://yandex.ru/alice) и [Condé Nast](https://www.condenast.ru/) расскажут, почему они выбрали {{ ydb-name }} и как эта СУБД помогает развивать их продукты. - -### 2019: Webinar YDB {#webinar} - -* Тема: Опыт использования {{ ydb-name }} на примере продуктов Яндекса. - * [Презентация](https://storage.yandexcloud.net/ydb-public-talks/2019-webinar.pptx). - * [Запись трансляции](https://youtu.be/qWqU-R-X3Dc). - * Описание: опыт использования {{ ydb-name }} на примере продуктов Яндекса. - -### 2018: about:cloud {#about-cloud} - -* Тема: {{ ydb-name }}: платформа распределенных систем хранения данных, критичных к задержкам. - * [Запись трансляции](https://youtu.be/Kr6WIYPts8I?t=8558). - * Описание: рассказ о YDB, как о платформе, на которой можно строить различные системы хранения и обработки данных. -* Тема: {{ ydb-name }}: Distributed SQL база данных. Рассказ собственно о YDB как базе данных. - * [Запись трансляции](https://youtu.be/Kr6WIYPts8I?t=10550). - * Описание: о YDB как о базе данных. -* Тема: {{ ydb-name }}: сетевое блочное устройство. - * [Запись трансляции](https://youtu.be/Kr6WIYPts8I?t=12861). - * Описание: рассказ о Network Block Store — сервисе виртуальных дисков, на которых работают все виртуальные машины Yandex Cloud. - -### 2017: HEISENBUG {#heisenbug2017} - -* Тема: Как проверить систему, не запуская ее. - * [Презентация](https://2017.heisenbug-moscow.ru/en/talks/2017/msk/79fuksrzakwwqu4cmikw62/). - * [Запись трансляции](https://youtu.be/KaeEjsAjV6A). - * Описание: Системы, которые мы разрабатываем, становятся сложнее с каждым днем. И кажется, нет спасения от вездесущей сложности, которая проникает во все. Один из аспектов этой сложности — конфигурация. С одной стороны, конфигурация сильно влияет на стабильность и доступность системы, с другой — проверке ее корректности уделяется очень мало внимания. В докладе расскажем, как мы тестируем конфигурацию и насколько это было полезно в нашем проекте. Этот доклад будет интересен всем, кто хочет узнать простой способ увеличения стабильности и доступности системы в продакшене. - -## Материалы для углубленного изучения YDB {#internals} - -### 2019: HighLoad++ Москва {#highloadmoscow2019} - -* Тема: Распределенные транзакции в YDB. - * [Тезисы и презентация](https://www.highload.ru/moscow/2019/abstracts/5324). - * [Запись трансляции](https://youtu.be/8AR1u5OZIm8). - * Описание: механизм выполнения распределенных транзакций в YDB. - -### 2019: DevZen Podcast {#devzen} - -* Тема: Устройство {{ ydb-name }}. - * [Запись подкаста](https://devzen.ru/episode-0272/). - * Описание: подробный рассказ об устройстве YDB и ответы на вопросы. - -### 2019: YaTalks Екатеринбург {#yatalks} - -* Тема: {{ ydb-name }}: Distributed SQL база данных Яндекса. - * [Презентация](https://storage.yandexcloud.net/ydb-public-talks/YdbInCloud_2.pptx). - * [Запись трансляции](https://youtu.be/tzANIAbc99o?t=3012). - * Описание: основные моменты, связанные с выполнением распределенных запросов в YDB: - 1. Модель транзакций и уровни изоляции. - 1. Особенности SQL-диалекта Yandex Query Language (YQL). - 1. Многошаговые транзакции и механизм оптимистичных блокировок. - 1. Эффективное выполнение запросов к распределенным БД в целом. - 1. Основные факторы, влияющие на производительность запросов - 1. Стандартные практики работы с YDB, в том числе инструменты для разработчика. - -### 2019: BackendConf {#backendconf} - -* Тема: {{ ydb-name }}: распределенные запросы в облаках. - * [Запись трансляции](https://youtu.be/V95bBGB-89Y?t=15514). - * Описание: как YDB выполняет YQL запросы. - -### 2019: HighLoad++ Siberia {#highload} - -* Тема: {{ ydb-name }} — как мы обеспечиваем отказоустойчивость. - * [Запись трансляции](https://youtu.be/-GlRSxG4JQU?t=10779). - * Описание: как YDB хранит данные с избыточностью и как YDB решает задачу распределенного консенсуса. diff --git a/ydb/docs/ru/core/toc_i.yaml b/ydb/docs/ru/core/toc_i.yaml index 80c59e4db517..1038bec0c6ee 100644 --- a/ydb/docs/ru/core/toc_i.yaml +++ b/ydb/docs/ru/core/toc_i.yaml @@ -23,7 +23,6 @@ items: include: mode: link path: contributor/toc_p.yaml - - name: Справка include: mode: link @@ -37,7 +36,9 @@ items: mode: link path: downloads/toc_p.yaml - name: Публичные материалы - href: public-talks.md + include: + mode: link + path: public-materials/toc_p.yaml - name: Список изменений include: mode: link diff --git a/ydb/docs/ru/presets.yaml b/ydb/docs/ru/presets.yaml index 1e6e6053043d..44f443ef2c06 100644 --- a/ydb/docs/ru/presets.yaml +++ b/ydb/docs/ru/presets.yaml @@ -1,2 +1,120 @@ default: lang: ru + pub-cover-size: 700x400 + team: + babich: + name: Михаил Бабич + position: Старший разработчик + profile: https://www.linkedin.com/in/mikhail-babich-807700270/ + bondar: + name: Олег Бондарь + position: CPO YDB + profile: https://www.linkedin.com/in/olegbondar2000/ + cherednik: + name: Даниил Чередник + position: Старший разработчик + profile: https://www.linkedin.com/in/daniil-c-1110165b/ + dmitriev: + name: Алексей Дмитриев + position: Технический менеджер + profile: https://www.linkedin.com/in/алексей-дмитриев-7914b535/ + gorshenin: + name: Александр Горшенин + position: Ведущий разработчик + profile: https://www.linkedin.com/in/agorshenin268/ + gorbunov: + name: Максим Горбунов + position: Руководитель группы эксплуатации + profile: https://www.linkedin.com/in/maksim-gorbunov-20283a55/ + gridnev: + name: Виталий Гриднев + position: Ведущий разработчик + profile: https://www.linkedin.com/in/gridnevvvit/ + fomichev: + name: Андрей Фомичев + position: Руководитель YDB + profile: https://www.linkedin.com/in/andrey-fomichev/ + stankevichus: + name: Алексей Станкевичус + position: Руководитель групп разработки распределенного хранилища YDB + profile: https://github.com/the-ancient-1 + sokolov: + name: Иван Соколов + position: Руководитель службы видеохостинга (Внешний Дзен) + profile: + surin: + name: Михаил Сурин + position: + profile: + sidorina: + name: Юлия Сидорина + position: Разработчик YDB + profile: https://www.linkedin.com/in/yuliya-sidorina-a17ab6220/ + smirnov: + name: Александр Смирнов + position: Технический эксперт + profile: https://www.linkedin.com/in/alexander-smirnov-bb990434/ + novozhilova: + name: Софья Новожилова + position: занимается развитием аналитического направления платформы YDB + profile: + nizametdinov: + name: Ильназ Низаметдинов + position: Руководитель группы + profile: https://www.linkedin.com/in/nilnaz + myasnikov: + name: Алексей Мясников + position: руководитель команды разработки клиентских библиотек YDB + profile: https://github.com/asmyasnikov + kita: + name: Максим Кита + position: Разработчик + profile: + kulin: + name: Тимофей Кулин + position: Разработчик + profile: https://github.com/rekby + kriukov: + name: Александр Крюков + position: Разработчик + profile: https://www.linkedin.com/in/kruall/ + kuznetcov: + name: Владислав Кузнецов + position: Старший разработчик + profile: https://www.linkedin.com/in/vlad-kuznetcov-a8a012276/ + kovalenko: + name: Антон Коваленко + position: Технический менеджер + profile: https://www.linkedin.com/in/kovalad/ + ivanov: + name: Евгений Иванов + position: Старший разработчик + profile: https://www.linkedin.com/in/eivanov89/ + prudaev: + name: Александр Прудаев + position: Старший разработчик + profile: https://www.linkedin.com/in/alexander-prudaev-44ba4383/ + puchin: + name: Сергей Пучин + position: Руководитель группы + profile: https://www.linkedin.com/in/sergei-puchin-9486b621/ + rykov: + name: Андрей Рыков + position: Старший разработчик + profile: https://www.linkedin.com/in/andrei-rykov-5936b4222/ + tarasov: + name: Егор Тарасов + position: DevOps инженер + profile: https://www.linkedin.com/in/jorres-tarasov/ + zivaykin: + name: Александр Зевайкин + position: Технический лидер + profile: + zverev: + name: Евгений Зверев + position: Разработчик + profile: + zinal: + name: Максим Зиналь + profile: https://www.linkedin.com/in/maxzinal + position: Архитектор YDB