OLTP 概念
OLTP(OnLine Transacion Processing),是传统关系型数据库的主要应用,主要面向基本的、日常的事务处理,例如银行交易等。它是面向交易的处理系统,基本特征是可以立即将原始数据传送并处理,即可以实时的处理数据并给出响应,所以它也称为实时响应系统。
我们日常开发中,用到比较多的就是 OLTP 类型的数据库,而通常我们说的 sql 的执行时间,即可以理解为 OLTP 响应时间。因此,衡量一个 OLTP 性能一个重要的指标,就是实时响应时间,即从用户输入到获取得结果的时间。
OLTP 的基本特征: 1、实时性要求高 2、查询的数据量不是特别大 3、交易一般是确定的,它是对确定性的数据进行存取 4、并发性要求高,并且严格要求事务的完整性,安全性 5、大量短事务操作时,也适用 OLTP 类型的数据库
OLAP(OnLine Analysis Processing),具有灵活的分析功能、直观的数据操作和分析结果可视化表示等突出优点,从而用户对基于大量复杂数据的分析变得轻松而高效。他的侧重点在于对大量数据的分析,而不讲究实时性。
OLAP的特点是交易量相对较低。查询通常非常复杂并涉及聚合。OLAP应用程序被数据挖掘技术广泛使用。在OLAP数据库中有聚合的历史数据,存储在多维模式(通常是星型模式)中。有时查询需要访问管理记录中的大量数据,例如统计一年的收入、流水等数据。
OLAP 的基本特征: 1、实时性要求不是很高。你可以想象,很多统计的数据都是定期去统计的 2、数据量大。统计数据,量肯定是比较大的 3、查询复杂,也很显然易见 4、因为重点在于分析和决策支持,所以查询是动态的
比如有一个电商网站,你需要提供用户注册、用户登录、用户修改信息、购买等基本功能,类似修改、购买等操作,都是一些小事务。这个时候,OLTP 显然更适合。
而作为电商网站的老板,你可能更关注网站的收益或者各个商品的购买分析数据,或者说对于比较高级的电商网站,还会针对用户的购买情况或者年龄等信息,做个性化推荐。这些场景显然 OLAP 更适合。