数据库基本原理#3:数据库中是什么

哗啦啦啦啦 哗啦啦啦啦     2022-09-20     330

关键词:

源:https://www.scarydba.com/2017/06/20/database-fundamentals-3-whats-database/

作者:Grant Fritchey

翻译:谢雪妮 刘琼滨 许雅莉 赖慧芳

译文:

值得注意的是,很多人都不需要创建自己的数据库。可能也不会创建自己的表或其他数据结构。又可能只需要运行备份,重新存储并操作系统上的安全性,让应用程序安装为您创建数据库。这完全可以理解,完全符合许多企业和许多数据库管理员的需求。然而,了解这些东西是什么以及它如何作为理解SQL Server的一部分是个好主意。

数据库实际上就是文件。

如果需要存储稍后可以检索的信息,就必须先组织这些信息。如果你使用一个字处理程序,你可以在不同的文件中存储不同的文档,而不是去把所有文档都放到一个大文件中。SQL Server的功能跟这个就非常类似。虽然您有一个服务器,但您不会简单地存储所需的各种类型的信息,去在服务器内的一个大范围运行您的业务。相反,你要组织这些信息。SQL Server的初始组织机制是数据库。数据库允许在单独的存储区域中保存一组信息。此外,它还允许隔离这些不同信息集的安全性,以便能够控制谁可以查看或修改这些数据。

在一个数据库中,这些东西叫做表。表是关系存储的定义方式。您在给定数据库中组织存储的信息将被添加到这些表中。您将能够通过这些表向数据库添加或删除数据,还可以从这些表中检索来自数据库的信息。

除了数据库中的表之外,还有许多不同的构造可以帮助您管理存储在数据库中的的信息。其中包括许多不同类型的对象,这些对象可以帮助您操作诸如视图、存储过程和函数等数据。还可以得到一组完整的安全对象,如角色和用户。

数据库实际上是由存储在Windows文件系统上的文件组成的。这些文件是专有的二进制格式,除了通过SQL Server,不能直接读取。将数据写入这些文件是SQL Server中最昂贵和耗时的操作之一(尽管在大多数情况下,涉及的时间以微秒计)。由于这些开销,理解数据库是由文件定义,并将它们存储在数据库里的一部分是十分重要的。

两种类型的文件

您可以简单地将数据存储在文本文件或电子表格中,许多人都可以这样做。但当多人同时访问它时,更新一些日期,删除一些信息以及插入新信息的同时,存储机制变得非常有问题。这就是为什么需要使用数据库。因为SQL Server会对它存储的数据做很多不同的工作,所以它会有一些不同的机制来执行这些操作。数据库是围绕两种不同类型的文件构成的,这些文件存储不同类型的信息。在这两种类型中,您可以参考这个图。

 

 

数据文件

定义数据库所需的第一种文件是数据文件。数据文件很容易理解和解释。这种类型的文件是写入数据库的信息将要存储的地方。任何给定的数据库都可以由多个数据文件组成。数据文件可以被放置你的系统的多个硬盘上。如果有更高级的存储机制,比如存储区域网络(SAN),那么可能不是简单的硬盘驱动器,它在服务器上有其他构造,但是它们将被映射到Windows操作系统,因为驱动器和SQL server也可以使用它们来存储数据文件。

日志文件

创建数据库所需的第二种文件是日志文件。日志文件比数据文件稍微复杂一点。日志文件记录数据库中发生的每一个事务。当数据在系统中以某种方式被操纵时,就会发生事务。这些操作可以对现有数据进行更新,通过将新数据插入到表中,或者从表中删除数据来添加新数据。所有这些操作都会将信息写入日志文件。还有许多其他功能也与日志文件有关。这些文件通常比数据文件小得多,因为日志文件中的条目只需要保存到所有数据都成功写入数据文件为止。因为写入数据文件会有不同类型的失败,所以保存日志文件以帮助处理这些失败。一旦信息写入数据文件,日志条目就可以被删除。清理日志文件的过程将在另一个帖子中详细讨论

当开始创建文件时,可以调整它们的大小。在创建文件之后,可以上下调整大小。每个文件都可以设置自动增长,这很复杂,所以值得花更多时间来理解它的含义。

Autogrowth设置

