当前位置: 首页 > news >正文

网站制作多少钱一个网站软件开发招聘

网站制作多少钱一个,网站软件开发招聘,工程建设信息网站资质公告,企业品牌营销型网站建设上个章节我们讲解了TiDB的发展和特性#xff0c;这节我们讲下TiDB具体的架构和应用场景。首先我们回顾下TiDB的优势。 TiDB的优势 与传统的单机数据库相比#xff0c;TiDB 具有以下优势#xff1a; 纯分布式架构#xff0c;拥有良好的扩展性#xff0c;支持弹性的扩缩容…上个章节我们讲解了TiDB的发展和特性这节我们讲下TiDB具体的架构和应用场景。首先我们回顾下TiDB的优势。 TiDB的优势 与传统的单机数据库相比TiDB 具有以下优势 纯分布式架构拥有良好的扩展性支持弹性的扩缩容支持 SQL对外暴露 MySQL 的网络协议并兼容大多数 MySQL的语法在大多数场景下可以直接替换MySQL默认支持高可用在少数副本失效的情况下数据库本身能够自动进行数据修复和故障转移对业务透明支持 ACID事务对于一些有强一致需求的场景友好例如银行转账具有丰富的工具链生态覆盖数据迁移、同步、备份等多种场景 TiDB的组件 要深入了解 TiDB 的水平扩展和高可用特点首先需要了解 TiDB 的整体架构。TiDB 集群主要包括三个核心组件TiDB ServerPD Server 和 TiKV Server此外还有用于解决用户复杂 OLAP 需求的 TiSpark 组件。 在内核设计上TiDB 分布式数据库将整体架构拆分成了多个模块各模块之间互相通信组成完整的 TiDB 系统。对应的架构图如下 TiDB Server TiDB Server 负责接收 SQL 请求处理 SQL 相关的逻辑并通过 PD 找到存储计算所需数据的 TiKV 地址与 TiKV 交互获取数据最终返回结果。TiDB Server 是无状态的其本身并不存储数据只负责计算可以无限水平扩展可以通过负载均衡组件如 LVS、HAProxy 或 F5对外提供统一的接入地址。 PD (Placement Driver) Server Placement Driver (简称 PD) 是整个集群的管理模块其主要工作有三个 一是存储集群的元信息某个 Key 存储在哪个 TiKV 节点二是对 TiKV 集群进行调度和负载均衡如数据的迁移、Raft group leader 的迁移等三是分配全局唯一且递增的事务 ID。 PD 通过 Raft 协议保证数据的安全性。Raft 的 leader server 负责处理所有操作其余的 PD server 仅用于保证高可用。建议部署奇数个 PD 节点 TiKV Server TiKV Server 负责存储数据从外部看 TiKV 是一个分布式的提供事务的 Key-Value 存储引擎。存储数据的基本单位是 Region每个 Region 负责存储一个 Key Range从 StartKey 到 EndKey 的左闭右开区间的数据每个 TiKV 节点会负责多个 Region。TiKV 使用 Raft 协议做复制保持数据的一致性和容灾。副本以 Region 为单位进行管理不同节点上的多个 Region 构成一个 Raft Group互为副本。数据在多个 TiKV 之间的负载均衡由 PD 调度这里也是以 Region 为单位进行调度。 TiSpark TiSpark 作为 TiDB 中解决用户复杂 OLAP 需求的主要组件将 Spark SQL 直接运行在 TiDB 存储层上同时融合 TiKV 分布式集群的优势并融入大数据社区生态。至此TiDB 可以通过一套系统同时支持 OLTP 与 OLAP免除用户数据同步的烦恼。 TiFlash TiFlash 是一类特殊的存储节点。和普通 TiKV 节点不一样的是在 TiFlash 内部数据是以列式的形式进行存储主要的功能是为分析型的场景加速。 TiKV整体架构 与传统的整节点备份方式不同的TiKV是将数据按照 key 的范围划分成大致相等的切片下文统称为 Region每一个切片会有多个副本通常是 3 个其中一个副本是 Leader提供读写服务。TiKV 通过 PD 对这些 Region 以及副本进行调度以保证数据和读写负载都均匀地分散在各个 TiKV 上这样的设计保证了整个集群资源的充分利用并且可以随着机器数量的增加水平扩展。 Region分裂与合并 当某个 Region 的大小超过一定限制默认是 144MB后TiKV 会将它分裂为两个或者更多个 Region以保证各个 Region 的大小是大致接近的这样更有利于 PD 进行调度决策。同样当某个 Region 因为大量的删除请求导致 Region 的大小变得更小时TiKV 会将比较小的两个相邻 Region 合并为一个。 Region调度 Region 与副本之间通过 Raft 协议来维持数据一致性任何写请求都只能在 Leader 上写入并且需要写入多数副本后默认配置为 3 副本即所有请求必须至少写入两个副本成功才会返回客户端写入成功。 当 PD 需要把某个 Region 的一个副本从一个 TiKV 节点调度到另一个上面时PD 会先为这个 Raft Group 在目标节点上增加一个 Learner 副本复制 Leader 的数据。当这个 Learner 副本的进度大致追上 Leader 副本时Leader 会将它变更为 Follower之后再移除操作节点的 Follower 副本这样就完成了 Region 副本的一次调度。 Leader 副本的调度原理也类似不过需要在目标节点的 Learner 副本变为 Follower 副本后再执行一次 Leader Transfer让该 Follower 主动发起一次选举成为新 Leader之后新 Leader 负责删除旧 Leader 这个副本。 分布式事务 TiKV 支持分布式事务用户或者 TiDB可以一次性写入多个 key-value 而不必关心这些 key-value 是否处于同一个数据切片 (Region) 上TiKV 通过两阶段提交保证了这些读写请求的 ACID 约束。 高可用架构 高可用是 TiDB 的另一大特点TiDB/TiKV/PD 这三个组件都能容忍部分实例失效不影响整个集群的可用性。下面分别说明这三个组件的可用性、单个实例失效后的后果以及如何恢复。 TiDB高可用 TiDB 是无状态的推荐至少部署两个实例前端通过负载均衡组件对外提供服务。当单个实例失效时会影响正在这个实例上进行的 Session从应用的角度看会出现单次请求失败的情况重新连接后即可继续获得服务。单个实例失效后可以重启这个实例或者部署一个新的实例。 PD高可用 PD 是一个集群通过 Raft 协议保持数据的一致性单个实例失效时如果这个实例不是 Raft 的 leader那么服务完全不受影响如果这个实例是 Raft 的 leader会重新选出新的 Raft leader自动恢复服务。PD 在选举的过程中无法对外提供服务这个时间大约是3秒钟。推荐至少部署三个 PD 实例单个实例失效后重启这个实例或者添加新的实例。 TiKV高可用 TiKV 是一个集群通过 Raft 协议保持数据的一致性副本数量可配置默认保存三副本并通过 PD 做负载均衡调度。单个节点失效时会影响这个节点上存储的所有 Region。对于 Region 中的 Leader 结点会中断服务等待重新选举对于 Region 中的 Follower 节点不会影响服务。当某个 TiKV 节点失效并且在一段时间内默认 10 分钟无法恢复PD 会将其上的数据迁移到其他的 TiKV 节点上。 应用场景 MySQL分片与合并 TiDB 应用的第一类场景是 MySQL 的分片与合并。对于已经在用 MySQL 的业务分库、分表、分片、中间件是常用手段随着分片的增多跨分片查询是一大难题。TiDB 在业务层兼容 MySQL 的访问协议PingCAP 做了一个数据同步的工具——Syncer它可以把TiDB 作为一个 MySQL Slave将 TiDB 作为现有数据库的从库接在主 MySQL 库的后方在这一层将数据打通可以直接进行复杂的跨库、跨表、跨业务的实时 SQL 查询。 直接替换MySQL 第二类场景是用 TiDB 直接去替换 MySQL。如果你的IT架构在搭建之初并未考虑分库分表的问题全部用了 MySQL随着业务的快速增长海量高并发的 OLTP 场景越来越多如何解决架构上的弊端呢? 在一个 TiDB 的数据库上所有业务场景不需要做分库分表所有的分布式工作都由数据库层完成。TiDB 兼容 MySQL 协议所以可以直接替换 MySQL而且基本做到了开箱即用完全不用担心传统分库分表方案带来繁重的工作负担和复杂的维护成本友好的用户界面让常规的技术人员可以高效地进行维护和管理。另外TiDB 具有 NoSQL 类似的扩容能力在数据量和访问流量持续增长的情况下能够通过水平扩容提高系统的业务支撑能力并且响应延迟稳定。 数据仓库 TiDB 本身是一个分布式系统第三种使用场景是将 TiDB 当作数据仓库使用。TPC-H 是数据分析领域的一个测试集TiDB 2.0 在 OLAP 场景下的性能有了大幅提升原来只能在数据仓库里面跑的一些复杂的 Query在 TiDB 2.0 里面跑时间基本都能控制在 10 秒以内。当然因为 OLAP 的范畴非常大TiDB 的 SQL 也有搞不定的情况为此 PingCAP 开源了 TiSparkTiSpark 是一个 Spark 插件用户可以直接用 Spark SQL 实时地在 TiKV 上做大数据分析。 作为其他系统的模块 TiDB 是一个传统的存储跟计算分离的项目其底层的 Key-Value 层可以单独作为一个 HBase 的 Replacement 来用它同时支持跨行事务。TiDB 对外提供两个 API 接口一个是 ACID Transaction 的 API用于支持跨行事务另一个是 Raw API它可以做单行的事务换来的是整个性能的提升但不提供跨行事务的 ACID 支持。用户可以根据自身的需求在两个 API 之间自行选择。例如有一些用户直接在 TiKV 之上实现了 Redis 协议将 TiKV 替换一些大容量对延迟要求不高的 Redis 场景。
http://www.w-s-a.com/news/394389/

