go-pilosa alternatives and similar packages
Based on the "NoSQL Databases" category.
Alternatively, view go-pilosa alternatives based on common mentions on social networks and blogs.
-
gocql
Package gocql implements a fast and robust Cassandra client for the Go programming language. -
qmgo
Qmgo - The Go driver for MongoDB. It‘s based on official mongo-go-driver but easier to use like Mgo. -
mgm
Mongo Go Models (mgm) is a fast and simple MongoDB ODM for Go (based on official Mongo Go Driver) -
redeo
High-performance framework for building redis-protocol compatible TCP servers/services -
go-rejson
Golang client for redislabs' ReJSON module with support for multilple redis clients (redigo, go-redis) -
Kivik
Kivik provides a common interface to CouchDB or CouchDB-like databases for Go and GopherJS. -
godscache
An unofficial Google Cloud Platform Go Datastore wrapper that adds caching using memcached. For App Engine Flexible, Compute Engine, Kubernetes Engine, and more. -
rueidis
Fast Redis RESP3 client with auto pipelining and server-assisted client side caching.
Access the most powerful time series database as a service
Do you think we are missing an alternative of go-pilosa or a related project?
Popular Comparisons
README
Go Client for Pilosa
Go client for Pilosa high performance distributed index.
What's New?
See: [CHANGELOG](CHANGELOG.md)
Requirements
- Go 1.12 and higher.
Install
Download the library in your GOPATH
using:
go get github.com/pilosa/go-pilosa
After that, you can import the library in your code using:
import "github.com/pilosa/go-pilosa"
Usage
Quick overview
Assuming Pilosa server is running at localhost:10101
(the default):
package main
import (
"fmt"
"github.com/pilosa/go-pilosa"
)
func main() {
var err error
// Create the default client
client := pilosa.DefaultClient()
// Retrieve the schema
schema, err := client.Schema()
// Create an Index object
myindex := schema.Index("myindex")
// Create a Field object
myfield := myindex.Field("myfield")
// make sure the index and the field exists on the server
err = client.SyncSchema(schema)
// Send a Set query. If err is non-nil, response will be nil.
response, err := client.Query(myfield.Set(5, 42))
// Send a Row query. If err is non-nil, response will be nil.
response, err = client.Query(myfield.Row(5))
// Get the result
result := response.Result()
// Act on the result
if result != nil {
columns := result.Row().Columns
fmt.Println("Got columns: ", columns)
}
// You can batch queries to improve throughput
response, err = client.Query(myindex.BatchQuery(
myfield.Row(5),
myfield.Row(10)))
if err != nil {
fmt.Println(err)
}
for _, result := range response.Results() {
// Act on the result
fmt.Println(result.Row().Columns)
}
}
Documentation
Data Model and Queries
See: [Data Model and Queries](docs/data-model-queries.md)
Executing Queries
See: [Server Interaction](docs/server-interaction.md)
Importing and Exporting Data
See: [Importing and Exporting Data](docs/imports-exports.md)
Other Documentation
- [Tracing](docs/tracing.md)
Contributing
See: [CONTRIBUTING](CONTRIBUTING.md)
License
See: [LICENSE](LICENSE)
*Note that all licence references and agreements mentioned in the go-pilosa README section above
are relevant to that project's source code only.