iDDBS分布式数据库产品白皮书.doc_第1页
iDDBS分布式数据库产品白皮书.doc_第2页
iDDBS分布式数据库产品白皮书.doc_第3页
iDDBS分布式数据库产品白皮书.doc_第4页
iDDBS分布式数据库产品白皮书.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

iDDBSiDDBS 分布式数据库系统分布式数据库系统 产品白皮书产品白皮书 二二 一四二一四二 一四年十一月一四年十一月 第第 2 页 共页 共 14 页页 目目 录录 1 引言引言 3 2 产品简介产品简介 3 3 产品业务能力产品业务能力 4 4 产品功能产品功能 4 4 1 产品功能架构 4 4 1 核心功能描述 5 5 产品特点与优势产品特点与优势 7 5 1 产品特点 7 5 2 产品优势 8 6 产品性能产品性能 10 6 1 分布式数据库研发 内部集成测试 10 6 1 1 测试环境 10 6 1 2 测试摘要 11 6 2 性能总结 12 7 平台环境要求平台环境要求 12 软件运行环境 13 8 附录附录 13 第第 3 页 共页 共 14 页页 1 引言引言 随着传统的数据库技术日趋成熟 计算机网络技术的飞速发展和应用范围的 扩充 数据库应用已经普遍建立于计算机网络之上 这时集中式数据库系统表现 出它的不足以及商业分布式方案代价大 1 集中式处理 势必造成性能瓶颈 应用程序集中在一台计算机上运行 一旦该计算机发生故障 则整个系统受到影响 可靠性不高 集中式处理引起系 统的规模和配置都不够灵活 系统的可扩展性差 2 海量数据无法支撑 越来越多的互联网企业在使用着一些关系型数据 库以及非关系型数据库 但目前很多产品目前没有一个很好数据库架构来解 决海量数据存储以及高访问量问题 通常受限于软件 硬件 网络 IO 瓶颈 它们无法支撑更多的访问量以及数据容量 在目前互联网上很少有一种比较 通用的解决手段 3 一般企业在这方面没有投入大量成本去做相关的技术研究 通常会在客 户端做相应的技术改造 而这些方案是在特定语言以及特定的软件框架下形成的 很难有一个通用型 跨语言 开发框架难以复用的问题 也对相关的运维人员 比如 DBA 带来维护上面的困难 随着信息技术的发展 人们对海量数据的存储要求更加迫切 对数据查询性 能的要求也更加迫切 对数据的扩展能力和高可用也有着强烈的要求 因此分布 数据库的落地成为了必然 2 产品产品简介简介 iDDBS 是一个支持海量数据的高性能分布式数据库系统 具有对客户端 透明 负载均衡 高可用性 低成本等特性 iDDBS 的核心部分是分布式数 据库代理层软件 代理层是座落与 Client 和 DB Server s 之间的软件 其主要 功能是执行 SQL 解析 分库分表 实现读写分离 数据对称 非对称复制 路 由表 执行并发 SQL 计算 切片 SQL 到多台数据库并合并回笼结果等功能 同时 iDDBS 能够有效的将分布在不同地域的数据库资源进行有效的整合 可 第第 4 页 共页 共 14 页页 以根据业务需要随时扩展节点 满足数据的海量存储和高并发的数据访问需要 可以将业务分摊到不同的节点进行业务处理 而应用程序却不需要做改动处理 3 产品业务能力产品业务能力 iDDBS 分布式数据库系统结合了当前 ETL 理论 分布式数据库理论 中国移 动详单查询业务 其业务能力架构如下图所示 服务接入模块以 mysql 驱动包方式 连接到分布式数据库代理中间件 通过 消息处理 路由转换 负载均衡 将各业务端的服务请求发送到各数据库节点 数据库节点收到代理的请求信息 将处理的结果发送到代理服务器 代理服 务器根据请求的 sql 信息 将返回的结果集进行合并处理 发送到服务请求端 QoS 和业务服务监控提供实时 灵活的 SLA 能力 满足对不同层次客户的个 性化服务要求 负载均衡 消消息息管管理理 访访问问控控制制 通讯管理 代代理理存存储储层层 应应用用接接口口层层 路路由由管管理理 代代理理管管理理层层 参数配置 代理服务 心跳检测 数据库访问 节点管理路由管理 文件 读写分离Sql解析垂直分库 消息拆分消息重组 Nio通讯Mysql协议 水平分库 第第 5 页 共页 共 14 页页 4 产品功能产品功能 4 1 产品功能架构产品功能架构 iDDBS 分布式数据库系统的功能架构如下图所示 Oracle向mysql同步 代理配置 消息处理路由管理 读写分离函数支持 权限配置物理节点虚拟节点规则管理通讯管理线程管理 Mysql数据同步 对象管理通讯管理 读库策略 数据拆分 写库策略 心跳检测 事务处理 路由策略 取模算法 比较算法 负载均衡高可用 Avage 分页处理 消息拆分 消息重组 Count Max Min Order by 默认路由 水平切分垂直切分 数据同步 规则配置 通讯管理 Binlog日志 同步执行 消息长度 消息内容 数据获取 数据转换 同步条件 日志迁移 Sql解析Sql类型定义 消息重组自定义函数 同步任务 数据入库 4 1 核心功能描述核心功能描述 核心功能的简要描述如下表 一级一级二级二级三级三级 数据导出连接管理 数据导出 sql 管理 数据导出变量传递管理 数据导出 动态日期表数据导出管理 数据导入连接管理 导入数据表名称管理数据导入 动态日期表数据导入管理 数据同步管理 历史数据清理数据清理连接管理 第第 6 页 共页 共 14 页页 删除数据的表名称管理 删除数据的字段条件管理 冗余处理主备切换当主机出现故障自动切换到备用服务器上 垂直切分支持自动故障自动切换当主机出现故障自动切换到备用服务器上 负载均衡优先策略处理 进行对节点负载信息和执行结果选择要发 送的服务节点 只有提供了正确的代理用户账号和密码才 可以连接代理服务器客户端用户权限验证 对可连接的 ip 号段信息进行管理 初始化对象连接池的数量 初始化数据库最大连接数 初始化数据库最小连接数 设置连接池的刷新周期 设置数据库空闲连接数 连接管理 对可连接的 ip 进行可访问控制并对用户名 和密码进行控制 代理服务读对象池 io 个数管理 代理服务客户端线对象池个数管理对象池管理 代理服务可处理 mysql 对象池个数管理 线程池管理代理服务线程池个数管理 心跳检测管理定时将心跳信息和异常信息写入文件 能够获取本次会话的 sql 信息 路由服务能够将通过规则服务信息和 sql 信息获取 要路由的连接池节点 规则服务 能够加载规则服务文件对规则文件路径进 行配置 session 记忆服务 在事务请求处理中 通过 session 信息进 行事务的开通 提交 回滚操作 设置每次接收数据的最大吞吐量 设置每次发送数据的最大吞吐量 对代理服务设置超时时长 如果服务超出 连接时长 就断开连接 核心支撑服务 服务管理 对代理服务的线程个数进行设置 通过线 程数优化效率 日志获取 日志迁移 SQL 执行 冗余处理数据同步 多节点数据发送 支持 ddl 操作语言路由 所 有 ddl 操作 进入 ddl 池 支持 ddl 操作语言路由 所有 ddl 操作 进入 ddl 池路由机制 能够管理支持事务的服务节能够管理支持事务的服务节点 在事务队 第第 7 页 共页 共 14 页页 点 在事务队列中的节点支 持事务 列中的节点支持事务 查询消息重组 根据查询条件计算要查询数据节点的个数 根据要查询的总数据的条数计算平均分布 到每个节点的条数和查询数据的起始位置 将查询条件拆分到不同的数据接点上 最 终件数据结果合并 支持 max 结果集合并 支持 min 结果集合并 支持 count 结果集合并 结果集合并 支持 sum 结果集合并 结果集重组查询支持 order by 处理 能够管理支持事务的服务节 点 在事务队列中的节点支 持事务 能够管理支持事务的服务节点 在事务队 列中的节点支持事务 写服务器支持多服务器 读写分离 读取数据支持多服务器 支持取模路由 支持插入时按照默认字段路由 支持批量插入路由 水平切分支持多服务器主备机制 支持同结构日期表路由 能够对规则文件进行新增 修改 删除 数据路由规则管理 规则文件在修改后能即时生效 能够对路由策略节点进行 新增 修改 删除 路由策略节点管理 路由策略节点进行修改后能够即时生效 能够对虚拟节点进行 新增 修改 删除 虚拟节点管理 虚拟节点在修改后能即时生效 对路由异常 sql 写入日志进行监控 对消息处理异常写入日志进行监控 对连接池异常写入日志进行监控 分析监控 对代理后台项目异常写入日志进行监控 故障切换策略当主机出现故障自动切换到备用服务器上 策略管理 负载均衡策略 根据负载和上次执行节点情况选择可用节 点发送 循环发送策略 按照配置节点顺序 循环选择节点进行发 送 负载均衡 高可用策略 当接触出现问题 可以将数据发送到备份 节点 第第 8 页 共页 共 14 页页 5 产品特点与优势产品特点与优势 5 1 产品特点产品特点 支持 TCP 的服务访问通讯协议 支持事务处理机制 支持 ddl 操作语言在多节点执行 支持插入数据无默认字段也可以进行路由 支持一条 sql 插入多记录路由 支持批量提交 支持 count 查询结果集合并为一条记录 支持 max 查询结果集合并为一条记录 支持 min 查询结果集合并为一条记录 支持 sum 查询结果集合并为一条记录 支持 order by 查询多节点结果排序 支持分页数据路由 支持动态代理参数修改 支持动态规则加载 支持临时新增服务节点和虚拟节点 支持临时可访问 ip 端变更 支持同类数据表路由切分 支持单个字段多节点 distinct 查询 支持单个字段多节点 group by 查询 支持存储过程路由 支持多用户隔离访问 第第 9 页 共页 共 14 页页 5 2 产品优势产品优势 路由管理路由管理 采用读写分离策略 将需要执行的 sql 进行甄别 如果属于写策略就将 sql 发 送到对应的写接入端 如果属于读策略就将 sql 发送对应的读接入端 同时降 低了服务器压力 实现读写分离策略 采用轮询策略 将业务请求循环的发送到业务节点 降低了单个节点的压力 采用高可用策略 在单个节点出现故障时能够切换到备用节点调用 保障业务 的正常运行 采用心跳监控策略 实时对调用节点进行监控 将出现故障的节点排除到可调 用节点之外 实现了数据库节点的高可用 路由规则的变化能够即时生效 保障业务能够顺利进行扩展 消息管理消息管理 采用 NIO 无阻塞通讯模式 业务节点不会由于节点请求频繁导致大量请求被 阻塞 保障业务能够不间断的执行 采用消息包进行拆分处理模式 对每次接受的最大数据量和发送的最大数据量 进行分包处理 保障业务不会因为占用大量内存而无法运行 支持消息节点的重构处理 将消息进行重构处理 代理配置设管理代理配置设管理 采用定时任务检测 将最新更新的配置信息加载到服务中 通过定时任务加载 可以保障在不影响系统运行的情况下加入新的业务规则 供业务系统调用 采用多线程处理机制 对业务请求进行处理 保障业务的高效运行 采用数据库连接池机制 保障业务不用频繁的连接数据库和关闭数据库 提高 系统性能 支持临时新增服务节点 保障业务的临时扩展 第第 10 页 共页 共 14 页页 数据同步管理数据同步管理 采用动态获取表机制 保障日期表能够进行同步处理 采用 load 机制 保障数据表高效的同步到数据表 采用集群处理机制 保障业务在业务在多个节点同时运行 采用组件开发思想 降低系统的耦合性 提高系统的扩展性 结果集合并处理结果集合并处理 支持 order by 结果的重新排序 支持 distinct 结果的重新组合 支持 sum 结果的重新组合 支持 max 结果的重新组合 支持 min 结果的重新组合 支持 count 结果的重新组合 支持 group by 结果的重新组合 6 产品性能产品性能 6 1 分布式数据库研发 内部集成测试分布式数据库研发 内部集成测试 6 1 1 测试环境测试环境 测试时间 2013 2 20 2013 2 22 测试地点 北京 测试环境架构如下图所示 第第 11 页 共页 共 14 页页 业务服务器 客户端 数据库代理服务器1 数据库代理服务器2 Oracle数据库 写操作 写操作 操作业务系统 Mysql数据库1 Mysql数据库2 读操作 读操作 读操作 读操作 数据同步服务器 获取可同步数据 将数据导入到对应服务器 将数据导入到对应服务器 Mysql双向数据同步 6 1 2 测试摘要测试摘要 6 1 2 1 查询性能查询性能 Mysql 4 个服务实例采用双机互备 200 线程并发情况的指标 数据 量 新增每条 记录用时 秒 查询单 条记录耗时 秒 每秒处理 插入并发数 条 每秒处理插入 并发数 条 100 万 0 1640 1422009 7560 976 7904 22535 300 万 0 1870 1721534 7593 583 6081 39535 第第 12 页 共页 共 14 页页 500 万 0 320 2131312 54669 48357 2 亿 1 450 529768 96551 724 2089 03592 Mysql 4 个服务实例采用双机互备 500 线程并发情况的指标 数据 量 新增每条 记录用时 秒 查询单 条记录耗时 秒 每秒处理 插入并发数 条 每秒处理查询 并发数 条 100 万 0 11640 1423609 7560 976 36904 22535 300 万 0 1970 1722534 7593 583 24081 39535 500 万 0 3420 2131312 513669 48357 2 亿 1 650 5291658 9655 1724 8089 03592 6 2 性能性能总结总结 代理中间件的性能在 500 并发以下 不存在性能瓶颈问题 代理的性能和服务器的配置存在很大的关系 节点的增加对于服务的读性能有很大提高 基本成水平增长 节点的写性能在不开通事务的情况下也随着节点数量的增加进行增加 在 开通事务时 如果是多用户处理 也可以有效的提高写并发的性能 第第 13 页 共页 共 14 页页 7 平台环境要求平台环境要求 1 分布式数据库代理服务器 X86 PC 服务器或刀片服务器 磁盘空间 100G 内存 16G 100Mbps 以上网络连接 数量 2 台 2 数据存储服务器 X86 PC 服务器或刀片服务器 14T 磁盘空间 1000G 根据数据量大小计算 内存 4G 100Mbps 以上网络连接 数量 4 台 软件运行环境软件运行环境 支持 Unix Linux Windows 操作系统 支持 mysql oracle 数据库 支持 jdk1 6 及以上版本 支持 Java C C Net Php 等的客户端访问 8 附录附录 SOA Service Oriented Architecture 面向服务的体系架构 分布式数据库系统分布式数据库系统 分布式数据库系统是在集中式数据库系统的基础上发展起来的 是计算机技术和网络技术结合的产物 分布式数据库系统适合于单位分散的部门 允许各个部门将其常用的数据存储在本地 实施就地存放本地使用 从而提高响应 速度 降低通信费用 分布式数据库系统与集中式数据库系统相比具有可扩展性 通 过增加适当的数据冗余 提高系统的可靠性 在集中式数据库中 尽量减少冗余度 第第 14 页 共页 共 14 页页 是系统目标之一 其原因是 冗余数据浪费存储空间 而且容易造成各副本之间的不 一致性 而为了保证数据的一致性 系统要付出一定的维护代价 减少冗余度的目标 是用数据共享来达到的 而在分布式数据库中却希望增加冗余数据 在不同的场地存 储同一数据的多个副本 其原因是 提高系统的可靠性 可用性当某一场地出现 故障时 系统可以对另一场地上的相同副本进行操作 不会因一处故障而造成整个系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论