数据库必知词汇:数据库快照

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS SQL Server,基础系列 2核4GB
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
简介: 数据库快照是数据库(源数据库)的只读静态视图。自创建快照那刻起,数据库快照在事务上与源数据库一致。 数据库快照始终与其源数据库位于同一服务器实例上。 虽然数据库快照提供与创建快照时处于相同状态的数据的只读视图,但快照文件的大小随着对源数据库的更改而增大。给定源数据库中可以存在多个快照。在数据库所有者显式删除每个数据库快照之前,该快照将一直保留。

|名词定义|
数据库快照是数据库(源数据库)的只读静态视图。自创建快照那刻起,数据库快照在事务上与源数据库一致。 数据库快照始终与其源数据库位于同一服务器实例上。 虽然数据库快照提供与创建快照时处于相同状态的数据的只读视图,但快照文件的大小随着对源数据库的更改而增大。给定源数据库中可以存在多个快照。在数据库所有者显式删除每个数据库快照之前,该快照将一直保留。

数据库快照在数据页级运行。在第一次修改源数据库页之前,先将原始页从源数据库复制到快照。 快照将存储原始页,保留它们在创建快照时的数据记录。对要进行第一次修改的每一页重复此过程。对于用户而言,数据库快照似乎始终保持不变,因为对数据库快照的读操作始终访问原始数据页,而与页驻留的位置无关。

为了存储复制的原始页,快照使用一个或多个“稀疏文件”。最初,稀疏文件实质上是空文件,不包含用户数据并且未被分配存储用户数据的磁盘空间。随着源数据库中更新的页越来越多,文件的大小也不断增长。

| 发展历程 |
1992年ANSI SQL标准(1992) 提到数据库隔离级别和数据库事务的ACID 原则时提出采用数据库快照(Database Snapshot)实现数据库的隔离
2005年SQLServer首先采用数据库快照技术实现数据库备份。
当前Oracle、Hadoop、Hbase、MySQL等所有主流数据库都支持数据库快照。

| 技术特点 |
数据库快照具有以下优点:

  • 快照可用于报告目的。
  • 维护历史数据以生成报表。
  • 使用为了实现可用性目标而维护的镜像数据库来减轻报表负载。
  • 使数据免受管理失误所带来的影响。
  • 如果源数据库上出现用户错误,您可将源数据库恢复到创建给定数据库快照时的状态。 丢失的数据仅限于创建快照后数据库更新的数据。
  • 使数据免受用户失误所带来的影响。
  • 管理测试数据库。

| 相关词 |
Database Snapshots – 数据库快照
RDBMS – 关系数据据库
IDS -集成数据存储(Integrated Data Store),这是世界上第一个NDBMS(网状数据库管理系统,Network Database Management System),也是第一个数据库管理系统
Access - 是由微软发布的关系数据库管理系统
MariaDB - 数据库管理系统是MySQL的一个分支

| 案例展示 |

  • Oracle – 是甲骨文公司的一种关系数据库管理系统
  • SQLServer – 是微软公司的一种关系数据库管理系统
  • MySQL -原本是一个开放源代码的关系数据库管理系统,原开发者为瑞典的MySQL AB公司,2009年甲骨文公司收购Sun公司,MySQL成为Oracle旗下产品
  • PostgreSQL - 是自由的对象-关系型数据库服务器
  • DB2 - 是美国IBM公司发展的一套关系型数据库管理系统
  • Hive - 是一个建立在Hadoop架构之上的数据仓库

|资料来源|
Database Snapshots https://www.sqlservercentral.com/articles/database-snapshots-1
SQLServer Database Snapshot https://www.dbrnd.com/2017/01/sql-server-what-is-database-snapshot-and-how-it-works-read-only-database/
数据库发展简史 https://www.cnblogs.com/cenliang/p/9916803.html
数据库快照 (SQL Server) https://docs.microsoft.com/zh-cn/sql/relational-databases/databases/database-snapshots-sql-server?view=sql-server-ver15

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
存储 安全 数据库
数据库必知词汇:分级存储
分级存储是将数据采取不同的存储方式分别存储在不同性能的存储设备上,减少非重要性数据在一级本地磁盘所占用的空间,还可加快整个系统的存储性能。
1085 0
|
消息中间件 Kafka 数据库
这个错误通常表示Flink CDC在执行快照时,无法从数据库历史主题中获取到正确的数据
这个错误通常表示Flink CDC在执行快照时,无法从数据库历史主题中获取到正确的数据
49 1
|
存储 数据库 对象存储
阿里云服务器备份数据库用快照怎么收费?
阿里云服务器备份数据库用快照怎么收费?阿里云快照服务怎么收费?阿里云服务器快照价格按量付费每小时扣费,快照费用是按照快照所占用的存储空间大小计费的,普通快照1GB价格为0.12元/GB/月,阿里云百科分享2023阿里云服务器快照收费标准:
486 0
阿里云服务器备份数据库用快照怎么收费?
|
存储 NoSQL Linux
如何有效降低产品级内存数据库快照尾延迟
本文讲解内存键值对数据库在使用 fork 拍摄快照时引起的请求尾延迟激增问题如何解决的实践方案。
如何有效降低产品级内存数据库快照尾延迟
|
存储 JSON NoSQL
数据库必知词汇:Cassandra
Apache Cassandra是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存收件箱等简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案,线性可扩展性和在商用硬件或云基础架构上经过验证的容错能力使它成为关键任务数据的理想平台。
1021 0
|
分布式计算 负载均衡 算法
数据库必知词汇:Zookeeper
ZooKeeper是用于维护配置信息、命名、提供分布式同步以及提供组服务的集中式服务。ZooKeeper是Google的Chubby一个开源的实现,是Hadoop和HBase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,构成一个高效可靠的原语集,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
388 0
|
SQL 存储 分布式计算
数据库必知词汇:Hive
Hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Apache Hive数据仓库软件有助于使用SQL读取,写入和管理驻留在分布式存储中的大型数据集。 可以将结构投影到已经存储的数据上。 提供了命令行工具和JDBC驱动程序以将用户连接到Hive。
888 0
|
SQL 分布式计算 数据挖掘
数据库必知词汇:Pig
Apache Pig 是一个高级过程语言,特点是其结构易于大量并行化,适合于使用 Hadoop 和 MapReduce 平台来查询大型半结构化数据集。通过允许对分布式数据集进行类似 SQL 的查询,Pig 可以简化 Hadoop 的使用。
634 0
|
机器学习/深度学习 存储 分布式计算
数据库必知词汇:Mahout
Mahout 是 Apache基金会旗下的一个开源项目,其提供一些可扩展的机器学习领域经典算法的实现,旨在帮助开发人员更加方便快捷地创建智能应用程序。Mahout包含许多实现,包括聚类、分类、推荐过滤、频繁子项挖掘。此外,通过使用 Apache Hadoop 库,Mahout 可以有效地扩展到云中。
428 0
|
SQL 分布式计算 Oracle
数据库必知词汇:Sqoop
Apache Sqoop是一个用于在Apache Hadoop和关系数据库等结构化数据存储之间高效传输大容量数据的开源工具。主要用于在Hadoop(Hive)与传统的数据库间进行数据的传递,可以将一个关系型数据库(例如 :MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。此外,对于某些NoSQL数据库Sqoop也提供了连接器。
494 0