A pure Go native driver and database/sql interface for YDB, an open-source distributed SQL database.
ydb-go-sdk is the official Go client library for YDB, an open-source distributed SQL database. It provides both a high-performance native driver and a standard database/sql interface, allowing Go developers to build applications that leverage YDB's scalability, high availability, and strict consistency with ACID transactions.
Go developers building applications that require a scalable, consistent distributed SQL database, particularly for OLTP workloads and scenarios needing ACID guarantees.
Developers choose ydb-go-sdk for its official support, comprehensive feature set covering all YDB services, idiomatic Go APIs, and the flexibility of using either a native driver or the standard database/sql interface, backed by robust error handling and a rich ecosystem of observability tools.
Pure Go native and database/sql driver for YDB
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides both a native driver for full control and a standard database/sql interface for familiar usage, as shown in the separate example code blocks for each approach.
Includes clients for all YDB services like discovery, table, query, and topic, enabling complex distributed operations directly from Go, as listed in the supported services section.
Integrates seamlessly with popular Go libraries like Zap, Zerolog, Prometheus, and OpenTelemetry for logging, metrics, and tracing, detailed in the ecosystem table with example links.
Supports multiple authentication methods including OAuth2 and token-based, with extensibility through external packages like ydb-go-yc, as outlined in the credentials section.
Requires understanding YDB's distributed architecture and additional configuration for credentials and services, going beyond simple database connections, which can be daunting for new users.
Key information is spread across the main README, SQL.md, and example directories, making it harder to find cohesive guidance quickly.
Developers must learn YDB's query syntax and distributed concepts, which differ from traditional SQL databases, adding overhead for teams familiar with systems like PostgreSQL.