Docs for ydbDocs for ydb
  • Contents
  • Getting started
    • Overview
    • Creating a database
    • Authentication
    • YDB command line interface (CLI)
    • YQL query language
    • YDB SDK
    • Single-node cluster deployment
      • Overview
      • Docker
      • Binary file
      • Minikube
    • Useful links
    • How to edit the documentation
      • Overview
      • Content creation guide
      • Structure of subject directories
      • Building documentation
      • How to participate in the development of documentation
      • Creating customized documentation
  • Concepts
    • Overview
    • Terms and definitions
    • Connecting to a database
    • Authentication
    • Data model and schema
    • Serverless and Dedicated operation modes
    • Transactions
    • Secondary indexes
    • Time to Live (TTL)
    • Scan queries
    • Database limits
    • YDB cluster
      • Overview
      • General YDB schema
      • Disk subsystem of a cluster
  • Recommendations
    • Overview
    • Choosing a primary key for maximum performance
    • Secondary indexes
    • Paginated output
    • Loading large data volumes
    • Using timeouts
  • Managing databases
    • Overview
    • Backup and recovery
    • DB system views
  • Managing a cluster
    • Overview
    • Deployment
      • Overview
      • System requirements and recommendations
      • Topology
      • Kubernetes
        • Overview
        • Deploying in Yandex Managed Service for Kubernetes
        • Deploying in AWS Elastic Kubernetes Service
        • Use
      • VM / Baremetal
      • Configuration
      • BlobStorage production configurations
    • Access management
    • Maintaining a cluster's disk subsystem
      • Overview
      • How to stay within the failure model
      • Disk load balancing
      • Methods to free up space on physical devices
      • Cluster extension
      • Adding storage groups
      • Safe restart and shutdown of nodes
      • Enabling/disabling SelfHeal
      • Enabling/disabling Scrubbing
      • Moving VDisks
      • Updating configurations via CMS
      • Updating configuration of the actor system
    • Embedded UI
      • Overview
      • YDB Monitoring
      • Hive web-viewer
      • Connections overview
      • Logs
      • Charts
    • Cluster system views
    • Monitoring
      • Setting up monitoring for a local YDB cluster
      • Grafana dashboards
  • YQL
    • Overview
    • Data types
      • Overview
      • Simple
      • Optional
      • Containers
      • Special
      • Type casting
      • Text representation of data types
      • JSON
    • Syntax
      • Overview
      • Lexical structure
      • Expressions
      • ACTION
      • ALTER GROUP
      • ALTER TABLE
      • ALTER USER
      • CREATE GROUP
      • CREATE TABLE
      • CREATE USER
      • DECLARE
      • DELETE
      • DISCARD
      • DROP GROUP
      • DROP TABLE
      • DROP USER
      • GROUP BY
      • FLATTEN
      • INSERT
      • INTO RESULT
      • JOIN
      • PRAGMA
      • REPLACE
      • SELECT
      • UPDATE
      • UPSERT
      • VALUES
      • WINDOW
      • Unsupported statements
    • Built-in functions
      • Overview
      • Basic
      • Aggregate
      • Window
      • For lists
      • For dictionaries
      • For structures
      • For types
      • For JSON
      • C++ libraries
        • Overview
        • Hyperscan
        • Pcre
        • Pire
        • Re2
        • String
        • Unicode
        • DateTime
        • Url
        • Ip
        • Yson
        • Digest
        • Math
        • Histogram
    • YQL tutorial
      • Overview
      • Creating a table
      • Adding data to a table
      • Selecting data from all columns
      • Selecting data from specific columns
      • Sorting and filtering
      • Data aggregation
      • Additional selection criteria
      • Joining tables with JOIN
      • Inserting and updating data with REPLACE
      • Inserting and updating data with UPSERT
      • Inserting data with INSERT
      • Updating data with UPDATE
      • Deleting data
      • Adding and deleting columns
      • Deleting a table
  • Working with the YDB CLI
    • Overview
    • Install
    • Structure of YDB CLI commands
    • Service commands
    • Connecting to and authenticating with a database
    • Global parameters
    • Working with the DB schema
      • List of objects
      • Information about the object
      • Directories
      • Secondary indexes
      • Renaming tables
    • Operations with data
      • Making a DB query
      • Query execution plan
      • Streaming table reads
      • Scan queries
    • Importing and exporting data
      • Overview
      • File structure of data export
      • Exporting data to the file system
      • Importing data from the file system
      • Connecting to and authenticating with S3
      • Exporting data to S3
      • Importing data from S3
      • Importing data from a file to an existing table
    • Managing profiles
      • Overview
      • Creating a profile
      • Using a profile in requests
      • Getting profile information
      • Deleting a profile
      • Activated profile
    • Information services
      • List of endpoints
      • Authentication
      • YDB CLI version output
    • Load testing
      • Overview
      • Stock load
  • Working with the YDB SDK
    • Overview
    • Installation
    • Authentication
    • Test app
      • Overview
      • C++
      • C# (.NET)
      • Go
      • Java
      • Node.js
      • PHP
      • Python
      • Archive
        • Go v1
        • Go v2
    • Handling errors in the API
    • gRPC API
      • Overview
      • Health Check API
    • Code recipes
      • Overview
      • Authentication
        • Overview
        • Using a token
        • Anonymous
        • Service account file
        • Metadata service
        • Using environment variables
        • Username and password based
      • Balancing
        • Overview
        • Random choice
        • Prefer the nearest data center
        • Prefer the availability zone
      • Running repeat queries
      • Troubleshooting
        • Overview
        • Enable logging
        • Enable metrics in Prometheus
        • Enable tracing in Jaeger
      • Setting the session pool size
      • Upserting data
      • Bulk-upserting data
  • Questions and answers
    • Overview
    • General questions
    • SDK
    • Errors
    • YQL
    • Serverless
    • All questions on one page
  • Downloads
  • Public talks
  • Revision history

YDB SDK

    OpenSource SDKs in the following programming languages are available to work with YDB:

    • C++ https://github.com/ydb-platform/ydb/tree/main/ydb/public/sdk/cpp
    • C# (.NET) https://github.com/ydb-platform/ydb-dotnet-sdk
    • Go https://github.com/ydb-platform/ydb-go-sdk/v3 (archived versions: v1 and v2)
    • Java https://github.com/yandex-cloud/ydb-java-sdk
    • Node.js https://github.com/ydb-platform/ydb-nodejs-sdk
    • PHP https://github.com/yandex-cloud/ydb-php-sdk
    • Python https://github.com/ydb-platform/ydb-python-sdk
    • Rust https://github.com/ydb-platform/ydb-rs-sdk

    The SDK documentation contains the following sections:

    • Installation
    • Authentication
    • Test app
    • Code recipes

    Was the article helpful?