DBS学习笔记(一):基本概念

发布时间 2023-07-06 16:37:24作者: Bota5ky

OLTP(Online Transaction Processing)和 OLAP(Online Analytical Processing)

OLTP 和 OLAP 是两种常见的数据处理技术,用于处理不同类型的数据和满足不同的业务需求。

  • OLTP是一种用于处理事务性数据的技术。它主要用于日常的业务操作,例如订单处理、交易记录、库存管理等。OLTP系统通常针对大量的短期事务,需要高并发性和快速的数据插入、更新和查询能力。这些系统通常强调数据的一致性和准确性,并追求低延迟的响应时间。OLTP数据库通常采用关系型数据库管理系统(RDBMS),如Oracle、MySQL、Microsoft SQL Server等。

  • OLAP则是一种用于处理分析性数据的技术。它主要用于数据分析、决策支持和业务智能等领域。OLAP系统通常面对复杂的查询和多维数据分析,需要支持大规模数据的聚合、切片、切块和透视等操作。这些系统通常强调数据的可读性和多维度的分析能力,并追求高性能的数据查询和计算。OLAP数据库通常采用特定的数据存储和处理技术,如多维数据库(例如OLAP立方体)或列式数据库。

BASE(Basically Available, Soft state, Eventually consistent)

BASE 是非关系型数据库系统设计的一种原则,与ACID(原子性、一致性、隔离性、持久性)相对应。它强调在大规模分布式系统中的可用性和性能,而放松了强一致性的要求。

下面是BASE原则的解释:

  1. Basically Available(基本可用):系统保持基本的可用性,即使在面临部分故障或分区的情况下也能继续提供服务。它意味着系统可以接受部分故障,但仍然能够返回响应或执行部分功能。
  2. Soft state(软状态):系统在没有输入时可以处于不确定的状态,这是允许的。与ACID中的强一致性要求不同,软状态允许系统的状态在时间上存在一定的延迟和不一致性,而这些不一致性可以通过后续的操作或时间来纠正。
  3. Eventually consistent(最终一致性):系统的状态最终将达到一致状态,尽管在分布式环境中不同节点之间的状态可能存在一段时间的不一致。最终一致性并不要求实时或即时的一致性,而是通过后续的同步和协调机制使系统最终达到一致状态。

BASE原则在分布式系统和大规模数据处理中更为适用,特别是在面对高可用性、可扩展性和性能需求的场景下。相对于强一致性的ACID,BASE提供了更灵活的数据一致性模型,可以在牺牲一部分一致性的前提下获得更高的可用性和性能。

需要注意的是,BASE原则并非一种具体的技术实现或标准,而是一种设计思想和原则的概念。具体的非关系型数据库系统可以根据BASE原则进行设计和实现,以满足不同的可用性、一致性和性能需求。常见的非关系型数据库系统包括MongoDB、Cassandra、Redis等。

关系型数据库和非关系型数据库的对比

关系型数据库 非关系型数据库
数据存储在表中,通过外键建立关系 数据用集合或键值对存储
严格的ACID原则 BASE原则
结构化数据 半结构化或非结构化数据
垂直扩展(换成更大的instance) 水平扩展(添加新node)
使用SQL 使用基于对象的APIs
适配OLTP和OLAP 适配OLTP(网页、移动应用)