id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	due_date
67	商城数据库(postgresql)和产品库数据库(oracle)同步策略	huangzhong		"一、背景
商城转为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的产品报价、价格浮涨率，其他没用到的，所以关联商城的表查询后续可以直接去掉。


"	task	closed	major	2012年6.0版本	系统相关	6.0	fixed	数据库迁移 数据同步		30/06/2012
