DDS 联通测试培训技巧胶片(1)_第1页
DDS 联通测试培训技巧胶片(1)_第2页
DDS 联通测试培训技巧胶片(1)_第3页
DDS 联通测试培训技巧胶片(1)_第4页
DDS 联通测试培训技巧胶片(1)_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Security Level: ONIP SOABean DDS开发维护指南开发维护指南HUAWEI Telco-SOA PDUHUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 2目录DDS部署及使用51产品集成的困境与挑战DDS特性介绍3DDS开发指南4DDS产品定位2HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential 产品集成的困境和挑战产品集成的困境和挑战Page 3IT系统集中化建设例如

2、:联通CRM&Billing集中化海量用户互联网应用例如:移动的各类基地企业服务集成,ICT融合越来越深入,数据需要集中建设集中服务异构数据库,使得数据复杂性的不断增加客户不想直面众多的、异构的数据CRMASPISP/ICPORTALHUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 4目录DDS部署及使用52DDS产品定位DDS特性介绍3DDS开发指南4产品集成的困境与挑战1HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential DDS产品定位产品定位Page 51、提供透明的数据访问接

3、口2、支持水平/垂直分库,支持海量数据储存和高并发数据访问3、提供多种数据分库策略,满足不同业务的分库要求4、支持读写分离和读负载均衡策略5、提供多数据源数据映射模型,支持异构数据源DDS集群ApplicationDDS1JDBCApplicationApplicationDDS2DDS3RDBMSRDBMSRDBMSHUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential DDS几个重要概念几个重要概念数据源(数据源(DataSource):即数据库的来源,对应Oracle的一个User,或者MySQL的一个DataBase。数据节点(数据节点(Dat

4、aNode):一组具有相同数据副本的数据源的分组,在DDS中通过它来提供数据读写分离能力。数据表分区(数据表分区(Table Partition):将逻辑数据表的记录按照一种规则分成多个分区,每个分区分别存放到一个数据节点上。分区规则(分区规则(Sharding Rule):用于对数据表记录进行分区的规则。DDS支持的分区规则包含Range/Hash两种。分区键(分区键(Sharding Key):参与数据表记录进行分区计算的字段集合Schema:DDS中提供给客户进行资源(例如数据表,Sequence等)管理的一个逻辑对象,客户可创建多个Schema管理不同业务中的表或其它资源。路由(路由(

5、Route):根据分区键值将SQL操作分发到对应的数据节点去执行。Page 6Read-dbRead-dbWrite-dbRead-dbRead-dbWrite-db数据源数据节点T_CUSTOMER(userid, username, )Userid = 1000000分区规则分区键SQL路由HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 7目录DDS部署及使用53DDS特性介绍产品集成的困境与挑战1DDS开发指南4DDS产品定位2HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential DD

6、S功能视图功能视图Page 8DDS ServerSession ManagementLoad BalanceCursorAgent TaskListenerDDS ClientCLIDDS ToolsHeart beatSessionMonitorInfrastructureOMLog ServerLDBCConn PoolJDBCODBCConsole ToolGUI ToolCommunicationNodeManagementMPR(Multi-Platform Runtime)Global Area/PGATable DictionaryTMPolicy ManagementShar

7、ding PolicyRead Write PolicyRouting PolicyWindows WrapperSUSE WrapperAIX WrapperOracle DriverDB2 DriverMySQL DriverGaussDB DriverConfigSpinlockUpgrading PolicyAdapting PolicyDistributed SQL EngineSQL ParserDistributed SQL ExecutorDML ParserDDL ParserDCL ParserParser CacheDistributed SQL PlannerDistr

8、ibuted SQL OptimizerOptimizer Pattern RepositoryGroup-by PlacementSub-query UnnestView MergePredict PushData Sharding OptimizerData AmountOptimizerNetwork Times OptimizerDML ExecutorDDL ExecutorDCL ExecutorDistributed Transaction ManagementEvent TriggerNode AgentSecurity PolicyHUAWEI TECHNOLOGIES CO

9、., LTD.Huawei Confidential 基本工作流程基本工作流程Page 9SQL解析解析将SQL文本解析为一颗语法树SQL优化优化基于语句本身,对SQL语法树进行等价优化变换SQL变形变形基于数据分布,数据源类型,进行SQL变形,最大程度利用物理数据能力创建执行计划创建执行计划基于规则或代价最小原则,创建执行计划执行计划并发执行执行计划并发执行传入参数,多分区并发处理执行计划,汇聚处理结果,响应客户12345【举例】Select t1.f1, t2.f2, SUM(t1.f3)From t1,t2Where t1.f1 = t2.f1 and t1.f1 = :1 and t2

10、.f2 :2Group by t1.f1,t2.f2HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential DDS 重要特性重要特性提供透明数据访问支持,支持多种数据库提供透明数据访问支持,支持多种数据库支持数据垂直划分和水平划分支持数据垂直划分和水平划分支持分布式主键支持分布式主键支持数据多级路由支持数据多级路由支持读写分离支持读写分离提供集群负载均衡提供集群负载均衡支持分布式支持分布式XA事务事务支持弹性伸缩支持弹性伸缩支持数据扩容支持数据扩容Page 10HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidenti

11、al 提供数据透明访问提供数据透明访问,支持多种数据库支持多种数据库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 S

12、erverOracleDB2MySQLFastoreTeastore元数据管理虚拟点虚拟节点管理中心DDS Instance Active BufferData Sharding PolicyDistributed SQL EngineUpgrading PolicyMeta dataRedo filesParameterData FileData Read-Write PolicyData Routing PolicySecurity PolicyDataSource AdaptingDistributed Transaction ManagementServer ClusterData B

13、ackup & RecoveryData Online Move ToolsData ReshardingData LoadData MonitorData Query StandBy BufferHUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential 支持数据垂直划分和水平划分支持数据垂直划分和水平划分Page 121、支持按业务管理数据表和其它资源,不同业务使用不同schema进行垂直划分管理。2、支持按指定字段和算法将数据表记录进行分区存放,实现数据水平划分。3、支持Range、Hash两种分区算法。其中Range支持Number、Str

14、ing、Date三种类型。4、支持不分区系统表、参数表在多个分区保存一个副本(复制表复制表),提升多表操作处理效率。(订购域)分区1(订购域)分区2(订购域)分区(账单域)分区1(账单域)分区2(账单域)分区DDSnDDS1Schema-OrderSchema-BillingHUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential 支持分布式主键支持分布式主键Page 13DDSDN1DN2DNmApplicationSeq1: Start with Increment by n mSequenceSequence可以创建在一个或多个数据源上:可以创建在

15、一个或多个数据源上:CREATE SEQUENCE schema_name. seq_nameSTART WITH start_val INCREMENT BY stepMINVALUE min_val MAXVALUE 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

16、1、若、若SequenceSequence创建在一个数据节点上创建在一个数据节点上可保证主键值唯一且连续,但可靠性低2 2、若、若SequenceSequence创建在多个数据源上创建在多个数据源上可保证主键值唯一,但不保证连续,可靠性高Seq1: Start with Increment by n+1 mSeq1: Start with Increment by n+m mHUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential 支持多级数据路由支持多级数据路由Page 14DDSDN11DN12ApplicationDN13DN21DN22DN330

17、214-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.user( int userid, ) PARTITION BY(NumRange(userid)( PARTITION P1 VALUES INTERVAL(0, 1000000) PARTITION BY(RangeHash(userid) ( PARTITION

18、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, 2000000) PARTITION BY(RangeHash(userid) ( PARTITION P2-1 VALUES INTERVAL(0, 214) ON dn21, PARTITION P2-2 VALUES INTERVAL(214

19、, 215) ON dn22 PARTITION P2-2 VALUES INTERVAL(215, 216) ON dn23 ) );找到schema找到table找到二级分区找到一级分区找到数据节点找到数据源一级分区二级分区路由处理路由处理HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential 支持读写分离支持读写分离Page 151、写操作时,只写“写库”。2、后台通过数据同步工具将“写库”数据同步到读库。3、读操作只从“读库”读取,也可以通过设置,“写库”也参与读处理。4、因为数据同步需要时间,若要实时读取刚刚更新的数据,可以通过Hint指定从

20、“写库”读取。5、数据同步使用数据同步工具。DDS1DDS2DDS3ApplicationApplicationApplication数据同步数据同步数据同步WriteReadReadWriteReadReadWriteReadRead数据节点“写”数据源“读”数据源HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential 支持集群负载均衡支持集群负载均衡Page 16ApplicationZookeeperZookeeperZookeeperJDBCDDS2注册状态和允许的最大连接数获取DDS状态及允许的最大连接数依据负载均衡建立连接因为每个App与D

21、DS集群负载均衡,因此整个App与DDS也是负载均衡DDS3DDS1HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential 支持分布式支持分布式XA事务事务Page 171、普通数据库事务2、多数据库XA事务RDBMSRDBMSDDS1ApplicationRDBMSRDBMSDDS1Application如果只涉及一个数据源,则使用普通数据库事务提交如果涉及多个数据源,则使用XA数据库事务提交RDBMSXA事务普通数据库事务HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential DDS集群支持弹性伸缩支持弹性

22、伸缩Page 18DDSDDSZookeeperZookeeperZookeeperZookeeper集群实施步骤:1、增加DDS节点2、DDS向Zookeeper进行状态注册。3、Zookeeper通知订阅者JDBC(位于APP中)4、App建立连接时将新增DDS参与负载均衡DDS应用背景:DDS性能不能满足App需要APPJDBCAPPJDBCAPPJDBCDDSHUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential 无搬迁无搬迁Range分区扩容分区扩容Page 19Range1R1, R2)Range2R2, R3)Range3R3, R4)1

23、.应用需要增加值域应用需要增加值域R4,R5)2.增加一个数据节点,规划存增加一个数据节点,规划存放值域放值域R4,R5) 数据数据3.在在DDS集群中增加数据节点集群中增加数据节点信息信息4.DDS集群创建新分区集群创建新分区Range45.新分区新分区Range4参与参与DDS路由路由处理处理说明:扩容无需搬迁数据,无需说明:扩容无需搬迁数据,无需停机处理。停机处理。Node1Node2Node3ApplicationApplicationApplicationRange4R4, R5)应用背景:扩大数据的值域范围,使用新的Range分区存放新增值域数据HUAWEI TECHNOLOGIE

24、S CO., LTD.Huawei Confidential 支持多级分区无搬迁扩容支持多级分区无搬迁扩容Page 20Node1Node2Node3ApplicationApplicationApplication应用背景:按时间、按区域、按范围进行一级分区扩展。10000001200000001100000002000000130000000一级路由Range(UserID)二级路由Hash(UserID)0214)214215)215216)0214)214215)215216)0214)214215)215216)实施步骤实施步骤1.增加一组新的数据节点,用于存放扩展二级分区数据2.在

