Real world Rust
- Why and how we use Rust in TiKV0694/p20_1.jpg) ## TiKV 整体架构 ## 主要组件 • Asynchronous IO • mio • Storage engine • RocksDB • RPC • Protobuf PRC • Metrics • Prometheus • futures-rs • WIP • rust-grpc 84bac0694/p24_1.jpg) ## Rust 和 C - Rust 对 C 的调用没有任何 overhead C 区域的调用没法保证安全 • TiKV 场景的特殊性 ☐ RocksDB  ## 周边工具 • cargo0 码力 | 29 页 | 506.53 KB | 2 年前3
TiDB v5.1 DocumentationScheduling ..... 1237 12.2 Storage Engine - TiKV …… 1242 12.2.1 TiKV Overview …… 1242 12.2.2 RocksDB Overview …… 1244 12.2.3 Titan Overview …… 1247 12.2.4 Titan Configuration …… 1255 12.3 Storage |Expression indexes|Experimental|Experimental|Experimental|Experi| |Columnar storage (TiFlash)|Y|Y|Y|Y| |RocksDB engine|Y|Y|Y|Y| |Titan plugin|Y|Y|Y|Y| |Invisible indexes|Y|Y|Y|N| |Composite PRIMARY KEY|Y|Y|Y|Y| storage.scheduler-worker-pool-size: 5 raftstore.store-pool-size: 3 raftstore.apply-pool-size: 3 rocksdb.max-background-jobs: 8 raftdb.max-background-jobs: 4 raftdb.allow-concurrent-memtable-write: true0 码力 | 2745 页 | 47.65 MB | 2 年前3
TiDB中文技术文档coprocessor执行时间 和业务相关,但通常不会出现持续高位的值 。Pending task:累积的任务数量 除了 pd worker,其他任何偏高都属于异常 。stall:RocksDB Stall时间 大于 0,表明 RocksDB 忙不过来,需要注意 IO 和 CPU 了 。channel full:channel 满了,表明线程太忙无法处理 如果大于 0,表明线程已经没法处理了 。95% block-cache-size 参数: ■ rocksdb defaultcf block-cache-size(GB) = MEM 80% / TiKV 实例数量 30% ■ rocksdb writecf block-cache-size(GB) = MEM 80% / TiKV 实例数量 45% ■ rocksdb lockcf block-cache-size(GB) = deploy\_dir }}/log|日志目录| |TiKV|tikv\_data\_dir|{{ deploy\_dir }}/data|数据目录| |TiKV|wal\_dir|"|rocksdb write-ahead 日志目录,为空时与 TiKV 数据目录一致| |TiKV|raftdb\_path|"|raftdb 目录,为空时为 tikv\_data\_dir/raft|0 码力 | 444 页 | 4.89 MB | 1 年前3
TiDB v5.3 DocumentationTiDB Scheduling 1328 12.2 Storage Engine - TiKV …… 1333 12.2.1 TiKV Overview …… 1333 12.2.2 RocksDB Overview …… 1335 12.2.3 Titan Overview …… 1338 12.2.4 Titan Configuration …… 1346 12.3 Storage |Expression indexes|Experimental|Experimental|Experimental|Experi| |Columnar storage (TiFlash)|Y|Y|Y|Y| |RocksDB engine|Y|Y|Y|Y| |Titan plugin|Y|Y|Y|Y| |Invisible indexes|Y|Y|Y|Y| |Composite PRIMARY KEY|Y|Y|Y|Y| storage.scheduler-worker-pool-size: 5 raftstore.store-pool-size: 3 raftstore.apply-pool-size: 3 rocksdb.max-background-jobs: 8 raftdb.max-background-jobs: 4 raftdb.allow-concurrent-memtable-write: true0 码力 | 2996 页 | 49.30 MB | 2 年前3
TiDB v5.2 Documentation1.4 TiDB Scheduling 1284 12.2 Storage Engine - TiKV 1289 12.2.1 TiKV Overview 1289 12.2.2 RocksDB Overview 1291 12.2.3 Titan Overview 1294 12.2.4 Titan Configuration 1302 12.3 Storage Engine read and write for TiFlash - TiKV introduces a new flow control mechanism to replace the previous RocksDB write stall mechanism to improve the stability of TiKV flow control • Simplify the operation and previous RocksDB write stall mechanism. Compared with the write stall mechanism, this new mechanism reduces the impact on the stability of foreground write. In specific, when the stress of RocksDB compaction0 码力 | 2848 页 | 47.90 MB | 2 年前3
FISCO BCOS 2.7.2 中文文档和rPBFT可解决拜占庭问题,安全性更高。 - 存储:世界状态的存储从原来的MPT存储结构转为分布式存储,避免了世界状态急剧膨胀导致性能下降的问题;引入可插拔的存储引擎,支持LevelDB、RocksDB、MySQL等多种后端存储,支持数据简便快速扩容的同时,将计算与数据隔离,降低了节点故障对节点数据的影响。 - 网络:支持网络压缩功能,并基于负载均衡的思想实现了良好的分布式网络分发机制,最大化降低带宽开销。 启用 - 默认开启Paillier同态加密和群签名功能 - build_chain脚本使用私钥为secp256k1的根证书和机构证书 - PBFTBackup的存储由LevelDB修改为RocksDB - 重构libdevcrypto模块,优化代码结构,使用TASSL实现国密和非国密TLS连接 - 优化存储模块openTable的锁实现 - 优化区块数据编码为并行 - 优化大对象析构耗时为异步 变更描述 ## 新特性 - AMOP协议支持多播 - AMOP协议支持二进制传输 - JSON-RPC getTotalTransactionCount接口新增历史失败交易数统计更新 - RocksDB模式支持落盘加密 - 使用TCMalloc优化内存使用 ## 修复 - 修复P2P模块偶现不处理消息的问题 - 修复MySQL或External模式下未赋值字段,查询失败 - 修复某些极端场景下同步错误的问题0 码力 | 1422 页 | 91.91 MB | 2 年前3
TiDB v5.2 中文手册980 12.1.4 TiDB 数据库的调度 ..... 986 12.2 存储引擎 TiKV ..... 991 12.2.1 TiKV 简介 ..... 991 12.2.2 RocksDB 简介 ..... 992 12.2.3 Titan 介绍 ..... 994 12.2.4 Titan 配置 ..... 1001 12.3 存储引擎 TiFlash ..... 1004 GA 特性,提供更直观方便的方式观察事务加锁情况以及排查死锁问题。 · 新增 TiFlash I/O 限流功能,提升 TiFlash 读写稳定性。 • 为 TiKV 引入新的流控机制代替之前的 RocksDB write stall 流控机制,提升 TiKV 流控稳定性。 • 简化 Data Migration (DM) 工具运维,降低运维管理的成本。 • TiCDC 支持 HTTP 协议 OpenAPI TIKV 引入了新的流控机制代替之前的 RocksDB write stall 流控机制。相比于 write stall 机制,新的流控机制通过以下改进减少了流控对前台写入稳定性的影响: - 当 RocksDB compaction 压力堆积时,通过在 TiKV scheduler 层进行流控而不是在 RocksDB 层进行流控,避免 RocksDB write stall 造成的 raftstore0 码力 | 2259 页 | 48.16 MB | 2 年前3
What's New In Apache Ozone 1.3系统均衡器(Container Balancer) III. 性能优化 - 文件系统优化(File System Optimization) IV. 性能优化 - 合并Container RocksDB实例 V. 很多其他的性能和稳定性优化 ## 纠删码 ## CHINA APACHE HADOOP MEETUP 2022 $$ \begin{array}{c|cccc}{{{1}}} count = 5K ## 合并Container RocksDB实例 - 现状和问题 ## 每个Container有独立的RocksDB实例保存元数据(V2) ## 问题 I. 大容量磁盘,系统中有上万个Container和RocksDB实例 II. 内存开销大,需保留众多RocksDB实例 III. 性能影响,频繁create/open/close实例 IV 稳定性,频繁open/close非RocksDB的推荐用法,容易触发潜在问题 解决办法 - 合并Container RocksDB实例  Container Replicas ## 新方案 ## 每个盘上所有Container共用一个RocksDB实例保存元数据(V3)0 码力 | 24 页 | 2.41 MB | 2 年前3
TiDB v5.1 中文手册数据库的计算 …… 946 12.1.4 TiDB 数据库的调度 …… 952 12.2 存储引擎 TiKV …… 957 12.2.1 TiKV 简介 …… 957 12.2.2 RocksDB 简介 …… 958 12.2.3 Titan 介绍 …… 960 12.2.4 Titan 配置 …… 967 12.3 存储引擎 TiFlash …… 970 12.3.1 TiFlash |索引和约束|5.2|5.1|5.0|4.0| |---|---|---|---|---| |表达式索引|实验特性|实验特性|实验特性|实验特性| |列式存储 (TiFlash)|Y|Y|Y|Y| |RocksDB 引擎|Y|Y|Y|Y| |Titan 插件|Y|Y|Y|Y| |不可见索引|Y|Y|Y|N| |复合主键|Y|Y|Y|Y| |唯一约束|Y|Y|Y|Y| |整型主键上的聚簇索引|Y|Y|Y|Y| storage.scheduler-worker-pool-size: 5 raftstore.store-pool-size: 3 raftstore.apply-pool-size: 3 rocksdb.max-background-jobs: 8 raftdb.max-background-jobs: 4 raftdb.allow-concurrent-memtable-write: true0 码力 | 2189 页 | 47.96 MB | 2 年前3
TiDB v5.3 中文手册…… 1015 12.1.4 TiDB 数据库的调度 …… 1021 12.2 存储引擎 TiKV …… 1026 12.2.1 TiKV 简介 …… 1026 12.2.2 RocksDB 简介 …… 1027 12.2.3 Titan 介绍 …… 1029 12.2.4 Titan 配置 …… 1036 12.3 存储引擎 TiFlash …… 1039 12.3.1 1|5.0|4.0| |---|---|---|---|---|---| |表达式索引|实验特性|实验特性|实验特性|实验特性|实验特性| |列式存储 (TiFlash)|Y|Y|Y|Y|Y| |RocksDB 引擎|Y|Y|Y|Y|Y| |Titan 插件|Y|Y|Y|Y|Y| |不可见索引|Y|Y|Y|Y|N| |复合主键|Y|Y|Y|Y|Y| |唯一约束|Y|Y|Y|Y|Y| |整型主键上的聚簇索引|Y|Y|Y|Y|Y| storage.scheduler-worker-pool-size: 5 raftstore.store-pool-size: 3 raftstore.apply-pool-size: 3 rocksdb.max-background-jobs: 8 raftdb.max-background-jobs: 4 raftdb.allow-concurrent-memtable-write: true0 码力 | 2374 页 | 49.52 MB | 2 年前3
共 199 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20













