1.数据持久化
功能是靠集成在tikv中的rocksdb kv实现的。
rocksdb raft:存指令的,对表的修改记录下来,然后让TiKV将指令应用到rocksdb kv中
rocksdb kv:将表数据转换成KV(key values)存在这。
2.分布式一致性
以region为单位,分布式的存储在各个tikv节点。
raft协议:
保证一个region在另2个副本中也存在,只有一个副本的rocksdb kv是leader角色,可读写,另外2个不行。raft协议会把修改应用到rocksdb kv上,然后region会将自己的修改复制到其他副本上。实现强一致。
每一个region及其副本构成raft group。
读取、写入分2种:
纵向:tidb server到ricksdb kv中读取。
横向:raft协议,将修改内容应用到rocksdbkv,并且region自动复制到其他副本。
3.MVCC
4.分布式事务
5.coprocessor(协同处理器)
算子下法
不一定要从tikv中读出出来,到tidb server中做过滤,
可以在每个tikv节点中过滤自己节点中的数据。
除了过滤,还可以做投影、聚合方面的推算。