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

Данный раздел позволяет сравнить возможности YDB SDK, которые реализованы для разных языков программирования.

Функционал C++ Python Go Java NodeJS C# Rust PHP
Поддержка SSL/TLS (системные сертификаты)
Поддержка SSL/TLS (кастомные сертификаты) issue 312 status issue 270 status
Configure/enable GRPC KeepAlive (keeping the connection alive in the background) issue 439 status issue 499 status issue 313 status issue 271 status
Регулярный прогон тестов SLO на последней версии кода issue 600 status issue 446 status issue 314 status issue 235 status issue 155 status
Шаблоны Issue в GitHub issue 452 status issue 601 status issue 394 status issue 272 status
Клиентская балансировка
Инициализация балансировщика через Discovery/ListEndpoints
Отключение клиентской балансировки (все запросы в начальный Endpoint) issue 467 status issue 591 status issue 395 status issue 447 status issue 273 status
Фоновый Discovery/ListEndpoints (раз в минуту по умолчанию) issue 156 status
Поддержка множества IP адресов в DNS-записи начального Endpoint, часть из которых может быть недоступна (DNS балансировка) issue 469 status issue 440 status issue 448 status issue 311 status issue 233 status issue 196 status
Пессимизация соединений на транспортных ошибках issue 201 status
Принудительный Discovery/ListEndpoints если пессимизировано более половины нод issue 449 status issue 202 status
Автоматическое определение ближайшего ДЦ / зоны доступности по TCP-пингам issue 453 status issue 592 status issue 396 status issue 450 status issue 315 status issue 236 status issue 203 status
Aвтоматическое определение ближайшего ДЦ / зоны доступности по ответу Discovery/ListEndpoints issue 1746 status issue 397 status issue 451 status issue 316 status issue 237 status issue 204 status
Равномерный случайный выбор нод (по умолчанию) issue 205 status
Балансировка среди всех нод всех ДЦ (по умолчанию) issue 206 status
Балансировка среди всех нод конкретного ДЦ / зоны доступности (например, “a”, “vla”) issue 441 status issue 452 status issue 317 status issue 238 status issue 207 status
Балансировка среди всех нод всех локального ДЦ issue 442 status issue 453 status issue 318 status issue 239 status issue 208 status
Credentials providers
Anonymous (по умолчанию)
Static (user - password) issue 454 status issue 319 status issue 157 status
Token: IAM, Access token
Service account (Yandex.Cloud specific) issue 240 status
Metadata (Yandex.Cloud specific)
Работа с сессиями Table-сервиса
Пул сессий
Ограничение количества одновременных сессий на клиенте issue 209 status
Несгораемый остаток сессий в пуле issue 455 status issue 320 status issue 241 status issue 210 status
Прогрев пула до указанного значения количества сессий при создании пула issue 454 status issue 1747 status issue 398 status issue 321 status issue 242 status issue 211 status
Фоновый KeepAlive для простаивающих сессий в пуле issue 593 status issue 1748 status issue 212 status
Фоновое закрытие простаивающих сессий в пуле (лишние сессии) issue 456 status issue 322 status issue 243 status issue 213 status
Автоматическое выбрасывание сессии из пула при получении ошибок BAD_SESSION / SESSION_BUSY issue 214 status
Отстойник сессий для возможного переиспользования в будущем issue 594 status issue 1749 status issue 399 status issue 457 status issue 323 status issue 244 status issue 215 status
Ретраер на пуле сессий (объект для повторов - сессия) issue 216 status
Ретраер на пуле сессий (объект для повторов - транзакция на сессии) issue 455 status issue 595 status issue 400 status issue 458 status issue 324 status issue 217 status
Поддержка graceful shutdown сессий ("session-close" в metadata "x-ydb-server-hints" - означает надо "забыть" сессию и больше ее не использовать) issue 459 status issue 325 status issue 274 status issue 218 status
Поддержка серверной балансировки сессий (запрос CreateSession должен содержать в metadata-заголовке "x-ydb-client-capabilities" значение "session-balancer") issue 401 status issue 460 status issue 326 status issue 275 status issue 219 status
Поддержка типов данных YDB*
Int/Uint(8,16,32,64)
Int128, UInt128 issue 456 status issue 596 status issue 1750 status issue 402 status issue 461 status issue 327 status issue 245 status issue 158 status
Float, Double
Bool
String, Bytes issue 198 status
Utf8, Text
NULL, Optional, Void issue 309 status issue 199 status
Struct
List issue 310 status
Set issue 470 status issue 602 status issue 1751 status issue 443 status issue 445 status issue 328 status issue 234 status issue 197 status
Tuple issue 220 status
Variant<Struct>,Variant<Tuple> issue 329 status issue 246 status issue 159 status
Date, DateTime, Timestamp, Interval issue 160 status
TzDate, TzDateTime, TzTimestamp issue 330 status issue 247 status issue 161 status
DyNumber issue 331 status issue 248 status issue 162 status
Decimal (120 bits) issue 249 status
Json, JsonDocument, Yson issue 200 status
Клиент Query-сервиса
* CreateSession issue 479 status issue 639 status issue 1760 status issue 448 status issue 502 status issue 390 status issue 320 status issue 227 status
* DeleteSession issue 480 status issue 640 status issue 1761 status issue 449 status issue 503 status issue 391 status issue 321 status issue 228 status
* AttachSession issue 481 status issue 641 status issue 1762 status issue 450 status issue 504 status issue 392 status issue 322 status issue 229 status
* CommitTransaction issue 482 status issue 642 status issue 1763 status issue 451 status issue 505 status issue 393 status issue 323 status issue 230 status
* BeginTransaction issue 483 status issue 643 status issue 1764 status issue 452 status issue 506 status issue 394 status issue 324 status issue 231 status
* RollbackTransaction issue 484 status issue 644 status issue 1765 status issue 453 status issue 507 status issue 395 status issue 325 status issue 232 status
* ExecuteQuery issue 485 status issue 645 status issue 1766 status issue 454 status issue 508 status issue 396 status issue 326 status issue 233 status
* ExecuteScript issue 486 status issue 646 status issue 1767 status issue 455 status issue 509 status issue 397 status issue 327 status issue 234 status
* FetchScriptResults issue 487 status issue 647 status issue 1768 status issue 456 status issue 510 status issue 398 status issue 328 status issue 235 status
Клиент Scheme-сервиса
MakeDirectory issue 332 status issue 276 status
RemoveDirectory issue 333 status issue 277 status
ListDirectory
ModifyPermissions issue 403 status issue 334 status issue 278 status
DescribePath issue 335 status issue 279 status
Клиент Table-сервиса
CreateSession
DeleteSession
KeepAlive issue 163 status
CreateTable issue 336 status issue 280 status
DropTable issue 337 status issue 281 status
AlterTable issue 338 status issue 282 status
CopyTable issue 462 status issue 339 status issue 283 status
CopyTables issue 404 status issue 463 status issue 340 status issue 284 status
DescribeTable issue 341 status issue 285 status
ExplainDataQuery issue 464 status issue 342 status issue 286 status
PrepareDataQuery issue 343 status issue 287 status
ExecuteDataQuery
* Серверный кэш по умолчанию для всех запросов с параметрами (KeepInCache) issue 457 status issue 288 status
* Отдельная опция для включения/выключения серверного кэша для конкретного запроса issue 289 status
* Truncated result как ошибка (по дефолту) issue 458 status issue 597 status issue 444 status issue 344 status issue 290 status
* Truncated result как ошибка (как опция opt-in, opt-out) issue 459 status issue 598 status issue 445 status issue 345 status issue 291 status issue 164 status
ExecuteSchemeQuery issue 465 status
BeginTransaction issue 346 status issue 292 status
CommitTransaction issue 347 status issue 293 status
RollbackTransaction issue 348 status issue 294 status
DescribeTableOptions issue 405 status issue 466 status issue 349 status issue 295 status issue 165 status
StreamExecuteScanQuery
StreamReadTable issue 250 status
BulkUpsert issue 350 status issue 251 status
Клиент Operation-сервиса
Consumed Units из метаданных ответа на grpc-запрос (чтобы пользователь мог получить это) issue 1752 status issue 351 status issue 252 status issue 166 status
Получение OperationId операции для long-polling статуса выполнения операции issue 406 status issue 467 status issue 253 status issue 167 status
Клиент ScriptingYQL-сервиса
ExecuteYql issue 603 status issue 407 status issue 468 status issue 352 status issue 296 status
ExplainYql issue 604 status issue 408 status issue 469 status issue 353 status issue 297 status
StreamExecuteYql issue 605 status issue 409 status issue 470 status issue 354 status issue 298 status issue 168 status
Клиент Coordination-сервиса
CreateNode issue 606 status issue 410 status issue 471 status issue 355 status issue 299 status issue 169 status
AlterNode issue 607 status issue 411 status issue 472 status issue 356 status issue 300 status issue 170 status
DropNode issue 608 status issue 412 status issue 473 status issue 357 status issue 301 status issue 171 status
DescribeNode issue 609 status issue 413 status issue 474 status issue 358 status issue 302 status issue 172 status
Session (leader election, распределенный лок) issue 610 status issue 1753 status issue 414 status issue 475 status issue 359 status issue 303 status issue 173 status
Клиент Topic-сервиса
CreateTopic issue 415 status issue 476 status issue 360 status issue 254 status issue 174 status
DescribeTopic issue 416 status issue 477 status issue 361 status issue 255 status issue 175 status
AlterTopic issue 599 status issue 417 status issue 478 status issue 362 status issue 256 status issue 176 status
DropTopic issue 418 status issue 479 status issue 363 status issue 257 status issue 177 status
StreamWrite issue 419 status issue 480 status issue 364 status issue 258 status issue 178 status
StreamRead issue 420 status issue 481 status issue 365 status issue 259 status issue 179 status
Клиент Ratelimiter-сервиса
CreateResource issue 611 status issue 421 status issue 482 status issue 366 status issue 260 status issue 221 status
AlterResource issue 612 status issue 422 status issue 483 status issue 367 status issue 261 status issue 222 status
DropResource issue 613 status issue 423 status issue 484 status issue 368 status issue 262 status issue 223 status
ListResources issue 614 status issue 424 status issue 485 status issue 369 status issue 263 status issue 224 status
DescribeResource issue 615 status issue 425 status issue 486 status issue 370 status issue 264 status issue 225 status
AcquireResource issue 616 status issue 426 status issue 487 status issue 371 status issue 265 status issue 226 status
Monitoring (отправка метрик SDK в систему мониторинга)
Solomon / Monitoring issue 617 status issue 427 status issue 488 status issue 372 status issue 266 status issue 180 status
Prometheus issue 460 status issue 618 status issue 428 status issue 489 status issue 373 status issue 267 status issue 181 status
Логирование событий SDK issue 461 status issue 619 status
Трассировка событий SDK
* в OpenTelemetry issue 462 status issue 620 status issue 1754 status issue 429 status issue 490 status issue 374 status issue 268 status issue 182 status
* в OpenTracing issue 463 status issue 621 status issue 430 status issue 491 status issue 375 status issue 269 status issue 183 status
Примеры приложений
Auth
* token issue 471 status issue 622 status
* anonymous issue 472 status issue 623 status issue 304 status
* environ issue 473 status issue 624 status issue 376 status issue 305 status
* metadata issue 474 status issue 625 status issue 306 status
* service_account issue 475 status issue 626 status issue 377 status issue 307 status
* static (username + password) issue 476 status issue 627 status issue 184 status
Basic (series) issue 628 status
Bulk Upsert issue 468 status issue 629 status issue 378 status issue 308 status issue 185 status
Containers (Struct, Variant, List, Tuple) issue 464 status issue 630 status issue 431 status issue 492 status issue 379 status issue 309 status issue 186 status
Pagination issue 631 status issue 493 status issue 380 status issue 310 status issue 187 status
Partition policies issue 465 status issue 632 status issue 432 status issue 494 status issue 381 status issue 311 status issue 188 status
Read table issue 477 status issue 633 status issue 433 status issue 382 status issue 312 status
Secondary index Workaround issue 634 status issue 1755 status issue 495 status issue 383 status issue 313 status issue 189 status
Secondary index builtin issue 635 status issue 1756 status issue 434 status issue 496 status issue 384 status issue 314 status issue 190 status
TTL issue 636 status issue 435 status issue 497 status issue 385 status issue 315 status issue 191 status
TTL Readtable issue 637 status issue 436 status issue 498 status issue 386 status issue 316 status issue 192 status
URL Shortener (serverless yandex function) issue 478 status issue 638 status issue 446 status issue 387 status issue 317 status issue 193 status
Topic reader issue 1757 status issue 437 status issue 500 status issue 388 status issue 318 status issue 194 status
Topic writer issue 466 status issue 1758 status issue 438 status issue 501 status issue 389 status issue 319 status issue 195 status
Предыдущая
Следующая