说明
数据产品经理教程 正在编写中,欢迎大家加微信 gairuo123 (备注:数据产品教程) 提供意见、建议、纠错、催更。应大家要求,作者开办数据产品和数据分析培训班,详情 数据产品经理培训 / 数据分析培训。
数据处理大致可以分成两大类:联机事务处理OLTP(On-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
为了让大型/中型公司执行他们的行政/业务或销售任务,必须有OLTP系统,以处理每天发生的大量交易。OLTP系统的一个例子是大型杂货店。例如,一个人买了15件商品,到柜台结账。现在是OLTP系统来处理将要发生的事务。让我们计算一下可能发生的事务的数量。
OLTP系统的几个例子是:
以下是OLTP的优缺点
在OLAP级别上发生的事务非常少,它们有助于企业做出更好的决策。OLAP系统允许用户分析来自多个数据库的数据,ETL被强制作为来自不同数据库的数据的原因是不同的格式。因此,在将它们存储到数据仓库之前,需要使用ETL。
如,电子商务公司想要比较2月和3月的销售数据,也想看到销售区域数据,然后是州数据,时间数据,最后是国家数据。
为了实现这一点,应该有一个系统可以将来自不同OLTP数据库的数据插入数据仓库并应用ETL过程。然后OLAP开发人员将从OLAP系统中获取数据,并根据业务需求创建不同类型的报告和图表。OLAP软件的例子有:SAP BI/BO/BOBJ,微软的Power BI, Tableau, Spotify, SAS, Python和R, Excel, Apache Spark, Splunk,谷歌Analytics。
以下是OLAP的优缺点:
传统 OLTP 数据库通常采用行式存储。所有的列依次排列构成一行,以行为单位存储,再配合以 B+ 树或 SS-Table 作为索引,就能快速通过主键找到相应的行数据。
行式存储对于 OLTP 场景是很自然的:大多数操作都以实体(Entity)为单位,即大多为增删改查一整行记录,显然把一行数据存在物理上相邻的位置是个很好的选择。
然而,对于 OLAP 场景,一个典型的查询需要遍历整个表,进行分组、排序、聚合等操作,这样一来按行存储的优势就不复存在了。更糟糕的是,分析型 SQL 常常不会用到所有的列,而仅仅对其中某些感兴趣的列做运算,那一行中无关的列也不得不参与扫描。
更新时间:2022-07-11 16:38:54 标签:数据系统 OLTP OLAP