25、DDS集群中增加数据节点信息3.DDS集群创建新的二级分区4.新二级分区参与DDS路由处理说明:使用二级分区扩容无需搬迁数据,无需停机处理。HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential 在数据库节点数不太多的场景(=16节点),可以采取共享磁阵方案,水平扩展时无需复制数据,只需重新挂载。此方案的优点是简单易实施,水平扩展效率高,缺点是磁阵吞吐能力限制了最大节点数。DDS以Instance颗粒来迁移数据:123456Node 1Node 2123456Node 1Node 2Node 3不搬迁数据共享磁阵扩容不搬迁数据共享磁阵扩容应用背景:数据

26、库处理能力不足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上的冻结HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential 当节点数大于16时,需要采用本方案。以Partition为数据迁移的最小单位,并依赖数据库本身的物理复制技术提升迁移效率。在Oracle数据库中,DDS的一个Part

27、ition对应到数据库中一个Schema,每个schema拥有自己独立的表空间,复制一个schema需要对其所有表空间进行物理复制。Oracle(迁出库)Schema 1Schema 2Schema 3Oracle(临时库)Schema 3Step 1:从迁出库找最近的全备份构造辅助库,并应用归档日志到某个最近时间点T1(只涉及迁移的schema3)Oracle(临时库)Schema 3Oracle(迁入库)Schema 3Step 2:从辅助库把schema3的数据文件拷贝到迁入库,并使用数据泵工具把元数据导入迁入目的库Oracle(迁出库)Schema 1Schema 2Schema 3O

