数据库理论之OLTP与OLAP

OLTP

OLTP 即联机事务处理,就是我们经常说的关系数据库,意即记录即时的增、删、改、查,就是我们经常应用的东西,主要供基层人员使用,进行一线业务操作,这是数据库的基础。

对于各种数据库系统环境中大家最常见的 OLTP 系统,其特点是并发量大,整体数据量比较多,但每次访问的数据比较少,且访问的数据比较离散,活跃数据占总体数据的比例不是太大。对于这类系统的数据库实际上是最难维护,最难以优化的,对主机整体性能要求也是最高的。因为不仅访问量很高,数据量也不小。

针对上面的这些特点和分析,我们可以对 OLTP 的得出一个大致的方向。

虽然系统总体数据量较大,但是系统活跃数据在数据总量中所占的比例不大,那么我们可以通过扩大内存容量来尽可能多的将活跃数据 cache 到内存中;虽然 IO 访问非常频繁,但是每次访问的数据量较少且很离散,那么我们对磁盘存储的要求是 IOPS(Input/Output Operations Per Second,即每秒进行读写操作的次数)表现要很好,吞吐量是次要因素;

并发量很高,CPU 每秒所要处理的请求自然也就很多,所以 CPU 处理能力需要比较强劲;虽然与客户端的每次交互的数据量并不是特别大,但是网络交互非常频繁,所以主机与客户端交互的网络设备对流量能力也要求不能太弱。

OLAP

用于数据分析的 OLAP 系统的主要特点就是数据量非常大,并发访问不多,但每次访问所需要检索的数据量都比较多,而且数据访问相对较为集中,没有太明显的活跃数据概念。

OLAP 即联机分析处理,是数据仓库的核心部心,所谓数据仓库是对于大量已经由 OLTP 形成的数据的一种分析型的数据库,用于处理商业智能、决策支持等重要的决策信息;数据仓库是在数据库应用到一定程序之后而对历史数据的加工与分析。数据分析的目标是探索并挖掘数据的价值,作为企业高层进行决策的参考。

基于 OLAP 系统的各种特点和相应的分析,针对 OLAP 系统硬件优化的大致策略如下:

  • 数据量非常大,所以磁盘存储系统的单位容量需要尽量大一些;
  • 单次访问数据量较大,而且访问数据比较集中,那么对 IO 系统的性能要求是需要有尽可能大的每秒 IO 吞吐量,所以应该选用每秒吞吐量尽可能大的磁盘;
  • 虽然 IO 性能要求也比较高,但是并发请求较少,所以 CPU 处理能力较难成为性能瓶颈,所以 CPU 处理能力没有太苛刻的要求;
  • 虽然每次请求的访问量很大,但是执行过程中的数据大都不会返回给客户端,最终返回给客户端的数据量都较小,所以和客户端交互的网络设备要求并不是太高;

此外,由于 OLAP 系统由于其每次运算过程较长,可以很好的并行化,所以一般的 OLAP系统都是由多台主机构成的一个集群,而集群中主机与主机之间的数据交互量一般来说都是非常大的,所以在集群中主机之间的网络设备要求很高。

原创文章,作者:彭晨涛,如若转载,请注明出处:https://www.codetool.top/article/%e6%95%b0%e6%8d%ae%e5%ba%93%e7%90%86%e8%ae%ba%e4%b9%8boltp%e4%b8%8eolap/

发表评论

电子邮件地址不会被公开。