常识:
SPU:标准产品单位,基本属性相同,某些方面不同。包含SKU的集合
SKU:库存基本单位,SPU的变体,包含数量、价格,可以灵活调整设计
电商业务流程:
星型建模: 事实表 支付流水 和 订单明细 ,围绕事实表,各种维度表:商品表、用户表
mysql中表的分类:
实体表:记录静态实体的信息,描述实体对象。
维度表:记录与业务过程相关的维度信息,描述业务过程不同视角的信息。
事务型事实表:对于度量指标进行事务性记录,通常用于支持业务交易处理。
周期型事实表:对于度量指标的周期性统计汇总。
明细层:数据标准化(判空处理)、维度退化
业务层:在明细层基础上增强可解释性
事实表和维度表分离,关系建模的好处:解耦
维度退化的代价:
1其它业务表使用时,会比较麻烦
2模型数据删除时,维度数据也会被删除
品牌复购率:某个客户针对某个品牌tm的某个商品spu出现重复购买的行为。
单次复购率:某个品牌的某个商品购买至少2次的客户数占购买该商品的总客户数的比例。
多次复购率:......至少3次及以上......
计算细节:在明细表中先按统计周期(如每天、每月)聚合c下单数(客户,商品分组),根据 sum(if(c>=?,1,0))加工出指定条件客户数(分子),分母c>=1(按客户分组了,下过单就是算一个购买客户)。
指标分析:
项目中有多少宽表
3-5张,用户行为宽表、购买明细宽表、商品宽表、购物车宽表
拉链表
首先会拿一份当日全量数据进来,然后与拉链表昨日的全量数据做主键比对,如果昨日不存在今日存在则为新增,开链;若昨日存在今日不存在,则消亡,闭链;剩下昨日和今日都存在的记录,接着做一个全字段比对,若一致则无变化,这部分数据不动;若不一致,说明有变化,将旧的数据闭链,然后新数据开新链;最后将以上这4部分数据合并即为当天最新的拉链表数据。
kylin:核心是cube预计算技术,提前对数据预处理生成 多维索引,查询时只查询索引而不访问原始数据,所以效率高。
impala的特点:完全基于内存,MPP架构,对于关系型数据库架构友好,生成完整的内存执行计划数,无容错机制,流式拉取结果,运行速度快,高并发,交互式查询,而且处理的数据量大,针对列式存储有优化,