Categorygithub.com/zhs007/ankadb
modulepackage
0.3.35
Repository: https://github.com/zhs007/ankadb.git
Documentation: pkg.go.dev

# README

AnkaDB

Build Status

AnkaDB is a scalable embedded database with golang.
AnkaDB supports multiple database engines, LevelDB and RocksDB.
AnkaDB is now single-node and will soon support multiple nodes, using the raft protocol.
AnkaDB queries and modifies data with GraphQL.
AnkaDB used GRPC & ProtoBuf v3.

TradingDB is an implementation of AnkaDB.

Key-Value sample is here.
GraphQL sample is here.


Update

v0.6
  • Support raft protocol.
v0.5
  • Support RocksDB.
v0.3
  • Refactor AnkaDB & DBLogic.
  • Add Key-Value interface.
  • Add GraphQL sample.
  • Add test.
  • Add Development Log.
v0.2
  • Refactor the error module and delete the CODE in the protobuf.
  • Support graphiql
  • Replace chan with context
v0.1
  • Complete basic single node.
  • Support graphql query.
  • Support leveldb.
  • Support http service.
  • Support grpc service.
  • Support local queries.

AnkaDB Development Log

Come Here


How To Upgrade v2 To v3

  • change *AnkaDB to AnkaDB.
  • change Config to *Config.
  • change MgrDB to GetDBMgr().
  • remove your dblogic, and use ankadb.NewBaseDBLogic new a DBLogic.
  • Config.ListDB.PathDB doesn't require join Config.PathDBRoot.
  • you can remove all the query result definitions, and use MakeMsgFromResultEx to resolve the query result.

# 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

# Functions

GetContextValueAnkaDB -.
GetContextValueDatabase -.
GetMsgFromDB - get protobuf message from database.
GetMsgFromIterator - get protobuf message from iterator.Iterator.
GetMsgFromParam - get protobuf message from param.
GetResultError - get result error.
GraphQLFormattedErrorArr2Error - []gqlerrors.FormattedError to error.
LoadConfig -.
MakeGraphQLErrorResult -.
MakeMsgFromResult - make protobuf object from graphql.Result.
MakeMsgFromResultEx - make protobuf object from graphql.Result.
MakeObjFromResult - make object from graphql.Result.
MakeParamsFromMsg - change protobuf message to param.
Msg2Map - protobuf message to map.
NewAnkaDB -.
NewBaseDBLogic - new BaseDBLogic.
NewConfig -.
NewDBMgr - new DBMgr.
ParseQuery - parse graphql query.
PutMsg2DB - put protobuf message to database.

# Constants

AnkaDBCoreVersion - ankadb core version.
No description provided by the author

# Variables

ErrCtxAnkaDB - context has not ankadb.
ErrCtxCurDB - context has not currentdb.
ErrCtxSnapshotMgr - query get snapshotMgr from err.
ErrDuplicateDB - duplicate name for database.
ErrGRPCListen - grpc service listen err.
ErrHTTPListen - http service listen err.
ErrHTTPNoQuery - HTTP no query.
ErrInvalidEvent - invalid event.
ErrLoadFileReadSize - loadfile invalid file read size.
ErrNotFoundDB - not found db.
ErrNotFoundKey - not found key.
ErrNotFoundTemplate - not found template.
ErrNotInit - not initialization.
ErrParamIsNotMap - param is not a map.
ErrQuertParams - query params err.
ErrQuertResultDecode - query result decode err.
ErrResultIsNotMap - result is not a map.
EventOnStarted - onStarted.

# Structs

BaseDBLogic - base DBLogic.
Config -.
DBConfig -.
SnapshotMgr - key list snapshot.

# Interfaces

AnkaDB - AnkaDB interface.
DBLogic -.
DBMgr -.

# Type aliases

FuncAnkaDBEvent - func event.
FuncAnkaDBForEach - func event.
FuncOnQueryStream - use in DBLogic.OnQueryStream.