- 
                Notifications
    You must be signed in to change notification settings 
- Fork 727
query execution translation #27648
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
query execution translation #27648
Conversation
| ⚪  
 🟢  | 
| ⚪  
 🟢  | 
| 🟢  | 
| ✅ Documentation buildRevision built successfully Build logsWarnings (10) | 
|  | ||
| {{ ydb-short-name }} предоставляет единый интерфейс для выполнения запросов, способный эффективно обрабатывать широкий спектр нагрузок — от высоконагруженных [транзакционных OLTP-запросов](https://ru.wikipedia.org/wiki/OLTP) до сложных аналитических [OLAP-запросов](https://ru.wikipedia.org/wiki/OLAP). Такой подход позволяет приложениям выполнять транзакционные и аналитические запросы прозрачно, без необходимости использовать разные API для разных типов нагрузки. | ||
|  | ||
| Для выполнения запросов используется распределённый движок, спроектированный с учётом масштабируемости и эффективности в больших распределённых средах. При запуске запроса {{ ydb-short-name }} автоматически распределяет работу между несколькими узлами, максимально учитывая локальность данных — обрабатывает данные там, где они хранятся. Это снижает избыточные сетевые пересылки. Кроме того, применяется вычислительный pushdown (вынос фильтрации и вычислений ближе к слою хранения), что дополнительно ускоряет обработку. Благодаря этим техникам {{ ydb-short-name }} эффективно справляется со сложными запросами и большими нагрузками на уровне кластера. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
про локальность данных не звучит похожим на правду: на сторадж нодах же вроде толком ничего не вычисляется и многочисленные пересылки по сети примерно всегда есть — тут про что именно вообще рассказ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Это согласуется с английской версией - давай уточним в рамках доделок и применим смысловое сразу к двум языкам
|  | ||
| Сессия в {{ ydb-short-name }} — это логическое "соединение" с базой данных, которое хранит контекст, необходимый для выполнения запросов и управления транзакциями. Внутри сессии поддерживается состояние транзакций и другая рабочая информация, что позволяет выполнять связанные друг с другом запросы как часть одной транзакции. Большинство операций с запросами выполняется в контексте активной сессии. | ||
|  | ||
| Сессии являются долгоживущими объектами. Одна из их важных задач — эффективное распределение нагрузки: за счёт распределения сессий и связанных с ними запросов по разным узлам кластера {{ ydb-short-name }} достигает высокой доступности и масштабируемости. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
По идее эффективное распределение нагрузки — задача не самих сессий, а управляющих ими компонентов. Сама по себе одна сессия вроде как установлена с каким-то конкретным узлом и на распределение нагрузки кроме как своим существованием не влияет.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Согласовано с английским - в уточнения
|  | ||
| ## Результирующие наборы | ||
|  | ||
| Результатом выполнения запроса в {{ ydb-short-name }} может быть один или несколько результирующих наборов (result sets). Результирующий набор похож на таблицу: он содержит строки со строгой типизацией данных в каждом столбце. Строгая типизация результатов обеспечивает предсказуемость и согласованность формата выдачи. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ноль results sets — тоже вполне валидная ситуация
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
в доделки
|  | ||
| ## Результирующие наборы | ||
|  | ||
| Результатом выполнения запроса в {{ ydb-short-name }} может быть один или несколько результирующих наборов (result sets). Результирующий набор похож на таблицу: он содержит строки со строгой типизацией данных в каждом столбце. Строгая типизация результатов обеспечивает предсказуемость и согласованность формата выдачи. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Результирующий набор похож на таблицу — не понятно почему только «похож», я б прям писал, что логически представляет собой таблицу
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
в доделки
|  | ||
| Результатом выполнения запроса в {{ ydb-short-name }} может быть один или несколько результирующих наборов (result sets). Результирующий набор похож на таблицу: он содержит строки со строгой типизацией данных в каждом столбце. Строгая типизация результатов обеспечивает предсказуемость и согласованность формата выдачи. | ||
|  | ||
| Результирующие наборы могут содержать произвольно большой объём данных, поэтому для их эффективной передачи {{ ydb-short-name }} использует потоковую выдачу (streaming) — результат возвращается на клиент порциями (chunks). Это позволяет сразу начинать обработку данных без ожидания получения всей выборки и минимизирует использование оперативной памяти клиентским приложением. | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
пару слов сказать, что опция с автоматической буферизацией всей таблицы в памяти в SDK тоже есть для случаев, когда разработчику известно, что большого объёма не будет
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
в доделки
| ⚪  
 🟢  | 
| ⚪  
 🟢  | 
| ✅ Documentation buildRevision built successfully Build logsWarnings (10) | 
Changelog entry
...
Changelog category
Description for reviewers
...