从范式标准谈一下OLTP和OLAP的区别
背景
在传统的OLAP和OLTP数据库的主要差别中,我们从数据组积的抽象层面看下两者的区别
范式上的区别
传统的OLTP数据库和OLAP数据库的在范式上重要的差异,传统的OLTP数据库是为进行事务处理服务的,其表结构遵循E-R关系模型,并且正常情况下需要遵守第一,第二和第三种标准的范式,也即数据表中的数据不要冗余,而OLAP系统,比较有代表性的比如ck,其恰恰相反,存放到ck中的数据一般都是来源于OLTP业务数据库,然后我们一般都会把这些标准范式的表逆规范化成为没有任何范式的表也就是包含各种冗余的列的大宽表,ck非常擅长处理这种大宽表的数据,然后它对于处理Join的操作是相当低效的
总结
OLTP中表的数据都是简洁和明确的,数据极少冗余,这样可以很好的进行事务处理,而OLAP一般都倾向于大宽表的设计,为了性能起见,会在一张表中冗余存放很多的数据