Giter Club home page Giter Club logo

cane_kvdb's Introduction

cane_kvdb

用java实现一个分布式键值存储

为什么要写?

这么多现成的,redis,memcache,为什么还要实现一个java版本的呢?性能更加难以超越其他的开源项目?

  1. 为了进一步学习java
  1. 为了进一步学习数据结构
  1. 为了进一步学习i/o,多线程,存储管理,并发编程
  1. 为了进一步学习分布式
  1. 发现一些其他项目做不到的点

项目中依赖的工具

  1. gradle管理依赖

  2. log4j作为日志输出

单元测试

  1. gradle test会跑所有的testcase

  2. gradle test -Dtest.single=TestCaneKVLogger 跑单个testcase

设计思路

数据结构

可选择方案如下:(参考现有的一些项目)

1.b-tree

2.hash表

3.lsm

etc

最终方案:是用哈希表实现(内存中是用哈希表,持久化的时候按照定义好的格式顺序写入文件系统)

cane_kvdb's People

Contributors

canezk avatar

Stargazers

tony eve avatar  avatar

Watchers

James Cloos avatar  avatar

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.