相关文章:

  • 网站被百度收录百度一下你就知道 官网
  • 雅客网站建设做网站用什么做
  • 做宣传海报网站专业网站设计速寻亿企邦
  • 秦皇岛市住房和城乡建设局网站有关网站开发的参考文献
  • 晋城城乡建设局网站深圳外贸业务员工资
  • 招聘网站开发的公司销售运营主要做什么
  • 徐州网站无障碍建设wordpress证书
  • c语言可以做网站吗请人做网站收费多少
  • 中英双语网站怎么做网站为什么做静态
  • 毕业设计做音乐网站可以吗网站运营方案
  • windos 下做网站工具网站右侧返回顶部
  • 点餐网站怎么做济源网站建设济源
  • 嘉兴公司网站制作文明网站的建设与管理几点思考
  • 扬州公司做网站徐州网站建设优化
  • 手机网站弹出层插件有哪些wordpress 文章标签
  • 网站建设详细合同范本长沙注册公司流程与费用
  • 搜索引擎网站录入wordpress怎么修改导航
  • 业务接单网站重庆网站制
  • 绿色农产品网站景区网站建设策划方案
  • 服务器做ssr后还可以做网站吗品牌形象设计公司
  • 太原网站制作计划wordpress创建文章
  • 网站优化要怎么做seo网站关键词优化报价
  • 公司网站友情链接怎么做副链华为荣耀手机官网
  • 一条龙做网站旅游网页设计模板图凡科
  • 中山网站建设哪家便宜在中国做外国网站怎么收钱
  • 网站优化大计孝感注册公司
  • 设计接单app平台有哪些在线网站seo诊断
  • 兰州网站建设推广现代营销手段有哪些
  • 郴州网站seo优化网络安全哪个培训班比较好
  • 做网站需要记哪些代码企业网站建设思路