diff options
author | asmyasnikov <asmyasnikov@ydb.tech> | 2022-11-09 13:01:49 +0300 |
---|---|---|
committer | asmyasnikov <asmyasnikov@ydb.tech> | 2022-11-09 13:01:49 +0300 |
commit | cae8b9b8218a7413d2253aec1a0b88b441e50068 (patch) | |
tree | b81658dd64ad1c90a6291a0a0afa3f255d351d9f | |
parent | 80f5c1d76c74f49e72bece723f9c1b7a25852e70 (diff) | |
download | ydb-cae8b9b8218a7413d2253aec1a0b88b441e50068.tar.gz |
add feature parity article
add feature parity article
4 files changed, 150 insertions, 1 deletions
diff --git a/ydb/docs/ru/core/reference/ydb-sdk/_includes/index.md b/ydb/docs/ru/core/reference/ydb-sdk/_includes/index.md index 43d2cb2588..243435aafd 100644 --- a/ydb/docs/ru/core/reference/ydb-sdk/_includes/index.md +++ b/ydb/docs/ru/core/reference/ydb-sdk/_includes/index.md @@ -21,4 +21,5 @@ - [Аутентификация](../auth.md) - [Тестовое приложение](../example/index.md) - [Рецепты кода](../recipes/index.md) +- [Сравнение возможностей SDK](../feature-parity.md) diff --git a/ydb/docs/ru/core/reference/ydb-sdk/feature-parity.md b/ydb/docs/ru/core/reference/ydb-sdk/feature-parity.md new file mode 100644 index 0000000000..d9eb28b25e --- /dev/null +++ b/ydb/docs/ru/core/reference/ydb-sdk/feature-parity.md @@ -0,0 +1,147 @@ +# Сравнение возможностей SDK + +|Feature|C\+\+|Python|Go|Java|NodeJS|C#|Rust|PHP| +|:---|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| +|Поддержка SSL/TLS (системные сертификаты)|\+|\+|\+|\+|\+|\+|\+|| +|Поддержка SSL/TLS (кастомные сертификаты)|\+|\+|\+|\+|\+||\-|| +|Возможность настроить/включить GRPC KeepAlive (фоновое поддержание живости соединения)|\+|\+|\+|?|||\-|| +|Регулярный прогон тестов SLO на последней версии кода|\+|\+/-|\+|\+|\+/-|\-|\-|\-| +|Шаблоны Issue в GitHub|\-|?|\+|\-|\+||\-|| +|**Клиентская балансировка**||||||||| +|Инициализация балансировщика через Discovery/ListEndpoints|\+|\+|\+|\+|\+|\+|\+|\+| +|Отключение клиентской балансировки (все запросы в начальный Endpoint)|\+/-|\-|\+|\-|\-||\+|| +|Фоновый Discovery/ListEndpoints (раз в минуту по умолчанию)|\+|\+|\+|\+|\+|\+|\+|\+| +|Поддержка множества IP адресов в DNS-записи начального Endpoint, часть из которых может быть недоступна (DNS балансировка)|?|\+|\+|?|\-|?|?|?| +|Пессимизация нод на транспортных ошибках|\+|\+|\+|\+|\+|\+|\+|| +|Принудительный Discovery/ListEndpoints если пессимизировано более половины нод|\+|\+|\+|\+|\-|\-|\+|| +|Автоматическое определение ближайшего ДЦ / зоны доступности по TCP-пингам|\-|\-|\+|\-|\-|\-|\-|| +|Aвтоматическое определение ближайшего ДЦ / зоны доступности по ответу Discovery/ListEndpoints\*|\+|\+|\-|\-|\-|\-|\-|| +|Равномерный случайный выбор нод (по умолчанию)|\+|\+|\+|\+|\+|\+|\+|| +|Балансировка среди всех нод всех ДЦ (по умолчанию)|\+|\+|\+|\+|\+|\+|\+|| +|Балансировка среди всех нод конкретного ДЦ / зоны доступности (например, “a”, “vla”)|\+|\+|\+|?|\-|\-|\-|| +|Балансировка среди всех нод всех локального ДЦ|\+|\+|\+|?|\-|\-|\-|| +|**Credentials providers**||||||||| +|Anonymous (по умолчанию)|\+|\+|\+|\+|\+|?|\+|| +|Static (user - password)|\+|\+|\+|\+|\-|\-|\-|| +|Token: IAM, OAuth|\+|\+|\+|\+|\+|\+|\+|| +|Service account (Yandex.Cloud specific)|\+|\+|\+|\+|\+|\+|\-|| +|Metadata (Yandex.Cloud specific)|\+|\+|\+|\+|\+|\+|\+|| +|**Работа с сессиями Table-сервиса**||||||||| +|Пул сессий|\+|\+|\+|\+|\+|\+|\+|| +|Ограничение количества одновременных сессий на клиенте)|\+|\+|\+|\+|\+|\+|\+|| +|Несгораемый остаток сессий в пуле|\+|\+|\+|\+|\-|\-|\-|| +|Прогрев пула до указанного значения количества сессий при создании пула|\-|\+|\-|\-|\+|\-|\-|| +|Фоновый KeepAlive для простаивающих сессий в пуле|\+|\-|\-|\+|\+|\+|\+|| +|Фоновое закрытие простаивающих сессий в пуле (лишние сессии)|\+|\+|\+|\+|\-|\-|\-|| +|Автоматическое выбрасывание сессии из пула при получении ошибок BAD_SESSION / SESSION_BUSY|\+|\+|\+|\+|\+|\+|\+|| +|Отстойник сессий для возможного переиспользования в будущем\~|\+|\-|\-|\-|\-|\-|\-|| +|Ретраер на пуле сессий (объект для повторов - сессия)|\+|\+|\+|\+|\+|\+|\+|| +|Ретраер на пуле сессий (объект для повторов - транзакция на сессии)|\-|\-|\+|\-|\-|?|\+|| +|Поддержка graceful shutdown сессий ("session-close" в metadata "x-ydb-server-hints" - означает надо "забыть" сессию и больше ее не использовать)|\+|\+|\+||\+||\-|| +|Поддержка серверной балансировки сессий (запрос CreateSession должен содержать в metadata-заголовке "x-ydb-client-capabilities" значение "session-balancer")|\+|\+|\+||\-||\-|| +|**Поддержка типов данных YDB**||||||||| +|Int/Uint(8,16,32,64)|\+|\+|\+|\+|\+|\+|\+|| +|Int128, UInt128 (в паблике нету?)|\-|\-|\-|\-|\-|\-|\-|| +|Float,Double|\+|\+|\+|\+|\+|\+|\+|| +|Bool|\+|\+|\+|\+|\+|\-|\+|| +|String, Bytes|\+|\+|\+|\+|\+|\+|\+|| +|Utf8, Text|\+|\+|\+|\+|\+|\+|\+|| +|NULL,Optional,Void|\+|\+|\+|\+|\+|\+|\+|| +|Struct|\+|\+|\+|\+|\+|\+|\+|| +|List|\+|\+|\+|\+|\+|\+|\+|| +|Set|?|?|\-|?|?|?|?|| +|Tuple|\+|\+|\+|\+|\+|\+|\+|| +|Variant\<Struct\>,Variant\<Tuple\>|\+|\+|\+|\+|\+|\+|\-|| +|Date,DateTime,Timestamp,Interval|\+|\+|\+|\+|\+|\+|\+|| +|TzDate,TzDateTime,TzTimestamp|\+|\+|\+|\+|\+|\+|\-|| +|DyNumber|\+|\+|\+|\+|\+|\+|\-|| +|Decimal (120 бит)|\+|\+|\+|\+|\+|\+|\-|| +|Json,JsonDocument,Yson|\+|\+|\+|\+|\+|\+|\+|| +|**Scheme клиент**||||||||| +|MakeDirectory|\+|\+|\+|\+|\+||\+|| +|RemoveDirectory|\+|\+|\+|\+|\+||\+|| +|ListDirectory|\+|\+|\+|\+|\+|\+|\+|| +|ModifyPermissions|\+|\+|\+|\-|\+||\-|| +|DescribePath|\+|\+|\+|\+|\+||\-|| +|**Table-сервис**||||||||| +|CreateSession|\+|\+|\+|\+|\+|\+|\+|| +|DeleteSession|\+|\+|\+|\+|\+|\+|\+|| +|KeepAlive|\+|\+|\+|\+|\+|\+|\+|| +|CreateTable|\+|\+|\+|\+|\+||\-|| +|DropTable|\+|\+|\+|\+|\+||\-|| +|AlterTable|\+|\+|\+|\+|\+||\-|| +|CopyTable|\+|\+|\+|\+|\-||\-|| +|CopyTables|\+|\+|\+|\-|\-||\-|| +|DescribeTable|\+|\+|\+|\+|\+||\-|| +|ExplainDataQuery|\+|\+|\+|\+|\-||\-|| +|PrepareDataQuery|\+|\+|\+|\+|\+||\-|| +|ExecuteDataQuery|\+|\+|\+|\+|\+|\+|\+|| +|\* Серверный кэш по умолчанию для всех запросов с параметрами (KeepInCache)|\-|\+|\+|\+|\+||\-|| +|\* Отдельная опция для включения/выключения серверного кэша для конкретного запроса|\+|\+|\+|\+|\+||\-|| +|\* Truncated result как ошибка (по дефолту)|\-|\-|\+|?|\+||\-|| +|\* Truncated result как ошибка (как опция opt-in, opt-out)|\-|\-|\+|?|\+||\+|| +|ExecuteSchemeQuery|\+|\+|\+|\+|\-|\+|\+|| +|BeginTransaction|\+|\+|\+|\+|\+||\-|| +|CommitTransaction|\+|\+|\+|\+|\+||\+|| +|RollbackTransaction|\+|\+|\+|\+|\+||\+|| +|DescribeTableOptions|\+|\+|\+|\-|\-||\-|| +|StreamExecuteScanQuery|\+|\+|\+|\+|\+|\+|\+|| +|StreamReadTable|\+|\+|\+|\+|\+|\+|\-|| +|BulkUpsert|\+|\+|\+|\+|\+|\-|\-|| +|**Operation**||||||||| +|Consumed Units из метаданных ответа на grpc-запрос (чтобы пользователь мог получить это)|\+|\+|\-|\+|\+|\-|\-|| +|Получение OperationId операции для long-polling статуса выполнения операции|\+|\+|\+|\-|\-|\+|\-|| +|**ScriptingYQL**||||||||| +|ExecuteYql|\+|?|\+|\-|\-||\-|| +|ExplainYql|\+|?|\+|\-|\-||\-|| +|StreamExecuteYql|\+|?|\+|\-|\-||\-|| +|**Coordination service**||||||||| +|CreateNode|\+|?|\+|\-|\-||\-|| +|AlterNode|\+|?|\+|\-|\-||\-|| +|DropNode|\+|?|\+|\-|\-||\-|| +|DescribeNode|\+|?|\+|\-|\-||\-|| +|Session (leader election, распределенный лок)|\+|?|\-|\-|\-||\-|| +|**Topic service**||||||||| +|CreateTopic|\+|\-|\+|\-|\-|\-|\-|| +|DescribeTopic|\+|\-|\+|\-|\-|\-|\-|| +|AlterTopic|\+|\-|\+|\-|\-|\-|\-|| +|DropTopic|\+|\-|\+|\-|\-|\-|\-|| +|StreamWrite|\+|\-|\+|\-|\-|\-|\-|| +|StreamRead|\+|\-|\+|\-|\-|\-|\-|| +|**Ratelimiter service**||||||||| +|CreateResource|\+|?|\+|\-|\-|\-|\-|| +|AlterResource|\+|?|\+|\-|\-|\-|\-|| +|DropResource|\+|?|\+|\-|\-|\-|\-|| +|ListResources|\+|?|\+|\-|\-|\-|\-|| +|DescribeResource|\+|?|\+|\-|\-|\-|\-|| +|AcquireResource|\+|?|\+|\-|\-|\-|\-|| +|**Monitoring** (отправка метрик SDK в систему мониторинга)||||||||| +|Solomon / Monitoring|\+|?|\+|\-|\-|\-|\-|| +|Prometheus|\-|?|\+|\-|\-|\-|\-|| +|**Логирование** событий SDK|\-|?|\+|\+|\+|\+|\+|| +|**Трассировка** событий SDK||||||||| +|в OpenTelemetry|\-|?|\-|\-|\-|\-|\-|| +|в OpenTracing|\-|?|\+|\-|\-|\-|\-|| +|**Examples**||||||||| +|Auth||||||||| +|\* token|?|?|\+|\+|\+||\+|| +|\* anonymous|?|?|\+|\+|\+||\+|| +|\* environ|?|?|\+|\+|\+||\-|| +|\* metadata|?|?|\+|\+|\+||\+|| +|\* service_account|?|?|\+|\+|\+||\-|| +|\* static (username \+ password)|?|?|\+|\+|\-||\-|| +|Basic (series)|\+|?|\+|\+|\+|\+|\+|| +|Bulk Upsert|\+/-|?|\+|\+|\+||\-|| +|Containers (Struct,Variant,List,Tuple)|\-|?|\+|\-|\-||\+|| +|Pagination|\+|?|\+|\+|\-||\-|| +|Partition policies|\-|?|\+|\-|\-||\-|| +|Read table|?|?|\+|\-|\+||\-|| +|Secondary index Workaround|\+|?|\-|\+|\-||\-|| +|Secondary index builtin|\+|?|\-|\-|\-||\-|| +|TTL|\+|?|\+|\-|\-||\-|| +|TTL Readtable|\+|?|\+|\-|\-||\-|| +|URL Shortener (serverless yandex function)|?|?|\+|?|\+||\-|| +|Topic reader|\+||\+||\-||\-|| +|CDC|\-||\+||\-||\-|| +|Topic writer|\-||\+||\-||\-|| + diff --git a/ydb/docs/ru/core/reference/ydb-sdk/recipes/index.md b/ydb/docs/ru/core/reference/ydb-sdk/recipes/index.md index d4ec53dc57..260e2acc28 100644 --- a/ydb/docs/ru/core/reference/ydb-sdk/recipes/index.md +++ b/ydb/docs/ru/core/reference/ydb-sdk/recipes/index.md @@ -26,4 +26,3 @@ - [Включить логирование](debug-logs.md) - [Подключить метрики в Prometheus](debug-prometheus.md) - [Подключить трассировку в Jaeger](debug-jaeger.md) - diff --git a/ydb/docs/ru/core/reference/ydb-sdk/toc_i.yaml b/ydb/docs/ru/core/reference/ydb-sdk/toc_i.yaml index 0a1faf4e26..42d3041810 100644 --- a/ydb/docs/ru/core/reference/ydb-sdk/toc_i.yaml +++ b/ydb/docs/ru/core/reference/ydb-sdk/toc_i.yaml @@ -19,3 +19,5 @@ items: href: health-check-api.md - name: Рецепты кода include: { mode: link, path: recipes/toc_p.yaml } + - name: Сравнение возможностей SDK + href: feature-parity.md |