DDS联通测试培训胶片课件.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《DDS联通测试培训胶片课件.pptx》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DDS 联通 测试 培训 胶片 课件
- 资源描述:
-
1、DDS联通测试培训胶片联通测试培训胶片Page 2目录DDS部署及使用51产品集成的困境与挑战DDS特性介绍3DDS开发指南4DDS产品定位2产产品品集集成成的的困困境境和和挑挑战战Page 3IT系统集中化建设例如:联通CRM&Billing集中化海量用户互联网应用例如:移动的各类基地企业服务集成,ICT融合越来越深入,数据需要集中建设集中服务异构数据库,使得数据复杂性的不断增加客户不想直面众多的、异构的数据CRMASPISP/ICPORTALPage 4目录DDS部署及使用52DDS产品定位DDS特性介绍3DDS开发指南4产品集成的困境与挑战1DDS产产品品定定位位Page 51、提供透明
2、的数据访问接口2、支持水平/垂直分库,支持海量数据储存和高并发数据访问3、提供多种数据分库策略,满足不同业务的分库要求4、支持读写分离和读负载均衡策略5、提供多数据源数据映射模型,支持异构数据源DDS集群ApplicationDDS1JDBCApplicationApplicationDDS2DDS3RDBMSRDBMSRDBMSDDS几几个个重重要要概概念念数据源(数据源(DataSource):即数据库的来源,对应Oracle的一个User,或者MySQL的一个DataBase。数据节点(数据节点(DataNode):一组具有相同数据副本的数据源的分组,在DDS中通过它来提供数据读写分离能
3、力。数据表分区(数据表分区(Table Partition):将逻辑数据表的记录按照一种规则分成多个分区,每个分区分别存放到一个数据节点上。分区规则(分区规则(Sharding Rule):用于对数据表记录进行分区的规则。DDS支持的分区规则包含Range/Hash两种。分区键(分区键(Sharding Key):参与数据表记录进行分区计算的字段集合Schema:DDS中提供给客户进行资源(例如数据表,Sequence等)管理的一个逻辑对象,客户可创建多个Schema管理不同业务中的表或其它资源。路由(路由(Route):根据分区键值将SQL操作分发到对应的数据节点去执行。Page 6Read
4、-dbRead-dbWrite-dbRead-dbRead-dbWrite-db数据源数据节点T_CUSTOMER(userid,username,)Userid=1000000分区规则分区键SQL路由Page 7目录DDS部署及使用53DDS特性介绍产品集成的困境与挑战1DDS开发指南4DDS产品定位2DDS功功能能视视图图Page 8DDS ServerSession ManagementLoad BalanceCursorAgent TaskListenerDDS ClientCLIDDS ToolsHeart beatSessionMonitorInfrastructureOMLog
5、ServerLDBCConn PoolJDBCODBCConsole ToolGUI ToolCommunicationNodeManagementMPR(Multi-Platform Runtime)Global Area/PGATable DictionaryTMPolicy ManagementSharding PolicyRead Write PolicyRouting PolicyWindows WrapperSUSE WrapperAIX WrapperOracle DriverDB2 DriverMySQL DriverGaussDB DriverConfigSpinlockUp
6、grading PolicyAdapting PolicyDistributed SQL EngineSQL ParserDistributed SQL ExecutorDML ParserDDL ParserDCL ParserParser CacheDistributed SQL PlannerDistributed SQL OptimizerOptimizer Pattern RepositoryGroup-by PlacementSub-query UnnestView MergePredict PushData Sharding OptimizerData AmountOptimiz
7、erNetwork Times OptimizerDML ExecutorDDL ExecutorDCL ExecutorDistributed Transaction ManagementEvent TriggerNode AgentSecurity Policy基基本本工工作作流流程程Page 9SQL解析解析将SQL文本解析为一颗语法树SQL优化优化基于语句本身,对SQL语法树进行等价优化变换SQL变形变形基于数据分布,数据源类型,进行SQL变形,最大程度利用物理数据能力创建执行计划创建执行计划基于规则或代价最小原则,创建执行计划执行计划并发执行执行计划并发执行传入参数,多分区并发处理执
8、行计划,汇聚处理结果,响应客户12345【举例】Select t1.f1,t2.f2,SUM(t1.f3)From t1,t2Where t1.f1=t2.f1 and t1.f1=:1 and t2.f2 :2Group by t1.f1,t2.f2DDS 重重要要特特性性提供透明数据访问支持,支持多种数据库提供透明数据访问支持,支持多种数据库支持数据垂直划分和水平划分支持数据垂直划分和水平划分支持分布式主键支持分布式主键支持数据多级路由支持数据多级路由支持读写分离支持读写分离提供集群负载均衡提供集群负载均衡支持分布式支持分布式XA事务事务支持弹性伸缩支持弹性伸缩支持数据扩容支持数据扩容Pa
9、ge 10提提供供数数据据透透明明访访问问,支支持持多多种种数数据据库库Page 111、向客户呈现一个集中式虚拟数据库,屏蔽了底层各种数据源的差异、特质和实现,以及位置2、向客户提供统一的DDS SQL语言,屏蔽各种数据源SQL语言的差异3、提供统一的错误代码4、严格遵循关系数据库ACID原则5、支持异构数据库,分阶段支持ORACLE,MySQL、PostgreSQL等等数据库Application(C+)BODAFApplication(Java)BODAFApplication(Java)JDBCApplication(C+)ODBCCloud Data ServerCloud Data
10、 ServerOracleDB2MySQLFastoreTeastore元数据管理虚拟点虚拟节点管理中心DDS Instance Active BufferData Sharding PolicyDistributed SQL EngineUpgrading PolicyMeta dataRedo filesParameterData FileData Read-Write PolicyData Routing PolicySecurity PolicyDataSource AdaptingDistributed Transaction ManagementServer ClusterData
11、 Backup&RecoveryData Online Move ToolsData ReshardingData LoadData MonitorData Query StandBy Buffer支支持持数数据据垂垂直直划划分分和和水水平平划划分分Page 121、支持按业务管理数据表和其它资源,不同业务使用不同schema进行垂直划分管理。2、支持按指定字段和算法将数据表记录进行分区存放,实现数据水平划分。3、支持Range、Hash两种分区算法。其中Range支持Number、String、Date三种类型。4、支持不分区系统表、参数表在多个分区保存一个副本(复制表复制表),提升多表操作
12、处理效率。(订购域)分区1(订购域)分区2(订购域)分区(账单域)分区1(账单域)分区2(账单域)分区DDSnDDS1Schema-OrderSchema-Billing支支持持分分布布式式主主键键Page 13DDSDN1DN2DNmApplicationSeq1:Start with Increment by n mSequenceSequence可以创建在一个或多个数据源上:可以创建在一个或多个数据源上:CREATE SEQUENCE schema_name.seq_nameSTART WITH start_val INCREMENT BY stepMINVALUE min_val MA
13、XVALUE max_valON dn_name ,dn_name,.n;使用使用SequenceSequence:SELECT seq1.currval from dualSELECT seq1.nextval from dual;SELECT seq1.nextval FROM dual CONNECT BY level=分布分布SequenceSequence特点特点1 1、若、若SequenceSequence创建在一个数据节点上创建在一个数据节点上可保证主键值唯一且连续,但可靠性低2 2、若、若SequenceSequence创建在多个数据源上创建在多个数据源上可保证主键值唯一,但不
14、保证连续,可靠性高Seq1:Start with Increment by n+1 mSeq1:Start with Increment by n+m m支持多级数据路由支持多级数据路由Page 14DDSDN11DN12ApplicationDN13DN21DN22DN330214-1)P1-1P2:1000000120000000214215-1)P1-2215216-1)P1-3SELECT*FROM USERWHERE userid=?P1:1100000000214-1)P2-1214215-1)P2-2215216-1)P2-3分区表创建分区表创建CREATE TABLE dds.
15、user(int userid,)PARTITION BY(NumRange(userid)(PARTITION P1 VALUES INTERVAL(0,1000000)PARTITION BY(RangeHash(userid)(PARTITION P1-1 VALUES INTERVAL(0,214)ON dn11,PARTITION P1-2 VALUES INTERVAL(214,215)ON dn12 PARTITION P1-2 VALUES INTERVAL(215,216)ON dn13 )PARTITION P2 VALUES INTERVAL(1000000,200000
16、0)PARTITION BY(RangeHash(userid)(PARTITION P2-1 VALUES INTERVAL(0,214)ON dn21,PARTITION P2-2 VALUES INTERVAL(214,215)ON dn22 PARTITION P2-2 VALUES INTERVAL(215,216)ON dn23 );找到schema找到table找到二级分区找到一级分区找到数据节点找到数据源一级分区二级分区路由处理路由处理支支持持读读写写分分离离Page 151、写操作时,只写“写库”。2、后台通过数据同步工具将“写库”数据同步到读库。3、读操作只从“读库”读取,
17、也可以通过设置,“写库”也参与读处理。4、因为数据同步需要时间,若要实时读取刚刚更新的数据,可以通过Hint指定从“写库”读取。5、数据同步使用数据同步工具。DDS1DDS2DDS3ApplicationApplicationApplication数据同步数据同步数据同步WriteReadReadWriteReadReadWriteReadRead数据节点“写”数据源“读”数据源支支持持集集群群负负载载均均衡衡Page 16ApplicationZookeeperZookeeperZookeeperJDBCDDS2注册状态和允许的最大连接数获取DDS状态及允许的最大连接数依据负载均衡建立连接因
18、为每个App与DDS集群负载均衡,因此整个App与DDS也是负载均衡DDS3DDS1支支持持分分布布式式XA事事务务Page 171、普通数据库事务2、多数据库XA事务RDBMSRDBMSDDS1ApplicationRDBMSRDBMSDDS1Application如果只涉及一个数据源,则使用普通数据库事务提交如果涉及多个数据源,则使用XA数据库事务提交RDBMSXA事务普通数据库事务DDS集群支支持持弹弹性性伸伸缩缩Page 18DDSDDSZookeeperZookeeperZookeeperZookeeper集群实施步骤:1、增加DDS节点2、DDS向Zookeeper进行状态注册。3
19、、Zookeeper通知订阅者JDBC(位于APP中)4、App建立连接时将新增DDS参与负载均衡DDS应用背景:DDS性能不能满足App需要APPJDBCAPPJDBCAPPJDBCDDS无无搬搬迁迁Range分分区区扩扩容容Page 19Range1R1,R2)Range2R2,R3)Range3R3,R4)1.应用需要增加值域应用需要增加值域R4,R5)2.增加一个数据节点,规划存增加一个数据节点,规划存放值域放值域R4,R5)数据数据3.在在DDS集群中增加数据节点集群中增加数据节点信息信息4.DDS集群创建新分区集群创建新分区Range45.新分区新分区Range4参与参与DDS路由
20、路由处理处理说明:扩容无需搬迁数据,无需说明:扩容无需搬迁数据,无需停机处理。停机处理。Node1Node2Node3ApplicationApplicationApplicationRange4R4,R5)应用背景:扩大数据的值域范围,使用新的Range分区存放新增值域数据支支持持多多级级分分区区无无搬搬迁迁扩扩容容Page 20Node1Node2Node3ApplicationApplicationApplication应用背景:按时间、按区域、按范围进行一级分区扩展。10000001200000001100000002000000130000000一级路由Range(UserID)二级
21、路由Hash(UserID)0214)214215)215216)0214)214215)215216)0214)214215)215216)实施步骤实施步骤1.增加一组新的数据节点,用于存放扩展二级分区数据2.在DDS集群中增加数据节点信息3.DDS集群创建新的二级分区4.新二级分区参与DDS路由处理说明:使用二级分区扩容无需搬迁数据,无需停机处理。在数据库节点数不太多的场景(=16节点),可以采取共享磁阵方案,水平扩展时无需复制数据,只需重新挂载。此方案的优点是简单易实施,水平扩展效率高,缺点是磁阵吞吐能力限制了最大节点数。DDS以Instance颗粒来迁移数据:123456Node 1N
22、ode 2123456Node 1Node 2Node 3不搬迁数据共享磁阵扩容不搬迁数据共享磁阵扩容应用背景:数据库处理能力不足Step 1:在Node 1上关闭instance 3,Node2上关闭instance 6,冻结DDS对这两个实例的访问Step 2:将Instance 3和Instance 6的数据VG去激活,并在新增的Node 3上激活Step 3:在Node 3上启动Instance 3和Instance 6,取消DDS上的冻结当节点数大于16时,需要采用本方案。以Partition为数据迁移的最小单位,并依赖数据库本身的物理复制技术提升迁移效率。在Oracle数据库中,D
展开阅读全文