Giter Club home page Giter Club logo

youzan / zanredisdb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from absolute8511/zanredisdb

387.0 31.0 60.0 8.02 MB

Yet another distributed fault-tolerant key-value database Compatible with Redis written in Golang.

License: MIT License

Makefile 0.13% Go 87.23% Shell 0.51% HTML 3.40% Python 0.06% JavaScript 3.11% Dockerfile 0.06% C++ 1.29% C 0.06% SCSS 4.15%
raft redis kvstore sharding distributed-database rocksdb json hyperloglog geohash key-value

zanredisdb's Issues

Do you have a wechat or slack to share useful application of ZanRedisDB ?

I'm apply redis-cluster in FeatureStore and model inference. Now I'm looking forward some disk-based KV store and I found ZanKV. Is there any good example of ZanKV applied to real scene? I recommend to create channel on slack or wechat group to share good ideas on this project? what do you think?

anyone working on redisearch add on?

any work started in this area?
Searchable and Indexing

Secondary index support on Hash fields
Secondary index support for json kv
Full text search support

k8s operator

Support using the k8s operator to deploy a full cluster with the PersistentVolume

Jepsen test

Support jepsen test to dig possible bugs for the distributed system.

按照文档编译,RocksDB 编译失败

PORTABLE=1 USE_SSE=1 USE_PCLMUL=1 WITH_JEMALLOC_FLAG=1 JEMALLOC=1 make static_lib

$DEBUG_LEVEL is 0
GEN util/build_version.cc
$DEBUG_LEVEL is 0
GEN util/build_version.cc
CC cache/clock_cache.o
CC cache/lru_cache.o
CC cache/sharded_cache.o
CC db/builder.o
In file included from db/builder.cc:16:
In file included from ./db/compaction/compaction_iterator.h:13:
In file included from ./db/compaction/compaction.h:11:
In file included from ./db/version_set.h:31:
In file included from ./db/column_family.h:18:
In file included from ./db/table_cache.h:25:
In file included from ./table/table_reader.h:14:
./table/get_context.h:91:3: error: explicitly defaulted default constructor is implicitly deleted [-Werror,-Wdefaulted-function-deleted]
GetContext() = default;
^
./table/get_context.h:168:18: note: default constructor of 'GetContext' is implicitly deleted because field 'tracing_get_id_' of const-qualified
type 'const uint64_t' (aka 'const unsigned long long') would not be initialized
const uint64_t tracing_get_id_;
^
In file included from db/builder.cc:19:
./db/internal_stats.h:112:5: error: declaration shadows a variable in namespace 'rocksdb' [-Werror,-Wshadow]
WAL_FILE_BYTES,
^
./include/rocksdb/statistics.h:196:3: note: previous declaration is here
WAL_FILE_BYTES, // Number of bytes written to WAL
^
In file included from db/builder.cc:19:
./db/internal_stats.h:113:5: error: declaration shadows a variable in namespace 'rocksdb' [-Werror,-Wshadow]
WAL_FILE_SYNCED,
^
./include/rocksdb/statistics.h:195:3: note: previous declaration is here
WAL_FILE_SYNCED, // Number of times WAL sync is done
^
In file included from db/builder.cc:19:
./db/internal_stats.h:114:5: error: declaration shadows a variable in namespace 'rocksdb' [-Werror,-Wshadow]
BYTES_WRITTEN,
^
./include/rocksdb/statistics.h:131:3: note: previous declaration is here
BYTES_WRITTEN,
^
In file included from db/builder.cc:19:
./db/internal_stats.h:115:5: error: declaration shadows a variable in namespace 'rocksdb' [-Werror,-Wshadow]
NUMBER_KEYS_WRITTEN,
^
./include/rocksdb/statistics.h:124:3: note: previous declaration is here
NUMBER_KEYS_WRITTEN,
^
In file included from db/builder.cc:19:
./db/internal_stats.h:116:5: error: declaration shadows a variable in namespace 'rocksdb' [-Werror,-Wshadow]
WRITE_DONE_BY_OTHER,
^
./include/rocksdb/statistics.h:201:3: note: previous declaration is here
WRITE_DONE_BY_OTHER, // Equivalent to writes done for others
^
In file included from db/builder.cc:19:
./db/internal_stats.h:117:5: error: declaration shadows a variable in namespace 'rocksdb' [-Werror,-Wshadow]
WRITE_DONE_BY_SELF,
^
./include/rocksdb/statistics.h:200:3: note: previous declaration is here
WRITE_DONE_BY_SELF,
^
In file included from db/builder.cc:19:
./db/internal_stats.h:118:5: error: declaration shadows a variable in namespace 'rocksdb' [-Werror,-Wshadow]
WRITE_WITH_WAL,
^
./include/rocksdb/statistics.h:203:3: note: previous declaration is here
WRITE_WITH_WAL, // Number of Write calls that request WAL
^
8 errors generated.
make: *** [db/builder.o] Error 1

使用rocksdb模拟实现redis zset的时间复杂度是否一样呢?

hi,感谢开源!我在文档找了下关于数据结构映射的文档,没有太详细的说明,曾经关注在rocksdb模拟redis跳表的实现,特别是rev 相关的命令,如: zrevrange、zrevrank、zrevrangebyscore。这些接口在既有的开源项目中实现的非常不理想,毕竟,leveldb的反向迭代器也是比正向慢多了,虽然官网只是提到一句:
image
我在另个实现中测试了其普通zrange的实现,大概1亿条数据,后来看到其实现是靠正向遍历:
image
这是完全不能用于生产环境的实现!
所以,zanRedisDB能否说明下一些操作的时间复杂度以及实现呢?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.