|
27 | 27 |
|
28 | 28 | {% endnote %}
|
29 | 29 |
|
30 |
| -### Офсет {#offset} |
| 30 | +### Смещение (offset) {#offset} |
31 | 31 |
|
32 |
| -Все сообщения внутри партиции имеют уникальный порядковый номер, называемый `офсетом`. Офсет монотонно возрастает при записи новых сообщений. |
| 32 | +Все сообщения внутри партиции имеют уникальный порядковый номер, называемый `смещением` (offset). Смещение монотонно возрастает при записи новых сообщений. |
33 | 33 |
|
34 | 34 | ## Источники и группы сообщений {#producer-id}
|
35 | 35 |
|
|
133 | 133 |
|
134 | 134 | ### Позиция чтения {#consumer-offset}
|
135 | 135 |
|
136 |
| -Позиция чтения — это сохраненный [офсет](#offset) читателя по каждой партиции топика. Позиция чтения сохраняется читателем после отправки подтверждения прочитанных данных. При установке новой сессии чтения сообщения поступают читателю начиная с сохраненной позиции чтения. Это позволяет пользователям не хранить позицию чтения на своей стороне. |
| 136 | +Позиция чтения — это сохраненное [смещение](#offset) читателя по каждой партиции топика. Позиция чтения сохраняется читателем после отправки подтверждения прочитанных данных. При установке новой сессии чтения сообщения поступают читателю начиная с сохраненной позиции чтения. Это позволяет пользователям не хранить позицию чтения на своей стороне. |
137 | 137 |
|
138 | 138 | ### Важный читатель {#important-consumer}
|
139 | 139 |
|
|
151 | 151 |
|
152 | 152 | Также ограниченно поддержан протокол Kafka API версии 3.4.0. (см. [Работа с Kafka API](../reference/kafka-api/index.md)).
|
153 | 153 |
|
| 154 | +## Транзакции с участием топиков {#topic-transactions} |
| 155 | + |
| 156 | +{{ ydb-short-name }} поддерживает работу с топиками в рамках [транзакций](./transactions.md). |
| 157 | + |
| 158 | +### Транзакционное чтение из топика {#topic-transactions-read} |
| 159 | + |
| 160 | +Данные в топиках не изменяются при чтении из топика. Поэтому при чтении в транзакции из топика непосредственно транзакционной операцией является только изменение смещения (offset). При транзакционном чтении через SDK не происходит коммита смещений. Отложенный коммит смещений происходит автоматически при коммите транзакции, SDK скрывает это от пользователя. |
| 161 | + |
| 162 | +### Транзакционная запись в топик {#topic-transactions-write} |
| 163 | + |
| 164 | +При транзакционной записи в топик данные до коммита сохраняются вне партиции, а затем публикуются (становятся видимыми) в момент коммита транзакции. При этом данные будут добавлены в конец партиции в последовательные смещения (offset). Видимости собственных изменений в топиках в транзакциях с участием топиков не предусмотрено. |
| 165 | + |
| 166 | +### Ограничения при работе с топиками в транзакции {#topic-transactions-constraints} |
| 167 | + |
| 168 | +Транзакции не накладывают дополнительных ограничений на работу с топиками. Внутри транзакции можно записывать большие объёмы данных в топик, писать в несколько партиций и читать несколькими консьюмерами. |
| 169 | + |
| 170 | +Тем не менее рекомендуется выбирать режим работы с транзакциями, учитывая особенности транзакционной работы с топиками: данные публикуются в момент коммита транзакции. То есть если транзакция длительная, данные станут видимыми только спустя значительное время. |
0 commit comments