如果您有很多数据库,那么在数据库上管理文件可能会有很大的工作量。您必须检查可用的空间,然后在足够的时候将文件设置为更大的大小。围绕这些手工工作的一个方法是使用数据库中的自动增长属性设置。

警告

使用这个设置时要非常小心,可以填充驱动器并使您的服务器脱机。

将数据库设置为autogrow意味着数据库在开始运行时将自动调整文件大小。许多人使用这个设置,许多应用程序在安装时设置它。为了避免这个问题,应该设置文件的上增长限制。您可以通过数据库或固定大小的百分比来设置文件。对于较小的数据库,按百分比增长是可行的,但是随着数据库的规模不断扩大,按百分比增长的过程就会变得越来越长。最佳实践是将增长设置为特定值,而不是百分比。关于如何设置所有这些的细节将在数据库被创建时覆盖。

文件放在哪里

当在安装SQL Server时,可以选择将数据库文件放置在何处。您还可以通过服务器属性窗口进行调整。在创建数据库时,最好知道在何处放置文件,以确保在驱动器上有足够的空间。要查看此位置,请按照数据库基础# 2中的描述连接到服务器。一旦连接,在对象资源管理器窗口中,右键单击服务器名本身。这将弹出一个上下文菜单。选择菜单底部的“属性”菜单选项。这将打开服务器属性窗口,您将处于默认的“General”选项卡。选择“Database Settings”选项卡,您将看到与此非常类似的内容:

 

这个有趣的区域是在名为数据库默认位置的部分窗口的底部。您将看到列出的三个不同的目录,分别用于数据、日志和备份。通过单击该条目右侧的省略号,您可以打开一个默认的文件浏览器窗口,以便更改您的日志或数据文件的默认位置。您还可以通过直接输入文本框来修改它们,如上面所示的物理路径,或者使用UNC路径。

放置文件的目标应该是尽可能多地尝试分离功能。如果有能力,最好将操作系统文件与数据,日志文件分开。这意味着如果可能的话,试着将数据和日志文件放置在C:\驱动器之外的其他东西上。此外,至少应该考虑将数据和日志文件存储在完全独立的驱动器上。这允许最大吞吐量的数据传输到驱动器上的文件。

一旦确定了存储位置是合适的,如果您已经进行了更改,单击OK按钮来保存这些更改。如果没有进行任何更改,或者不希望保存所做的更改,单击“取消”按钮。这些单击都将关闭服务器属性窗口。

在创建数据库时,除了物理位置之外,每两个文件类型都有几个属性是重要的。物理位置的一部分将是文件名和扩展名。这些可以是任何有效的Windows操作系统名称和扩展。默认情况下,数据文件的扩展是mdf,ldf是作为日志文件的扩展。如果您愿意,您可以更改这些,但它可能导致混淆,因为大多数人使用默认值作为最佳实践。有一个逻辑文件名,允许您在数据库中引用文件,而不必返回到包括驱动器在内的完整文件位置。逻辑名称并不需要与物理名称相匹配,但通常是这样的。

总结

这介绍了数据库文件存储的核心内容。下一篇文章我们将在服务器上创建一个数据库,这比这个帖子要简单得多。

爬虫基本原理

一什么是爬虫#1、什么是互联网?互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样。#2、互联网建立的目的?互联网的核心价值在于数据的共享/传递:数据是存放于一台台计... 查看详情

mysql(23)—数据库主从复制的基本原理和步骤(代码片段)

...好的解决的单点故障,并且可以进行读写分离来减轻数据库的压力。很多情况下主服务器仅作为写入数据服务 查看详情

数据驱动的基本原理是什么?

...试等,关于数据驱动的应用的讨论很多,但关于数据驱动基本原理的讨论较少,本文试图追根溯源,谈一谈数据驱动的基本原理:数据如何驱动?能够驱动什么?谈原理之前,先说一个我个人的经历。有一次我老婆从首都机场T3... 查看详情

爬虫基本原理(代码片段)

一、爬虫是什么  1、什么是互联网  互联网是网络设备(网络、路由器、交换机、防火墙等等)和一台台计算机连接而成,像一张网一样。  2、互联网建立的目的  互联网的核心价值在于数据的共享/传递:数据是存放... 查看详情

