Ticket #67 (closed task: fixed) — at Version 28

Opened 14 years ago

Last modified 14 years ago

商城数据库(postgresql)和产品库数据库(oracle)同步策略

Reported by: huangzhong Owned by:
Priority: major Milestone: 2012年6.0版本
Component: 系统相关 Version: 6.0
Keywords: 数据库迁移 数据同步 Cc:
Due Date: 30/06/2012

Description (last modified by huangzhong) (diff)

一、背景
商城转为postgresql数据库之后,不能像以前那样直接把产品库的表作为同义词来使用,而是要把所用到的产品库数据表或视图在商城这边建立数据表,然后定时同步数据

二、目标
把商城及产品库在数据库层面进行完全切割,按照业务逻辑确定哪些表需要同步数据,按什么方式同步(全表同步、增量同步、接口)及同步的频率

三、商城部分需同步的数据
视图
1.V_PDL_PRODUCT
产品库产品视图,数据量316583,每天全同步一次

2.V_PDL_PRODUCT_TYPE
产品库产品类别视图,数据量13448,每天全同步一次

3.V_PDL_PRODUCT_VARIANCE
产品库产品系列视图,数据量9144,每天全同步一次

4.V_PP_AREA
产品库报价地区视图,数据量36,每天同步一次

5.V_PP_PRICE
产品库产品报价视图,数据量4032582,对商城来说,有意义的只是全国报价,v_pdl_product里的price就是全国报价,所以这个视图可以去掉(dba不做处理)

6.V_PP_PRICE_LIMIT
产品库产品报价限价视图,在商城这边也建一个同样的视图(此视图在存储过程sync_price_limit中使用到),数据来源于商城的pp_price_limit。(dba建个视图,不做数据同步)

同义词
7.PDL_AD
产品库终端页广告表,数据量8371,15分钟全量同步一次

8.PDL_CONFIG_ITEM
产品库产品属性分类配置项,数据量6279,每天全量同步一次

9.PDL_DEFINED_CRITERIA
产品库产品查询筛选项,数据量3325,每天全量同步一次

10.PDL_PRODUCT
产品库产品表,数据量352765,用v_pdl_product代替,相应代码要做处理(包括数据库的定时任务),在cyp_update_product.sh中有update pdl_product的代码。(dba不用处理)

11.PDL_PRODUCT_BASE
产品库产品基础信息表,数据量357838,商城数据库端定时任务写此表(没有读取),对此表可以不予理会。cyp 写产品库,(dba不用处理)

12.PDL_PRODUCT_FRONT
产品库产品查询冗余表,数据量305864,每天全同步一次。

13.PDL_PRODUCT_TYPE
产品库产品类别表,用v_pdl_product_type代替。(dba不用处理)

14.PDL_TEMP_PRODUCT_PIC
产品库产品图片历史表,数据量306126,每天全同步一次。

15.PP_AD
产品库报价页面广告表,数据量8434,15分钟全同步一次。

16.PP_AREA
产品库报价地区表,用v_pp_area代替。(dba不用处理)

17.PP_PRICE_LIMIT
产品库产品报价限价视图,数据量135,每天全同步一次。只是在商城产品限价时用到,不需要PP_PRICE_LIMIT_1和PP_PRICE_LIMIT_2这样切换,只要在执行update_market_price.jsp定时任务执行前执行完就行

火青补充:
产品报价库使用商城表只有读操作,主要通过建同义词授权或给用户直接授权来读。

通过同义词来读的有:
V_ENT_PRODUCT
目前通过排查所有产品报价库的所有文件,只在查广告时关联此表进行查找,鉴于广告的实时性比较强,建议在产品库oracle库中建副本表,每天全同步一次和定期增量同步;或者产品库配商城的数据源修改代码实现业务逻辑。

直接给用户授权的表有:
ENT_PRODUCT_ITEM
ENT_COMPANY
这两个表主要用在ppcache中,用于建产品报价、及对应商城的报价数、最高报价、最低报价等报价缓存信息,经过仔细排查产品库和商城,目前只用到ppcache的产品报价、价格浮涨率,其他没用到的,所以关联商城的表查询后续可以直接去掉。

Change History

comment:1 Changed 14 years ago by huangzhong

  • Keywords 数据库迁移 added
  • Version set to 6.0

comment:2 Changed 14 years ago by huangzhong

  • Component changed from 商家后台 to 系统相关

comment:3 Changed 14 years ago by chenchongqi

  • Type changed from defect to task
  • Description modified (diff)

comment:4 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:5 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:6 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:7 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:8 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:9 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:10 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:11 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:12 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:13 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:14 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:15 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:16 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:17 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:18 Changed 14 years ago by lisiliang

数据库端切换脚本,已经明确目的,

脚本系统开发中。。。

comment:19 Changed 14 years ago by lisiliang

  • Description modified (diff)

comment:20 Changed 14 years ago by yuanhuoqing

  • Description modified (diff)

comment:21 Changed 14 years ago by huangzhong

因为dba建议直接把商城数据库转到pg上,所以这个任务暂停

comment:22 Changed 14 years ago by huangzhong

  • Status changed from new to closed
  • Resolution set to fixed

comment:23 Changed 14 years ago by huangzhong

  • Keywords 数据同步 added
  • Due Date changed from 31/01/2012 to 30/06/2012
  • Milestone set to 2012年6.0版本
  • Summary changed from 商城数据库迁移到另一台oracle服务器 to 商城数据库(postgresql)和产品库数据库(oracle)同步策略

comment:24 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:25 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:26 Changed 14 years ago by yuanhuoqing

  • Description modified (diff)

comment:27 Changed 14 years ago by huangzhong

  • Description modified (diff)

comment:28 Changed 14 years ago by huangzhong

  • Description modified (diff)
Note: See TracTickets for help on using tickets.