Ticket #67 (closed task: fixed)
商城数据库(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定时任务执行前执行完就行
四、产品库使用到商城的表
1.V_ENT_PRODUCT
此表在产品库中主要是拿来获取商品的一些信息,产品库没有必要直接访问这个表,商城提供一个接口给产品库使用.
2.ENT_PRODUCT_ITEM
3.ENT_COMPANY
以上两表只需商城pg上线时在产品库中建同名表并导入最新数据即可,以后不需同步.
火青补充:
产品报价库使用商城表只有读操作,主要通过建同义词授权或给用户直接授权来读。
通过同义词来读的有:
V_ENT_PRODUCT
目前通过排查所有产品报价库的所有文件,只在查广告时关联此表进行查找,鉴于广告的实时性比较强,建议在产品库oracle库中建副本表,每天全同步一次和定期增量同步;或者产品库配商城的数据源修改代码实现业务逻辑。
直接给用户授权的表有:
ENT_PRODUCT_ITEM
ENT_COMPANY
这两个表主要用在ppcache中,用于建产品报价、及对应商城的报价数、最高报价、最低报价等报价缓存信息,经过仔细排查产品库和商城,目前只用到ppcache的产品报价、价格浮涨率,其他没用到的,所以关联商城的表查询后续可以直接去掉。
Change History
comment:3 Changed 14 years ago by chenchongqi
- Type changed from defect to task
- Description modified (diff)
comment:18 Changed 14 years ago by lisiliang
数据库端切换脚本,已经明确目的,
脚本系统开发中。。。
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
- Summary changed from 商城数据库迁移到另一台oracle服务器 to 商城数据库(postgresql)和产品库数据库(oracle)同步策略
- Milestone set to 2012年6.0版本
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/global/2008/images/jss/m_logo091125.jpg)