• 华为云GaussDB进阶全场景支持全业务,助力政企智能升级
    华为云GaussDB引领数据库新方向       新基建大潮下,政企智能升级加速进行,数据成为政企智能升级的重要生产要素。相应地,数据服务作为新基建的核心之一,也处在升级进化的加速周期之中。       8月12日,华为云TechWave数据库专题日活动中,华为云数据库业务总裁苏光牛、华东师范大学副校长周傲英教授及多位数据库专家畅谈华为云数据库创新升级、融合开放,为政企助力的经验和案例。此次,华为云GaussDB以统一的架构,支持关系型与非关系型的数据库引擎。 华为云GaussDB 全新出发       云、AI、5G等技术驱动,数据库行业迎来新的需求。依托华为云与华为云Stack,通过全栈软硬件优化,华为云GaussDB以统一的架构,支持关系型与非关系型的数据库引擎,为客户提供了高效稳定的使用体验,并衍生出了包括关系型和非关系型数据库、数据库工具类服务等众多数据库产品。       在关系型的数据库领域,华为云GaussDB基于openGauss生态持续发展。而GaussDB(for MySQL)则100%兼容MySQL等开放生态,便于应用迁移和开发,保护客户投资。针对非关系型数据库领域,华为云推出GaussDB NoSQL多模融合技术,支持MongoDB、Cassandra、Redis、InfluxDB等主流NoSQL协议接口,具备多模数据管理能力。华为云数据库业务总裁苏光牛       华为云数据库业务总裁苏光牛表示:“客户可以通过华为云数据库在线迁移数据,任意选择业务的切换时间点,让上云、多云更加容易。华为将通过持续的技术创新和生态开放的理念,让华为云GaussDB成为企业智能升级的数据库首选。” 服务500+政企客户,助力千行百业       目前,华为云数据库产品已经服务了超过500家大型政企客户,遍布金融、政府、电信、能源、交通、物流、电商等行业。       针对政企客户大规模、高并发的应用场景,华为云GaussDB(for MySQL)产品定义围绕高可用、高可靠、高性能、高扩展和便于运维五大方向展开。华为云数据库产品总监张昆以华为消费者云业务为例:“GaussDB(for MySQL)支撑华为手机全国超过上亿客户同时访问的业务,凭借超强的技术沉淀和对业务的特别对应功能,保障世界级迁移云任务的安全与可靠。”由此可见,GaussDB(forMySQL)足以满足各种严酷的企业级场景。        非关系型数据库GaussDB NoSQL基于GaussDB的计算存储分离的架构创新,对于性能、成本、HA、扩容性、备份恢复等多种指标都有质的飞越。        在制造业上云的过程中,需要满足大规模高频词的数据录入和调取。以汽车制造商江淮为例,面对每秒百万级别的高并发真实车联网业务场景,在成本不变的基础上,GaussDB NoSQL可以实现三倍以上的性能提升,助推制造业云化转型。        而在互联网行业中,日常巨量访问成为刚需。国家测绘地理信息局建设的地理信息综合服务网站“天地图”为多种主流地图App和政企地图提供实时地图信息,使用了华为云基于新架构的GaussDB NoSQL产品成功上云后,备份性能20+倍提升,数据恢复7+倍提升,为每天查询地图、导航保驾护航。        同样,对于游戏、互联网服务、电商、运营商等数据库服务典型行业,华为云GaussDB也能够根据具体场景,给出符合实际需求的产品组合,提供安全的云上业务转型体验。 数据库管理服务定制优化        针对政府和企业在数据库产品应用中的需求,华为云数据库管理服务DAS有针对性地开发了标准版、云DBA、企业版三款产品。       华为云数据库管理服务DAS首席架构师郭寿敏介绍,标准版是面向开发人员设计的数据库管理服务产品,具有操作界面可视化、功能特性丰富的特点,能满足每一个开发者的数据库使用需求。而云DBA工具是专属的数据库运维平台,能够快速发现问题,并自动给出诊断及优化建议,帮助用户快速根除隐患。企业版数据库DevOps平台专注企业的数据信息安全保护,提升与DBA的协作效率,节约大规模数据库的管理成本,适合企业级用户使用。        总的来说,标准版具有快速、高效、简单、易上手的特点。而企业版在此基础上拥有更强大的安全性和稳定性,有很强的抗风险能力。正如郭寿敏所说,华为云数据管理服务DAS的升级和推出,开启了云上便捷数据库管理新篇章。        此外,华为在会上还介绍了GaussDB数据库的认证体系。华为认证架构师陈睿提到,发展鲲鹏计算产业,当前存在着缺少赋能和职业成长体系,开发人才稀缺的困境。GaussDB推出的面向数据库工程师的HCIA-GaussDB认证,以及面向关系型数据库的OLTP方向和OLAP方向认证,旨在帮助孵化生态开发者。        华为云GaussDB数据库的全新升级是数据库行业自身快速发展的又一个里程碑。在整个科技领域快速向前的加速周期中,华为云GaussDB再次指引了数据库行业的发展方向。在新基建大潮中,华为云乘风破浪,以全新的GaussDB数据库赋能千行百业智能升级。图/文转载自华为云公众号
  • [技术干货] GaussDB Roach逻辑备份恢复
    目录:                  GaussDB Roach逻辑备份恢复原理gs_dump逻辑备份恢复工具roach逻辑备份恢复GaussDB Roach逻辑备份恢复实践                逻辑备份恢复支持、规格及约束         续备份、续恢复         逻辑备份删除         存储介质         容错支持         特殊表名         并行处理         最佳实践FAQ GaussDB Roach逻辑备份恢复原理:            1.  gs_dump逻辑备份恢复: 可以设置事务隔离级别。 gs_dump一致性备份:在单个database内保持一致,不同database之间无法保持一致,因为不同database之间需要切换connection,不能在不同database之间共享snapshot,因此只能在同一个database内保持一致性。 如果不保持一致。一个database数据量非常大,gs_dump备份时间会比较长,将会持有锁比较长的时间,对于一些需要ddl操作的database实例来说无法忍受。 解决方案:细粒度备份,而不要备份整个database,一次只备份一个table,调用gs_dump多次。如果多个表之间有关联,将这些表放入一个gs_dump操作中,用-t tablename来操作。但是这个-t其实是解决了依赖关系,本质上还是按照依赖顺序串行导出。一个单表数据量非常大,考虑分区表,也就是将数据进行了分片。否则这些表的ddl将会增加gs_dump之间的冲突。对于数据量非常大的databse实例,推荐使用PITR物理增量备份。 gs_dump并行备份: gs_dump版本>=9.3,server版本>=9.2,需要支持pg_export snapshot                                     n+1个连接,-j n是并行度,1是主节点的连接                                     对于版本<9.2,需要并行度和数据库一致性,在备份的时候不能做dml操作。             2.  roach逻辑备份恢复: GaussDB是一个分布式数据库,数据自动分片存储。GaussDB roach采用了基于单表粒度的备份恢复来实现逻辑备份,即一次只备份一个table,每次通过gs_dump导出table的ddl语句,并通过单独的外表方法(roach外表方法)来导出数据(不同表之间不保证数据一致性)。  GaussDB Roach逻辑备份恢复实践: 1. 逻辑备份恢复: 支持单表、多表(可以是不同schema的表)、schema、database级别逻辑备份。schema、database都默认转为多表逻辑执行(基于单表的串行实现),备份出schema、database内包含的所有表数据。可以从多表、schema、或者database逻辑备份中恢复出任意单张表或者多张表。 规格约束:不支持private table,nodegroup table, replication table,table has trigger/sequence表的备份恢复。                      对于表之间依赖关系,trigger,sequence,index等没有进行导出,只备份恢复数据。 单表: --tablename table  其中tablename可以是schema.table; schema默认为public,database默认为postgres单表备份:python $GPHOME/script/GaussRoach.py --master-port 9500 --agent-port 9600 --media-destination media_path  --metadata-destination metadata_path  --media-type DISK  --logging --logging-level INFO -t backup --tablename table [--schemaname schema] [--dbname database]              单表恢复:python $GPHOME/script/GaussRoach.py --master-port 9500 --agent-port 9600 --media-destination media_path  --metadata-destination metadata_path  --media-type DISK  --logging --logging-level INFO -t restore --tablename table [--schemaname schema] [--dbname database]  --backup-key bkpkey [--clean]/[--create] 多表: --table-list       --table-list选项与--tablename以及--schemaname不兼容;可以是不同schema中的表  tablelist文件内容示例:public.t1gauss.testT2Public."Temp"汉字表名cc.1a 多表备份:python $GPHOME/script/GaussRoach.py --master-port port_no --agent-port port_no --media-destination media_path  --metadata-destination metadata_path  --media-type DISK  --logging --logging-level INFO -t backup --table-list tablelist [--schemaname schema] [--dbname database]              多表恢复:python $GPHOME/script/GaussRoach.py --master-port 9500 --agent-port 9600 --media-destination media_path  --metadata-destination metadata_path  --media-type DISK  --logging --logging-level INFO -t restore --tablelist tablelist  [--dbname database]  --backup-key bkpkey [--clean]/[--create]  Schema: --schemaname  Schema规格约束: 其中系统级schema "dbms_job", "dbms_lob", "dbms_om", "dbms_output", "dbms_random", "dbms_redact", "dbms_sql", "sys", "utl_file", "utl_raw", "cstore"不支持备份恢复,都会报错退出。 Schema备份:python $GPHOME/script/GaussRoach.py --master-port port_no  --agent-port port_no --media-destination media_path  --metadata-destination metadata_path  --media-type DISK  --logging --logging-level INFO -t backup --schemaname schema [--dbname database]              Schema恢复:python $GPHOME/script/GaussRoach.py --master-port port_no --agent-port port_no --media-destination media_path  --metadata-destination metadata_path  --media-type DISK  --logging --logging-level INFO -t restore --schemaname schema  [--dbname database]  --backup-key bkpkey [--clean]/[--create] 其中-t restore --schemaname schema  --dbname database --backup-key bkpkey 可以从database级别逻辑备份中恢复出指定的schema Database:   --dbname        Database规格约束:其中系统级schema "dbms_job", "dbms_lob", "dbms_om", "dbms_output", "dbms_random", "dbms_redact", "dbms_sql", "sys", "utl_file", "utl_raw", "cstore"不支持备份恢复,都会被默认过滤掉。 Database备份:python $GPHOME/script/GaussRoach.py --master-port port_no --agent-port port_no --media-destination media_path  --metadata-destination metadata_path  --media-type DISK  --logging --logging-level INFO -t backup --dbname database             Database恢复:python $GPHOME/script/GaussRoach.py --master-port port_no --agent-port port_no --media-destination media_path  --metadata-destination metadata_path  --media-type DISK  --logging --logging-level INFO -t restore --dbname database  --backup-key bkpkey [--clean]/[--create]  2. 逻辑续备份、续恢复: 逻辑备份续备份、续恢复。其中续备份对于已经进行过校验的表名不会继续校验,以提升效率。如果在续备份时某些表已经被过滤掉,没有实际备份,而用户又对表对象属性进行了修改,希望能够得到备份,则考虑重新进行单表、多表重新备份,或者等待下次备份即可。 多表、schema、database等均支持续备份、续恢复,仅在备份、恢复失败之后才需要做。 续备份: --resume-backup --backup-key bkpkeypython $GPHOME/script/GaussRoach.py --master-port port_no --agent-port port_no --media-destination media_path  --metadata-destination metadata_path  --media-type DISK  --logging --logging-level INFO -t backup --schemaname schema [--dbname database] --resume-backup  --backup-key bkpkey 续恢复: --resume-restore--backup-key bkpkeypython $GPHOME/script/GaussRoach.py --master-port port_no --agent-port port_no --media-destination media_path  --metadata-destination metadata_path  --media-type DISK  --logging --logging-level INFO -t restore --schemaname schema  [--dbname database]  --backup-key bkpkey [--clean]/[--create] --resume-restore  3. 逻辑备份删除: 通过指定backupkey来删除,cascade是将所有backupkey全部删除。 python $GPHOME/script/GaussRoach.py --master-port port_no --media-destination /home/dulong/backup/media  --metadata-destination /home/dulong/backup/metadata  --media-type DISK  --logging --logging-level INFO -t delete --cascade  --backup-key bkpkey  4. 存储介质:一般指定DISK,兼容NBU、OBS等多种存储方式  5. 容错支持:对于不支持的表会进行过滤,不会影响其他表的正常备份恢复。 恢复到新集群:默认备份恢复database是postgres,可以指定其他database。恢复到新集群需要加--create;而恢复到老集群则最好加--clean,会将原有数据清理删除再恢复已防止数据冗余;不加则直接恢复数据,可能会导致冲突或者数据冗余。 同样的,如果一个数据库中某些表已经被drop掉,恢复时这些表需要--create,而其他表需要--clean。用--clean时恢复时另一部分需要--create的表会被过滤掉,反之亦然。  6. 特殊表名: 汉字表名不需要加双引号 大写表名,大小写表名,首字母为数字,含有$, . 等特殊字符在对象中等都为特殊对象名。其中除了含大写字符的不能自动识别外,其余均可自动识别并加上双引号。表名含有. 时,默认. 前为schema名称,如果该.就是表名的一部分,则需要加两侧加双引号,以保证可以识别正确。 特殊对象名称需要加双引号,例如schema名为 a.b,表名为 'public.',传入必须加双引号,如‘“a.b”’,‘“public.”’,双引号外侧再加单引号是为了保证正确传入了对象名,如果传入“public.”,内部传入其实为'public.';如果对象名内有大写字符,也需要加双引号,否则内核会默认转为小写。 PS: 尽量不要数据库对象内加各种特殊符号。  7. 并行处理: Gauss数据库为分布式数据库,默认进行了分片处理。每个数据库节点上有一个或多个datanode,一般一个datanode对应一个磁盘,而我们每个节点推荐>=2个datanode保证高可用等。数据落盘为每个datanode同时向磁盘写数据,不同datanode并行的向磁盘写入数据。 每个datanode内为串行的处理表数据,一个表数据处理完之后再处理下一个表(8.1)。在8.1及8.2后续版本中,将实现单个datanode的多个表并行的处理数据(自定义并发度)。  8. 最佳实践: 设置常规作业,利用多表逻辑备份业务中比较重要的表,schema及database备份往往将所有表备份,重要程度不高的表备份恢复仍然有较高开销。对常规作业设置优先级,按优先级进行不同时间间隔的备份与恢复。Database级别逻辑备份将备份整库数据,如果database实例内表数量大且规模大,性能会比较差(单个datanode内串行备份恢复);推荐使用PITR物理增量备份来替代Database逻辑备份。如果逻辑备份恢复中途失败,尽可能使用续备份、续恢复以完成作业。续备份只备份未备份成功的表,且对已经校验过的表将不会进行二次校验,而现行的校验为串行校验,表数量比较大的时候开销仍然较大;续恢复将恢复未恢复成功的表。在8.1以及8.2后续版本中,将实现更为细粒度的续备份、续恢复,备份效率将更为提高。合理设置压缩算法和压缩率  FAQ:     1. Why not gs_dumpall?The  gs_dumpall program exports all databases, one after another, into a single script file, which prevents you from performing the parallel restore. If you back up all      databases this way, the restore process will take more time.The processing of dumping all databases takes longer than each individual one so you do not know which dump of each database relates to a specific point in time.              If you have a good reason to use the gs_dump all to backup all databases, the following is the command:          gs_dumpall -U postgres > c:\gsbackup\all.sql         2. Why not gs_dump?        gs_dump虽然灵活,但是数据导出按照sql或者二进制,仅支持在单节点导出。数据量较大的情况下性能往往较差,且不易扩展。      3.一致性?   数据的一致性要求在备份恢复过程中要求并不一定很高,而对于性能,扩展性,灵活性等均有一定要求。因此牺牲一定一致性来换取更好的性能,易用性等,对于实际场景往往可以接受。    
  • 【云小课】数据库服务 云小课汇总
    类别服务名云小课链接数据库DAS【第1课】数据管理服务DAS来啦!帮您轻松解决数据管理各种难题【第14课】企业级数据管理利器来袭,华为云DAS让您轻松管理不发愁【第16课】不小心删除了数据库,除了跑路还能咋办?【第25课】如何通过SQL模板检查并进行表优化DDS【第2课】文档数据库服务DDS如何实现跨可用区容灾部署【第6课】灵活备份及恢复数据,保证数据可靠性!【第21课】DDS实例连接失败?跟着我七步搞定!【第32课】创建DDS只读节点,轻松应对业务高峰【第44课】文档数据库服务DDS小版本升级攻略DRS【第3课】数据复制服务,如何实现对象名映射【第11课】什么是单主灾备?什么是双主灾备?【第15课】聊一聊DRS的数据过滤特性【第20课】实时迁移or实时同步?这是个问题!【第40课】如何通过DRS实现RDS for MySQL到Kafka的数据同步【第41课】如何通过DRS实现他云MySQL到GaussDB(for MySQL)的数据迁移【第49课】本地Microsoft SQL Server备份迁移至华为云RDS for SQL Server实例—上篇【第50课】本地Microsoft SQL Server备份迁移至华为云RDS for SQL Server实例—下篇【第51课】通过DRS实现RDS for SQL Server全量备份迁移【第58课】如何通过DRS实现Oracle到DDM的数据同步UGO【第43课】5分钟带您了解顶流预备役-UGORDS【第4课】一键开通云数据库 MySQL读写分离功能,轻松应对业务高峰期【第5课】一键开启慢SQL审计功能 轻松优化SQL Server 数据库【第8课】MySQL数据库频繁出现OOM问题该如何化解【第10课】RDS for SQL Server透明数据加密功能,防止机密数据泄露【第17课】RDS实例连接又失败?看我祭出杀手锏!【第23课】MySQL数据库如何实现跨区域备份【第27课】MySQL数据库如何实现存储空间自动扩容【第34课】如何将自建MySQL迁移到RDS for MySQL【第35课】其他云MySQL迁移到RDS for MySQL实例【第36课】如何在DRS上搭建MySQL异地单主灾备【第42课】RDS for PostgreSQL插件介绍【第53课】RDS for MySQL绑定多安全组【第56课】RDS for MySQL参数模板一键导入导出,参数配置轻松搞定【第57课】RDS for MySQL停止和开启实例GaussDB【第22课】云数据库GaussDB惊艳来袭 —— 第一弹:数据实例的连接【第24课】云数据库GaussDB惊艳来袭 —— 第二弹:数据实例的连接【第26课】云数据库GaussDB惊艳来袭 —— 第三弹:数据实例的连接【第28课】云数据库GaussDB语法入门【第31课】如何初步定位GaussDB慢SQL【第37课】Oracle同步至GaussDB的最佳实践方案【第38课】GaussDB如何进行SQL调优【第39课】GaussDB如何进行性能调优【第46课】GaussDB_gsql入门【第47课】GaussDB如何创建和管理视图【第48课】GaussDB如何创建和管理定时任务【第52课】GaussDB元命令使用指导GaussDB(for Cassandra)【第7课】GaussDB(for Cassandra)数据库简介【第13课】初识GaussDB(for Cassandra)基础架构DDM【第9课】手把手教您创建DDM逻辑库【第33课】合理定制DDM分片策略【第45课】DDM分片变更的原理和使用场景【第54课】DDM如何实现读写分离GaussDB(for MySQL)【第12课】如何通过客户端连接GaussDB(for MySQL)实例【第18课】GaussDB(for MySQL)读请求场景多,只读节点有话说!【第30课】云数据库 GaussDB(for MySQL)如何查看和优化慢SQL【第55课】GaussDB(for MySQL)小版本升级全攻略GaussDB(for Redis)【第19课】华为云GaussDB(for Redis)与自建开源Redis的成本对比【第29课】不容错过!华为云新一代缓存“大咖”——云数据库 GaussDB(for Redis)
总条数:1518 到第
上滑加载中