Skip to content

Roadmap

Li, Xizhi edited this page May 27, 2018 · 7 revisions

Future Plan

tabledb首先是实现一个多线程,无配置的本地数据库(用户在PC,Android等跨平台设备上可用),前身是localdb(在哈奇的客户端和服务器都有使用), tabledb在Paracraft中也有直接使用。 同时有我们希望NPLRuntime可以内置一个和代码一样具有分布式存储能力的模块。 所以需建立table db raft. 大概是这样的一个定位。

  • adjust snapshot(or backup api), add backup to TableDB

  • adapt to dqlite's sqlite's interface

  • fully usable in keepwork

  • client RPC retry and failover

  • injectWALPage should work with ordinary sql. TEST high pri

  • Refact client, make it a separate File, facilitate the usage

  • Refact Rpc, make Each RPC more clear

  • see if we can utilize in-memory/temp database, this is NO

  • LMDB?, maybe not

  • perhaps we could add pipeline to the tabledb interface, like zookeeper

    Zookeeper "pipelines" the operations in the client API (create, delete, exists, etc). What pipelining means here is that these operations are executed asynchronously by clients. The client calls create, delete, sends the operation to Zookeeper and then returns. At some point later, Zookeeper invokes a callback on the client that tells the client that the operation has been completed and what the results are. This asynchronous interface allow a client to pipeline many operations: after it issues the first, it can immediately issue a second one, and so on. This allows the client to achieve high throughput; it doesn't have to wait for each operation to complete before starting a second one.

Long term

  • Multi-Raft Group. This will be more complex.
Clone this wiki locally