28、racle(迁入库)Schema 3Step 3:使用GoldenGate工具,将迁出库T1时间点之后新产生的数据从迁出库复制到迁入库Oracle(迁出库)Schema 1Schema 2Oracle(迁入库)Schema 3Step 4:DDS切换到新数据源(短暂冻结访问),并从原迁出库删除schema3相关数据Schema整体搬迁扩容整体搬迁扩容应用背景:数据库处理能力不足HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 23目录DDS部署及使用54DDS开发指南DDS特性介绍3产品集成的困境与挑战1DDS产品定位2HUAWEI T

29、ECHNOLOGIES CO., LTD.Huawei Confidential Page 24联通测试逻辑组网图MySQL ORACLEDCS集群负载均衡SLBWeb ServerUEEUEEeBus1eBus.、分布式异步通信总线DSF跨域分布式服务调用客户域客户查询服务 客户资料更新服务 DDS Client其它服务订单域订单服务 DCS Client缓存加速ORACLEDDS Client订单数据增删改查批量数据同步用户域用户服务ORACLEjetMQMQ Client事务一致性DDS Client公共域 公共服务oracleDDS Client订阅发布HUAWEI TECHNOLOG

30、IES CO., LTD.Huawei Confidential Page 25开户流程图(部分)HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 26DDS使用流程HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 27DDS常用接口(JDBC)1. 创建DDS连接 Connection DriverManager:getConnection(url, username, password) 参数说明: url为接入DDS的连接信息,有两种格式: 当DDS为集群时,应用从Zook

