随着互联网的飞速发展,人们的工作生活都通过互联网紧密联接,各种网络数据暴增,这就促使大数据时代到来。
大数据(big data),IT行业术语,是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。
大数据时代,不但数据规模大、数据传递快,而且数据种类也是多样性的。这就对数据的存储技术提出了更高的要求,但是也给整个世界带来了更加快捷和方便的进步和发展。
大数据时代下的数据类型:
- 结构化数据(Structured Data)
即行数据,存储在数据库里,可以用二维表结构来逻辑表达实现的数据
- 半结构数据(Semi-structured Data)
指结构数据中,结构不规则的数据,由于结构变化很大也不能够简单的建立一个表和他对应。如:声音、图像文件等之间的数据,HTML文档就属于半结构化数据。
- 非结构化数据(Unstructured Data)
非结构化数据是数据结构不规则或不完整,没有预定义的数据模型,不方便用数据库二维逻辑表来表现的数据。包括所有格式的办公文档、文本、图片、XML, HTML、各类报表、像和音频/视频信息等等。
传统单一的数据库的时代已经过去,大数据的特点以及新的数据应用场景对数据库存储不断提出的新需求,采用传统的数据库应对不同需求这种一刀切的方式已经不再奏效。
大数据时代下,数据库类型以及应用场景
虽然使用数据库的目的都是为了进行数据存储,但是不同数据库还是有不同的产品特性。
数据库分类
关系型数据库应用场景
“关系模型,就是二维表格模型。一个关系型数据库就是由多个二维表及其之间的联系所组成的一个数据组织。”
关系数据库的使用比较广泛,其以行和列的形式来存储数据,更便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。 主流的关系型数据库例如:OracleL、SQL Server、DB2、MySQL、PostgreSQL等。
如下图所示:通常该表第一行为字段名称,描述该字段的作用,下面是具体的数据。
关系型数据库特点--ACID理论
• A (Atomicity) 原子性: 就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个 操作失败,整个事务就失败,需要回滚。
• C (Consistency) 一致性: 一致性也比较容易理解,也就是说数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。
• I (Isolation) 独立性: 是指并发的事务之间不会互相影响,如果一个事务要访问的数据正在被另外一个事务修改,只要另外一个事务未 提交,它所访问的数据就不受未提交事务的影响。
• D (Durability) 持久性: 指一旦事务提交后,它所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失。
关系型数据库的优点:
1.操作方便, SQL语言容易书写和理解。
2.数据冗余度低
3.适合支撑复杂数据查询
非关系型数据库应用场景
常见的非关系型数据库有键值数据库、列存储数据库、文档数据库、图数据库、时序数据库、搜索引擎数据库等。非关系型数据库主要用于处理大数据量、高负载情况,一般采集分布式文件系统。通常,在非关系型数据库中,数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定。
非关系型数据库特点---CAP理论
CAP理论指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。
CAP 理论核心是: 一个分布式系统不可能同时很好的满足一致性,一致性和区分容错性这三个需求,最多只能同时较好的满足两个。
- C:Consistency 一致性
在分布式系统中的所有数据备份,在同一时刻是否同样的值。
- A: Availability 可用性
保证每个请求不管成功或者失败都有响应。
- P:Partition Tolerance 区分容错性
系统中任意信息的丢失或失败不会影响系统的继续运作。
非关系型数据库的优点:
- 数据间耦合性低,扩展性好
- 读写性能高
- 更适用于大数据分析场景
虽然两种类型数据库各有优势,但其优势也需要建立在不同的架构和成本之上,使用过程中也需要注意各优势之间的平衡。
在制定企业存储策略过程中,如何更有效地、稳定地发挥各自的优势是架构师们需要根据实际需要认真考虑的问题。