精华内容
下载资源
问答
  • 在Sqlserver2008上利用CDC实现了数据更新的跟踪,以往的利用时间戳,触发器实现更加方便快捷.参考资料:实现步骤如下:1.配置cdc-- 开启cdcUSE db1GOEXEC sys.sp_cdc_enable_db--验证--0 :未开启cdc 1:开启...

    在Sqlserver2008上利用CDC实现了数据更新的跟踪,比以往的利用时间戳,触发器实现更加方便快捷.

    参考资料:

    实现步骤如下:

    1.配置cdc

    -- 开启cdc

    USE db1

    GO

    EXEC sys.sp_cdc_enable_db

    --验证

    --0 :未开启cdc 1:开启cdc

    SELECT is_cdc_enabled FROM sys.databases WHERE database_id=DB_ID()

    --表开启cdc

    USE db1;

    GO

    EXEC sys.sp_cdc_enable_table

    @source_schema ='dbo'

    ,@source_name='t_cdc_ta'

    ,@role_name=null

    ,@capture_instance=NULL

    ,@supports_net_changes=1

    ,@index_name=null

    ,@captured_column_list=null

    ,@filegroup_name=default

    ,@allow_partition_switch=1

    /*

    开启之后会生成cdc构架,并生成查询函数和变更数据表

    cdc.captured_columns

    cdc.change_tables

    cdc.ddl_history

    cdc.index_columns

    cdc.lsn_time_mapping

    dbo.systranschemas

    cdc.dbo_t_cdc_ta_CT 以构架名和表名组合的变更数据表

    */

    --表结构

    CREATE TABLE [t_cdc_ta]

    (

    [id] [int] IDENTITY(1,1) PRIMARY KEY NOT NULL,

    [name] [varchar](20) NULL,

    [addr] [varchar](20) NULL,

    [ttime] [datetime] NULL

    )

    2.跟踪变更数据

    当往源表t_cdc_ta中新增,插入,删除数据时,可以在变更数据表[cdc].[dbo_t_cdc_ta_CT]中看到如下数据

    9329a1ee2234092399cca67bd2c007a4.png

    __$operation:

    1-删除 ,2-新增,4-更新

    3.根据变更数据,利用ETL可以实现数据的增量更新

    292a0666cb3ab06a322076982fc0f058.png

    脚本如下:

    USE [db1]

    GO

    CREATE TABLE [dbo].[cdc_capture_log](

    [cdc_capture_log_id] [int] IDENTITY(1,1) NOT NULL,

    [capture_instance] [nvarchar](50) NOT NULL,

    [start_time] [datetime] NOT NULL,

    [min_lsn] [binary](10) NOT NULL,

    [max_lsn] [binary](10) NOT NULL,

    [end_time] [datetime] NULL,

    [status_code] [int] NOT NULL DEFAULT(0)

    )

    CREATE PROCEDURE [dbo].[usp_init_cdc_capture_log]

    @capture_instance NVARCHAR(50)

    AS

    BEGIN

    SET nocount ON ;

    DECLARE @start_lsn BINARY(10),

    @end_lsn BINARY(10),

    @prev_max_lsn BINARY(10)

    --get the max LSN for the capture instance from --the last extract

    SELECT @prev_max_lsn = MAX(max_lsn)

    FROM dbo.cdc_capture_log

    WHERE capture_instance = @capture_instance

    -- if no row found in cdc_capture_log get the min lsn -- for the capture instance

    IF @prev_max_lsn IS NULL

    SET @start_lsn = sys.fn_cdc_get_min_lsn(@capture_instance)

    ELSE

    SET @start_lsn = sys.fn_cdc_increment_lsn(@prev_max_lsn)

    -- get the max lsn

    SET @end_lsn = sys.fn_cdc_get_max_lsn()

    IF @start_lsn>=@end_lsn

    SET @start_lsn=@end_lsn

    INSERT INTO dbo.cdc_capture_log

    (

    capture_instance,

    start_time,

    min_lsn,

    max_lsn

    )

    VALUES (

    @capture_instance,

    GETDATE(),

    @start_lsn,

    @end_lsn

    )

    SELECT CAST(SCOPE_IDENTITY() AS INT) cdc_capture_log_id

    END

    GO

    create procedure [dbo].[usp_extract_userm_capture_log]

    @cdc_capture_log_id INT

    AS

    BEGIN

    set nocount on;

    DECLARE @start_lsn binary(10),@end_lsn binary(10)-- get the lsn range to process

    SELECT @start_lsn = min_lsn,@end_lsn = max_lsn from dbo.cdc_capture_log

    where cdc_capture_log_id = @cdc_capture_log_id

    -- extract and return the changes

    select m.tran_end_time modified_ts,

    x.*

    from cdc.fn_cdc_get_all_changes_dbo_t_cdc_ta(@start_lsn, @end_lsn, 'all') x

    join cdc.lsn_time_mapping m on m.start_lsn = x.__$start_lsn ;

    end

    GO

    CREATE PROCEDURE [dbo].[usp_end_cdc_capture_log]

    @cdc_capture_log_id INT

    AS

    BEGIN

    SET nocount ON ;

    UPDATE dbo.cdc_capture_log

    SET end_time = GETDATE(),

    status_code = 1

    WHERE cdc_capture_log_id = @cdc_capture_log_id

    END

    GO

    --在另一个库上建一个相同的结构的表作为同步数据测试用表

    USE montior

    GO

    CREATE TABLE [dbo].[t_cdc_ta](

    [id] [int] PRIMARY KEY NOT NULL,

    [name] [varchar](20) NULL,

    [addr] [varchar](20) NULL,

    [ttime] [datetime] NULL

    )

    GO

    CREATE PROC [dbo].[p_merge]

    @oper INT,

    @id INT,

    @name VARCHAR(20),

    @addr VARCHAR(20),

    @ttime DATETIME

    AS

    -- 删除

    IF @oper=1

    BEGIN

    DELETE FROM dbo.t_cdc_ta

    WHERE id=@id

    END

    ELSE IF @oper=2 -- 新增

    BEGIN

    INSERT INTO dbo.t_cdc_ta(id,NAME,addr,ttime)

    VALUES(@id,@name,@addr,@ttime)

    END

    ELSE IF @oper=4 -- 更新

    BEGIN

    UPDATE dbo.t_cdc_ta

    SET NAME=@name,addr=@addr,ttime=@ttime

    WHERE id=@id

    END

    GO

    停用cdc

    EXEC sp_cdc_disable_table

    EXEC sp_cdc_disable_db

    这样能实现一个定时的同步更新,利用作业来不断的读取新增加的lsn来更新目的数据表,当然同步的时间一定要大于数据变更的清理作业的时间,

    默认配置cdc的时候会配置两个job

    cdc.db1_capture :捕获变更的作业

    cdc.db1_cleanup : 数据清理作业 ,每天凌晨两天清理

    之前看到一个哥们在同步数据的时候用的 SSIS的条件拆分组件,我测试了下这个数据变更是有先后顺序的,不能直接拆分数据集直接执行,

    这里我时显得方式是利用循环组件一条一条数据处理,希望能有更好的办法。。。

    展开全文
  • sql语句查询同比增量、同比 同比增量 SELECT a.customer, a.month, ( a.x - b.y ) 同比增量 FROM ( SELECT customer, year, month, SUM(number) x FROM syxy_sales WHERE year = 2020 GROUP BY month,customer ) a ...

    sql语句查询同比增量、同比

    SELECT
    	a.customer,
    	a.month,
    	( a.x - b.y ) 同比增量,
    	( a.x - b.y ) / b.y * 100 同比 
    FROM
    	( SELECT customer, year, month, SUM( number ) x FROM syxy_sales WHERE year = 2020 GROUP BY month, customer ) a
    	LEFT JOIN ( SELECT customer, year, month, SUM( number ) y FROM syxy_sales WHERE year = 2019 GROUP BY month, customer ) b ON a.month = b.month 
    GROUP BY
    	a.customer
    

    在这里插入图片描述
    sql语句查询同比增量、同比

    SELECT
    	a.customer,
    	a.month,
    	( a.x - b.y ) 环比增量 ,
    	( a.x - b.y ) / b.y 环比 
    FROM
    	( SELECT customer, month, SUM( number ) x FROM syxy_sales WHERE year = 2019 GROUP BY month, customer ) a
    	LEFT JOIN ( SELECT customer, month, SUM( number ) y FROM syxy_sales WHERE year = 2019 GROUP BY month, customer ) b ON a.month = b.month + 1 
    GROUP BY
    	a.customer,
    	a.month
    

    在这里插入图片描述

    展开全文
  • ​ 4月26日,中国人民银行发布《2019年一季度金融机构贷款投向统计报告》显示,房地产...其中,房地产开发贷款同比增长18.9%,尤其是保障性住房开发贷款同比增长20.2%,比上年末大幅降低9.3个百分点,但增速在...

     

    4月26日,中国人民银行发布《2019年一季度金融机构贷款投向统计报告》显示,房地产贷款一季度增加 1.82 万亿元,占同期各项贷款增量的31.4%,比上年全年水平低 8.5个百分点。一季度末,房地产贷款同比增速回落至18.7%,但在各项贷款中仍保持领先地位。

    其中,房地产开发贷款同比增长18.9%,尤其是保障性住房开发贷款同比增长20.2%,比上年末大幅降低9.3个百分点,但增速在各项贷款中仍是最高的。个人住房贷款同比增长17.6%,增速比上年末低0.2个百分点。

    此外,普惠小微贷款加速增长。一季度末,普惠小微贷款余额10.05万亿元,同比增长19.1%,增速比上年末高3.9个百分点,一季度增加5529亿元,同比多增2899亿元。以下为报告全文:2019年一季度金融机构贷款投向统计报告人民银行统计,2019 年一季度末,金融机构人民币各项贷款余额 142.11 万亿元,同比增长13.7%,增速比上年末高 0.2 个百分点;一季度增加 5.81 万亿元,同比多增 9526 亿元。贷款 投向呈现以下特点。

    一、企业及其他单位贷款增长加快

    2019 年一季度末,本外币非金融企业及其他单位贷款余额 93.48 万亿元,同比增长11.2%,增速比上年末高 1.3 个百分点; 一季度增加 4.46 万亿元,同比多增 1.41 万亿元。

    分期限看,一季度末非金融企业及其他单位短期贷款及票据 融资余额 36.98 万亿元,同比增长 10.1%,增速比上年末高 3.4 个百分点,一季度增加 1.83 万亿元,同比多增 1.27 万亿元;中 长期贷款余额 53.97 万亿元,同比增长 11.9%,增速与上年末持 平,一季度增加 2.55 万亿元,同比多增 1559 亿元。

    从用途看,一季度末非金融企业及其他单位固定资产贷款余额 40.29 万亿元,同比增长11.3%,增速比上年末高 0.5 个百分 点;经营性贷款余额 39.2 万亿元,同比增长 4.7%,增速比上年 末高 0.3 个百分点。

    二、中长期贷款增长基本稳定

    2019 年一季度末,本外币工业中长期贷款余额 8.86 万亿元, 同比增长 7.4%,增速比上年末高 0.1 个百分点;一季度增加 2744 亿元,同比多增 170 亿元。其中,重工业中长期贷款余额 7.83 2 万亿元,同比增长 7.4%,一季度增加 2218 亿元;轻工业中长期 贷款余额 1.03 万亿元,同比增长 7.3%,一季度增加 526 亿元。 2019 年一季度末,本外币服务业中长期贷款余额 36.87 万亿 元,同比增长 13.2%,增速比上年末低 0.2 个百分点;

    一季度增 加 1.91 万亿元,同比多增 1051 亿元。其中,房地产业中长期贷 款余额同比增长 21%;交通运输、仓储和邮政业中长期贷款余额 同比增长 11.6%;水利、环境和公共设施管理业中长期贷款余额 同比增长 5.7%。

    三、普惠小微贷款增长持续加快

    2019 年一季度末,人民币普惠金融领域贷款1余额 15.57 万 亿元,同比增长 14.4%,增速比上年末高 1.9 个百分点;一季度 增加 7193 亿元,同比多增 2692 亿元。 2019 年一季度末,普惠小微贷款余额 10.05 万亿元,同比 增长 19.1 %,增速比上年末高 3.9 个百分点,一季度增加 5529 亿元,同比多增 2899 亿元;农户生产经营贷款余额 5.18 万亿元, 同比增长 6.6%;创业担保贷款余额 1132 亿元,同比增长 8.6%; 助学贷款余额 1028 亿元,同比增长 13%。 2019 年一季度末,建档立卡贫困人口贷款余额 3104 亿元。 考虑已脱贫不脱政策的情况,建档立卡贫困人口及已脱贫人口贷 款余额 7126 亿元,同比增长 12.2%,一季度增加 163 亿元。

    四、绿色信贷平稳增长

    普惠金融领域贷款包括普惠小微贷款、农户生产经营贷款、建档立卡贫困人口 贷款、创业担保贷款和助学贷款。  2019 年一季度末,本外币绿色贷款2余额 9.23 万亿元,余额 比年初增长 4.3%,折合年增长率约为 14%,余额占同期企业及其 他单位贷款的 9.9%。 分用途看,2019 年一季度末,绿色交通运输项目和可再生 能源及清洁能源项目贷款余额分别为 4.1万亿元和 2.28 万亿元, 比年初分别增长 4.8%和 1.7%。分行业看,交通运输、仓储和邮 政业绿色贷款余额 3.91 万亿元,比年初增长 4.9%;电力、热力、 燃气及水生产和供应业绿色贷款余额 2.87 万亿元,比年初增长 2.9%。

    五、农村(县及县以下)贷款增速回升

    2019 年一季度末,本外币涉农贷款余额 33.71 万亿元,同 比增长 6.8%,增速比上年末高 1.2 个百分点;一季度增加 1.2 万亿元,同比多增 1054 亿元。 2019 年一季度末,农村(县及县以下)贷款余额 27.51 万 亿元,同比增长 7.6%,增速比上年末高 1.6 个百分点,一季度 增加 1.02 万亿元,同比多增 1490 亿元;农户贷款余额 9.56 万 亿元,同比增长 12.8%,增速比上年末低 1.1 个百分点,一季度 增加 3992 亿元,同比多增 267 亿元;农业贷款余额 4 万亿元, 同比增长 0.6%,增速比上年末低 1.2 个百分点,一季度增加 1047 亿元,同比少增 198 亿元。

    六、房地产贷款增速回落

    2019 年一季度末,人民币房地产贷款余额 40.52 万亿元, 绿色贷款是指金融机构发放给企(事)业法人或国家规定可以作为借款人的其 他组织用于支持环境改善、应对气候变化和资源节约高效利用,投向环保、节能、 清洁能源、绿色交通、绿色建筑等领域项目的贷款。 同比增长 18.7%,增速比上年末低 1.3个百分点;一季度增加 1.82 万亿元,占同期各项贷款增量的 31.4%,比上年全年水平低 8.5 个百分点。 2019 年一季度末,房地产开发贷款余额 10.85 万亿元,同 比增长 18.9%,增速比上年末低 3.7 个百分点,其中,保障性住 房开发贷款余额 4.55 万亿元,同比增长 20.2%,增速比上年末 低 9.3 个百分点。个人住房贷款余额 26.87 万亿元,同比增长 17.6%,增速比上年末低 0.2 个百分点。

    七、住户经营性贷款稳步增长

    2019 年一季度末,本外币住户贷款余额 49.71 万亿元,同 比增长 17.6%,增速比上年末低 0.6 个百分点;一季度增加 1.81 万亿元,同比多增 564 亿元。 2019 年一季度末,本外币住户经营性贷款余额 10.47 万亿 元,同比增长 12.2%,增速比上年末低 0.1 个百分点,一季度增加 3839 亿元,同比多增 504 亿元;住户消费性贷款余额 39.24 万亿元,同比增长 19.1%,增速比上年末低 0.8 个百分点,一季 度增加 1.43 万亿元,同比多增 60 亿元。​

    展开全文
  • 数据同步1、靠记录中本身的时间戳来增量更新分页获取必须排序(时间戳), 排序后也会出错(会出现记录跳过的情况),中途脚本停止更是会出错非分页的会出问题,脚本中断更会出问题(时间戳不能保证是从低到高)解决方法:1...

    数据同步

    1、靠记录中本身的时间戳来增量更新

    分页获取必须排序(时间戳), 排序后也会出错(会出现记录跳过的情况),中途脚本停止更是会出错

    非分页的会出问题,脚本中断更会出问题(时间戳不能保证是从低到高)

    解决方法:

    1、分页条数为1、并排序但效率不高

    2、分页采用每次获取比当前时间戳大的的limit条数,再不断变化时间戳(会有问题)

    3、数据一次性全部取出来排序处理(适用于小数据量情况)

    2、时间戳存在缓存中,等全部处理完再更新时间戳

    普通分页仍旧会出现记录跳过的情况

    非分页的则不会出现问题(因为时间戳是最后才更新),脚本中断也不会出问题。

    总结:

    1、时间戳存在缓存中

    1、减少计算

    2、最后更新时间戳更不容易出问题,顶多会重复处理

    2、每次运行 取缓存中的时间(>=)和脚本当时的时间(

    历史数据的增量同步(不会更改的数据)

    1、用自增主键是最完美的,因为主键不会重复

    where id>x order by id asc limit xx

    2、时间戳

    错误的示范:where insert_time>lastmax_timestamp order by timestampasc limit xx

    错误1:> 应该是>=, 但是如果用>=,会一直可以取出数据,陷入无限循环中

    错误2: 由于用了limit,limit中的可能有相同时间戳数据,并且前面用的>会丢失数据

    正确:where insert_time>lastmax_timestamp and insert_time<=current_timestamp  order by timestampasc limit xx

    不断调整 lastmax_timestamp ,可以每次运行完就把 lastmax_timestamp  存储redis

    对于中间数据会变的,一定不能用  offset,limit(建议放弃这种方式)

    之所以需要 insert_time<=current_timestamp 是因为时间戳可以相同,但主键不会重复

    注意:该方式同样适用于时间戳变化中的方式

    对于分表的可以在取到为空的时候,可以重新设定时间进行跨表操作

    展开全文
  • CDC 实现数据同步,增量更新 在Sqlserver2008上利用CDC实现了数据更新的跟踪,以往的利用时间戳,触发器实现更加方便快捷. 参考资料: http://www.mssqltips.com/tip.asp?tip=1755 ... 实现步骤如下: ...
  • NULL 博文链接:https://forlan.iteye.com/blog/2245814
  • MySQL 增量同步到 PostgreSQL 作者 digoal 日期 2016-10-20 标签 PostgreSQL , MySQL , 数据同步 , binlog ...接触到越来越多MySQL的数据库迁移到PostgreSQL的需求,整理了一些...有一些是基于binlog的,增量效果...
  • ETL增量单表同步简述 1.实现需求 当原数据库的表有新增、更新、删除操作时,将改动数据同步到目标库对应的数据表。 2.设计思路 设计总体流程图如下: 步骤简单说明: 1、设置job的执行属性,如下图: 2、...
  • 使用心得:kettle适合快速上手,在增量同步上datax灵活,但是会比较笨重,各有各的好处吧 环境配置:win10 环境 1. 下载kettle源码并解压, 2. data-integration目录下点击spoon.bat,即可打开图形化工具 3.建立...
  • 数据同步1、靠记录中本身的时间戳来增量更新  分页获取必须排序(时间戳), 排序后也会出错(会出现记录跳过的情况),中途脚本停止更是会出错  非分页的会出问题,脚本中断更会出问题(时间戳不能保证是从低...
  • 外一种方式,即“只同步新更改和增量更改”方式。当前这种方式之前一种"快照方式"要更加便捷, 而且因为快照方式是采用整表同步,因此不管是数据是否被修改过,都是把所有数据下载到本地, 而今天演示的这
  • rsync基于ssh协议实现高效率远程或本地文件复制,传输速度scp快。复制文件时会比对本地文件与远程主机的文件,仅复制有差异的文件。 常用选项: -q,--quiet:suppress non-error messages 静默模式 -v,--verbose:...
  • 10/9/2016,IDC《2016年第二季度中国网络市场跟踪报告》显示,2016年上半年中国网络市场同比快速...报告显示,2016上半年中国网络市场同比增量为0.6亿美元,华为的增长主要来自于运营商路由器和企业网数据中心交换...
  • 今天这篇文章演示如何使用同步操作向导创建另外一种方式,即“只同步新更改和增量更改”方式。当前这种方式之前一种"快照方式"要更加便捷,而且因为快照方式是采用整表同步,因此不管是数据是否被修改过,都是把...
  • 新品介绍 · 深入了解阿里云新一代产品 PolarDB​yq.aliyun.com背景意义云计算为如今的互联网时代提供了更多的计算能力,乃至创造能力,关系型数据库作为所有应用不可或缺的重要部件,开箱即用,高性价特性的云...
  • (10-07) 技术 |抢沙发 370 文章评分 0次,平均分 0.0 : [收起] 文章目录ElasticSearch作为一款开源的全文搜索引擎在如今的软件开发得到了越来越广泛的应用,在业务功能开发方面,可以选用ElasticSearch提供数据库...
  • 作者获悉,中国1月货币供应量M2同比增长9.4%,预估为10.1%,前值为10.1%。中国1月社会融资规模增量为51700亿元,预估为46000亿元,前值为17192亿元。中国1月新增人民币贷款35800亿元,预期为35000亿元,前值为12600...
  • 所谓增量备份,顾名思义即是每次备份操作那些发生了“变化”的数据块。在RMAN增量备份中有两种:Differential(差异备份)和Cumulative(增量...在实际的备份中必须存在基础备份也就是0级备份,若没有0级备份则没有...
  • 增量备份之rsync(ubuntu16.04)

    千次阅读 2018-12-29 15:19:52
    rsync(remote synchronize) 是一个...类似于增量备份,这使的在服务器传递备份文件或者同步文件,起scp工具要省时间,带宽。   Ubuntu16.04默认安装rsync,但是没有默认启动 安装及启动: sudo vim /etc/...
  • RSYNC是一款同步备份工具,它不分平台这是一个很大的特点并且RSYNC一般的备份工具要快,但不足之处在于不能自己监制目录进行备份需要利用系统计划任务进行执行了。 利用Linux的Rsync可以非常简单的对VPS...
  • Bireme是用于Greenplum / HashData数据仓库的增量同步工具。 目前,它支持MySQL,PostgreSQL和MongoDB数据源。 是一个高级的,功能齐全的开源数据仓库,可对PB数据量进行强大而快速的分析。 它面向大数据分析,具有...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 254
精华内容 101
热门标签
关键字:

同比增量