TiDB中文技术文档
目 录 致谢 README TiDB 简介 TiDB 快速入门指南 TiDB 用户文档 TiDB 数据库管理 TiDB 服务 TiDB 进程启动参数 TiDB 系统数据库 TiDB 系统变量 TiDB 专用系统变量和语法 TiDB 访问权限管理 TiDB 用户账户管理 使用加密连接 SQL 优化 理解 TiDB 执行计划 统计信息 语言结构 字面值 数据库、表、索引、列和别名 关键字和保留字 书栈(BookStack.CN) 构建 README TiDB 简介与整体架构 TiDB 简介 TiDB 整体架构 TiDB 快速入门指南 TiDB 用户文档 TiDB 数据库管理 TiDB 服务 TiDB 进程启动参数 TiDB 数据目录 TiDB 系统数据库 TiDB 系统变量 TiDB 专用系统变量和语法 TiDB 服务器日志文件 TiDB 访问权限管理 TiDB 用户账户管理 使用加密连接 SQL 优化 与 MySQL 兼容性对比 TiDB 内存控制 高级功能 TiDB 用户文档 - 23 - 本文档使用 书栈(BookStack.CN) 构建 TiDB 数据库管理 TiDB 服务 TiDB 进程启动参数 TiDB 系统数据库 TiDB 系统变量 TiDB 专用系统变量和语法 TiDB 访问权限管理 TiDB 用户账户管理 使用加密连接 TiDB 数据库管理 - 24 - 本文档使用 书栈(BookStack0 码力 | 444 页 | 4.89 MB | 5 月前3Curve文件系统元数据管理
限于内存,而且在元数据服务启动的 时候,需要等待一段时间加载内存。 一种是元数据需要全部加载到内存,这种情况下,元数据只需要加载一小部分主要的元数据,比如说super block这种,剩下的比如inode,dentry这种,按需加载,而且使用淘汰机制,内存中不常用的元数据可以淘汰出去。这种方式,扩展性好,元数据服务的扩展性不受限于内存,服务上的内存只有几百GB,而硬盘空 间按照20块1.6TB的 6TB的盘来计算,一个服务器上可以有32TB的空间,硬盘的空间比内存到100多倍。但是这种方式,由于数据不能去全部缓存到内存,在查询元数据的时候,需要去盘上读数据,而且在文件系统这种使 用场景下,一次对文件的查找,需要在磁盘上读取多次。 我们的文件系统定位是一个高性能的通用文件系统,元数据的缓存倾向于全缓存。 系统加载的时候从持久化介质中进行加载,需要把一条条持久化的记录加载到内存里。实现把strin0 码力 | 24 页 | 204.67 KB | 5 月前3分布式NewSQL数据库TiDB
2012-2021 UCloud 优刻得 25/120 Pump (⽇志存储层) 0.2 0.24 Drainer(⽇志同步层) 0.2 0.24 CDC(⽇志同步层) 0.2 0.24 2. 硬盘 硬盘 单位(元/GB/⼩时) 基础组件 基础组件 华北⼀ 华北⼀/华北⼆ 华北⼆/上海⼆ 上海⼆/⼴州 ⼴州 ⾹港 ⾹港 拉各斯 拉各斯 TiDB(计算层) 免费 免费 免费 PD(控制层) 免费 免费 地址 } server { listen 2379; # 端⼝⾃定,注意防⽕墙开放端⼝ location / { proxy_pass http://dashboard_server/; } } 3. 启动nginx服务 Dashboard/监控访问 分布式NewSQL数据库 TiDB Copyright © 2012-2021 UCloud 优刻得 45/120 systemctl start nginx0 码力 | 120 页 | 7.42 MB | 5 月前3Curve质量监控与运维 - 网易数帆
小需求(改动小)将实现思路记录到任务管理系统中(JIRA),即可进行开发; 大需求(新模块、复杂功能)需要输出独立设计文档,并进行评审;对于功能或 性能影响较大的功能,还需要进行POC验证;评审和验证通过后才能启动开发 工作。 小需求 实现思路 开发 大需求 设计文档 POC 开发 7/33设计文档规范 设计文档需要具备以下内容: 修订记录 审批记录 系统介绍 相关调研 各ChunkServer上全部copyset,其副本分布的 ChunkServer总数量均衡。 30/33网络丢包10% 自动故障恢复 Curve可在多种软硬件故障场景(如单mds故障、单ChunkServer故障、硬盘故障、网络丢包等) 实现自动恢复,保障存储服务高可用性。 多对多,恢复时间短 精确的流量控制,对io影响很小 Kill一个节点所有ChunkServer进程 31/33快照克隆工具snaptool0 码力 | 33 页 | 2.64 MB | 5 月前3CurveFS S3本地缓存盘方案
存储时,先把数据写到本地缓存硬盘,然后再把本地缓存 硬盘中的数据异步上传到远端对象存储。 方案设计© XXX Page 3 of 9 S3模块接收到写入后先写入写内存缓存页,如果满足持久化的条件后,那么则准备持久化。 如果未配置本地硬盘作为写缓存,那么直接持久化到远端的对象存储;如果配置了本地硬盘作为写缓存,那么则尝试先写入本地硬盘写缓存目录。 写本地硬盘缓存目录之前先判断缓存目录容 直接写入到远端对象存储;否则,则写入到本地硬盘写缓存目录中。文件写入本地硬盘写缓存目录后,从本地硬盘读目录© XXX Page 4 of 9 做一个硬链接链接到该文件。 本次io在本地硬盘写入好之后,异步上传模块会适时把本地硬盘写缓存目录中的文件上传到远端对象存储集群,上传成功后,删除本地写缓存目录中的对应文件。 同时,缓存清理模块会定时检查本地硬盘缓存目录容量情况,如果容量已经达到阈值了,则进行文件的清理工作。 std::string CacheReadDir_;© XXX Page 8 of 9 }; 方案设计思考 本地硬盘如何管理 借用linux本地文件系统进行管理,存储进本地硬盘的内容以文件的形式来表现。 配置一个目录用于本地硬盘的文件管理,对作为缓存盘的本地硬盘进行格式化并挂载到该目录(如果没有缓存盘,那一般而言就是系统盘本身了)。 本地缓存盘的文件内容表示 本地缓存盘存放的文件即是存储到对象存储中的对象。0 码力 | 9 页 | 150.46 KB | 5 月前336-云原生监控体系建设-秦晓辉
irate(container_network_transmit_bytes_total[1m]) * 8 irate(container_network_receive_bytes_total[1m]) * 8 Pod硬盘IO读写流量 irate(container_fs_reads_bytes_total[1m]) irate(container_fs_writes_bytes_total[1m]) Kubernetes 也是直接暴露 /metrics 接口,可以直接抓取 • ETCD 可以考虑使用 sidecar 模式来抓,对于运维比较简 单一些,不需要先部署 ETCD 再去配置抓取规则 • ETCD 强依赖硬盘做持久化,所以要特别关注硬盘相关的 指标,尽量用 SSD 或 NVME 的盘 • 采集方式可以参考 categraf 仓库的 k8s/deployment.yaml,如果是 sidecar 模式,就直接使 用 categraf etcd_disk_backend_commit_duration_seconds • etcd_disk_wal_fsync_duration_seconds etcd 强依赖硬盘做数据持久化,一定要用IO性能高的盘,要 特别关注硬盘相关的写入指标 Kubernetes 资源对象 的监控 Kubernetes资源对象的监控 kube-state-metrics • 所谓的资源对象,就是指Deplo0 码力 | 32 页 | 3.27 MB | 5 月前3阿里巴巴超大规模神龙裸金属 Kubernetes 集群运维实践
Infrastructure (ASI) 的基石上云效率提升 物理机 (云下) 神龙裸金属 (云上) 交付周期 周 分钟级 弹性扩缩容 - 支持 性能 独占 独占 (优于普通ECS) 硬件故障率 硬盘1年故障率 2% 0.8%% (无本地盘) 硬件维修周期 [周, 月] [分钟,天]成本 效率 稳定云化架构 物理机 + 本地存储 + Underlay网 络 神龙/ECS + 远程存储 +0 码力 | 21 页 | 7.81 MB | 5 月前3网易云Service Mesh的产品架构与实现
统计监控 Data Stream Kafka Storm集群 Hbase Hadoop Redis DDB NQS 监控平台 用户空间VPC 管理控制服务 云主机 云网络 云硬盘 UAS Agent 对象存储 UAS Server OpenStack 管控节点(主) 管控节点(备) 监控节点(主) 监控节点(备) 注册中心 控制中心163yun.com 三、基于容器服务的微服务架构实践www0 码力 | 35 页 | 6.33 MB | 5 月前3Rust 程序设计语言 简体中文版 1.85.0
程序,比如我们刚刚编写的,没有任何依赖。如果使用 Cargo 来构建 “Hello, world!” 项目,将只会用到 Cargo 构建代码的那部分功能。在编写更复杂的 Rust 程序时,你 将添加依赖项,如果使用 Cargo 启动项目,则添加依赖项将更加容易。 由于绝大多数 Rust 项目使用 Cargo,本书接下来的部分假设你也使用 Cargo。如果使用 “安 装” 部分介绍的官方安装包的话,则自带了 Cargo。如果通过其他方式安装的话,可以在终端 你可以更快的得到代码能否工作的反馈。因为测试是在同时运行的,你应该确保测试不能相互 依赖,或依赖任何共享的状态,包括依赖共享的环境,比如当前工作目录或者环境变量。 举个例子,每一个测试都运行一些代码,假设这些代码都在硬盘上创建一个 test-output.txt 文 件并写入一些数据。接着每一个测试都读取文件中的数据并断言这个文件包含特定的值,而这 个值在每个测试中都是不同的。因为所有测试都是同时运行的,一个测试可能会在另一个测试 释放锁之后,我们可以打印出互斥器内部的 i32 值,并发现我们刚刚已经将其值改为 6。 在多个线程间共享 Mutex现在让我们尝试使用 Mutex 在多个线程间共享同一个值。我们将启动 10 个线程,并在各个 线程中对同一个计数器值加 1,这样计数器将从 0 累加到 10。示例 16-13 中的例子会出现编 译错误,而我们将通过这些错误来学习如何使用 Mutex ,以及 Rust 0 码力 | 562 页 | 3.23 MB | 8 天前3Service Mesh结合容器云平台的思考和实践
Cloud的微服务方案 NS A Service Zuul Nginx Eureka Server Service 1 Service 2 Ribbon 注册 业务服务 配置中心 启动获取 Monitor Turbine K8S流量 SC流量 同集群调用微服务 Spring Cloud管理平台基于Kubernetes的Spring Cloud实现 Devops: Experience pilot-agent、envoy跟应用部署在一起,这 就有点“污染”应用的意思了。Pilot-Agent的功能介绍 在proxy镜像中,pilot-agent负责的工作包括: • 生成envoy的配置。 • 启动envoy。 • 监控并管理envoy的运行状况,比如envoy出错时pilot-agent负责重启envoy,或者envoy配置变更后 reload envoy。 而envoy负责接受所有发往 pilot-agent有三种运行模式。根据role.Type变量定义,类型为model.Proxy,定义在context.go文件中,允许的3个取值范围为: i. "sidecar" 默认值,可以在启动pilot-agent,调用proxy命令时覆盖。Sidecar type is used for sidecar proxies in the application containers. ii0 码力 | 28 页 | 3.09 MB | 5 月前3
共 37 条
- 1
- 2
- 3
- 4