首页 > 大数据 > 正文

什么是数据库?

2011-12-19 11:37:13  来源:CIO时代网

摘要:“排序规则”是指数据的排序次序原则,用以确定进行数据排序时数据值的具体位置。不同的规则将数据以不同顺序进行排序,这取决于排序规则是否区分大小写、特殊字符的排序规则等。
关键词: 数据库

  一、数据库的几个关键概念


  数据库:用于存储特定格式的关系数据总集


  文件:用于存放由数据构成的表


  文件组:用于将多个文件组织起来进行管理


  架构:用于管理数据表等对象的命名


  快照:用于建立数据库的快速还原点,方便测试和故障恢复


  数据库文件组成:


  主数据文件:默认扩展名为。mdf


  辅助数据文件:默认扩展名为。ndf(一个数据库可以创建多个。ndf文件)


  事务日志文件:默认扩展名为。ldf(记录对数据库的所有操作,但不包含所操作的数据)


  所有的数据文件和日志文件默认位置在C:Program FilesMicrosoft SQL ServerMSSQL.nMSSQLData(其中n是标识已安装的SQL Server实例名称_实例名)


  注意:应当将所有的数据和对象存储在。ndf文件中,而。mdf文件只负责存储数据目录,这样可以有效的避免访问时的磁盘争用。


  SQL SERVER的两种存储结构:


  页:用于数据存储的连续的磁盘空间块,大小8KB,每页的开头是96字节的标头,用于存储有关页的系统信息,包括页码、页类型、页的可用空间以及拥有该页的对象的分配单元ID


  区间:8个连续的物理页面,大小64KB


  (较小的表(<64KB)与其他数据库对象共享区间)


  特点:


  行不能跨越页面:页的单个行中的最大数据量和开销是 8,060 字节 (8 KB)。


  (两个例外:1:对于 varchar、nvarchar、varbinary、sql_variant 或 CLR 用户定义类型的列,单个列的长度仍然必须在 8000 字节(8060-96<8000B)的限制之内。只有它们的合并长度可以超过表的 8060 字节的行限制。2:当表中的所有固定列和可变列的行的总大小超过限制的 8,060 字节时,SQL Server 将从最大长度的列开始动态将一个或多个可变长度列移动到 ROW_OVERFLOW_DATA 分配单元中的页。每当插入或更新操作将行的总大小增大到超过限制的 8,060 字节时,将会执行此操作。将列移动到 ROW_OVERFLOW_DATA 分配单元中的页后,将在 IN_ROW_DATA 分配单元中的原始页上维护 24 字节的指针。如果后续操作减小了行的大小,SQL Server 会动态将列移回到原始数据页。)


  表和索引以区间的形式存储


  SQL Server中的每个数据库的信息都记录在master数据库的sysdatabases和sysaltfiles表中。


  “排序规则”是指数据的排序次序原则,用以确定进行数据排序时数据值的具体位置。不同的规则将数据以不同顺序进行排序,这取决于排序规则是否区分大小写、特殊字符的排序规则等。


  描述事务的特性ACID:


  原子性(Atomictity)。事务中定义的所有操作要么全部完成,要么全都不完成。


  一致性(Consistency)。事务总是使数据处于一致的状态


  隔离性(Isolation)。事务运行时与其他数据库活动隔离;其他并发进行的数据库活动对该事务没有影响。


  持久性(Durability)。当事务提交后,结果将存储在持久存储设施中,并且在系统故障后依然存在。


  执行单条的SQL语句,其实是SQLServer暗地里使用事务来完成——隐式事务。如果是作为一个单元执行的多条语句则使用的事务称为——显式事务。


  SQL Server在执行磁盘修改时,并且在这些修改写入数据库之前,将他们记录到事物日志上。


  步骤:


  1、应用程序发出数据修改指令


  2、执行修改时,查找缓存是否存在修改时所影响的数据页,如果不存在则将这些页从磁盘载入缓冲区中一边修改,如果存在则直接修改。


  3、在进行修改时,日志将记录修改数据的每条语句(任何更改都应在数据库中被修改之前先记录到日志中,并写入磁盘。此类型的日志成为预写日志)


  4、[检查点进程]按照递归方式,将所有[已完成事务中的数据]写入磁盘的数据库中


  5、如果系统出现故障,则[自动恢复进程]将使用事务日志[前滚]所有已提交的事物,并回滚任何未完成的事务。


  事务日志在自动恢复期间使用[事物标记](如:begin transaction…commit transaction)来确定事物的起止点。数据也将在[检查点进程]开始写入磁盘。


  若要提高性能,建议将事务日志文件放置在与数据文件分开的物理磁盘上。这将减少磁盘争用,并且可以使一组驱动器磁头在[其他磁头从数据文件中读取数据]的同时,将事务记录到事务日志中。由于事务可立即写入磁盘,无需等待数据读操作的完成,因此更新数据的速度将非常快。同时由于日志文件是顺序写入的,因此如果日志存储在一个专用磁盘中,则磁盘磁头将保留在正确的位置以便于下一次写操作,而不用再次浪费时间移动磁头,因此,可以提高写事务日志的速度。


第三十五届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:chaisenshark

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。