华为云用户手册
-
计费方式 CDM计费仅包含集群实例费用,提供按需计费和折扣套餐方式供您灵活选择,使用越久越便宜。 按需计费 这种购买方式比较灵活,可以即开即停,按实际使用时长计费。 按需计费只包含集群实例费用,不包含公网流量费用。 集群和具体的区域绑定,购买的集群只能在绑定的区域使用。 购买集群后会自动创建CDM集群,如果需要绑定EIP,用户需要前往集群管理界面自行为CDM集群绑定EIP。 按需计费方式下各实例的具体价格,请参见产品价格详情。 折扣套餐(按需资源包) 这种购买方式建立在按需计费的基础之上,是通过预付费购买一定时间期限内的使用量套餐。相对于按需计费更优惠,对于长期使用者,推荐该方式。 折扣套餐(按需资源包)购买后,系统不自动创建CDM集群,而是和具体的区域和实例规格绑定,在生效期内的每个计费月内按月提供745小时/月的使用时长,在绑定区域给对应实例规格的CDM集群使用。 如果当前绑定区域有1个或多个对应实例规格的CDM集群,则扣费方式是先扣除已购买资源包内的时长额度,超出部分以按需计费的方式进行结算(资源包对应多个集群时,会出现每月订购周期内可使用时长不足的情况)。 例如购买了1个月的折扣套餐(745小时/月),按区域和实例规格匹配到两个CDM集群后,从当前开始的1个月订购有效期内,两个集群同时使用只能使用745/2=372.5小时,约15.5天,剩余时间内两个集群按照按需计费的方式结算费用。 如果当前绑定区域没有对应实例规格的CDM集群,购买折扣套餐后不会消耗所购买的时长;但在生效期内,若未使用CDM集群,折扣套餐也不会延期。建议您先安排好服务使用计划,再购买折扣套餐。 如果您希望享受折扣套餐的优惠价格,需要先购买一个“折扣套餐”,再购买一个和“折扣套餐”具有相同区域和规格的“按需计费”集群。 如果您先购买一个“按需计费”集群,再购买一个相同区域和规格的“折扣套餐”,则在购买折扣套餐之前已经产生的费用按“按需计费”计费,购买折扣套餐之后的费用按“折扣套餐”计费。 各折扣套餐包在不同规格下的具体价格,请参见产品价格详情。
-
什么是区域、可用区? 我们用区域和可用区来描述数据中心的位置,您可以在特定的区域、可用区创建资源。 区域(Region):从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 可用区(AZ,Availability Zone):一个AZ是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 图1阐明了区域和可用区之间的关系。 图1 区域和可用区 目前,华为云已在全球多个地域开放云服务,您可以根据需求选择适合自己的区域和可用区。更多信息请参见华为云全球站点。
-
如何选择区域? 选择区域时,您需要考虑以下几个因素: 地理位置 一般情况下,建议就近选择靠近您或者您的目标用户的区域,这样可以减少网络时延,提高访问速度。不过,在基础设施、BGP网络品质、资源的操作与配置等方面,中国大陆各个区域间区别不大,如果您或者您的目标用户在中国大陆,可以不用考虑不同区域造成的网络时延问题。 香港、曼谷等其他地区和国家提供国际带宽,主要面向非中国大陆地区的用户。如果您或者您的目标用户在中国大陆,使用这些区域会有较长的访问时延,不建议使用。 在除中国大陆以外的亚太地区有业务的用户,可以选择“亚太-曼谷”或“亚太-新加坡”区域。 在非洲地区有业务的用户,可以选择“南非-约翰内斯堡”区域。 在欧洲地区有业务的用户,可以选择“欧洲-巴黎”区域。 资源的价格 不同区域的资源价格可能有差异,请参见华为云服务价格详情。
-
达梦数据库迁移时支持的数据类型 源端为达梦数据库,目的端为Hive、DWS时,支持的数据类型如下: 表11 达梦数据库作为源端时支持的数据类型 类别 类型 简要释义 存储格式示例 Hive DWS 字符 CHAR 用于存储指定定长字符串。 ‘a’或‘aaaaa’ CHAR CHAR CHARACTER 与 CHAR 相同。 ‘a’或‘aaaaa’ CHAR CHAR VARCHAR 用于存储指定变长字符串. ‘a’或‘aaaaa’ VARCHAR VARCHAR VARCHAR2 与 VARCHAR 相同。 ‘a’或‘aaaaa’ VARCHAR VARCHAR 数值 NUMERIC 用于存储零、正负定点数。 52.36 DECIMAL NUMERIC DECIMAL 与 NUMERIC 相似。 52.36 DECIMAL NUMERIC DEC 与 DECIMAL 相同。 52.36 DECIMAL NUMERIC INTEGER 用于存储有符号整数,精度为10,标度为0。 5236 INT INTEGER INT 与 INTEGER 相同。 5236 INT INTEGER BIGINT 用于存储有符号整数,精度为19,标度为0。 5236 BIGINT BIGINT TINYINT 用于存储有符号整数,精度为3,标度为0。 100 TINYINT SMALLINT SMALLINT 用于存储有符号整数,精度为5,标度为0。 9999 SMALLINT SMALLINT BYTE 与 TINYINT 相似,精度为3,标度为0。 100 TINYINT SMALLINT BINARY 用于存储定长二进制数据。 0x2A3B4058 BINARY(NULL) BYTEA(NULL) VARBINARY 用于存储可变长二进制数据。 0x2A3B4058 BINARY(NULL) BYTEA(NULL) FLOAT 用于存储带二进制精度的浮点数。 52.36 FLOAT FLOAT8 DOUBLE 与FLOAT类似。 52.36 DOUBLE FLOAT8 REAL 用于存储带二进制精度的浮点数,但它不能由用户指定使用的精度。 52.3 FLOAT FLOAT4 DOUBLE PRECISION 用于存储指明双精度的浮点数。 52.3 DOUBLE FLOAT8 位串 BIT 用于存储整数数据 1、0 或 NULL。 1、0 或 NULL TINYINT(1 0 NULL) BOOLEAN(true false NULL) 日期时间 DATE 用于存储年、月、日信息。 1999-10-01'、'1999/10/01'或'1999.10.01' DATE TIMESTAMP TIME 用于存储时、分、秒信息。 '09:10:21'或'9:10:21' 不支持(String) TIME TIMESTAMP 用于存储年、月、日、时、分、秒信息。 2002-12-12 09:10:21','2002-12-12 9:10:21' '2002/12/12 09:10:21' 或'2002.12.12 09:10:21' TIMESTAMP TIMESTAMP TIME WITH TIME ZONE 用于存储一个带时区的 TIME 值,其定义是在 TIME 类型的后面加上时区信息。 '09:10:21 +8:00', '09:10:21+8:00'或'9:10:21+8:00' 不支持(String) TIME WITH TIME ZONE TIMESTAMP WITH TIME ZONE 用于存储一个带时区的 TIMESTAMP 值,其定义是TIMESTAMP类型的后面加上时区信息。 2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' TIMESTAMP TIMESTAMP WITH TIME ZONE TIMESTAMP WITH LOCAL TIME ZONE 用于存储一个本地时区的 TIMESTAMP 值,能够将标准时区类型 TIMESTAMP WITH TIME ZONE 类型转化为本地时区类型。 2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' 不支持(String) 不支持(TEXT) DATETIME WITH TIME ZONE 同TIMESTAMP WITH TIME ZONE。 2002-12-12 09:10:21 +8:00','2002-12-12 9:10:21 +8:00' '2002/12/12 09:10:21 +8:00'或'2002.12.12 09:10:21 +8:00' TIMESTAMP TIMESTAMP WITH TIME ZONE INTERVAL YEAR 描述一个若干年的间隔,引导精度规定了年的取值范围。 INTERVAL '0015' YEAR 不支持(String) 不支持(VARCHAR) INTERVAL YEAR TO MONTH 描述一个若干年若干月的间隔,引导精度规定了年的取值范围。 INTERVAL '0015-08' YEAR TO MONTH 不支持(String) 不支持(VARCHAR) INTERVAL MONTH 描述一个若干月的间隔,引导精度规定了月的取值范围。 INTERVAL '0015' MONTH 不支持(String) 不支持(VARCHAR) INTERVAL DAY 描述一个若干日的间隔,引导精度规定了日的取值范围。 INTERVAL '150' DAY 不支持(String) 不支持(VARCHAR) INTERVAL DAY TO HOUR 描述一个若干日若干小时的间隔,引导精度规定了日的取值范围。 INTERVAL '9 23' DAY TO HOUR 不支持(String) 不支持(VARCHAR) INTERVAL DAY TO MINUTE 描述一个若干日若干小时若干分钟的间隔,引导精度规定了日的取值范围。 INTERVAL '09 23:12' DAY TO MINUTE 不支持(String) 不支持(VARCHAR) INTERVAL DAY TO SECOND 描述一个若干日若干小时若干分钟若干秒的间隔,引导精度规定了日的取值范围。 INTERVAL '09 23:12:01.1' DAY TO SECOND 不支持(String) 不支持(VARCHAR) INTERVAL HOUR 描述一个若干小时的间隔,引导精度规定了小时的取值范围。 INTERVAL '150' HOUR 不支持(String) 不支持(VARCHAR) INTERVAL HOUR TO MINUTE 描述一个若干小时若干分钟的间隔,引导精度规定了小时的取值范围。 INTERVAL '23:12' HOUR TO MINUTE 不支持(String) 不支持(VARCHAR) INTERVAL HOUR TO SECOND 描述一个若干小时若干分钟若干秒的间隔,引导精度规定了小时的取值范围。 INTERVAL '23:12:01.1' HOUR TO SECOND 不支持(String) 不支持(VARCHAR) INTERVAL MINUTE 描述一个若干分钟的间隔,引导精度规定了分钟的取值范围。 INTERVAL '150' MINUTE 不支持(String) 不支持(VARCHAR) INTERVAL MINUTE TO SECOND 描述一个若干分钟若干秒的间隔,引导精度规定了分钟的取值范围。 INTERVAL '12:01.1' MINUTE TO SECOND 不支持(String) 不支持(VARCHAR) INTERVAL SECOND 描述一个若干秒的间隔,引导精度规定了秒整数部分的取值范围。 INTERVAL '51.1' SECOND 不支持(String) 不支持(VARCHAR) 多媒体 IMAGE IMAGE 用于指明多媒体信息中的图像类型。 图像由不定长的像素点阵组成,长度最大为 2G-1 字节。该类型除了存储图像数据之外,还可用于存储任何其它二进制数据。 0x2A3B4058 (二进制数据) 不支持 不支持 LONGVARBINARY 与IMAGE相同。 0x2A3B4059 (二进制数据) 不支持 不支持 TEXT 用于存储长字符串类型,其字符串的长度 最大为 2G-1,存储长的文本串。 0x5236(二进制数据) 不支持 不支持 LONGVARCHAR 与 TEXT 相似。 0x5236(二进制数据) 不支持 不支持 BLOB 用于存储变长的二进制大对象,长度最大为2G-1字节。 0x5236(二进制数据) 不支持 不支持 CLOB 用于存储变长的二进制大对象,长度最大为2G-1字节。 0x5236(二进制数据) 不支持 不支持 BFILE 用于指明存储在操作系统中的二进制文件, 文件存储在操作系统而非数 据库中,仅能进行只读访问。 - 不支持 不支持
-
SAP HANA数据库迁移时支持的数据类型 源端为SAP HANA数据库时,支持的数据类型如下: 表8 SAP HANA数据库作为源端时支持的数据类型 类别 类型 简要释义 字符 VARCHAR 用于存储指定定长字符串。 NVARCHAR 包含unicode格式数据的变长字符串。 TEXT 用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 数值 BIGINT 用于存储有符号整数,精度为19,标度为0。 TINYINT 用于存储有符号整数,精度为3,标度为0。 SMALLINT SMALLINT类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 REAL 可以存储正的或者负的十进制数值。 DECIMAL 带固定精度和小数位数的数值数据类型。 FLOAT 用于存储带二进制精度的浮点数。 DOUBLE 用于存储指明双精度的浮点数。 日期时间 DATE 用于存储年、月、日信息。 TIME 用于存储时、分、秒信息。 TIMESTAMP 用于存储年、月、日、时、分、秒信息。 多媒体 CLOB 用于存储变长的二进制大对象,长度最大为2G-1字节。 NCLOB 这种类型能够存储最多4GB的数据。当字符集发生转换时,这种类型会受到影响。 布尔类型 BOOLEAN 存储在1个字节中,可以取值为 1、0 或 NULL。
-
DLI 数据库迁移时支持的数据类型 源端为DLI数据库时,支持的数据类型如下: 表9 DLI数据库作为源端时支持的数据类型 类别 类型 简要释义 字符 CHAR 用于存储指定定长字符串。 VARCHAR 与CHAR相同。 STRING 用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 数值 BIGINT 用于存储有符号整数,精度为19,标度为0。 TINYINT 用于存储有符号整数,精度为3,标度为0。 SMALLINT SMALLINT类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 INT 用于存储有符号整数,精度为10,标度为0。 DECIMAL 带固定精度和小数位数的数值数据类型。 FLOAT 用于存储带二进制精度的浮点数。 DOUBLE 用于存储指明双精度的浮点数。 日期时间 DATE 用于存储年、月、日信息。 TIMESTAMP 用于存储年、月、日、时、分、秒信息。 布尔类型 BOOLEAN 存储在1个字节中,可以取值为 1、0 或 NULL。
-
Elasticsearch/ 云搜索服务 ( CSS )数据库迁移时支持的数据类型 源端为Elasticsearch/ 云搜索 服务( CS S)数据库时,支持的数据类型如下: 表10 Elasticsearch/云搜索服务(CSS)数据库作为源端时支持的数据类型 类别 类型 简要释义 存储格式示例 MySQL 字符 keyword 用于存储字符串。 “keyword” String text 用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 “long string” TEXT string 用于存储长字符串类型,其字符串的长度最大为 2G-1,存储长的文本串。 “a string” String 整数 short 用于存储16位有符号整数,取值范围为-32768至32767。 32765 smallInt integer 用于存储32位有符号整数,取值范围为-231至231-1。 3276566 int long 用于存储64位有符号整数,取值范围为-263至263-1。 3276566666 BIGINT 数值 double 64位双精度IEEE 754浮点类型。 21.333 double float 32位单精度IEEE 754浮点类型 。 21.333 double 布尔类型 boolean 存储在1个字节中,可以取值为 1、0 或 NULL。 1 Boolean 对象 object 扁平化存储对象的字符串。 {"users.name":["John","Smith"], users.age":[26,28], "users.gender":[1,2]} TEXT 嵌套 nested 嵌套存储对象的字符串。 {"users.name" : "John" , "users.age" : 26, "users.gender" : 1} { "users.name" : "Smith", "users.age" : 28, "users.gender" : 2} TEXT 日期 date 日期格式的字符串。 “2018-01-13”或“2018-01-13 12:10:30” DATE或timeStamp 特殊 ip Ip地址格式的字符串。 “192.168.127.100” String 数组 string_array 全部是字符串的数组。 [“str”,“str”] TEXT short_array 全部是16位整数的数组。 [1,1,1] TEXT integer_array 全部是32位整数的数组。 [1,1,1] TEXT long_array 全部是64位整数的数组。 [1,1,1] TEXT float_array 全部是32位浮点数的数组。 [1.0,1.0,1.0] TEXT double_array 全部是64位浮点数的数组。 [1.0,1.0,1.0] TEXT 范围 completion 自动补全的字符串。 “string” TEXT
-
神通(ST)数据库迁移时支持的数据类型 源端为神通(ST)数据库,目的端为 MRS Hive、MRS Hudi时,支持的数据类型如下: 表7 神通(ST)数据库作为源端时支持的数据类型 类别 类型 简要释义 存储格式示例 MRS Hive MRS Hudi 字符 VARCHAR 用于存储指定定长字符串。 ‘a’或‘aaaaa’ VARCHAR(765) STRING BPCHAR 用于存储指定变长字符串。 ‘a’或‘aaaaa’ VARCHAR(765) STRING 数值 NUMERIC 用于存储零、正负定点数。 52.36 DECIMAL(10,0) DECIMAL(18,0) INT 用于存储零、正负定点数。 5236 INT INT BIGINT 用于存储有符号整数,精度为19,标度为0。 5236 BIGINT BIGINT TINYINT 用于存储有符号整数,精度为3,标度为0。 100 SMALLINT INT BINARY 用于存储定长二进制数据。 0x2A3B4058 不支持 FLOAT VARBINARY 用于存储可变长二进制数据。 0x2A3B4058 不支持 BINARY FLOAT 用于存储带二进制精度的浮点数。 52.36 FLOAT FLOAT DOUBLE 用于存储指明双精度的浮点数。 52.3 DOUBLE DOUBLE 日期时间 DATE 用于存储年、月、日信息。 '1999-10-01'、'1999/10/01'或'1999.10.01' DATE DATE TIME 用于存储时、分、秒信息。 '09:10:21'或'9:10:21' STRING STRING TIMESTAMP 用于存储年、月、日、时、分、秒信息。 '2002-12-12 09:10:21'、'2002-12-12 9:10:21'、 '2002/12/12 09:10:21' 或'2002.12.12 09:10:21' TIMESTAMP TIMESTAMP 多媒体 CLOB 用于存储变长的二进制大对象,长度最大为2G-1字节。 0x5236(二进制数据) STRING STRING BLOB 用于存储变长的二进制大对象,长度最大为2G-1字节。 0x5236(二进制数据) 不支持 BINARY 布尔类型 BOOLEAN 存储在1个字节中,可以取值为 1、0 或 NULL。 1 BOOLEAN BOOLEAN
-
DWS数据库迁移时支持的数据类型 源端为DWS数据库时,支持的数据类型如下: 表6 DWS数据库作为源端时支持的数据类型 类别 类型 简要释义 字符 char 定长字符串,存储右空格填充到指定的长度。 varchar 变长字符串,不会用空格将字段或变量填充至最大长度。 数值 double 用于存储指明双精度的浮点数。 decimal(p,s) 精度p表示为值存储的有效位数,刻度s表示可以在小数点后存储的位数。p最大位数是1000。 numeric 用于存储零、正负定点数。 real 与double相同。 int int存储在4个字节中,其中一个二进制位表示符号位,其它31个二进制位表示长度和大小,可以表示-2的31次方~2的31次方-1范围内的所有整数。 bigint bigint存储在8个字节中,其中一个二进制位表示符号位,其它63个二进制位表示长度和大小,可以表示-2的63次方~2的63次方-1范围内的所有整数。 smallint smallint类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 tinyint tinyint类型的数据占用了一个字节的存储空间,可以表示0~255范围内的所有整数。 日期时间 date 存储日期数据。 timestamp 存储日期和时间数据,无时区。 time 只用于一日内时间,无时区。 位串类型 bit 定长位串,例如: b'000101'。 布尔类型 boolean 存储在1个字节中,可以取值为 1、0 或 NULL。 文本类型 text 变长文本,无长度限制。
-
PostgreSQL数据库迁移时支持的数据类型 源端为PostgreSQL数据库,目的端为Hive、DWS、DLI时,支持的数据类型如下: 表5 PostgreSQL数据库作为源端时支持的数据类型 类别 类型 简要释义 Hive DWS DLI 字符 char 定长字符串,存储右空格填充到指定的长度。 CHAR CHAR 不支持(String) varchar 变长字符串,不会用空格将字段或变量填充至最大长度。 CARCHAR CARCHAR 不支持(String) 数值 smallint 拓展名 int2,存储在2个字节中,它允许的范围是从-32768到32767。 SMALLINT SMALLINT SMALLINT int 拓展名 int4,存储在4个字节中,它允许的范围是从-2147483648到2147483647。 INTEGER INT INT bigint 拓展名 int8,存储在8个字节中,允许范围为-9223372036854775808到9223372036854775807。 BIGINT BIGINT BIGINT decimal(p,s) 精度p表示为值存储的有效位数,刻度s表示可以在小数点后存储的位数。p最大位数是1000。 DECIMAL(P,S) DECIMAL(P,S) DECIMAL(P,S) float 4字节或8字节存储。float(n):n取值在1-24内,精度有效位数为6 位数,长度4 个字节,是单精度,n取值在25-53内,精度有效位数为15 位数,长度8 字节,是双精度。 FLOAT/DOUBLE FLOAT/DOUBLE FLOAT/DOUBLE smallserial 序列数据类型,以smallint格式存储。 SMALLINT SMALLINT SMALLINT serial 序列数据类型,以int格式存储。 INTEGER INT INT bigserial 序列数据类型,以bigint格式存储。 BIGINT BIGINT BIGINT 日期时间 date 存储日期数据。 DATE DATE DATE timestamp 存储日期和时间数据,无时区。 TIMESTAMP TIMESTAMP 不支持(String) timestamptz 存储日期和时间数据,有时区。 TIMESTAMP TIMESTAMPZ 不支持(String) time 只用于一日内时间,无时区。 不支持(String) TIME 不支持(String) timez 只用于一日内时间,有时区。 不支持(String) TIMEZ 不支持(String) interval 时间间隔。 不支持(String) 不支持(String) 不支持(String) 位串类型 bit 定长位串,例如: b'000101'。 不支持(String) 不支持(String) 不支持(String) varbit 可变长位串,例如: b'101'。 不支持(String) 不支持(String) 不支持(String) 货币类型 money 存储在8个字节中,它允许的范围是从-922337203685477.5808到922337203685477.5807。 DOUBLE MONEY DECIMAL(P,S) 布尔类型 boolean 存储在1个字节中,可以取值为 1、0 或 NULL。 BOOLEAN BOOLEAN BOOLEAN 文本类型 text 变长文本,无长度限制。 不支持(String) 不支持(String) 不支持(String)
-
SQL Server数据库迁移时支持的数据类型 源端为SQL Server数据库,目的端为Hive、DWS、Oracle时,支持的数据类型如下: 表4 SQL Server数据库作为源端时支持的数据类型 类别 类型 简要释义 Hive DWS Oracle 字符串数据类型 char 定长字符串,会用空格填充来达到最大长度。 CHAR CHAR CHAR nchar 包含unicode格式数据的定长字符串。 CHAR CHAR CHAR varchar 可变长度的字符串是以长度为1到255之间字符数(高版本的MySQL超过255); 例如: VARCHAR(25);创建VARCHAR类型字段时,必须定义长度。 VARCHAR VARCHAR VARCHAR nvarchar 与varchar类似,存储可变长度Unicode字符数据。 VARCHAR VARCHAR VARCHAR 数值数据类型 int int存储在4个字节中,其中一个二进制位表示符号位,其它31个二进制位表示长度和大小,可以表示-2的31次方~2的31次方-1范围内的所有整数。 INT INTEGER INT bigint bigint存储在8个字节中,其中一个二进制位表示符号位,其它63个二进制位表示长度和大小,可以表示-2的63次方~2的63次方-1范围内的所有整数。 BIGINT BIGINT NUMBER smallint smallint类型的数据占用了两个字节的存储空间,其中一个二进制位表示整数值的正负号,其它15个二进制位表示长度和大小,可以表示-2的15次方~2的15次方-1范围内的所有整数。 SMALLINT SMALLINT NUMBER tinyint tinyint类型的数据占用了一个字节的存储空间,可以表示0~255范围内的所有整数。 TINYINT TINYINT NUMBER real 可以存储正的或者负的十进制数值。 DOUBLE FLOAT4 NUMBER float 其中为用于存储float数值尾数的位数(以科学计数法表示),因此可以确定精度和存储大小。 FLOAT FLOAT8 binary_float decimal 带固定精度和小数位数的数值数据类型。 DECIMAL NUMERIC NUMBER numeric 用于存储零、正负定点数。 DECIMAL NUMERIC NUMBER 日期时间数据类型 date 存储用字符串表示的日期数据。 DATE TIMESTAMP DATE time 以字符串形式记录一天的某个时间。 不支持(String) TIME 不支持 datetime 用于存储时间和日期数据。 TIMESTAMP TIMESTAMP 不支持 datetime2 datetime的扩展类型,其数据范围更大,默认的最小精度最高,并具有可选的用户定义的精度。 TIMESTAMP TIMESTAMP 不支持 smalldatetime smalldatetime类型与datetime类型相似,只是其存储范围是从1900年1月1日到2079年6月6日,当日期时间精度较小时,可以使用smalldatetime,该类型数据占用4个字节的存储空间。 TIMESTAMP TIMESTAMP 不支持 datetimeoffset 用于定义一个采用24小时制与日期相组合并可识别时区的时间。 不支持(String) TIMESTAMP 不支持 多媒体数据类型 (二进制) text 用于存储文本数据。 不支持(String) 不支持(String) 不支持 netxt 与text类型作用相同,为长度可变的非Unicode数据。 不支持(String) 不支持(String) 不支持 image 长度可变的二进制数据,用于存储照片、目录图片或者图画。 不支持(String) 不支持(String) 不支持 binary 长度为n个字节的固定长度二进制数据,其中n是从1~8000的值。 不支持(String) 不支持(String) 不支持 varbinary 可变长度二进制数据。 不支持(String) 不支持(String) 不支持 货币数据类型 money 用于存储货币值。 不支持(String) 不支持(String) 不支持 smallmoney 与money类型相似,输入数据时在前面加上一个货币符号,如美元为$或其它定义的货币符号。 不支持(String) 不支持(String) 不支持 位数据类型 bit 位数据类型,只取0或1为值,长度1字节。bit值经常当作逻辑值用于判断true(1)或false(0),输入非0值时系统将其替换为1。 不支持 不支持 不支持 其他数据类型 rowversion 每个数据都有一个计数器,当对数据库中包含rowversion列的表执行插入或者更新操作时,该计数器数值就会增加。 不支持 不支持 不支持 uniqueidentifier 16字节的GUID(Globally Unique Identifier,全球唯一标识符),是Sql Server根据网络适配器地址和主机CPU时钟产生的唯一号码,其中,每个为都是0~9或a~f范围内的十六进制数字。 不支持 不支持 不支持 cursor 游标数据类型。 不支持 不支持 不支持 sql_variant 用于存储除文本,图形数据和timestamp数据外的其它任何合法的Sql Server数据,可以方便Sql Server的开发工作。 不支持 不支持 不支持 table 用于存储对表或视图处理后的结果集。 不支持 不支持 不支持 xml 存储xml数据的数据类型。可以在列中或者xml类型的变量中存储xml实例。存储的xml数据类型表示实例大小不能超过2GB。 不支持 不支持 不支持
-
Oracle数据库迁移时支持的数据类型 源端为Oracle数据库,目的端为Hive、DWS时,支持的数据类型如下: 表3 Oracle数据库作为源端时支持的数据类型 类别 类型 简要释义 Hive DWS 字符串 char 定长字符串,会用空格填充来达到最大长度。 CHAR CHAR nchar 包含unicode格式数据的定长字符串。 CHAR CHAR varchar2 是VARCHAR的同义词。这是一个变长字符串,与CHAR类型不同,它不会用空格将字段或变量填充至最大长度。 VARCHAR VARCHAR nvarchar2 包含unicode格式数据的变长字符串。 VARCHAR VARCHAR 数值 number 能存储精度最多高达38位的数字。 DECIMAL NUMERIC binary_float 2位单精度浮点数。 FLOAT FLOAT8 binary_double 64位双精度浮点数。 DOUBLE FLOAT8 long 能存储最多2GB的字符数据。 不支持 不支持 日期时间 date 7字节的定宽日期/时间数据类型,其中包含7个属性:世纪、世纪中的哪一年、月份、月中的哪一天、小时、分钟、秒。 DATE TIMESTAMP timestamp 7字节或11字节的定宽日期/时间数据类型,它包含小数秒。 TIMESTAMP TIMESTAMP timestamp with time zone 3字节的timestamp,提供了时区支持。 TIMESTAMP TIME WITH TIME ZONE timestamp with local time zone 7字节或11字节的定宽日期/时间数据类型,在数据的插入和读取时会发生时区转换。 TIMESTAMP 不支持(TEXT) interval year to month 5字节的定宽数据类型,用于存储一个时段。 不支持 不支持(TEXT) interval day to second 11字节的定宽数据类型,用于存储一个时段。将时段存储为天/小时/分钟/秒数,还可以有9位小数秒。 不支持 不支持(TEXT) 多媒体(二进制) raw 一种变长二进制数据类型,采用这种数据类型存储的数据不会发生字符集转换。 不支持 不支持 long raw 能存储多达2GB的二进制信息。 不支持 不支持 blob 能够存储最多4GB的数据。 不支持 不支持 clob 在Oracle 10g及以后的版本中允许存储最多(4GB)×(数据库块大小)字节的数据。CLOB包含要进行字符集转换的信息。这种数据类型很适合存储纯文本信息。 String 不支持 nclob 这种类型能够存储最多4GB的数据。当字符集发生转换时,这种类型会受到影响。 不支持 不支持 bfile 可以在数据库列中存储一个oracle目录对象和一个文件名,用户可以通过它来读取这个文件。 不支持 不支持 其他类型 rowid 实际上是数据库表中行的地址,它有10字节长。 不支持 不支持 urowid 是一个通用的rowid,没有固定的rowid的表。 不支持 不支持
-
MySQL数据库迁移时支持的数据类型 源端为MySQL数据库,目的端为Hive、DWS时,支持的数据类型如下: 表2 开源MySQL数据库作为源端时支持的数据类型 类别 类型 简要释义 存储格式示例 Hive DWS 字符串 CHAR(M) 固定长度的字符串是以长度为1到255之间个字符长度(例如:CHAR(5)),存储右空格填充到指定的长度。 限定长度不是必需的,它会默认为1。 ‘a’或‘aaaaa’ CHAR CHAR VARCHAR(M) 可变长度的字符串是以长度为1到255之间字符数(高版本的MySQL超过255); 例如: VARCHAR(25). 创建VARCHAR类型字段时,必须定义长度。 ‘a’或‘aaaaa’ VARCHAR VARCHAR 数值 DECIMAL(M,D) 非压缩浮点数不能是无符号的。在解包小数,每个小数对应于一个字节。 定义显示长度(M)和小数(D)的数量是必需的。 NUMERIC是DECIMAL的同义词。 52.36 DECIMAL D为0时对应BIGINT D不为0时对应NUMBERIC NUMBERIC 与 DECIMAL 相同。 - DECIMAL NUMBERIC INTEGER 一个正常大小的整数,可以带符号。如果是有符号的,它允许的范围是从-2147483648到2147483647。 如果是无符号,允许的范围是从0到4294967295。 可以指定多达11位的宽度。 5236 INT INTEGER INTEGER UNSIGNED INTEGER 的无符号形式。 - BIGINT INTEGER INT 与INTEGER相同。 5236 INT INTEGER INT UNSIGNED 与INTEGER UNSIGNED相同。 - BIGINT INTEGER BIGINT 一个大的整数,可以带符号。如果有符号,允许范围为-9223372036854775808到9223372036854775807。如果无符号,允许的范围是从0到18446744073709551615. 可以指定最多20位的宽度。 5236 BIGINT BIGINT BIGINT UNSIGNED BIGINT的无符号形式。 - BIGINT BIGINT MEDIUMINT 一个中等大小的整数,可以带符号。如果有符号,允许范围为-8388608至8388607。 如果无符号,允许的范围是从0到16777215,可以指定最多9位的宽度。 -128,127 INT INTEGER MEDIUMINT UNSIGNED MEDIUMINT的无符号形式。 - BIGINT INTEGER TINYINT 一个非常小的整数,可以带符号。如果是有符号,它允许的范围是从-128到127。 如果是无符号,允许的范围是从0到255,可以指定多达4位数的宽度。 100 TINYINT SMALLINT TINYINT UNSIGNED TINYINT的无符号形式。 - TINYINT SMALLINT BOOL MySQL的bool实际上就是tinyint(1)。 -128、127 SMALLINT BYTEA SMALLINT 一个小的整数,可以带符号。如果有符号,允许范围为-32768至32767。 如果无符号,允许的范围是从0到65535,可以指定最多5位的宽度。 9999 SMALLINT SMALLINT SMALLINT UNSIGNED SMALLINT的无符号形式。 - INT SMALLINT REAL 同DOUBLE。 - DOUBLE - FLOAT(M,D) 不能使用无符号的浮点数字。可以定义显示长度(M)和小数位数(D)。这不是必需的,并且默认为10,2。其中2是小数的位数,10是数字(包括小数)的总数。小数精度可以到24个浮点。 52.36 FLOAT FLOAT4 DOUBLE(M,D) 不能使用无符号的双精度浮点数。可以定义显示长度(M)和小数位数(D)。 这不是必需的, 默认为16,4,其中4是小数的位数。小数精度可以达到53位的DOUBLE。 REAL是DOUBLE同义词。 52.36 DOUBLE FLOAT8 DOUBLE PRECISION 与DOUBLE相似。 52.3 DOUBLE FLOAT8 位 BIT(M) 存储位值的BIT类型。BIT(M)可以存储多达M位的值,M的范围在1到64之间。 B'1111100' B'1100' TINYINT BYTEA 日期时间 DATE 以YYYY-MM-DD格式的日期,在1000-01-01和9999-12-31之间。 例如,1973年12月30日将被存储为1973-12-30。 1999-10-01 DATE TIMESTAMP TIME 用于存储时、分、秒信息。 '09:10:21'或'9:10:21' 不支持(String) TIME DATETIME 日期和时间组合以YYYY-MM-DD HH:MM:SS格式,在1000-01-01 00:00:00 到9999-12-31 23:59:59之间。例如,1973年12月30日下午3:30,会被存储为1973-12-30 15:30:00。 '1973-12-30 15:30:00' TIMESTAMP TIMESTAMP TIMESTAMP 1970年1月1日午夜之间的时间戳,到2037的某个时候。这看起来像前面的DATETIME格式,无需只是数字之间的连字符; 1973年12月30日下午3点30分将被存储为19731230153000(YYYYMMDDHHMMSS)。 19731230153000 TIMESTAMP TIMESTAMP YEAR(M) 以2位或4位数字格式来存储年份。如果长度指定为2(例如YEAR(2)),年份就可以为1970至2069(70~69)。如果长度指定为4,年份范围是1901-2155,默认长度为4。 2000 不支持(String) 不支持 多媒体(二进制) BINARY(M) 字节数为M,允许长度为0-M的变长二进制字符串,字节数为值得长度加1。 0x2A3B4058 (二进制数据) 不支持 BYTEA VARBINARY(M) 字节数为M,允许长度为0-M的定长二进制字符串。 0x2A3B4059 (二进制数据) 不支持 BYTEA TEXT 字段的最大长度是65535个字符。 TEXT是“二进制大对象”,并用来存储大的二进制数据,如图像或其他类型的文件。 0x5236(二进制数据) 不支持 不支持 TINYTEXT 0-255字节短文本二进制字符串。 - - 不支持 MEDIUMTEXT 0-167772154字节中等长度文本二进制字符串。 - - 不支持 LONGTEXT 0-4294967295字节极大长度文本二进制字符串。 - - 不支持 BLOB 字段的最大长度是65535个字符。 BLOB是“二进制大对象”,并用来存储大的二进制数据,如图像或其他类型的文件。BLOB大小写敏感。 0x5236(二进制数据) 不支持 不支持 TINYBLOB 0-255字节短文本二进制字符串。 - 不支持 不支持 MEDIUMBLOB 0-167772154字节中等长度文本二进制字符串。 - 不支持 不支持 LONGBLOB 0-4294967295字节极大长度文本二进制字符串。 0x5236(二进制数据) 不支持 不支持 特殊类型 SET SET是一个字符串对象,可以有零或多个值,其值来自表创建时规定的允许的一列值。指定包括多个SET成员的SET列值时各成员之间用逗号(‘,’)间隔开。这样SET成员值本身不能包含逗号。 - - 不支持 JSON - - 不支持 不支持(TEXT) ENUM 当定义一个ENUM,要创建它的值的列表,这些是必须用于选择的项(也可以是NULL)。例如,如果想要字段包含“A”或“B”或“C”,那么可以定义为ENUM为 ENUM(“A”,“B”,“C”)也只有这些值(或NULL)才能用来填充这个字段。 - 不支持 不支持
-
审计与日志 云审计 服务(Cloud Trace Service, CTS ),是华为 云安全 解决方案中专业的日志审计服务,提供对各种云资源操作记录的收集、存储和查询功能,可用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景。 CTS可记录的CDM操作列表详见支持云审计的关键操作。用户开通开通云审计服务并创建和配置追踪器后,CTS开始记录操作事件用于审计,用户可查看CTS保存最近7天的审计日志。 CTS支持配置关键操作通知。用户可将与 IAM 相关的高危敏感操作,作为关键操作加入到CTS的实时监控列表中进行监控跟踪。当用户使用CDM服务时,如果触发了监控列表中的关键操作,那么CTS会在记录操作日志的同时,向相关订阅者实时发送通知。 父主题: 安全
-
访问控制 您可以使用 统一身份认证 服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。关于IAM的详细介绍,请参见IAM产品介绍。 权限根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:不允许某用户组删除集群,仅允许CDM基本操作(如创建、查询作业等)。CDM支持的授权项请参见权限策略及授权项。 如表1所示,包括了CDM的所有系统权限。 表1 CDM系统权限 系统角色/策略名称 描述 策略类别 CDM Administrator 操作权限: CDM管理员权限,可以对CDM资源执行任意操作,拥有该权限的用户必须同时拥有Tenant Guest和Server Administrator权限。 拥有VPC Administrator权限的CDM用户可以创建VPC或子网。 拥有 云监控 Administrator权限的CDM用户,可以查看CDM集群的监控指标信息。 系统角色 CDM FullAccess CDM管理员权限,拥有CDM服务所有权限。 系统策略 CDM FullAccessExceptEIPUpdating 拥有除绑定/解绑EIP外的所有CDM服务权限。 系统策略 CDM CommonOperations 拥有CDM作业和连接的操作权限。 系统策略 CDM ReadOnlyAccess CDM服务只读权限,拥有该权限的用户仅能查看CDM集群、连接、作业。 系统策略
-
使用场景 通常您的业务系统可能使用了华为云的多种云服务,您可以为这些云服务下不同的资源实例分别设置标签(对于CDM而言,标签作用于其集群上),各服务产生的计费详单中都会体现这些资源实例和实例上设置的标签。如果您的业务系统是由多个不同的应用构成,为同一种应用拥有的资源实例设置统一的标签将很容易帮助您对不同的应用进行使用量分析和成本核算。 对CDM来说,标签用于标识购买的集群,以此来达到对购买的CDM集群进行分类的目的。当为集群添加标签时,该集群上所有请求产生的计费话单里都会带上这些标签,从而可以针对话单报表做分类筛选,进行更详细的成本分析。例如:某个集群作用于A部门,我们可以用该部门名称作为标签,设置到被使用的集群上。在分析话单时,就可以通过该部门名称的标签来分析此部门的开发使用成本。 CDM以键值对的形式来描述标签。一个集群默认最大拥有10个标签。每个标签有且只有一对键值。键和值可以任意顺序出现在标签中。同一个集群标签的键不能重复,但是值可以重复,并且可以为空。
-
责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的云安全挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的IaaS、PaaS和SaaS类云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。华为云租户的安全责任在于对使用的IaaS、PaaS和SaaS类云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
-
CDM权限 默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。 CDM部署时通过物理区域划分,为项目级服务,需要在各区域(如华北-北京1)对应的项目(cn-north-1)中设置相关权限,并且该权限仅对此项目生效。如果需要所有区域都生效,则需要在所有项目都设置权限。访问CDM时,需要先切换至授权区域。 权限根据授权精细程度分为角色和策略。 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:不允许某用户组删除集群,仅允许CDM基本操作(如创建、查询作业等)。CDM支持的授权项请参见权限策略及授权项。 如表1所示,包括了CDM的所有系统权限。 表1 CDM系统权限 系统角色/策略名称 描述 策略类别 CDM Administrator 操作权限: CDM管理员权限,可以对CDM资源执行任意操作,拥有该权限的用户必须同时拥有Tenant Guest和Server Administrator权限。 拥有VPC Administrator权限的CDM用户可以创建VPC或子网。 拥有云监控Administrator权限的CDM用户,可以查看CDM集群的监控指标信息。 系统角色 CDM FullAccess CDM管理员权限,拥有CDM服务所有权限。 系统策略 CDM FullAccessExceptEIPUpdating 拥有除绑定/解绑EIP外的所有CDM服务权限。 系统策略 CDM CommonOperations 拥有CDM作业和连接的操作权限。 系统策略 CDM ReadOnlyAccess CDM服务只读权限,拥有该权限的用户仅能查看CDM集群、连接、作业。 系统策略 表2列出了CDM常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。 表2 常用操作与系统权限的关系 操作 CDM FullAccess CDM FullAccessExceptEIPUpdating CDM CommonOperations CDM ReadOnlyAccess 创建集群 √ √ × × 集群绑定/解绑EIP √ × × × 查询集群列表 √ √ √ √ 查询集群详情 √ √ √ √ 重启集群 √ √ × × 修改集群配置 √ √ × × 删除集群 √ √ × × 创建连接 √ √ √ × 查询连接 √ √ √ √ 修改连接 √ √ √ × 删除连接 √ √ √ × 创建作业 √ √ √ × 查询作业 √ √ √ √ 修改作业 √ √ √ × 启动作业 √ √ √ × 停止作业 √ √ √ × 查询作业状态 √ √ √ √ 查询作业执行历史 √ √ √ √ 删除作业 √ √ √ ×
-
产品优势 用户在云上进行数据集成、数据备份、新应用开发时,经常会涉及到数据迁移。通常情况下用户要进行数据迁移,会开发一些数据迁移脚本,从源端读取数据再写入目的端,相对这样传统的做法,CDM的优势如表1所示。 表1 CDM优势 优势项 用户自行开发 CDM 易使用 自行准备服务器资源,安装配置必要的软件并进行配置,等待时间长。 程序在读写两端会根据数据源类型,使用不同的访问接口。一般是数据源提供的对外接口,例如JDBC、原生API等,因此在开发脚本时需要依赖大量的库、SDK等,开发管理成本较高。 CDM提供了Web化的管理控制台,通过Web页实时开通服务。 用户只需要通过可视化界面对数据源和迁移任务进行配置,服务会对数据源和任务进行全面的管理和维护。用户只需关注数据迁移的具体逻辑,而不用关心环境等问题,极大降低了开发维护成本。 CDM还提供了REST API,支持第三方系统调用和集成。 实时监控 需要自行选型开发。 您可以使用 云监控服务 监控您的CDM集群,执行自动实时监控、告警和通知操作,帮助您更好地了解CDM集群的各项性能指标。 免运维 需要自行开发完善运维功能,自行保证系统可用性,尤其是告警及通知功能,否则只能人工值守。 使用CDM服务,用户不需要维护服务器、虚拟机等资源。CDM的日志,监控和告警功能,有异常可以及时通知相关人员,避免7X24小时人工值守。 高效率 在迁移过程中,数据读写过程都是由一个单一任务完成的,受限于资源,整体性能较低,对于海量数据场景通常不能满足要求。 CDM任务基于分布式计算框架,自动将任务切分为独立的子任务并行执行,能够极大提高数据迁移的效率。针对Hive、HBase、MySQL、DWS( 数据仓库 服务)数据源,使用高效的数据导入接口导入数据。 多种数据源支持 数据源类型繁杂,针对不同数据源开发不同的任务,脚本数量成千上万。 支持数据库、Hadoop、NoSQL、数据仓库、文件等多种类型的数据源,具体数据类型请参见支持的数据源。 多种网络环境支持 随着云计算技术的发展,用户数据可能存在于各种环境中,例如公有云、自建/托管IDC(Internet Data Center,互联网数据中心)、混合场景等。在异构环境中进行数据迁移需要考虑网络连通性等因素,给开发和维护都带来较大难度。 无论数据是在用户本地自建的IDC中、云服务中、第三方云中,或者使用弹性云服务器(Elastic Cloud Server,ECS)自建的数据库或文件系统中,CDM均可帮助用户轻松应对各种数据迁移场景,包括数据上云,云上数据交换,以及云上数据回流本地业务系统。
-
安全边界和风险规避 图2 风险规避 如图2所示,CDM可能存在以下威胁: 互联网威胁:恶意用户可能通过CDM控制台攻击CDM。 数据中心威胁:恶意CDM管理员获取用户的数据源访问信息(用户名和密码)。 恶意用户威胁:恶意用户窃取其他用户的数据。 数据暴露公网:从公网迁移数据时暴露数据的威胁。 对于这些潜在的威胁,CDM提供以下机制来规避终端用户的风险: 针对互联网威胁:用户不能直接通过公网登录CDM控制台。CDM提供双层安全保障机制。 云控制台框架要求用户访问任何控制台页面都要进行用户认证。 Web应用防火墙 (Web Application Firewall,简称WAF)过滤所有控制台的请求内容并停止请求攻击代码/内容。 针对数据中心威胁:用户必须向CDM系统提供迁移源端和目的端的访问用户名和密码信息,才能完成数据迁移。避免CDM管理员获取此类信息并攻击用户的重要数据源对于CDM非常重要,CDM为此类信息提供三级保护机制。 CDM在本地数据库中存储经过AES-256加密的密码,确保用户隔离。本地数据库使用用户Ruby运行,数据库仅侦听127.0.0.1,用户没有远程访问数据库的权限。 用户实例发放完毕后,CDM将虚拟机的root和Ruby用户密码更改为随机密码且不会保存在任何地方,以阻止CDM管理员访问用户实例和含有密码信息的数据库。 CDM实例迁移以推拉模式进行,因此CDM实例在VPC上没有侦听端口,用户无法从VPC访问本地数据库或操作系统。 针对恶意用户的威胁:CDM对每个用户,使用单独的虚拟机来运行各自的CDM实例,用户之间的实例是完全隔离和安全的。恶意用户无法访问其他用户的实例。 针对数据暴露公网的威胁:CDM的抽取-写入模型下,即使CDM绑定了弹性IP,也不会开放端口到弹性IP,攻击者无法通过弹性IP来访问和攻击CDM。不过从公网迁移数据的方式下,由于用户数据源也会暴露在公网,存在被第三方攻击的威胁,推荐用户在数据源服务器上通过ACL或防火墙对源端进行防护,例如仅放通来自CDM绑定的弹性IP的访问请求。
-
CDM迁移原理 用户使用CDM服务时,CDM管理系统在用户VPC中发放全托管的CDM实例。此实例仅提供控制台和Rest API访问权限,用户无法通过其他接口(如SSH)访问实例。这种方式保证了CDM用户间的隔离,避免数据泄漏,同时保证VPC内不同云服务间数据迁移时的传输安全。用户还可以使用VPN网络将本地数据中心的数据迁移到云服务,具有高度的安全性。 CDM数据迁移以抽取-写入模式进行。CDM首先从源端抽取数据然后将数据写入到目的端,数据访问操作均由CDM主动发起,对于数据源(如RDS数据源)支持SSL时,会使用SSL加密传输。迁移过程要求用户提供源端和目的端数据源的用户名和密码,这些信息将存储在CDM实例的数据库中。保护这些信息对于CDM安全至关重要。 图1 CDM迁移原理
-
产品定义 云数据迁移 (Cloud Data Migration, 简称CDM),是一种高效、易用的数据集成服务。 CDM围绕大数据迁移上云和 智能数据湖 解决方案,提供了简单易用的迁移能力和多种数据源到 数据湖 的集成能力,降低了客户数据源迁移和集成的复杂性,有效的提高您数据迁移和集成的效率。 在 数据治理中心 ( DataArts Studio )服务中,CDM作为其中的“数据集成”组件使用,产品能力与独立的CDM服务保持一致。因此,后文中的“云数据迁移”、“数据集成”均指CDM服务。 当前DataArts Studio已提供全新的离线集成作业能力。离线集成作业作为数据开发组件的一个作业类型,支持跨集群下发数据集成作业,实现常用的批作业迁移能力。 相比于传统的依靠CDM集群进行生命周期管理CDM迁移作业,离线集成作业依靠数据开发组件的生命周期管理,由数据开发进行集成作业的统一调度和CDM集群资源的统一支配,作业运行可靠性更高、使用体验更佳,推荐您使用离线集成作业替代传统的CDM迁移作业。关于离线集成作业的更多介绍,请您参考离线集成作业概述。 离线处理集成作业功能当前需申请白名单后才能使用。如需使用该特性,请联系客服或技术支持人员。 CDM服务基于分布式计算框架,利用并行化处理技术,支持用户稳定高效地对海量数据进行移动,实现不停服数据迁移,快速构建所需的数据架构。 图1 CDM定位
-
产品功能 表/文件/整库迁移 支持批量迁移表或者文件,还支持同构/异构数据库之间整库迁移,一个作业即可迁移几百张表。 增量数据迁移 支持文件增量迁移、关系型数据库增量迁移、HBase/CloudTable增量迁移,以及使用Where条件配合时间变量函数实现增量数据迁移。 事务模式迁移 支持当CDM作业执行失败时,将数据回滚到作业开始之前的状态,自动清理目的表中的数据。 字段转换 支持去隐私、字符串操作、日期操作等常用字段的数据转换功能。 文件加密 在迁移文件到文件系统时,CDM支持对写入云端的文件进行加密。 MD5校验一致性 支持使用MD5校验,检查端到端文件的一致性,并输出校验结果。 脏数据归档 支持将迁移过程中处理失败的、被清洗过滤掉的、不符合字段转换或者不符合清洗规则的数据单独归档到脏数据日志中,便于用户查看。并支持设置脏数据比例阈值,来决定任务是否成功。
-
整库迁移支持的数据源类型 整库迁移适用于将本地数据中心或在ECS上自建的数据库,同步到云上的数据库服务或大数据服务中,适用于数据库离线迁移场景,不适用于在线实时迁移。 数据集成支持整库迁移的数据源如表2所示。 表2 整库迁移支持的数据源 数据源分类 数据源 读取 写入 说明 数据仓库 数据仓库服务(DWS) 支持 支持 - Hadoop (仅支持本地存储,不支持存算分离场景,不支持Ranger场景,不支持ZK开启SSL场景) MRS HBase 支持 支持 整库迁移仅支持导出到MRS HBase。 建议使用的版本: 2.1.X 1.3.X 当前暂不支持对接“Kerberos加密类型”为“aes256-sha2,aes128-sha2”的MRS集群。如需对接MRS集群,请注意“Kerberos加密类型”应为“aes256-sha1,aes128-sha1”。 MRS Hive 支持 支持 整库迁移仅支持导出到关系型数据库。 暂不支持2.x版本,建议使用的版本: 1.2.X 3.1.X 当前暂不支持对接“Kerberos加密类型”为“aes256-sha2,aes128-sha2”的MRS集群。如需对接MRS集群,请注意“Kerberos加密类型”应为“aes256-sha1,aes128-sha1”。 FusionInsight HBase 支持 不支持 建议使用的版本: 2.1.X 1.3.X FusionInsight Hive 支持 不支持 整库迁移仅支持导出到关系型数据库。 暂不支持2.x版本,建议使用的版本: 1.2.X 3.1.X Apache HBase 支持 不支持 建议使用的版本: 2.1.X 1.3.X Apache Hive 支持 不支持 整库迁移仅支持导出到关系型数据库。 暂不支持2.x版本,建议使用的版本: 1.2.X 3.1.X 关系数据库 云数据库 MySQL 支持 支持 不支持OLTP到OLTP迁移,此场景推荐通过 数据复制服务 DRS进行迁移。 云数据库 PostgreSQL 支持 支持 云数据库 SQL Server 支持 支持 MySQL 支持 不支持 PostgreSQL 支持 不支持 Microsoft SQL Server 支持 不支持 Oracle 支持 不支持 SAP HANA 支持 不支持 仅支持2.00.050.00.1592305219版本。 仅支持Generic Edition。 不支持BW/4 FOR HANA。 仅支持英文字母的数据库名、表名与列名,不支持存在空格、符号等特殊字符。 仅支持日期、数字、布尔、字符(除SHORTTEXT) 类型的数据类型,不支持二进制类型等其他数据类型。 迁移时不支持目的端自动建表。 达梦数据库 DM 支持 不支持 仅支持导出到DWS、Hive NoSQL Redis 支持 支持 - 文档数据库服务(DDS) 支持 支持 仅支持DDS和MRS之间迁移。 表格存储服务 (CloudTable) 支持 支持 -
-
表/文件迁移支持的数据源类型 表/文件迁移可以实现表或文件级别的数据迁移。 表/文件迁移时支持的数据源如表1所示。 表1 表/文件迁移支持的数据源 数据源分类 源端数据源 对应的目的端数据源 说明 数据仓库 数据仓库服务(DWS) 数据仓库:数据仓库服务(DWS), 数据湖探索 (DLI),MRS ClickHouse Hadoop:MRS HDFS,MRS HBase,MRS Hive 对象存储:对象存储服务(OBS) 关系型数据库:云数据库 MySQL,云数据库 PostgreSQL,云数据库 SQL Server,MySQL,PostgreSQL,Microsoft SQL Server,Oracle NoSQL: 表格存储 服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) 不支持DWS物理机纳管模式。 数据湖探索(DLI) - MRS ClickHouse 数据仓库:MRS ClickHouse,数据湖探索(DLI) MRS ClickHouse建议使用的版本:21.3.4.X。 当前暂不支持对接“Kerberos加密类型”为“aes256-sha2,aes128-sha2”的MRS集群。如需对接MRS集群,请注意“Kerberos加密类型”应为“aes256-sha1,aes128-sha1”。 Hadoop MRS HDFS 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 对象存储:对象存储服务(OBS) 关系型数据库:云数据库 MySQL,云数据库 PostgreSQL,云数据库 SQL Server,MySQL,PostgreSQL,Microsoft SQL Server,Oracle NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) 支持本地存储,仅MRS Hive、MRS Hudi支持存算分离场景。 仅MRS Hive支持Ranger场景。 不支持ZK开启SSL场景。 MRS HDFS建议使用的版本: 2.8.X 3.1.X MRS HBase建议使用的版本: 2.1.X 1.3.X MRS Hive、MRS Hudi暂不支持2.x版本,建议使用的版本: 1.2.X 3.1.X 当前暂不支持对接“Kerberos加密类型”为“aes256-sha2,aes128-sha2”的MRS集群。如需对接MRS集群,请注意“Kerberos加密类型”应为“aes256-sha1,aes128-sha1”。 MRS HBase MRS Hive 数据仓库:数据仓库服务(DWS),数据湖探索(DLI),MRS Clickhouse Hadoop:MRS HDFS,MRS HBase,MRS Hive 对象存储:对象存储服务(OBS) 关系型数据库:云数据库 MySQL,云数据库 PostgreSQL,云数据库 SQL Server,MySQL,PostgreSQL,Microsoft SQL Server,Oracle NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) MRS Hudi 数据仓库:数据仓库服务(DWS) FusionInsight HDFS 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 对象存储:对象存储服务(OBS) NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) FusionInsight数据源不支持作为目的端。 仅支持本地存储,不支持存算分离场景。 不支持Ranger场景。 不支持ZK开启SSL场景。 FusionInsight HDFS建议使用的版本: 2.8.X 3.1.X FusionInsight HBase建议使用的版本: 2.1.X 1.3.X FusionInsight Hive建议使用的版本: 1.2.X 3.1.X FusionInsight HBase FusionInsight Hive Apache HBase 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 对象存储:对象存储服务(OBS) NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) Apache数据源不支持作为目的端。 仅支持本地存储,不支持存算分离场景。 不支持Ranger场景。 不支持ZK开启SSL场景。 Apache HBase建议使用的版本: 2.1.X 1.3.X Apache Hive暂不支持2.x版本,建议使用的版本: 1.2.X 3.1.X Apache HDFS建议使用的版本: 2.8.X 3.1.X Apache Hive Apache HDFS 对象存储 对象存储服务(OBS) 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) 对象存储服务之间的迁移,推荐使用 对象存储迁移 服务 OMS 。 不支持二进制文件导入到数据库或NoSQL。 文件系统 FTP 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) 文件系统不支持作为目的端。 FTP/SFTP到搜索的迁移仅支持如CSV等文本文件,不支持二进制文件。 HTTP到OBS的迁移推荐使用obsutil工具,请参见obsutil简介。 SFTP HTTP Hadoop:MRS HDFS 关系型数据库 云数据库 MySQL 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive,MRS Hudi 对象存储:对象存储服务(OBS) NoSQL:表格存储服务(CloudTable) 关系型数据库:云数据库 MySQL,云数据库 PostgreSQL,云数据库 SQL Server 搜索:Elasticsearch,云搜索服务(CSS) 云数据库 MySQL不支持SSL模式。 Microsoft SQL Server建议使用的版本:2005以上。 金仓和 GaussDB 数据源可通过PostgreSQL连接器进行连接,支持的迁移作业的源端、目的端情况与PostgreSQL数据源一致。 云数据库 SQL Server 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 对象存储:对象存储服务(OBS) NoSQL:表格存储服务(CloudTable) 关系型数据库:云数据库 MySQL,云数据库 PostgreSQL,云数据库 SQL Server 搜索:Elasticsearch,云搜索服务(CSS) 云数据库 PostgreSQL MySQL 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive,MRS Hudi 对象存储:对象存储服务(OBS) NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) PostgreSQL Oracle Microsoft SQL Server 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 对象存储:对象存储服务(OBS) NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) SAP HANA 数据仓库:数据湖探索(DLI) Hadoop:MRS Hive SAP HANA数据源存在如下约束: SAP HANA不支持作为目的端。 仅支持2.00.050.00.1592305219版本。 仅支持Generic Edition。 不支持BW/4 FOR HANA。 仅支持英文字母的数据库名、表名与列名,不支持存在空格、符号等特殊字符。 仅支持日期、数字、布尔、字符(除SHORTTEXT) 类型的数据类型,不支持二进制类型等其他数据类型。 迁移时不支持目的端自动建表。 分库 数据仓库:数据湖探索(DLI) Hadoop:MRS HBase,MRS Hive 搜索:Elasticsearch,云搜索服务(CSS) 对象存储:对象存储服务(OBS) 分库数据源不支持作为目的端。 分库指的是同时连接多个后端数据源,该连接可作为作业源端,将多个数据源的数据合一迁移到其他数据源上。 NoSQL Redis Hadoop:MRS HDFS,MRS HBase,MRS Hive 除了表格存储服务(CloudTable)外,其他NoSQL数据源不支持作为目的端。 文档数据库服务(DDS) MongoDB 表格存储服务(CloudTable HBase) 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 对象存储:对象存储服务(OBS) 关系型数据库:云数据库 MySQL,云数据库 PostgreSQL,云数据库 SQL Server,MySQL,PostgreSQL,Microsoft SQL Server,Oracle NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) Cassandra 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 对象存储:对象存储服务(OBS) NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) 消息系统 数据接入服务 (DIS) 搜索:云搜索服务(CSS) 消息系统不支持作为目的端。 Apache Kafka DMS Kafka MRS Kafka 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 对象存储:对象存储服务(OBS) 关系型数据库:云数据库 MySQL,云数据库 PostgreSQL,云数据库 SQL Server NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) MRS Kafka不支持作为目的端。 仅支持本地存储,不支持存算分离场景。 不支持Ranger场景。 不支持ZK开启SSL场景。 当前暂不支持对接“Kerberos加密类型”为“aes256-sha2,aes128-sha2”的MRS集群。如需对接MRS集群,请注意“Kerberos加密类型”应为“aes256-sha1,aes128-sha1”。 搜索 Elasticsearch 数据仓库:数据仓库服务(DWS),数据湖探索(DLI) Hadoop:MRS HDFS,MRS HBase,MRS Hive 对象存储:对象存储服务(OBS) 关系型数据库:云数据库 MySQL,云数据库 PostgreSQL,云数据库 SQL Server NoSQL:表格存储服务(CloudTable) 搜索:Elasticsearch,云搜索服务(CSS) Elasticsearch仅支持非安全模式。 云搜索服务(CSS) 导入数据到CSS推荐使用Logstash,请参见使用Logstash导入数据到Elasticsearch。 上表中非云服务的数据源,例如MySQL,既可以支持用户本地数据中心自建的MySQL,也可以是用户在ECS上自建的MySQL,还可以是第三方云的MySQL服务。
-
对象存储服务(OBS)数据源约束 迁移文件时系统会自动并发,任务配置中的“抽取并发数”无效。 不支持断点续传。CDM传文件失败会产生OBS碎片,需要用户到OBS控制台清理碎片文件避免空间占用。 不支持对象多版本的迁移。 增量迁移时,单个作业的源端目录下的文件数量或对象数量,根据CDM集群规格分别有如下限制:大规格集群30万、中规格集群20万、小规格集群10万。 如果单目录下文件或对象数量超过限制,需要按照子目录来拆分成多个迁移作业。
-
Hive数据源约束 Hive中使用Parquet格式存储时间戳数据时,时间戳的精度为纳秒级别(即精确到毫微秒),即2023-03-27 00:00:00.000。当源端数据精度大于纳秒级别时,字段映射时会对数据进行截取。例如源端数据为2023-03-27 00:00:00.12345,目的端数据会被截取为2023-03-27 00:00:00.123。 Hive作为迁移的目的时,如果存储格式为Textfile,在Hive创建表的语句中需要显式指定分隔符。例如: CREATE TABLE csv_tbl( smallint_value smallint, tinyint_value tinyint, int_value int, bigint_value bigint, float_value float, double_value double, decimal_value decimal(9, 7), timestmamp_value timestamp, date_value date, varchar_value varchar(100), string_value string, char_value char(20), boolean_value boolean, binary_value binary, varchar_null varchar(100), string_null string, char_null char(20), int_null int ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' WITH SERDEPROPERTIES ( "separatorChar" = "\t", "quoteChar" = "'", "escapeChar" = "\\" ) STORED AS TEXTFILE;
-
CDM系统级限制和约束 DataArts Studio实例赠送的数据集成集群,由于规格限制,仅用于测试业务、数据连接代理场景。 用于运行数据迁移作业的其他规格CDM集群可以在DataArts Studio控制台以增量包的形式购买,也可以在云数据迁移CDM服务控制台直接购买。二者差异体现在如下方面: 套餐计费:在DataArts Studio控制台购买的CDM集群,套餐计费时仅支持在DataArts Studio控制台购买的套餐包;在CDM控制台购买的CDM集群,套餐计费仅支持在云数据迁移CDM服务控制台购买的折扣套餐。 权限控制:在DataArts Studio控制台购买的CDM集群,按照DataArts Studio的权限体系进行权限管理;在CDM控制台购买的CDM集群,按照云数据迁移CDM服务的权限体系进行权限管理。 使用场景:在DataArts Studio控制台购买的CDM集群按工作空间隔离,需要在关联的工作空间使用;在CDM控制台购买的CDM集群,不支持DataArts Studio工作空间级别的资源隔离,所有DataArts Studio工作空间均可使用。 集群创建好以后不支持修改规格,如果需要使用更高规格的,需要重新创建一个集群。 CDM集群为ARM或X86版本,依赖于底层资源的架构。 CDM暂不支持控制迁移数据的速度,请避免在业务高峰期执行迁移数据的任务。 在迁移数据时CDM会对数据源端产生压力。建议创建新的数据库账号用于数据迁移,并配置账号策略用于以限制迁移对数据源端的资源消耗。例如可配置当CPU使用率超30%就清理该账号下的连接,从而避免影响业务。 当前CDM集群cdm.large实例规格网卡的基准/最大带宽为0.8/3 Gbps,单个实例一天传输数据量的理论极限值在8TB左右。同理,cdm.xlarge实例规格网卡的基准/最大带宽为4/10 Gbps,理论极限值在40TB左右;cdm.4xlarge实例规格网卡的基准/最大带宽为36/40 Gbps,理论极限值在360TB左右。对传输速度有要求的情况下可以使用多个数据集成实例实现。 上述数据量为理论极限值,实际传输数据量受数据源类型、源和目的数据源读写性能、带宽等多方面因素制约,实测cdm.large规格最大可达到约8TB每天(大文件迁移到OBS场景)。推荐用户在正式迁移前先用小数据量实测进行速度摸底。 迁移文件或对象时支持文件级增量迁移(通过配置跳过重复文件实现),但不支持断点续传。 例如要迁移3个文件,第2个文件迁移到一半时由于网络原因失败,再次启动迁移任务时,会跳过第1个文件,从第2个文件开始重新传,但不能从第2个文件失败的位置重新传。 文件迁移时,单个任务支持千万数量的文件,如果待迁移目录下文件过多,建议拆分到不同目录并创建多个任务。 用户在CDM上配置的连接和作业支持导出到本地保存,考虑到密码的安全性,CDM不会将对应数据源的连接密码导出。因此在将作业配置重新导入到CDM前,需要手工编辑导出的JSON文件补充密码或在导入窗口配置密码。 不支持集群自动升级到新版本,需要用户通过作业的导出和导入功能,实现升级到新版本。 在无OBS的场景下,CDM系统不会自动备份用户的作业配置,需要用户通过作业的导出功能进行备份。 如果配置了VPC对等连接,可能会出现对端VPC子网与CDM管理网重叠,从而无法访问对端VPC中数据源的情况。推荐使用公网做跨VPC数据迁移,或联系管理员在CDM后台为VPC对等连接添加特定路由。 CDM迁移,当目的端为DWS和NewSQL的时候,不支持将源端的主键和唯一索引等约束一起迁移过去。 CDM迁移作业时,需确保两个集群版本的JSON文件格式保持一致,才可以从将源集群的作业导入到目标集群。 作业运行过程中,任务异常中断,目标端已写入的部分数据不会清理,需手动清理。 单文件传输大小不超过1TB。
-
云搜索服务和Elasticsearch数据源约束 CDM支持自动创建索引和类型,索引和类型名称只能全部小写,不能有大写。 索引下的字段类型创建后不能修改,只能创建新字段。 如果一定要修改字段类型,需要创建新索引或到Kibana上用Elasticsearch命令删除当前索引重新创建(数据也会删除)。 CDM自动创建的索引,字段类型为date时,要求数据格式为“yyyy-MM-dd HH:mm:ss.SSS Z”,即“2018-08-08 08:08:08.888 +08:00”。 迁移数据到云搜索服务时如果date字段的原始数据不满足格式要求,可以通过CDM的字段转换功能转换为上述格式。
共100000条
- 1
- ...
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148
- 149
- 150
- 151
- 152
- 153
- 154
- 155
- 156
- 157
- 158
- 159
- 160
- 161
- 162
- 163
- 164
- 165
- 166
- 167
- 168
- 169
- 170
- 171
- 172
- 173
- 174
- 175
- 176
- 177
- 178
- 179
- 180
- 181
- 182
- 183
- 184
- 185
- 186
- 187
- 188
- 189
- 190
- 191
- 192
- 193
- 194
- 195
- 196
- 197
- 198
- 199
- 200
- 201
- 202
- 203
- 204
- 205
- 206
- 207
- 208
- 209
- 210
- 211
- 212
- 213
- 214
- 215
- 216
- 217
- 218
- 219
- 220
- 221
- 222
- 223
- 224
- 225
- 226
- 227
- 228
- 229
- 230
- 231
- 232
- 233
- 234
- 235
- 236
- 237
- 238
- 239
- 240
- 241
- 242
- 243
- 244
- 245
- 246
- 247
- 248
- 249
- 250
- 251
- 252
- 253
- 254
- 255
- 256
- 257
- 258
- 259
- 260
- 261
- 262
- 263
- 264
- 265
- 266
- 267
- 268
- 269
- 270
- 271
- 272
- 273
- 274
- 275
- 276
- 277
- 278
- 279
- 280
- 281
- 282
- 283
- 284
- 285
- 286
- 287
- 288
- 289
- 290
- 291
- 292
- 293
- 294
- 295
- 296
- 297
- 298
- 299
- 300
- 301
- 302
- 303
- 304
- 305
- 306
- 307
- 308
- 309
- 310
- 311
- 312
- 313
- 314
- 315
- 316
- 317
- 318
- 319
- 320
- 321
- 322
- 323
- 324
- 325
- 326
- 327
- 328
- 329
- 330
- 331
- 332
- 333
- 334
- 335
- 336
- 337
- 338
- 339
- 340
- 341
- 342
- 343
- 344
- 345
- 346
- 347
- 348
- 349
- 350
- 351
- 352
- 353
- 354
- 355
- 356
- 357
- 358
- 359
- 360
- 361
- 362
- 363
- 364
- 365
- 366
- 367
- 368
- 369
- 370
- 371
- 372
- 373
- 374
- 375
- 376
- 377
- 378
- 379
- 380
- 381
- 382
- 383
- 384
- 385
- 386
- 387
- 388
- 389
- 390
- 391
- 392
- 393
- 394
- 395
- 396
- 397
- 398
- 399
- 400
- 401
- 402
- 403
- 404
- 405
- 406
- 407
- 408
- 409
- 410
- 411
- 412
- 413
- 414
- 415
- 416
- 417
- 418
- 419
- 420
- 421
- 422
- 423
- 424
- 425
- 426
- 427
- 428
- 429
- 430
- 431
- 432
- 433
- 434
- 435
- 436
- 437
- 438
- 439
- 440
- 441
- 442
- 443
- 444
- 445
- 446
- 447
- 448
- 449
- 450
- 451
- 452
- 453
- 454
- 455
- 456
- 457
- 458
- 459
- 460
- 461
- 462
- 463
- 464
- 465
- 466
- 467
- 468
- 469
- 470
- 471
- 472
- 473
- 474
- 475
- 476
- 477
- 478
- 479
- 480
- 481
- 482
- 483
- 484
- 485
- 486
- 487
- 488
- 489
- 490
- 491
- 492
- 493
- 494
- 495
- 496
- 497
- 498
- 499
- 500
- 501
- 502
- 503
- 504
- 505
- 506
- 507
- 508
- 509
- 510
- 511
- 512
- 513
- 514
- 515
- 516
- 517
- 518
- 519
- 520
- 521
- 522
- 523
- 524
- 525
- 526
- 527
- 528
- 529
- 530
- 531
- 532
- 533
- 534
- 535
- 536
- 537
- 538
- 539
- 540
- 541
- 542
- 543
- 544
- 545
- 546
- 547
- 548
- 549
- 550
- 551
- 552
- 553
- 554
- 555
- 556
- 557
- 558
- 559
- 560
- 561
- 562
- 563
- 564
- 565
- 566
- 567
- 568
- 569
- 570
- 571
- 572
- 573
- 574
- 575
- 576
- 577
- 578
- 579
- 580
- 581
- 582
- 583
- 584
- 585
- 586
- 587
- 588
- 589
- 590
- 591
- 592
- 593
- 594
- 595
- 596
- 597
- 598
- 599
- 600
- 601
- 602
- 603
- 604
- 605
- 606
- 607
- 608
- 609
- 610
- 611
- 612
- 613
- 614
- 615
- 616
- 617
- 618
- 619
- 620
- 621
- 622
- 623
- 624
- 625
- 626
- 627
- 628
- 629
- 630
- 631
- 632
- 633
- 634
- 635
- 636
- 637
- 638
- 639
- 640
- 641
- 642
- 643
- 644
- 645
- 646
- 647
- 648
- 649
- 650
- 651
- 652
- 653
- 654
- 655
- 656
- 657
- 658
- 659
- 660
- 661
- 662
- 663
- 664
- 665
- 666
- 667
- 668
- 669
- 670
- 671
- 672
- 673
- 674
- 675
- 676
- 677
- 678
- 679
- 680
- 681
- 682
- 683
- 684
- 685
- 686
- 687
- 688
- 689
- 690
- 691
- 692
- 693
- 694
- 695
- 696
- 697
- 698
- 699
- 700
- 701
- 702
- 703
- 704
- 705
- 706
- 707
- 708
- 709
- 710
- 711
- 712
- 713
- 714
- 715
- 716
- 717
- 718
- 719
- 720
- 721
- 722
- 723
- 724
- 725
- 726
- 727
- 728
- 729
- 730
- 731
- 732
- 733
- 734
- 735
- 736
- 737
- 738
- 739
- 740
- 741
- 742
- 743
- 744
- 745
- 746
- 747
- 748
- 749
- 750
- 751
- 752
- 753
- 754
- 755
- 756
- 757
- 758
- 759
- 760
- 761
- 762
- 763
- 764
- 765
- 766
- 767
- 768
- 769
- 770
- 771
- 772
- 773
- 774
- 775
- 776
- 777
- 778
- 779
- 780
- 781
- 782
- 783
- 784
- 785
- 786
- 787
- 788
- 789
- 790
- 791
- 792
- 793
- 794
- 795
- 796
- 797
- 798
- 799
- 800
- 801
- 802
- 803
- 804
- 805
- 806
- 807
- 808
- 809
- 810
- 811
- 812
- 813
- 814
- 815
- 816
- 817
- 818
- 819
- 820
- 821
- 822
- 823
- 824
- 825
- 826
- 827
- 828
- 829
- 830
- 831
- 832
- 833
- 834
- 835
- 836
- 837
- 838
- 839
- 840
- 841
- 842
- 843
- 844
- 845
- 846
- 847
- 848
- 849
- 850
- 851
- 852
- 853
- 854
- 855
- 856
- 857
- 858
- 859
- 860
- 861
- 862
- 863
- 864
- 865
- 866
- 867
- 868
- 869
- 870
- 871
- 872
- 873
- 874
- 875
- 876
- 877
- 878
- 879
- 880
- 881
- 882
- 883
- 884
- 885
- 886
- 887
- 888
- 889
- 890
- 891
- 892
- 893
- 894
- 895
- 896
- 897
- 898
- 899
- 900
- 901
- 902
- 903
- 904
- 905
- 906
- 907
- 908
- 909
- 910
- 911
- 912
- 913
- 914
- 915
- 916
- 917
- 918
- 919
- 920
- 921
- 922
- 923
- 924
- 925
- 926
- 927
- 928
- 929
- 930
- 931
- 932
- 933
- 934
- 935
- 936
- 937
- 938
- 939
- 940
- 941
- 942
- 943
- 944
- 945
- 946
- 947
- 948
- 949
- 950
- 951
- 952
- 953
- 954
- 955
- 956
- 957
- 958
- 959
- 960
- 961
- 962
- 963
- 964
- 965
- 966
- 967
- 968
- 969
- 970
- 971
- 972
- 973
- 974
- 975
- 976
- 977
- 978
- 979
- 980
- 981
- 982
- 983
- 984
- 985
- 986
- 987
- 988
- 989
- 990
- 991
- 992
- 993
- 994
- 995
- 996
- 997
- 998
- 999
- 1000
- 1001
- 1002
- 1003
- 1004
- 1005
- 1006
- 1007
- 1008
- 1009
- 1010
- 1011
- 1012
- 1013
- 1014
- 1015
- 1016
- 1017
- 1018
- 1019
- 1020
- 1021
- 1022
- 1023
- 1024
- 1025
- 1026
- 1027
- 1028
- 1029
- 1030
- 1031
- 1032
- 1033
- 1034
- 1035
- 1036
- 1037
- 1038
- 1039
- 1040
- 1041
- 1042
- ...
- 1043
- 1044
- 1045
- 1046
- 1047
- 1048
- 1049
- 1050
- 1051
- 1052
- 1053
- 1054
- 1055
- 1056
- 1057
- 1058
- 1059
- 1060
- 1061
- 1062
- 1063
- 1064
- 1065
- 1066
- 1067
- 1068
- 1069
- 1070
- 1071
- 1072
- 1073
- 1074
- 1075
- 1076
- 1077
- 1078
- 1079
- 1080
- 1081
- 1082
- 1083
- 1084
- 1085
- 1086
- 1087
- 1088
- 1089
- 1090
- 1091
- 1092
- 1093
- 1094
- 1095
- 1096
- 1097
- 1098
- 1099
- 1100
- 1101
- 1102
- 1103
- 1104
- 1105
- 1106
- 1107
- 1108
- 1109
- 1110
- 1111
- 1112
- 1113
- 1114
- 1115
- 1116
- 1117
- 1118
- 1119
- 1120
- 1121
- 1122
- 1123
- 1124
- 1125
- 1126
- 1127
- 1128
- 1129
- 1130
- 1131
- 1132
- 1133
- 1134
- 1135
- 1136
- 1137
- 1138
- 1139
- 1140
- 1141
- 1142
- 1143
- 1144
- 1145
- 1146
- 1147
- 1148
- 1149
- 1150
- 1151
- 1152
- 1153
- 1154
- 1155
- 1156
- 1157
- 1158
- 1159
- 1160
- 1161
- 1162
- 1163
- 1164
- 1165
- 1166
- 1167
- 1168
- 1169
- 1170
- 1171
- 1172
- 1173
- 1174
- 1175
- 1176
- 1177
- 1178
- 1179
- 1180
- 1181
- 1182
- 1183
- 1184
- 1185
- 1186
- 1187
- 1188
- 1189
- 1190
- 1191
- 1192
- 1193
- 1194
- 1195
- 1196
- 1197
- 1198
- 1199
- 1200
- 1201
- 1202
- 1203
- 1204
- 1205
- 1206
- 1207
- 1208
- 1209
- 1210
- 1211
- 1212
- 1213
- 1214
- 1215
- 1216
- 1217
- 1218
- 1219
- 1220
- 1221
- 1222
- 1223
- 1224
- 1225
- 1226
- 1227
- 1228
- 1229
- 1230
- 1231
- 1232
- 1233
- 1234
- 1235
- 1236
- 1237
- 1238
- 1239
- 1240
- 1241
- 1242
- 1243
- 1244
- 1245
- 1246
- 1247
- 1248
- 1249
- 1250
- 1251
- 1252
- 1253
- 1254
- 1255
- 1256
- 1257
- 1258
- 1259
- 1260
- 1261
- 1262
- 1263
- 1264
- 1265
- 1266
- 1267
- 1268
- 1269
- 1270
- 1271
- 1272
- 1273
- 1274
- 1275
- 1276
- 1277
- 1278
- 1279
- 1280
- 1281
- 1282
- 1283
- 1284
- 1285
- 1286
- 1287
- 1288
- 1289
- 1290
- 1291
- 1292
- 1293
- 1294
- 1295
- 1296
- 1297
- 1298
- 1299
- 1300
- 1301
- 1302
- 1303
- 1304
- 1305
- 1306
- 1307
- 1308
- 1309
- 1310
- 1311
- 1312
- 1313
- 1314
- 1315
- 1316
- 1317
- 1318
- 1319
- 1320
- 1321
- 1322
- 1323
- 1324
- 1325
- 1326
- 1327
- 1328
- 1329
- 1330
- 1331
- 1332
- 1333
- 1334
- 1335
- 1336
- 1337
- 1338
- 1339
- 1340
- 1341
- 1342
- 1343
- 1344
- 1345
- 1346
- 1347
- 1348
- 1349
- 1350
- 1351
- 1352
- 1353
- 1354
- 1355
- 1356
- 1357
- 1358
- 1359
- 1360
- 1361
- 1362
- 1363
- 1364
- 1365
- 1366
- 1367
- 1368
- 1369
- 1370
- 1371
- 1372
- 1373
- 1374
- 1375
- 1376
- 1377
- 1378
- 1379
- 1380
- 1381
- 1382
- 1383
- 1384
- 1385
- 1386
- 1387
- 1388
- 1389
- 1390
- 1391
- 1392
- 1393
- 1394
- 1395
- 1396
- 1397
- 1398
- 1399
- 1400
- 1401
- 1402
- 1403
- 1404
- 1405
- 1406
- 1407
- 1408
- 1409
- 1410
- 1411
- 1412
- 1413
- 1414
- 1415
- 1416
- 1417
- 1418
- 1419
- 1420
- 1421
- 1422
- 1423
- 1424
- 1425
- 1426
- 1427
- 1428
- 1429
- 1430
- 1431
- 1432
- 1433
- 1434
- 1435
- 1436
- 1437
- 1438
- 1439
- 1440
- 1441
- 1442
- 1443
- 1444
- 1445
- 1446
- 1447
- 1448
- 1449
- 1450
- 1451
- 1452
- 1453
- 1454
- 1455
- 1456
- 1457
- 1458
- 1459
- 1460
- 1461
- 1462
- 1463
- 1464
- 1465
- 1466
- 1467
- 1468
- 1469
- 1470
- 1471
- 1472
- 1473
- 1474
- 1475
- 1476
- 1477
- 1478
- 1479
- 1480
- 1481
- 1482
- 1483
- 1484
- 1485
- 1486
- 1487
- 1488
- 1489
- 1490
- 1491
- 1492
- 1493
- 1494
- 1495
- 1496
- 1497
- 1498
- 1499
- 1500
- 1501
- 1502
- 1503
- 1504
- 1505
- 1506
- 1507
- 1508
- 1509
- 1510
- 1511
- 1512
- 1513
- 1514
- 1515
- 1516
- 1517
- 1518
- 1519
- 1520
- 1521
- 1522
- 1523
- 1524
- 1525
- 1526
- 1527
- 1528
- 1529
- 1530
- 1531
- 1532
- 1533
- 1534
- 1535
- 1536
- 1537
- 1538
- 1539
- 1540
- 1541
- 1542
- 1543
- 1544
- 1545
- 1546
- 1547
- 1548
- 1549
- 1550
- 1551
- 1552
- 1553
- 1554
- 1555
- 1556
- 1557
- 1558
- 1559
- 1560
- 1561
- 1562
- 1563
- 1564
- 1565
- 1566
- 1567
- 1568
- 1569
- 1570
- 1571
- 1572
- 1573
- 1574
- 1575
- 1576
- 1577
- 1578
- 1579
- 1580
- 1581
- 1582
- 1583
- 1584
- 1585
- 1586
- 1587
- 1588
- 1589
- 1590
- 1591
- 1592
- 1593
- 1594
- 1595
- 1596
- 1597
- 1598
- 1599
- 1600
- 1601
- 1602
- 1603
- 1604
- 1605
- 1606
- 1607
- 1608
- 1609
- 1610
- 1611
- 1612
- 1613
- 1614
- 1615
- 1616
- 1617
- 1618
- 1619
- 1620
- 1621
- 1622
- 1623
- 1624
- 1625
- 1626
- 1627
- 1628
- 1629
- 1630
- 1631
- 1632
- 1633
- 1634
- 1635
- 1636
- 1637
- 1638
- 1639
- 1640
- 1641
- 1642
- 1643
- 1644
- 1645
- 1646
- 1647
- 1648
- 1649
- 1650
- 1651
- 1652
- 1653
- 1654
- 1655
- 1656
- 1657
- 1658
- 1659
- 1660
- 1661
- 1662
- 1663
- 1664
- 1665
- 1666
- 1667
- 1668
- 1669
- 1670
- 1671
- 1672
- 1673
- 1674
- 1675
- 1676
- 1677
- 1678
- 1679
- 1680
- 1681
- 1682
- 1683
- 1684
- 1685
- 1686
- 1687
- 1688
- 1689
- 1690
- 1691
- 1692
- 1693
- 1694
- 1695
- 1696
- 1697
- 1698
- 1699
- 1700
- 1701
- 1702
- 1703
- 1704
- 1705
- 1706
- 1707
- 1708
- 1709
- 1710
- 1711
- 1712
- 1713
- 1714
- 1715
- 1716
- 1717
- 1718
- 1719
- 1720
- 1721
- 1722
- 1723
- 1724
- 1725
- 1726
- 1727
- 1728
- 1729
- 1730
- 1731
- 1732
- 1733
- 1734
- 1735
- 1736
- 1737
- 1738
- 1739
- 1740
- 1741
- 1742
- 1743
- 1744
- 1745
- 1746
- 1747
- 1748
- 1749
- 1750
- 1751
- 1752
- 1753
- 1754
- 1755
- 1756
- 1757
- 1758
- 1759
- 1760
- 1761
- 1762
- 1763
- 1764
- 1765
- 1766
- 1767
- 1768
- 1769
- 1770
- 1771
- 1772
- 1773
- 1774
- 1775
- 1776
- 1777
- 1778
- 1779
- 1780
- 1781
- 1782
- 1783
- 1784
- 1785
- 1786
- 1787
- 1788
- 1789
- 1790
- 1791
- 1792
- 1793
- 1794
- 1795
- 1796
- 1797
- 1798
- 1799
- 1800
- 1801
- 1802
- 1803
- 1804
- 1805
- 1806
- 1807
- 1808
- 1809
- 1810
- 1811
- 1812
- 1813
- 1814
- 1815
- 1816
- 1817
- 1818
- 1819
- 1820
- 1821
- 1822
- 1823
- 1824
- 1825
- 1826
- 1827
- 1828
- 1829
- 1830
- 1831
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- 1839
- 1840
- 1841
- 1842
- 1843
- 1844
- 1845
- 1846
- 1847
- 1848
- 1849
- 1850
- 1851
- 1852
- 1853
- 1854
- 1855
- 1856
- 1857
- 1858
- 1859
- 1860
- 1861
- 1862
- 1863
- 1864
- 1865
- 1866
- 1867
- 1868
- 1869
- 1870
- 1871
- 1872
- 1873
- 1874
- 1875
- 1876
- 1877
- 1878
- 1879
- 1880
- 1881
- 1882
- 1883
- 1884
- 1885
- 1886
- 1887
- 1888
- 1889
- 1890
- 1891
- 1892
- 1893
- 1894
- 1895
- 1896
- 1897
- 1898
- 1899
- 1900
- 1901
- 1902
- 1903
- 1904
- 1905
- 1906
- 1907
- 1908
- 1909
- 1910
- 1911
- 1912
- 1913
- 1914
- 1915
- 1916
- 1917
- 1918
- 1919
- 1920
- 1921
- 1922
- 1923
- 1924
- 1925
- 1926
- 1927
- 1928
- 1929
- 1930
- 1931
- 1932
- 1933
- 1934
- 1935
- 1936
- 1937
- 1938
- 1939
- 1940
- 1941
- 1942
- 1943
- 1944
- 1945
- 1946
- 1947
- 1948
- 1949
- 1950
- 1951
- 1952
- 1953
- 1954
- 1955
- 1956
- 1957
- 1958
- 1959
- 1960
- 1961
- 1962
- 1963
- 1964
- 1965
- 1966
- 1967
- 1968
- 1969
- 1970
- 1971
- 1972
- 1973
- 1974
- 1975
- 1976
- 1977
- 1978
- 1979
- 1980
- 1981
- 1982
- 1983
- 1984
- 1985
- 1986
- 1987
- 1988
- 1989
- 1990
- 1991
- 1992
- 1993
- 1994
- 1995
- 1996
- 1997
- 1998
- 1999
- 2000
- 2001
- 2002
- 2003
- 2004
- 2005
- 2006
- 2007
- 2008
- 2009
- 2010
- 2011
- 2012
- 2013
- 2014
- 2015
- 2016
- 2017
- 2018
- 2019
- 2020
- 2021
- 2022
- 2023
- 2024
- 2025
- 2026
- 2027
- 2028
- 2029
- 2030
- 2031
- 2032
- 2033
- 2034
- 2035
- 2036
- 2037
- 2038
- 2039
- 2040
- 2041
- 2042
- 2043
- 2044
- 2045
- 2046
- 2047
- 2048
- 2049
- 2050
- 2051
- 2052
- 2053
- 2054
- 2055
- 2056
- 2057
- 2058
- 2059
- 2060
- 2061
- 2062
- 2063
- 2064
- 2065
- 2066
- 2067
- 2068
- 2069
- 2070
- 2071
- 2072
- 2073
- 2074
- 2075
- 2076
- 2077
- 2078
- 2079
- 2080
- 2081
- 2082
- 2083
- 2084
- 2085
- 2086
- 2087
- 2088
- 2089
- 2090
- 2091
- 2092
- 2093
- 2094
- 2095
- 2096
- 2097
- 2098
- 2099
- 2100
- 2101
- 2102
- 2103
- 2104
- 2105
- 2106
- 2107
- 2108
- 2109
- 2110
- 2111
- 2112
- 2113
- 2114
- 2115
- 2116
- 2117
- 2118
- 2119
- 2120
- 2121
- 2122
- 2123
- 2124
- 2125
- 2126
- 2127
- 2128
- 2129
- 2130
- 2131
- 2132
- 2133
- 2134
- 2135
- 2136
- 2137
- 2138
- 2139
- 2140
- 2141
- 2142
- 2143
- 2144
- 2145
- 2146
- 2147
- 2148
- 2149
- 2150
- 2151
- 2152
- 2153
- 2154
- 2155
- 2156
- 2157
- 2158
- 2159
- 2160
- 2161
- 2162
- 2163
- 2164
- 2165
- 2166
- 2167
- 2168
- 2169
- 2170
- 2171
- 2172
- 2173
- 2174
- 2175
- 2176
- 2177
- 2178
- 2179
- 2180
- 2181
- 2182
- 2183
- 2184
- 2185
- 2186
- 2187
- 2188
- 2189
- 2190
- 2191
- 2192
- 2193
- 2194
- 2195
- 2196
- 2197
- 2198
- 2199
- 2200
- 2201
- 2202
- 2203
- 2204
- 2205
- 2206
- 2207
- 2208
- 2209
- 2210
- 2211
- 2212
- 2213
- 2214
- 2215
- 2216
- 2217
- 2218
- 2219
- 2220
- 2221
- 2222
- 2223
- 2224
- 2225
- 2226
- 2227
- 2228
- 2229
- 2230
- 2231
- 2232
- 2233
- 2234
- 2235
- 2236
- 2237
- 2238
- 2239
- 2240
- 2241
- 2242
- 2243
- 2244
- 2245
- 2246
- 2247
- 2248
- 2249
- 2250
- 2251
- 2252
- 2253
- 2254
- 2255
- 2256
- 2257
- 2258
- 2259
- 2260
- 2261
- 2262
- 2263
- 2264
- 2265
- 2266
- 2267
- 2268
- 2269
- 2270
- 2271
- 2272
- 2273
- 2274
- 2275
- 2276
- 2277
- 2278
- 2279
- 2280
- 2281
- 2282
- 2283
- 2284
- 2285
- 2286
- 2287
- 2288
- 2289
- 2290
- 2291
- 2292
- 2293
- 2294
- 2295
- 2296
- 2297
- 2298
- 2299
- 2300
- 2301
- 2302
- 2303
- 2304
- 2305
- 2306
- 2307
- 2308
- 2309
- 2310
- 2311
- 2312
- 2313
- 2314
- 2315
- 2316
- 2317
- 2318
- 2319
- 2320
- 2321
- 2322
- 2323
- 2324
- 2325
- 2326
- 2327
- 2328
- 2329
- 2330
- 2331
- 2332
- 2333
- 2334
- 2335
- 2336
- 2337
- 2338
- 2339
- 2340
- 2341
- 2342
- 2343
- 2344
- 2345
- 2346
- 2347
- 2348
- 2349
- 2350
- 2351
- 2352
- 2353
- 2354
- 2355
- 2356
- 2357
- 2358
- 2359
- 2360
- 2361
- 2362
- 2363
- 2364
- 2365
- 2366
- 2367
- 2368
- 2369
- 2370
- 2371
- 2372
- 2373
- 2374
- 2375
- 2376
- 2377
- 2378
- 2379
- 2380
- 2381
- 2382
- 2383
- 2384
- 2385
- 2386
- 2387
- 2388
- 2389
- 2390
- 2391
- 2392
- 2393
- 2394
- 2395
- 2396
- 2397
- 2398
- 2399
- 2400
- 2401
- 2402
- 2403
- 2404
- 2405
- 2406
- 2407
- 2408
- 2409
- 2410
- 2411
- 2412
- 2413
- 2414
- 2415
- 2416
- 2417
- 2418
- 2419
- 2420
- 2421
- 2422
- 2423
- 2424
- 2425
- 2426
- 2427
- 2428
- 2429
- 2430
- 2431
- 2432
- 2433
- 2434
- 2435
- 2436
- 2437
- 2438
- 2439
- 2440
- 2441
- 2442
- 2443
- 2444
- 2445
- 2446
- 2447
- 2448
- 2449
- 2450
- 2451
- 2452
- 2453
- 2454
- 2455
- 2456
- 2457
- 2458
- 2459
- 2460
- 2461
- 2462
- 2463
- 2464
- 2465
- 2466
- 2467
- 2468
- 2469
- 2470
- 2471
- 2472
- 2473
- 2474
- 2475
- 2476
- 2477
- 2478
- 2479
- 2480
- 2481
- 2482
- 2483
- 2484
- 2485
- 2486
- 2487
- 2488
- 2489
- 2490
- 2491
- 2492
- 2493
- 2494
- 2495
- 2496
- 2497
- 2498
- 2499
- 2500
- 2501
- 2502
- 2503
- 2504
- 2505
- 2506
- 2507
- 2508
- 2509
- 2510
- 2511
- 2512
- 2513
- 2514
- 2515
- 2516
- 2517
- 2518
- 2519
- 2520
- 2521
- 2522
- 2523
- 2524
- 2525
- 2526
- 2527
- 2528
- 2529
- 2530
- 2531
- 2532
- 2533
- 2534
- 2535
- 2536
- 2537
- 2538
- 2539
- 2540
- 2541
- 2542
- 2543
- 2544
- 2545
- 2546
- 2547
- 2548
- 2549
- 2550
- 2551
- 2552
- 2553
- 2554
- 2555
- 2556
- 2557
- 2558
- 2559
- 2560
- 2561
- 2562
- 2563
- 2564
- 2565
- 2566
- 2567
- 2568
- 2569
- 2570
- 2571
- 2572
- 2573
- 2574
- 2575
- 2576
- 2577
- 2578
- 2579
- 2580
- 2581
- 2582
- 2583
- 2584
- 2585
- 2586
- 2587
- 2588
- 2589
- 2590
- 2591
- 2592
- 2593
- 2594
- 2595
- 2596
- 2597
- 2598
- 2599
- 2600
- 2601
- 2602
- 2603
- 2604
- 2605
- 2606
- 2607
- 2608
- 2609
- 2610
- 2611
- 2612
- 2613
- 2614
- 2615
- 2616
- 2617
- 2618
- 2619
- 2620
- 2621
- 2622
- 2623
- 2624
- 2625
- 2626
- 2627
- 2628
- 2629
- 2630
- 2631
- 2632
- 2633
- 2634
- 2635
- 2636
- 2637
- 2638
- 2639
- 2640
- 2641
- 2642
- 2643
- 2644
- 2645
- 2646
- 2647
- 2648
- 2649
- 2650
- 2651
- 2652
- 2653
- 2654
- 2655
- 2656
- 2657
- 2658
- 2659
- 2660
- 2661
- 2662
- 2663
- 2664
- 2665
- 2666
- 2667
- 2668
- 2669
- 2670
- 2671
- 2672
- 2673
- 2674
- 2675
- 2676
- 2677
- 2678
- 2679
- 2680
- 2681
- 2682
- 2683
- 2684
- 2685
- 2686
- 2687
- 2688
- 2689
- 2690
- 2691
- 2692
- 2693
- 2694
- 2695
- 2696
- 2697
- 2698
- 2699
- 2700
- 2701
- 2702
- 2703
- 2704
- 2705
- 2706
- 2707
- 2708
- 2709
- 2710
- 2711
- 2712
- 2713
- 2714
- 2715
- 2716
- 2717
- 2718
- 2719
- 2720
- 2721
- 2722
- 2723
- 2724
- 2725
- 2726
- 2727
- 2728
- 2729
- 2730
- 2731
- 2732
- 2733
- 2734
- 2735
- 2736
- 2737
- 2738
- 2739
- 2740
- 2741
- 2742
- 2743
- 2744
- 2745
- 2746
- 2747
- 2748
- 2749
- 2750
- 2751
- 2752
- 2753
- 2754
- 2755
- 2756
- 2757
- 2758
- 2759
- 2760
- 2761
- 2762
- 2763
- 2764
- 2765
- 2766
- 2767
- 2768
- 2769
- 2770
- 2771
- 2772
- 2773
- 2774
- 2775
- 2776
- 2777
- 2778
- 2779
- 2780
- 2781
- 2782
- 2783
- 2784
- 2785
- 2786
- 2787
- 2788
- 2789
- 2790
- 2791
- 2792
- 2793
- 2794
- 2795
- 2796
- 2797
- 2798
- 2799
- 2800
- 2801
- 2802
- 2803
- 2804
- 2805
- 2806
- 2807
- 2808
- 2809
- 2810
- 2811
- 2812
- 2813
- 2814
- 2815
- 2816
- 2817
- 2818
- 2819
- 2820
- 2821
- 2822
- 2823
- 2824
- 2825
- 2826
- 2827
- 2828
- 2829
- 2830
- 2831
- 2832
- 2833
- 2834
- 2835
- 2836
- 2837
- 2838
- 2839
- 2840
- 2841
- 2842
- 2843
- 2844
- 2845
- 2846
- 2847
- 2848
- 2849
- 2850
- 2851
- 2852
- 2853
- 2854
- 2855
- 2856
- 2857
- 2858
- 2859
- 2860
- 2861
- 2862
- 2863
- 2864
- 2865
- 2866
- 2867
- 2868
- 2869
- 2870
- 2871
- 2872
- 2873
- 2874
- 2875
- 2876
- 2877
- 2878
- 2879
- 2880
- 2881
- 2882
- 2883
- 2884
- 2885
- 2886
- 2887
- 2888
- 2889
- 2890
- 2891
- 2892
- 2893
- 2894
- 2895
- 2896
- 2897
- 2898
- 2899
- 2900
- 2901
- 2902
- 2903
- 2904
- 2905
- 2906
- 2907
- 2908
- 2909
- 2910
- 2911
- 2912
- 2913
- 2914
- 2915
- 2916
- 2917
- 2918
- 2919
- 2920
- 2921
- 2922
- 2923
- 2924
- 2925
- 2926
- 2927
- 2928
- 2929
- 2930
- 2931
- 2932
- 2933
- 2934
- 2935
- 2936
- 2937
- 2938
- 2939
- 2940
- 2941
- 2942
- 2943
- 2944
- 2945
- 2946
- 2947
- 2948
- 2949
- 2950
- 2951
- 2952
- 2953
- 2954
- 2955
- 2956
- 2957
- 2958
- 2959
- 2960
- 2961
- 2962
- 2963
- 2964
- 2965
- 2966
- 2967
- 2968
- 2969
- 2970
- 2971
- 2972
- 2973
- 2974
- 2975
- 2976
- 2977
- 2978
- 2979
- 2980
- 2981
- 2982
- 2983
- 2984
- 2985
- 2986
- 2987
- 2988
- 2989
- 2990
- 2991
- 2992
- 2993
- 2994
- 2995
- 2996
- 2997
- 2998
- 2999
- 3000
- 3001
- 3002
- 3003
- 3004
- 3005
- 3006
- 3007
- 3008
- 3009
- 3010
- 3011
- 3012
- 3013
- 3014
- 3015
- 3016
- 3017
- 3018
- 3019
- 3020
- 3021
- 3022
- 3023
- 3024
- 3025
- 3026
- 3027
- 3028
- 3029
- 3030
- 3031
- 3032
- 3033
- 3034
- 3035
- 3036
- 3037
- 3038
- 3039
- 3040
- 3041
- 3042
- 3043
- 3044
- 3045
- 3046
- 3047
- 3048
- 3049
- 3050
- 3051
- 3052
- 3053
- 3054
- 3055
- 3056
- 3057
- 3058
- 3059
- 3060
- 3061
- 3062
- 3063
- 3064
- 3065
- 3066
- 3067
- 3068
- 3069
- 3070
- 3071
- 3072
- 3073
- 3074
- 3075
- 3076
- 3077
- 3078
- 3079
- 3080
- 3081
- 3082
- 3083
- 3084
- 3085
- 3086
- 3087
- 3088
- 3089
- 3090
- 3091
- 3092
- 3093
- 3094
- 3095
- 3096
- 3097
- 3098
- 3099
- 3100
- 3101
- 3102
- 3103
- 3104
- 3105
- 3106
- 3107
- 3108
- 3109
- 3110
- 3111
- 3112
- 3113
- 3114
- 3115
- 3116
- 3117
- 3118
- 3119
- 3120
- 3121
- 3122
- 3123
- 3124
- 3125
- 3126
- 3127
- 3128
- 3129
- 3130
- 3131
- 3132
- 3133
- 3134
- 3135
- 3136
- 3137
- 3138
- 3139
- 3140
- 3141
- 3142
- 3143
- 3144
- 3145
- 3146
- 3147
- 3148
- 3149
- 3150
- 3151
- 3152
- 3153
- 3154
- 3155
- 3156
- 3157
- 3158
- 3159
- 3160
- 3161
- 3162
- 3163
- 3164
- 3165
- 3166
- 3167
- 3168
- 3169
- 3170
- 3171
- 3172
- 3173
- 3174
- 3175
- 3176
- 3177
- 3178
- 3179
- 3180
- 3181
- 3182
- 3183
- 3184
- 3185
- 3186
- 3187
- 3188
- 3189
- 3190
- 3191
- 3192
- 3193
- 3194
- 3195
- 3196
- 3197
- 3198
- 3199
- 3200
- 3201
- 3202
- 3203
- 3204
- 3205
- 3206
- 3207
- 3208
- 3209
- 3210
- 3211
- 3212
- 3213
- 3214
- 3215
- 3216
- 3217
- 3218
- 3219
- 3220
- 3221
- 3222
- 3223
- 3224
- 3225
- 3226
- 3227
- 3228
- 3229
- 3230
- 3231
- 3232
- 3233
- 3234
- 3235
- 3236
- 3237
- 3238
- 3239
- 3240
- 3241
- 3242
- 3243
- 3244
- 3245
- 3246
- 3247
- 3248
- 3249
- 3250
- 3251
- 3252
- 3253
- 3254
- 3255
- 3256
- 3257
- 3258
- 3259
- 3260
- 3261
- 3262
- 3263
- 3264
- 3265
- 3266
- 3267
- 3268
- 3269
- 3270
- 3271
- 3272
- 3273
- 3274
- 3275
- 3276
- 3277
- 3278
- 3279
- 3280
- 3281
- 3282
- 3283
- 3284
- 3285
- 3286
- 3287
- 3288
- 3289
- 3290
- 3291
- 3292
- 3293
- 3294
- 3295
- 3296
- 3297
- 3298
- 3299
- 3300
- 3301
- 3302
- 3303
- 3304
- 3305
- 3306
- 3307
- 3308
- 3309
- 3310
- 3311
- 3312
- 3313
- 3314
- 3315
- 3316
- 3317
- 3318
- 3319
- 3320
- 3321
- 3322
- 3323
- 3324
- 3325
- 3326
- 3327
- 3328
- 3329
- 3330
- 3331
- 3332
- 3333
- 3333
推荐文章