diff options
author | bazeltsev <bazeltsev@ydb.tech> | 2023-05-15 18:47:41 +0300 |
---|---|---|
committer | bazeltsev <bazeltsev@ydb.tech> | 2023-05-15 18:47:41 +0300 |
commit | 0984f2adc53b4b10b6cf3ae8567daf2b261d7d6b (patch) | |
tree | cc1f51dbf640884df1e2b38e119f9f0a6984de77 | |
parent | aaa02aae62421ae89b7cecb311570b477496dd0e (diff) | |
download | ydb-0984f2adc53b4b10b6cf3ae8567daf2b261d7d6b.tar.gz |
SDK tx control tail
updated
7 files changed, 14 insertions, 206 deletions
diff --git a/ydb/docs/ru/core/concepts/_includes/transactions.md b/ydb/docs/ru/core/concepts/_includes/transactions.md index 4ebf65da1c..d0d013b41d 100644 --- a/ydb/docs/ru/core/concepts/_includes/transactions.md +++ b/ydb/docs/ru/core/concepts/_includes/transactions.md @@ -12,12 +12,13 @@ В случае, когда требования консистентности или свежести читаемых транзакцией данных могут быть ослаблены, пользователь имеет возможность использовать режимы выполнения с пониженными гарантиями: -* *Online Read-Only*. Каждое из чтений в транзакции читает последние на момент своего выполнения данные. Консистентность полученных данных определяется настройкой *allow_inconsistent_reads*: - * *false* (consistent reads). В данном режиме каждое из чтений по отдельности возвращает консистентные данные, но консистентность данных между разными чтениями не гарантируется. Дважды выполненное чтение одного и того же диапазона таблицы может вернуть разные результаты. - * *true* (inconsistent reads). В данном режиме данные даже для отдельно взятого чтения могут содержать неконсистентные результаты. -* *Stale Read Only*. Чтения данных в транзакции возвращают результаты с возможным отставанием от актуальных (доли секунды). Данные в каждом отдельно взятом чтении консистентны, между разными чтениями консистентность данных не гарантируется. +* *Online Read-Only* — каждое из чтений в транзакции читает последние на момент своего выполнения данные. Консистентность полученных данных определяется настройкой *allow_inconsistent_reads*: + * *false* (consistent reads) — каждое из чтений по отдельности возвращает консистентные данные, но консистентность данных между разными чтениями не гарантируется. Дважды выполненное чтение одного и того же диапазона таблицы может вернуть разные результаты. + * *true* (inconsistent reads) — данные даже для отдельно взятого чтения могут содержать неконсистентные результаты. +* *Stale Read-Only* — чтения данных в транзакции возвращают результаты с возможным отставанием от актуальных (доли секунды). Данные в каждом отдельно взятом чтении консистентны, между разными чтениями консистентность данных не гарантируется. +* *Snapshot Read-Only* — все чтения транзакции производятся из снапшота базы данных, при этом все чтения данных консистентны. Взятие снапшота происходит в момент старта транзакции, т.е. транзакция видит все изменения, закоммиченные до момента своего начала. -Режим выполнения транзакции задается в настройках транзакции при ее создании. +Режим выполнения транзакции задается в настройках транзакции при ее создании. Примеры для {{ ydb-short-name }} SDK смотрите в статье [{#T}](../../reference/ydb-sdk/recipes/tx-control.md). ## Язык YQL {#language-yql} diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/toc_i.yaml b/ydb/docs/ru/core/reference/ydb-sdk/recipes/toc_i.yaml index 8edb7689e7..656c801495 100644 --- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/toc_i.yaml +++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/toc_i.yaml @@ -38,18 +38,7 @@ items: - name: Пакетная вставка данных href: bulk-upsert.md - name: Установка режима выполнения транзакции - hidden: true - items: - - name: Обзор - href: tx-control.md - - name: SerializableReadWrite - href: tx-control-serializable-read-write.md - - name: OnlineReadOnly - href: tx-control-online-read-only.md - - name: StaleReadOnly - href: tx-control-stale-read-only.md - - name: SnapshotReadOnly - href: tx-control-snapshot-read-only.md + href: tx-control.md - name: Диагностика проблем items: - name: Обзор diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-online-read-only.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-online-read-only.md deleted file mode 100644 index f05dc0e3ec..0000000000 --- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-online-read-only.md +++ /dev/null @@ -1,44 +0,0 @@ -# OnlineReadOnly - -{% list tabs %} - -- Go (native) - - ```go - package main - - import ( - "context" - "os" - - "github.com/ydb-platform/ydb-go-sdk/v3" - "github.com/ydb-platform/ydb-go-sdk/v3/table" - ) - - func main() { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - db, err := ydb.Open(ctx, - os.Getenv("YDB_CONNECTION_STRING"), - ydb.WithAccessTokenCredentials(os.Getenv("YDB_TOKEN")), - ) - if err != nil { - panic(err) - } - defer db.Close(ctx) - txControl := table.TxControl( - table.BeginTx(table.WithOnlineReadOnly(table.WithInconsistentReads())), - table.CommitTx(), - ) - err := driver.Table().Do(scope.Ctx, func(ctx context.Context, s table.Session) error { - _, _, err := s.Execute(ctx, txControl, "SELECT 1", nil) - return err - }) - if err != nil { - fmt.Printf("unexpected error: %v", err) - } - } - ``` - - -{% endlist %} diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-serializable-read-write.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-serializable-read-write.md deleted file mode 100644 index 3c3f2ab4d3..0000000000 --- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-serializable-read-write.md +++ /dev/null @@ -1,44 +0,0 @@ -# SerializableReadWrite - -{% list tabs %} - -- Go (native) - - ```go - package main - - import ( - "context" - "os" - - "github.com/ydb-platform/ydb-go-sdk/v3" - "github.com/ydb-platform/ydb-go-sdk/v3/table" - ) - - func main() { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - db, err := ydb.Open(ctx, - os.Getenv("YDB_CONNECTION_STRING"), - ydb.WithAccessTokenCredentials(os.Getenv("YDB_TOKEN")), - ) - if err != nil { - panic(err) - } - defer db.Close(ctx) - txControl := table.TxControl( - table.BeginTx(table.WithSerializableReadWrite()), - table.CommitTx(), - ) - err := driver.Table().Do(scope.Ctx, func(ctx context.Context, s table.Session) error { - _, _, err := s.Execute(ctx, txControl, "SELECT 1", nil) - return err - }) - if err != nil { - fmt.Printf("unexpected error: %v", err) - } - } - ``` - - -{% endlist %} diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-snapshot-read-only.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-snapshot-read-only.md deleted file mode 100644 index f40ee562b2..0000000000 --- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-snapshot-read-only.md +++ /dev/null @@ -1,44 +0,0 @@ -# SnapshotReadOnly - -{% list tabs %} - -- Go (native) - - ```go - package main - - import ( - "context" - "os" - - "github.com/ydb-platform/ydb-go-sdk/v3" - "github.com/ydb-platform/ydb-go-sdk/v3/table" - ) - - func main() { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - db, err := ydb.Open(ctx, - os.Getenv("YDB_CONNECTION_STRING"), - ydb.WithAccessTokenCredentials(os.Getenv("YDB_TOKEN")), - ) - if err != nil { - panic(err) - } - defer db.Close(ctx) - txControl := table.TxControl( - table.BeginTx(table.WithSnapshotReadOnly()), - table.CommitTx(), - ) - err := driver.Table().Do(scope.Ctx, func(ctx context.Context, s table.Session) error { - _, _, err := s.Execute(ctx, txControl, "SELECT 1", nil) - return err - }) - if err != nil { - fmt.Printf("unexpected error: %v", err) - } - } - ``` - - -{% endlist %} diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-stale-read-only.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-stale-read-only.md deleted file mode 100644 index 07d9d90af3..0000000000 --- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control-stale-read-only.md +++ /dev/null @@ -1,44 +0,0 @@ -# StaleReadOnly - -{% list tabs %} - -- Go (native) - - ```go - package main - - import ( - "context" - "os" - - "github.com/ydb-platform/ydb-go-sdk/v3" - "github.com/ydb-platform/ydb-go-sdk/v3/table" - ) - - func main() { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - db, err := ydb.Open(ctx, - os.Getenv("YDB_CONNECTION_STRING"), - ydb.WithAccessTokenCredentials(os.Getenv("YDB_TOKEN")), - ) - if err != nil { - panic(err) - } - defer db.Close(ctx) - txControl := table.TxControl( - table.BeginTx(table.WithStaleReadOnly()), - table.CommitTx(), - ) - err := driver.Table().Do(scope.Ctx, func(ctx context.Context, s table.Session) error { - _, _, err := s.Execute(ctx, txControl, "SELECT 1", nil) - return err - }) - if err != nil { - fmt.Printf("unexpected error: %v", err) - } - } - ``` - - -{% endlist %} diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control.md index 45c0b5b413..03b844c9e0 100644 --- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control.md +++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/tx-control.md @@ -5,15 +5,13 @@ description: "В статье вы ознакомитесь как в разны # Установка режима выполнения транзакции -{% include [work in progress message](_includes/addition.md) %} - -В SDK для выполнения запросов к {{ ydb-short-name }} необходимо всегда указывать режим выполнения транзакции. +Для выполнения запросов в {{ ydb-short-name }} SDK необходимо указывать [режим выполнения транзакции](../../../concepts/transactions.md#modes). -<[Тут умные слова или отсылка к разделу документации о том, какие режимы выполнения транзакций поддерживаются в YDB.]> +Ниже приведены примеры кода, которые используют встроенные в {{ ydb-short-name }} SDK средства создания объекта *режим выполнения транзакции*. -Ниже приведены примеры кода использования встроенных в {{ ydb-short-name }} SDK средств создания объекта режим выполнения транзакции: +{% include [work in progress message](_includes/addition.md) %} -## SerializableReadWrite +## Serializable {#serializable} {% list tabs %} @@ -55,10 +53,9 @@ description: "В статье вы ознакомитесь как в разны } ``` - {% endlist %} -## OnlineReadOnly +## Online Read-Only {#online-read-only} {% list tabs %} @@ -100,10 +97,9 @@ description: "В статье вы ознакомитесь как в разны } ``` - {% endlist %} -## StaleReadOnly +## Stale Read-Only {#stale-read-only} {% list tabs %} @@ -145,10 +141,9 @@ description: "В статье вы ознакомитесь как в разны } ``` - {% endlist %} -## SnapshotReadOnly +## Snapshot Read-Only {#snapshot-read-only} {% list tabs %} @@ -190,5 +185,4 @@ description: "В статье вы ознакомитесь как в разны } ``` - {% endlist %} |