AUGUST 30, 2012 BY PINAL DAVE

SQL SERVER – Beginning of SQL Server Architecture – Terminology – Guest Post

SQL Server Architecture is a very deep subject. Covering it in a single post is an almost impossible task. However, this subject is very popular topic among beginners and advanced users.  I have requested my friend Anil Kumar who is expert in SQL Domain to help me write  a simple post about Beginning SQL Server Architecture. As stated earlier this subject is very deep subject and in this first article series he has covered basic terminologies. In future article he will explore the subject further down. Anil Kumar Yadav is Trainer, SQL Domain, Koenig Solutions. Koenig is a premier IT training firm that provides several IT certifications, such as Oracle 11g, Server+, RHCA, SQL Server Training, Prince2 Foundation etc.


In this Article we will discuss about MS SQL Server architecture.

The major components of SQL Server are:

  1. Relational Engine
  2. Storage Engine
  3. SQL OS

Now we will discuss and understand each one of them.

1) Relational Engine: Also called as the query processor, Relational Engine includes the components of SQL Server that determine what your query exactly needs to do and the best way to do it. It manages the execution of queries as it requests data from the storage engine and processes the results returned.

Different Tasks of Relational Engine:

  1. Query Processing
  2. Memory Management
  3. Thread and Task Management
  4. Buffer Management
  5. Distributed Query Processing

2) Storage Engine: Storage Engine is responsible for storage and retrieval of the data on to the storage system (Disk, SAN etc.). to understand more, let’s focus on the concepts.

When we talk about any database in SQL server, there are 2 types of files that are created at the disk level – Data file and Log file. Data file physically stores the data in data pages. Log files that are also known as write ahead logs, are used for storing transactions performed on the database.

Let’s understand data file and log file in more details:

Data FileData File stores data in the form of Data Page (8KB) and these data pages are logically organized in extents.

Extents: Extents are logical units in the database. They are a combination of 8 data pages i.e. 64 KB forms an extent. Extents can be of two types, Mixed and Uniform. Mixed extents hold different types of pages like index, system, data etc (multiple objects). On the other hand, Uniform extents are dedicated to only one type (object).

Pages: As we should know what type of data pages can be stored in SQL Server, below mentioned are some of them:

  • Data Page: It holds the data entered by the user but not the data which is of type text, ntext, nvarchar(max), varchar(max), varbinary(max), image and xml data.
  • Index: It stores the index entries.
  • Text/Image: It stores LOB ( Large Object data) like text, ntext, varchar(max), nvarchar(max),  varbinary(max), image and xml data.
  • GAM & SGAM (Global Allocation Map & Shared Global Allocation Map): They are used for saving information related to the allocation of extents.
  • PFS (Page Free Space): Information related to page allocation and unused space available on pages.
  • IAM (Index Allocation Map): Information pertaining to extents that are used by a table or index per allocation unit.
  • BCM (Bulk Changed Map): Keeps information about the extents changed in a Bulk Operation.
  • DCM (Differential Change Map): This is the information of extents that have modified since the last BACKUP DATABASE statement as per allocation unit.

Log File: It also known as write ahead log. It stores modification to the database (DML and DDL).

  • Sufficient information is logged to be able to:

    • Roll back transactions if requested
    • Recover the database in case of failure
    • Write Ahead Logging is used to create log entries
      • Transaction logs are written in chronological order in a circular way
      • Truncation policy for logs is based on the recovery model

SQL OS: This lies between the host machine (Windows OS) and SQL Server. All the activities performed on database engine are taken care of by SQL OS. It is a highly configurable operating system with powerful API (application programming interface), enabling automatic locality and advanced parallelism. SQL OS provides various operating system services, such as memory management deals with buffer pool, log buffer and deadlock detection using the blocking and locking structure. Other services include exception handling, hosting for external components like Common Language Runtime, CLR etc.

I guess this brief article gives you an idea about the various terminologies used related to SQL Server Architecture. In future articles we will explore them further.

Guest Author 

The author of the article is Anil Kumar Yadav is Trainer, SQL Domain, Koenig Solutions. Koenig is a premier IT training firm that provides several IT certifications, such as Oracle 11g, Server+, RHCA, SQL Server Training, Prince2 Foundation etc.

