repositorypackage
0.0.0-20221013134735-ce81923df69a
Repository: https://github.com/scylladb/scylla-go-driver.git
Documentation: pkg.go.dev
# Packages
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# README
ScyllaDB Go Driver
This is a high-performance client-side driver for ScyllaDB written in pure Go.
Note: this driver is currently in alpha. Bug reports and pull requests are welcome!
Installation
go get github.com/scylladb/scylla-go-driver
Examples
ctx := context.Background()
cfg := scylla.DefaultSessionConfig("exampleks", "192.168.100.100")
session, err := scylla.NewSession(ctx, cfg)
if err != nil {
return err
}
defer session.Close()
requestCtx, cancel := context.WithTimeout(ctx, 10*time.Second)
defer cancel()
q, err := session.Prepare(requestCtx, "SELECT id, name FROM exampleks.names WHERE id=?")
if err != nil {
return err
}
res, err := q.BindInt64(0, 64).Exec(requestCtx)
Please see the full example program for more information.
All examples are available in the examples directory
Features and Roadmap
The driver supports the following:
- Session and query context support
- Token-aware routing
- Shard-aware routing (specific to ScyllaDB)
- Prepared statements
- Query paging
- CQL binary protocol version 4
- Configurable load balancing policies
- Configurable retry policies
- TLS support
- Authentication support
- Compression (LZ4 and Snappy algorithms)
Ongoing efforts:
- Gocql drop-in replacement
- More tests
- More benchmarks
Missing features:
- Cassandra support
- Batch statements
- Full CQL Events Support
- Support for all CQL types (Generic binding)
- Speculative Execution
- CQL tracing
- Automatic node status updating
- Caching prepared statements
- Non-default keyspace token-aware query routing
Supported Go Versions
Our driver's minimum supported Go version is 1.18
Reference Documentation
- CQL binary protocol specification version 4
License
This project is licensed under Apache License, Version 2.0