展开

关键词

银行核心无损:TDSQL库多源异构方案

本文将带来直播回顾第五篇《银行核心无损:TDSQL库多源异构方案》。 视频内容 关于TDSQL异构同步与能力的建设以及应用方面的整个内容分四个部分: l 一是异构库方面包括分发同步的背景——我们为什么要发展这一块的能力以及现在这部分服务的基本架构; l 当然,除了支持,多源异构方案也支撑汇总、分发等业务场景,这也是TDSQL具备完善的产品服务体系的体现。 选择一个合适的备机对增获取来说是非常重要的。当获取增日志的备机的延迟比较大,或者这个备机本身不存活,或者这个冷备发生了(什么是冷备? 扩容中从一个实例到另外一个实例的时候,两个实例之间关系是什么?它们会往同一个消息队列上TOPIC去打增。新实例打增的起始点是什么?

50131

之外部表加载(100天)

我记得前几天做一个批操作临时把temp文件resize了很大,限于本地空间有限。准备改回去。把多余的归档删除了。sqlplus n1n1 ....

48080
  • 广告
    关闭

    11.11智惠云集

    2核4G云服务器首年70元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    之冲突筛查(r2 第1天)

    对于来说,无论准备工作准备的多么充分,在测试和正式生产环境中,心里还是会对冲突的有一些疑虑,心里感觉没底,因为生产的也是在不断变化的,要也在做相应的改动,在这样的环境中,其实抽取的工作还是顾虑比较少的 可能会有一些紧急的更改任务,的稽核等等。。对于主键相关的排查,如果在前能够发现,是最好的了,这样可以极大的减少dba的工作。 个人就是在这种窘境中这样设想了一个方法,首先通过查询主键信息,得到主键索引相关的列,然后通过Intersect来查询那些主键字段的在生产和库上有冲突,这个过程可以创建一个临时的用户来加载外部表, 所以省去了创建额外的空间,而且可以考虑在备库上执行。 基本思路就是通过如下的sql语句来找到冗余的

    47050

    之通过shell估算 (r2笔记93天)

    的时候,需要根用户来评估需要在表空间理添加的空间大小。 比如5百万的用户和200万,两者需要添加的差别很大,在资源有限的情况下,需要一些比较合理的估算,毕竟在生产环境中做加载的时候报了空间不足的问题就是准备太不充分了,稍后的修复任务就难上加难 比如我们现在客户提供了如下的信息,需要我们评估一下在目前的用户基础上几百万用户需要添加的空间。表空间假设是如下的存储情况。DATA开头的表空间存放表,INDX开头的表空间存放索引。 用户说现在库里还有600G左右的空间,让我们评估一下再几百万的用户的情况需要多少空间。比如库里用到的表有1000张,可能做的时候关联的表只有100张。 如下的脚本计算存放表的表空间的我们假设我们有一个文件,里面是中用到的表清单,取名为tablst,然后通过如下的脚本来做计算。

    36020

    mysql 大

    MySQL导出的SQL语句在导入时如果较大时会非常非常慢,经历过导入仅3000万条,用了近30个小时。在导出时合理使用几个参,可以大大加快导入的速度。 net_buffer_length=XXX TCPIP和套接字通信缓冲区大小,创建长度达net_buffer_length的行注意:max_allowed_packet和net_buffer_length不能比目标库的配置值大 首先确定目标库的参值 mysql>show variables like max_allowed_packet; mysql>show variables like net_buffer_length ;根值书写mysqldump命令,如: mysql>mysqldump -uroot -p 库名-e --max_allowed_packet=1048576 --net_buffer_length uroot -p test_db -e --max_allowed_packet=1048576 --net_buffer_length=16384 > test_db.sql不生成文件,直接导入到目标

    48110

    mysql全

    mydumperloader 全导入最佳实践为了快速的 (特别是巨大的库),可以参考以下建议:mydumper 导出至少要拥有 SELECT,RELOAD,LOCK TABLES 权限使用 mydumper 导出来的文件尽可能的小,最好不要超过 64M,可以设置参 -F 64loader的 -t 参可以根 TiKV 的实例个以及负载进行评估调整,例如 3个 TiKV 导入示例及相关配置:mydumper 导出后总 214G,单表 8 列,20 亿行集群拓扑TiKV * 12TiDB * 4PD * 3mydumper -F 设置为 16,Loader -t 参设置为 64结果:导入时间 11 小时左右,19.4 G小时从 MySQL 导出我们使用 mydumper 从 MySQL 导出,如下:.binmydumper -h 127.0.0.1- 注意:如果 mydumper 使用 -m 参,会导出不带表结构的,这时 loader 无法导入。我们使用 loader 将之前导出的导入到 TiDB。

    7900

    之外部表并行抽取(99天)

    对于大型项目中使用sqlloader是一种全新的方式,不过很明显,sqlloader的可扩展性更强,但是基于oracle平台的来说,外部表的性能也不错。 对于来说也是一个很好的方案。 使用外部表来做,可以“动态”加载,能够很方便的从库中加载,对于校验来说就显得很有优势了,而对于sqlloader来说,可能得等到加载的时候才知道是不是有问题,如果对于的准确性要求极高 ,可以使用外部表动态加载到备库,和现有的做比对,减少在升级过程中带来的灾难。 dba 43634688 Jun 10 01:43 TT_2.dmp-rw-r----- 1 ora11g dba 30531584 Jun 10 01:43 T_TEMP_1.dmp 在比较同样的的情况下

    52250

    抽取流程 (r4笔记第72天)

    采用外部表抽取的流程图如下: ? 大体标注了一下抽取的基本结构,我们会尽保证不去碰原本的源,会创建两个临时的用户,一个是只读用户,这个用户上只有同义词,只具有源中的select权限。 这就对应上面红色标注的1,而另外一个用户是外部表用户,所有通过创建外部表都会在这个用户下进行,生成了dump文件之后,我们可以随时删除外部表,这个时候为了保证相关的drop操作不会牵扯到源,外部表用户会继承只读用户中的 这就对应红色标注的2.当开始抽取的时候,会去查找是否有权限读取,会找到只读用户,最终能够读取源的,这就对应红色标注的3,4当满足了基本的条件,就开始生成外部表的dump,可以为一个表生成多个

    47440

    加载流程(r4笔记第88天)

    在之前的博文中分享了关于抽取流程的一些思路,整体来说,的抽取是辅助,的加载是关键。加载的过程中每一步需要外关注,稍有偏差就可能造成的损坏或者丢失。 把一些潜在的冲突问题提前发现,提前修复,如果在大半夜的加载中发现了问题,再去修复似乎就晚了很多,而且带着疲惫去尝试修复真实苦不堪言。右边的图是加载的一个流程图。 通过比较只读用户(即目标)和外部表用户中的外部表(源),可以灵活的匹配主键列,非唯一性约束列可以很有效的进行的冗余比较。 有了这种方式,在多次的中,都可以在加载前提前进行检查。着实让人放心不少,对于提升自信心是很有帮助的。一旦发现了问题,就可以及时发现,提前发现,让专门的团队及时修复。 至于最关键的加载,就是外部表用户和目标用户之间的关联了。可以通过insert append的方式进行的导入。可以根情况进行切分粒度的控制。

    54430

    ,小程序云开发库这样做

    随着互联网业务的发展,无论是企业开发者,还是个人开发者,产品能力的不断迭代,都会带来大的新增的新增则意味着作为服务商的云开发需要为开发者们做好的存储和备份,以及在合适的时候对集群进行升级 在优化的过程中,就涉及到了的问题。 一般来说,业界针对升级和,会提供热和冷两种方案:冷:冷需要对库先进行停机,等完成后,再重启库。 热:热无需对库进行停机,整个过程中,库可以持续对外提供服务。用户对于热无感知。 云开发作为基础服务提供商,是无法进行冷的,因此,对于云开发来说,思考如何在现有的架构基础之上做好热势在必行。想要对云开发的库进行热,首先,需要理解云开发库的底层架构。 热的基础是库底层的能力,而库底层的分为三个状态:同步:对快照和库的 oplog 进行拷贝和追踪;割接:在 oplog 几乎追上时,进行割接;目标集群可用:完成割接后,

    33220

    之外部表切分(r2笔记52天)

    在前几篇中讨论过的并行加载,基本思路就是针对每一个物理表都会有一个对应的外部表,在做的时候,如果表有上百G的时候,一个物理表对应一个外部表性能上会没有任何提升。 如果需要做插入的时候,对undo是极大的挑战,从某种程度上而言,性能应该要比datapump要差。这个时候可以考虑一个物理表对应多个外部表,比如一个表有100G。 可以考虑生成100个external dump 文件,然后加载生成100个外部表,每个dump文件对应一个外部表,这样做的插入的时候就相对容易控制了。 每一个外部表的加载到目标库之后,commit一次,就能及时的释放Undo资源,提高性能。 ORACLE_DATAPUMP DEFAULT DIRECTORY EXPDP_LOCATION LOCATION ( t_2.dmp ) );对应的脚本如下:其中在DUMP目录下存放着生成的dump文件,根动态匹配得到最终生成了几个

    35770

    预估ceph的

    引言我们在进行 ceph 的 osd 的增加和减少的维护的时候,会碰到,但是我们平时会怎么去回答关于的问题,一般来说,都是说很多,或者说根环境来看,有没有精确的一个说法,到底要多少 ,修改成自己想修改成的crushmap即可,可以是增加,也可以是删除减少节点的计算假如删除一个osd.5 我们需要多少将crushmap里面的osd.5的weight改成0crushtool - REBALANCE OBJECTS REBALANCE rbd 59 6157238296 1469 data 54 5918162968 1412 metadata 53 5825888280 1390可以看到 REMAPPED OSDs 下面就是有多少份的PG需要,这里面计算的方式是比较前后的分布 - > 0个 - > 1个 - > 2个上面的统计的是这样的个,所以不太好说是PG或者是 OSD,可以理解为PG内的份,因为单个PG可能需要一份,也有可能两份,或者多份增加节点的计算如果增加一个osd.6 我们需要多少直接运行脚本# python jisuan.py -

    48520

    redis之谜

    导语 最近,某客户自建redis上云时出现了容增加25%的现象。这到底是怎么回事呢? 问题背景       某客户通过dts将自建的redis5.0单机版到云上5.0集群版时,dts出现如下图错误。错误信息显示目标实例某个分片发生OOM,使用容超过maxmemory了。 ;2)源和目标实例的某些配置不一样,导致底层实现结构不一样(redis同样的类型有不同的底层结构实现,这个可由参控制)。 如上图所示,源实例和目标实例在控制底层结构实现的一些参上也是一样的。排除上述两种初步猜想后,这到底是怎么回事呢?开始并没有头绪,就想着在自己测试复现下,结果更加不可思议。 自此,dts从主从版到集群版的容异常问题已经确认清楚。总结1.主从版集群版需要预估更大的容,避免因为集群模式额外的容导致目标实例容不够,导致OOM。

    279100

    之分区并行抽取(r2笔记53天)

    在之前的章节中分享过一些中并行抽取的细节,比如一个表T 很大,有500G的,如果开启并行抽取,默认库中并行的最大值为64,那么生成的dump文件最50多为64个,每个dump文件就是7.8G ,还是不小,况且在做抽取的时候,资源被极大的消耗,如果资源消耗紧张,可能可用的并行资源还不到64个。 生产中500G的大表肯定是做了分区操作,而且分区可能还比较多。我们就设定为100个吧。分区表的基本都是分散在各个分区的,考虑的不均匀分布,那么每个分区的可能在5~10G吧。 参照这个思想,假设开启并行,比如200M为一个基准点来切分分区表,比如分区表的某个分区含有5G的,那么需要开启25个并行即可,文件就会被切分为200M的很多细粒度的dump文件。 目前我设定的基准为1G,比如一个分区表T,大小在1.5G,那么可以考虑开启分区+并行,如果分区表的大小为500M,那么就可以不用考虑使用分区+并行了,因为在每个分区中的可能相对比较少。

    36080

    之分区并行切分(r2笔记60天)

    中,如果某个表特别大,可以考虑对表中的分区进行切分,比如某个表有100g,还有100个分区,那么可以考虑针对这100个分区,那么可以考虑把这100个分区看成100个表进行并行抽取,如果某个分区比较多 目前生成了如下的报告,我们需要基于这个报告来对如下的表分区进行切分。REEMENT这个表不是分区表,所以在分区信息的地方填写了默认值x,在加载的时候会进行过滤。 在加载的时候就可以先加载21号dump,然后22号dump,23号dump MEMO partition(P0_A1000_E3) 3 21..23MEMO partition(P0_A1000_E2

    44440

    之通过rowid切分大表(r2笔记62天)

    在之前的章节中,讨论过了通过 分区+并行等方式来进行超大的表的切分,通过这种方式能够极大的提高的平均分布,但是不是最完美的。比如在再提高几个层次,我们假设这个表目前有1T的大小。 有10个分区,最大的分区有400G,那么如果我们想尽可能的平均的导出,使用并行就不一定能够那么奏效了。 比方说我们要求每个dump文件控制在200M总有,那样的话400G的分区就需要800个并行才能完成,在实际的库维护中,我们知道默认的并行只有64个,提高几倍,也不可能超过800所以在极大的情况下 我们可以根需要来指定需要生成几个dump文件。比如表subscriber有600M,那么如果按照200M为一个单位,我们需要生成3个dump文件。如果想足够平均,就需要在rowid上做点功夫。 我们先设定一个参文件,如下的式。可以看到表memo极大,按照200M一个单位,最大的分区(P9_A3000_E5)需要800个并行。

    56080

    之传输表空间(一) (r5笔记第71天)

    在自己接触的很多的工作中,使用外部表在一定程度上达到了系统的预期,对于增,批效果还是不错的,但是也不能停步不前,在很多限定的场景中,有很多物理中使用传统方法还是相当不错的,传输表空间就是一个样例 最近的有一个任务是需要把一些全新的到另外一个库中,因为这些表在目标库中不存在,所以使用逻辑就显得有些力不从心了。尽管在速度可以接受的情况下,最大的痛处就是大的归档文件了。 因为需要在原有的schema下增加一些全新的表,不是很肯定传输表空间的校验是否能够完全支持。所以在给出方案之前还是做了做测试,达到了预期的想法。 为了对比清晰,我创建了两个全新的表空间,然后创建一个用户,创建两个表,制定到两个不同的表空间下,然后使用exp使用传输表空间模式导出,然后拷贝文件,导入,为了简单验证,就在同一个实例下做了测试。 --准备创建两个表空间 create tablespace test_new datafile u02ora11goradataTEST11Gtest_new01.dbf size 10M; create

    28570

    之分区表批insert性能改进(r2笔记67天)

    的时候,分区表的更是块大骨头,因为太大,而且有些分区表中还有一些lob字段,想直接通过sqlldr来还是需要做一些额外的工作。 如果通过datapump分区导出,批导入,也是一种思路,不过需要考虑好并发的进程。通过oracle_datapump来做的导入,可能更为灵活,但是不是绝对的。 最近就做了一些相关的导入测试,感触不少。 比如,目前我们需要导入的两个大表,一个是memo,一个是charge,分区都有200多个。而且分布不是很均匀。有的分区可能要多很多。 如果频繁的做插入,commit动作,就会不断的去加同样级的锁,无形中也快拖累加载速度。如果dump文件较大,还是会加同样的锁,但是会在一定程度上使得并行使用的更为充分。 按照这个思路,就没有严意义上的大表了,我们都可以切分再切分。

    33550

    Redis

    https:blog.csdn.netxc_zhouarticledetails90550221 键有时候我们想将一个redis的到另一个redis中,redis提供了三种方式来满足的需求 move key db就是把指定的键从源到目标库中。由于多库在生产环境中不建议使用,所以此命令很少使用到。 0代表不过期实现原理:dump+restore可以实现redis不同实例之间的。(1)在源Redis上,dump命令会将键值序列化,式采用RDB式。 Redis3.06版本之后支持多个键,如果多个键则此处填写空字符串’’destination-db:目标库索引,例如要到0号库,这里就写0 - timeout:的超时时间(单位毫秒 ):添加此选项后后并不删除源键 - :添加此选项后,不管目标redis是否存在该键,都会正常进行覆盖- ]:多个键,例如要k1k2 k3,此处填写keys key1 key2 key3

    1.9K30

    Clickhouse

    Clickhouse Clickhouse 背景​ 报表即将上线,需准备一个Clickhouse测试库用作后续开发方案调研集群实际上就是要把所有库(system 除外)的表结构和完整的复制一遍 ,运行 DDL 创建表,然后运行上述语句复制遍历所有表,执行 2使用 clickhouse-copierClickhouse-copier 是 ClickHouse 官方提供的一款工具, remote 更复杂一些,主要是生成配置文件比较麻烦类似拷贝目录,会更简单一些全同步支持支持支持支持增同步不支持支持应该支持不支持视图不支持支持不确定,理论上应该支持不支持性能较好较好不确定 有些地方也不是很清楚,最终决定使用 remote 函来做。 关于别的方案、更多的 clickhouse-copier 使用案例,可参考 Altinity 的博客 Clickhouse-copier in practice.使用 remote 函使用

    37220

    相关产品

    • 云数据迁移

      云数据迁移

      云数据迁移(Cloud Data Migration)是腾讯云提供的 TB ~ PB 级别的数据迁移上云服务。本服务提供了安全可靠的离线迁移专用设备,满足本地数据中心进行大规模数据迁移上云的需求,解决本地数据中心通过网络传输时间长、成本高、安全性低的问题。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注云+社区

      领取腾讯云代金券