Reference: Pinal Dave (http://blog.sqlauthority.com

转载于:https://www.cnblogs.com/forint/p/4122357.html

SQL SERVER – Beginning of SQL Server Architecture – Terminology – Guest Post相关推荐

  1. SQL Server链接服务器 Linked Server

    使用方法 exec sp_addlinkedserver @server,@srvproduct,@provider,@datasrc,@location,@provstr,@catalog; exe ...

  2. sql server新增列_SQL Server 2017中的新增功能

    sql server新增列 SQL Server 2017 is considered a major release in the history of the SQL Server life cy ...

  3. 结局就在附近! (对于SQL Server 2008和SQL Server 2008 R2)

    介绍 (Introduction) As with everything else, all good things must come to an end. After hanging around ...

  4. sql 缓冲池_监视SQL Server中的内存文员和缓冲池分配

    sql 缓冲池 The following article applies to SQL Server versions 2008 + 以下文章适用于SQL Server 2008 +版本 Adequ ...

  5. linux sql server客户端,Linux的MS SQL Server客户端SQuirrel SQL Client

    因为工作需要,要在ubuntu下连接mssql数据库,找了很久终于找到了SQuirreL SQL Client. SQuirreL SQL Client最大的魅力在于: 基于Java,具备良好的夸平台 ...

  6. 【转】在SQL Server中通过SQL语句实现分页查询

    在SQL Server中通过SQL语句实现分页查询 2008年01月06日 星期日 12:28 建立表: CREATE TABLE [TestTable] ( [ID] [int] IDENTITY ...

  7. SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005 下载SQL Server 2000 下载...

    SQL Server 2016简体中文企业版 文件名:cn_sql_server_2016_enterprise 64位下载地址:ed2k://|file|cn_sql_server_2016_ent ...

  8. SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete)

    SQL Server 2008中SQL增强之三:Merge(在一条语句中使用Insert,Update,Delete) SQL Server 2008提供了一个增强的SQL命令Merge,用法参看MS ...

  9. SQL Server:向 SQL Server 自增字段插入值 (转)

    SQL Server:向 SQL Server 自增字段插入值 [鹏城万里] 发表于 www.sqlstudy.com 通常情况下,不能向 SQL Server 自增字段插入值,如果非要这么干的话,S ...

最新文章

  1. Codeforces 32E Hide-and-Seek 乞讨2关于镜面反射点 计算几何
  2. Lombok框架集成与原理解析
  3. 总结运行SSIS包的几种方式
  4. 如何提高用户注册转化与用户激活
  5. 免費玩雲端運算,Amazon Web Service 雲端運算平台攻略 【1】
  6. Bootstrap 排版地址
  7. 设计模式——函数的写作使用外卖模式
  8. 利用java生成uuid
  9. 全网最全Java微服务面试题总结(SpringCloud+Spring Boot)
  10. H3C S5500V2交换机误格式化恢复
  11. T410i开机显示fan error修复
  12. 我们如何走到今天:重塑世界的6项创新
  13. 网站使用微信登录接口,所踩的坑...
  14. mysql练习题记录之:学生表、课程表、成绩表、讲师表、等级表
  15. 参考文档一:性能测试---测试方案
  16. LOAM源码结合论文解析(二)laserOdometry
  17. 接线端子01——常见接线端子介绍
  18. python词频统计西游记_使用python简单实现《西游记》文本分析,通过词频对比探索西游记的主角...
  19. 软件工程第三次作业(微软小娜案例分析)
  20. 「常见面试题」Java基础之IO模型连环炮

热门文章

  1. Mac下下载android4.2源码,进行源码调试
  2. PCB叠层及相关板材介绍
  3. Ubuntu11.04更新源(转)
  4. qhfl-4 注册-登录-认证
  5. scanner一次输入多行_记一次项目复盘,技术盘点(易忽略的细节)
  6. 【ESSD技术解读】ESSD Auto PL规格,引领IO性能弹性新方向
  7. 数据库自治服务DAS年度新版本:”数据库自动驾驶“进入规模化时代
  8. PouchContainer 富容器技术解析
  9. OpenAI 挑战《索尼克》,阿里南大队如何一举夺魁?
  10. mysql更新数据索引慢_mysql添加索引,查询反而变慢