爬虫基本原理(代码片段)

...送请求->下载网页代码->只提取有用的数据->存放于数据库或文件中 #3.1与3.2的区别在于:我们的爬虫程序只提取网页代码中对我们有用的数据#4、总结爬虫#4.1爬虫的比喻:如果我们把互联网比作一张大的蜘蛛网,那一台计... 查看详情

爬虫基本原理(转)(代码片段)

...送请求->下载网页代码->只提取有用的数据->存放于数据库或文件中 #3.1与3.2的区别在于:我们的爬虫程序只提取网页代码中对我们有用的数据#4、总结爬虫#4.1爬虫的比喻:如果我们把互联网比作一张大的蜘蛛网,那一台计... 查看详情

(2021-3-13)elasticsearch学习之基本原理概述(代码片段)

...近实时1.1.2高度的可伸缩性1.1.3开箱即用、搭建简单1.1.4和数据库互补1.2ES中数据的结构注意:在5版本及之前,一个索引中可以定义多个类型。6版本也可以使用,但是不推荐。在7-8版本中会彻底删除一个索引可以创建... 查看详情

storm基本原理概念及基本使用

1.背景介绍1.1离线计算是什么离线计算:批量获取数据、批量传输数据、周期性批量计算数据、数据展示;代表技术:Sqoop批量导入数据、HDFS批量存储数据、MapReduce批量计算数据、Hive批量计算数据1.2流式计算是什么流式计算:数... 查看详情

what'sthe爬虫之基本原理

what‘sthe爬虫?了解爬虫之前,我们首先要知道什么是互联网1、什么是互联网?  互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,总体上像一张网一样。2、互联网建立的目的?  互... 查看详情

决策树基本原理

原理:要对数据进行分类,涉及到通过选取什么样的特征对数据进行分类,比如将柚子和西瓜进行分类,可以选取(大小、颜色、甜度等特征)决策树的功能就是判断使用哪个特征,然后选取他认为最好的特征对数据进行分类。... 查看详情

数据库系统原理实体-联系模型(代码片段)

实体-联系模型文章目录实体-联系模型一、实体和实体集(1)实体的基本概念(2)实体集的基本概念二、联系(1)联系的基本概念(2)联系的类型(3)联系的属性三、实体联系图(1)实体联系图要素(2)实体的处理(3)联系的处理(4)属性的处理四... 查看详情

数据库原理及应用-数据模型之关系数据模型

2018-02-0423:03:28一、关系数据模型关系型数据模型的基本的数据结构只有一种:表(relation)。在关系数据模型中将现实世界中的实体以及实体的联系都用表来表达,而层次数据模型中是用记录来表示实体,PCR表示关系,网状数据... 查看详情

软件设计的基本原理

那么今天会展开一个新的模块:软件设计的基本原理 其模块的主要特点是:1.模块化模块在程序中是数据说明可执行语句等程序对象的集合,或者是单独命名和编址的元素,如高级语言中的过程、函数、子程序等。模块具有... 查看详情

sqoop基本原理

...o-Hadoop)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle,Postgres等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导出到关系型数据库... 查看详情

爬虫基本原理

一.爬虫是什么?二.爬虫的基本流程三.请求与响应四.Request五.Response六.总结一爬虫是什么?1、什么是互联网?互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样。2、互联网建立的目... 查看详情

爬虫-基本原理

阅读目录一爬虫是什么二爬虫的基本流程三请求与响应四Request五Response六总结一爬虫是什么#1、什么是互联网?互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样。#2、互联网... 查看详情

爬虫基本原理

阅读目录一爬虫是什么二爬虫的基本流程三请求与响应四Request五Response六总结一爬虫是什么#1、什么是互联网?互联网是由网络设备(网线,路由器,交换机,防火墙等等)和一台台计算机连接而成,像一张网一样。#2、互联网... 查看详情

爬虫基础篇1--爬虫原理

...并提取数据的自动化程序(让程序替你去上网)2.爬虫的基本流程(1)向服务器发起请求(2)获取网页内容(3)解析内容(4)保存数据3.什么是request和response请求与响应:浏览器与服务器(也是一台计算机)之间的交流。4.reque... 查看详情