31、eeper接入,url格式为 jdbc:soa:dds:zk:ip:port/root-path/instance ZooKeeper支持集群部署,多组IP和端口号通过逗号隔开。 url示例如下: jdbc:soa:dds:zk:10.137.166.133:1281,10.137.166.134:1281/soa_dds/cluster1/instance 其中“root-path”需要与配置文件dds.env.local.xml中配置项“cluster-manager”的“root-path”相一致。 当DDS为非集群时,应用直接与DDS Server建立连接,url格式为: DDS ur

32、l:jdbc:soa:dds:ip:port password为非加密密码为非加密密码HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 28DDS常用接口(JDBC)2. 创建PrepareStatement对象PreparedStatement Connection:prepareStatement(String sql)3. 绑定参数(可选)void PrepareStatement:setType(int index,Type value)参数说明:该语法支持参数绑定。可以在SQL字符串中设置参数,任意值类型的参数都可以使用“?”

33、表示,之后再对参数进行绑定。绑定参数的说明请参见后续说明。具体示例如下:String sql = SELECT id, data FROM Images WHERE id、=、!=等运算符可以有效地使用分区特性,提高SQL性能,而LIKE条件不能。 减少使用子查询。子查询会降低SQL性能。 尽可能完善查询条件,即WHERE条件。 WHERE条件中,少使用OR,多使用AND。3. 分区字段选择选择的分区字段和分区算法能够将表数据在均匀分布到各个分区。该分区字段在执行SQL时经常被用于作为连接字段。进行数据访问时最大限度地减少跨库数据访问。尽量选择整型字段做为分区字段。HUAWEI TECHNOL

