跳到主要内容
跳到主要内容
编辑此页

什么是 OLAP?

OLAP 代表在线分析处理(Online Analytical Processing)。这是一个广义术语,可以从技术和业务两个角度来看待。但在非常高的层面上,您可以倒过来阅读这些词语

处理(Processing):某些源数据被处理…

分析(Analytical):…以生成一些分析报告和见解…

在线(Online):…实时。

从业务角度看 OLAP

近年来,商业人士开始意识到数据的价值。那些盲目做决策的公司,往往跟不上竞争。成功公司的数据驱动方法迫使他们收集所有可能对商业决策有用的数据,并需要及时分析这些数据的机制。这就是在线分析处理(OLAP)数据库管理系统(DBMS)的用武之地。

从商业意义上讲,OLAP 允许公司持续计划、分析和报告运营活动,从而最大限度地提高效率、减少开支,并最终征服市场份额。这可以在内部系统完成,也可以外包给 SaaS(软件即服务)提供商,如网络/移动分析服务、客户关系管理(CRM)服务等。OLAP 是许多商业智能(BI)应用背后的技术。

ClickHouse 是一个在线分析处理(OLAP)数据库管理系统,通常用作分析特定领域数据的 SaaS(软件即服务)解决方案的后端。然而,一些企业仍然不愿与第三方提供商共享他们的数据,因此内部数据仓库方案也是可行的。

从技术角度看 OLAP

所有数据库管理系统都可以分为两类:在线分析处理(OLAP)和在线事务处理(OLTP)。前者侧重于构建报表,每个报表都基于大量的历史数据,但频率不高。而后者通常处理连续的事务流,不断修改数据的当前状态。

实际上,OLAP 和 OLTP 不是类别,更像是一个光谱。大多数实际系统通常专注于其中之一,但如果也需要相反类型的工作负载,则提供一些解决方案或解决方法。这种情况通常迫使企业运行多个集成的存储系统,这可能不是什么大问题,但拥有更多系统会使维护成本更高。因此,近年来的趋势是混合事务/分析处理(HTAP),即两种类型的工作负载都由单个数据库管理系统很好地处理。

即使数据库管理系统最初是纯 OLAP 或纯 OLTP,它们也被迫朝着混合事务/分析处理(HTAP)方向发展,以跟上竞争的步伐。ClickHouse 也不例外,最初,它被设计为 尽可能快的 OLAP 系统,并且它仍然没有完善的事务支持,但必须添加一些功能,如一致的读/写和用于更新/删除数据的 mutation。

在线分析处理(OLAP)和在线事务处理(OLTP)系统之间的根本权衡仍然存在

  • 为了高效地构建分析报告,至关重要的是能够单独读取列,因此大多数在线分析处理(OLAP)数据库都是列式数据库
  • 虽然单独存储列会增加对行的操作成本,例如追加或就地修改,其成本与列数成正比(如果系统试图收集事件的所有细节以防万一,列数可能会很大)。因此,大多数在线事务处理(OLTP)系统按行排列存储数据。