Сравнение возможностей SDK

Данный раздел позволяет сравнить возможности YDB 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, Access token + + + + + + + +
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 + + - - - -
Topic writer - + - - - -
Предыдущая
Следующая