34、OGIES CO., LTD.Huawei Confidential Page 32目录产品集成的困境与挑战15DDS部署及使用DDS特性介绍3DDS开发指南4DDS产品定位2HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 33目录结构DDS目录结构:HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 34重要配置dds.server.xml: user-nameddssql工具连接DDS Server时的用户名。只有此处配置的用户名才能通过DDS Server的鉴权验证,建议使

35、用三个以上字符作为用户名。passwordddssql工具连接DDS Server时的用户密码。只有此处配置的用户密码才能通过DDS Server的鉴权验证。用户密码需配置为经过AES128加密算法加密后的密码,需使用“ddspe”工具加密。IP鉴权白名单,该名单中的IP地址所在的服务器允许与本机通讯。“valid-ip value”对应一个合法的IP地址,多个IP地址需分别填写,3个IP地址示例如下: HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 35重要配置dds.server.xml: self:根据dds内部配置文件dds.

36、datasource.xml和dds.*.sharding.xml导入DDL,建立相关分区规则。none:启动时手工导入DDL语法文件,默认值。embedded:根据业务插件导入DDL语法,建立相关分区规则。根据ds-loader所配内容在ds-loaders配置项中找到对应插件。调试日志开关,修改后需重启DDS Server进程才能生效。开启该开关后,30分钟内可在“$DDS_HOME/log/debug/ddsserver_*.dlog”文件中查询debug日志信息。超过30分钟后,该开关失效,停止打印debug日志信息。取值如下:0:关闭调试日志开关,默认值。1:打开调试日志开关。注意调

37、测日志的开关打开后会影响系统的性能,减缓业务的运行速度,占用磁盘空间,所以系统商用后一般不允许打开。如果定位问题需要,在得到维护主管同意以后才可以打开调测日志的开关进行问题定位,完毕后立即关闭调测日志的开关。商用环境不建议打开这个配置项,可以使用logadm动态打开/关闭日志。HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 36重要配置dds.env.local.xml: DDS Server提供的服务端口,修改后需重启DDS Server进程才能生效。取值范围:102465535。共享内存信息,修改后需重启monitor、nodea

38、gent以及logserver进程才能生效。“base-key”:共享内存基址,monitor、nmgr以及logserver等模块都会使用共享内存,这些共享内存都从base-key偏移获取。默认值:0 x22。说明安装DDS Server前需确保该基址未被其他进程使用,否则会造成启动失败。HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 37重要配置dds.datasource.xml : ora119 wwei E52D6DA4D79A2132D4D4116513EDB6EF 数据源的url,用于获取和特定数据库的连接。取值由dbT

39、ype的取值决定。不同类型的数据库配置格式不同。dbType取值Oracle时,配置tns名或者”IP:Port/SID”。若配置为”IP/SID”,表示默认端口为1521。dbType取值mysql时,配置“databasenameip:port”,其中databasename是数据库名,ip与port为mysql所在的IP与提供的服务端口。 ora119 DDS的statement池缓存PDB端的statement个数。PDB端的每个statement对应一个数据库游标(cursor)。在Oracle端查看v$open_cursor得到的cursor,包括DDS端打开的cursor数(最大

40、个数为dds.datasource.xml文件配置的statement number)和session_cached_cursors 之和。其中,session_cached_cursors可以通过命令show parameter session_cached_cursors进行查看。SQL show parameter session_cached_cursors; 在MySQL端通过查看参数可得到max_prepared_stmt_count。可参考命令show variables进行查询。mysql show global variables like %stmt%; 如果需修改stat

41、ement最大值,可参考如下命令。mysql set global max_prepared_stmt_count=124000; 节点为一组具有相同数据副本的数据源的分组,数据源名称为前面datasources中定义的数据源,读写模式有三种:rw、r、w。 HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 38重要配置dds.datasource.xml : user-name为dds登录用户,schema-name为该用户下定义的某个schema名字,该名字来源于dds.*.sharding.xml分区算法支持以下几种:Hash:选

42、择该算法后“range-area”参数无需配置,“virtual-partition”参数范围为0-65534。NumRange:针对int类型分区字段,“range-area”参数填写分区范围,范围是int类型数值的取值范围;“virtual-partition”参数无需配置。StringRange:针对string类型分区字段,“range-area”参数填写分区范围,“virtual-partition”参数无需配置。DateRange:针对data类型分区字段,“range-area”参数填写分区范围,“virtual-partition”参数无需配置。Sharing:不分区,每个节点

43、保有全量数据,此时“range-area”和“virtual-partition”参数无需配置。分区算法详细信息。range-area待分区字段取值范围。virtual-partitionhash算法的分区范围。data-node数据节点名称。说明分区的区间遵循左闭右开原则,例如配置为“0-1001”,表示0,1001),值从0取到1000。两级路由 HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 39重要配置dds.*.sharding.xml : 配置某个表使用的分区规则,sharding-rule必须为dds.datasourc

44、e.xml中已定义的规则。 sharding-column填写name对应的表中,用于分区的字段名称,例如:表A使用id字段作为分区字段,则填写id。sharding-field填写“dds_datasource.xml”文件中定义的“sharding-field”。 不分区表,配置规则名称即可. node name节点名称,当建在多个节点上时,保证唯一性,不保证连续性。说明(统一安装的环境无需执行以下操作)使用sequence前需在对应数据源上创建内置表和存储过程,脚本需存放在目录:$HOME/ONIP_DDS/server/db。包括createTable.sql:建表脚本p_DDS_ge

45、nerate_seq.sql:存储过程脚本使用方法:oracle上导入命令参考:sqlplus SID username/password xxx.sqlmysql上导入命令参考:mysql -u username -p password -D dbname xxx.sqlHUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 40分区说明通过DDS访问的表都要配置一下分区规则,DDS中的表分为两类:分区表和复制表。所谓分区表,就是对表进行水平划分,将一张表的数据按照一定的规则划分到多个数据节点上的多张表中,以减轻单个数据节点的压力。对于业务

46、层来说,只需要定制分区规则即可,路由由DDS负责实现,对业务透明。一般数据量很大,访问量也很大的表,建议分区。1)选择分区层级。目前支持一级分区和两级分区。一般数据量确定不会增长到系统规划容量以外的表,使用一级分区即可。如果数据量随系统运行持续增长,可能会超过规划,为便于后续扩容,建议选用两级分区(参考P20扩容图理解)。2)选择分区键。要选取分区表中的某个字段作为分区键。两级分区的情况需要两个分区键值,可以相同也可以不同。分区键应尽可能多的出现在DML的过滤条件中;分区键应能够让表的数据比较均匀的分摊到各个数据节点。3)选择分区算法。当前支持两种:Range和Hash。Range里面又包括: NumRange、DateRange、StringRange。每种分区的区间配置都为左闭右开,Hash范围为0-65535)。HUAWEI TECHNOLOGIES CO., LTD.Huawei Confidential Page 41分区说明所谓复制表,是指该表可以存在于一个或多个数据节点中,但是每个节点存储的都是全量数据的表。DDS会随机选择一个数据节点来处理对这类表的请求。选择存多份在一定条件下可以加快多表关联的处理效率。一般表数据量不是很大,建议配成复制表。如:系统表、参数表等。读多写少的表或写也比较多,但是不关注写的性能的表,可以考虑配成多节点存储。注意

温馨提示

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

评论

0/150

提交评论