数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
数据库本身只是一个仓库,只不过不是像我们实物产品那样的产品仓库,是用于存放数据的地方。
而数据,要像生产企业产品那样,做到5S管理,那数据的存放,是需要有结构化的,有组织地进行才可以。
这是重点,也是在建立数据库之前,需要了解,并理解需求后,建立数据关系。
数据库的核心和基础是数据模型。
通常也按照数据模型的特点将传统数据库系统分成网状数据库、层次数据库和关系数据库三类。
这三类,也可以叫做网关数据模型,层次数据模型,关系数据模型。
关系数据库由于具有严格的数学理论基础,抽象级别比较高,而且简单清晰,便于理解和使用,使用户能够逻辑地、抽象地处理数据而不必关心数据在计算机中的物理表示和存储,因此关系型数据库得到了迅速发展并成为主流的数据库模型。
了解数据模型的分类,重点是为何关系数据模型得到了迅速发展。因为通过数据间的“关系”,“关联”就可以调用各个表,进行搜索,处理,显示需要的数据,进行分析处理。
大部分数据库设计产品使用 E-R 图帮助用户进行数据库设计。它用矩形表示实体(Entity),用椭圆表示实体的属性,用菱形表示实体之间的关系(Relationship),在实体、属性和关系之间用直线相连并在直线上标注关系的类型(一对一关系、一对多关系或多对多关系)。在实际使用 E-R 图时,有时候会忽略实体的属性(可以由范式化实现),仅保留实体之间有联系的属性。
数据看似只是数据,但每个数据都代表着一定的意义,所代表的,就要就是实体,而实体就会有属性,而要把很多的实体通过一定的关系,进行处理,分析,显示,就需要把这种关系进行梳理,建立连接。
而关注的类型就产生了,一对一,一对多,多对多。
数据库的应用类型分为 OLTP(Online Transaction Processing ,即联机事务处理)和 OLAP(Online Analysis Processing,即联机分析处理)两种。
OLTP 是传统关系型数据库的主要应用,其主要面向基本的、日常的事务处理,例如在线交易。它的基本特征是可以立即将客户端的原始数据传送到计算中心进行处理,并且在很短的时间内给出处理结果。衡量 OLTP 系统的一个重要性能指标是系统性能,具体体现为实时响应时间(Response Time),即从用户在终端输入数据到计算机对这个请求做出回复所需的时间。
OLAP 是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。OLAP 专门用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持,可以根据分析人员的要求快速、灵活地进行大数据量的复杂查询处理,并且以一种直观易懂的形式将查询结果提供给决策人员。为了让用户从多个角度切换或者进行多角度综合分析,OLAP 数据库通常使用一个或多个多维数据集(Multi Dimensional Dataset),并且使用 MDX(Multi Dimensional Expressions,即多维表达式)进行数据定义和操作。
一个是反馈,一个是显示结果,帮助分析。
SQL 中包括3类语言:
DML(Data Manipulation Language,即数据操纵语言)。它们用于对数据库里的数据进行操作,例如 SELECT、UPDATE、INSERT、DELETE、TRUNCATE、MERGE 等语句。
DDL(Data Definition Language,即数据定义语言)。它们用在定义或改变数据库和表的结构、数据类型、约束等初始化工作上,大多在建立表时使用。主要的命令有 CREATE、ALTER、DROP 等。
DCL(Data Control Language,即数据控制语言)。它们用来设置或更改数据库用户或角色权限的语句,包括 Grant、Deny、Revoke 等语句。
微软公司的数据库产品命名为 SQL Server,也称 MS SQL Server。
所以写MSSQL,代表的就是SQL Server
SQL Server 是世界上用户最多的数据库管理系统,是一个即可以支持大型企业级应用,也可以用于个人用户甚至移动端的数据库软件。它不仅仅是一个常规的数据库引擎,而且内置了数据复制功能、强大的管理工具、与 Internet 的紧密集成和开放的系统架构,因此 SQL Server 定位于为广大的用户、开发人员和系统集成人员提供了一个可靠、高性能、集成的数据平台。
2000年8月,SQL Server 2000 发布。这次引入了对多实例的支持,并且允许用户选择排序规则。在分析服务中也出现了数据挖掘。用户还可以从网上下载一个制作和发布报表的插件(后续版本称之为报表服务)。
SQL Server 2005 又是一次重大的架构变革,原有的许多方面都被重写了,从而可以为用户提供完整的数据库解决方案,并帮助用户建立商业智能方案。具有代表性的新功能有:
支持非关系型数据作为XML储存与查询
使用SQL Server Management Studio代替了旧版本的企业管理器
使用SQL Server 集成服务代替了旧版本的DTS
支持使用CLR(Common Language Runtime)创建对象
增强了T-SQL语言,包括结构化的异常捕获
引入了DMV(动态管理视图),可实现详细的健康监视、性能调整和故障排除
增强的高可用性,引入了数据库镜像
增强了安全性,支持列加密
以 SQL Server Express 版本代替 MSDE
SQL Server 2008 作为上一代产品的升级强化版,使 SQL Server 的性能更强大、功能更全面、安全性更高。其主要的新功能有:
引入“Always On”技术,减少潜在的停机时间
FileStream 支持结构化与半结构化的文件流数据
引入了空间数据类型
添加了数据库压缩与加密技术
引入了与日期、时间相关的特殊数据类型,包括在日期时间数据中支持时区
全文索引被直接集成到数据库引擎中
引入了基于策略的管理框架,取代了旧版本的基本脚本的管理
引入了用于 SQL Server 的 PowerShell 提供程序
SQL Server 2008 R2 是 SQL Server 2008 之后的一个次版本,于2010年4月正式发表。主要增强了以下功能:
增强了报表服务,通过新的报表设计器可以制作地图报表
引入了 PowerPivot 高级分析能力,包括 PowerPivot for Excel 和 PowerPivot for SharePoint
增强了多服务器管理能力
引入主数据服务,支持管理参照数据
引入 StreamInsight,在将数据储存到数据库之前高速查询数据
引入数据层应用程序,帮助将数据库应用程序打包作为应用程序开发项目的一部分
SQL Server 2012 是微软在2012年推出的一个重大的产品,专门针对关键业务应用的多种功能与解决方案可以提供最高级别的可用性与性能。它推出了以下新特性和关键的改进:
继续增强了报表服务,Power View可以实现更酷更炫的报表
增强了集成服务的功能
将表格数据模型引入到分析服务
商业智能项目被迁移到 Visual Studio 2010
高可用性增强,引入了 Always On 可用性组的功能
引入了数据质量服务
增强了 T-SQL 语言,例如添加了 sequence 函数、新的错误捕获、新的开窗函数
引入了 FileTable,扩展了FileStream的功能
引入了统计语义搜索
增强了内置工具,例如提供了数据库恢复顾问
1.2.7 SQL Server 2014
SQL Server 2014 可以满足企业当前的业务需求,并提供更高的可靠性和性能。它的主要新特性如下:
提供内存 OLTP 功能,以显著提高数据库应用程序的性能
可更新的列存储
可以将 SSD 作为数据库缓冲池扩展
AlwaysOn 可用性组支持多达 8 个辅助副本
故障转移群集实例支持 Windows 群集共享卷,不再强制要求使用共享存储
改进单个分区在线索引重建和管理表分区切换的锁定优先级
在内部部署和 Windows Azure 中提供备份加密支持。
资源调控器的资源池支持为每个卷配置最小和最大 IOPS
支持本地 SQL Server 与 Windows Azure 混合部署方案
1.2.8 SQL Server 2016
SQL Server 2016 是 SQL Server 家族中最新的产品。主要有以下新特性和关键的改进。
全程加密技术,支持客户端应用所有者控制保密数据
动态数据屏蔽,使未授权用户只能看到未屏蔽的部分数据
JSON 支持
支持 R 语言
支持内部数据库扩展到 Azure SQL
提供了历史表,保存了基表中数据的旧版本信息
纯 64 位软件,不再支持 32 位操作系统
SQL Server 不仅仅是数据库的概念,除了提供数据库引擎之外,还有一套完整的商业智能解决方案。开发和使用商业智能需要使用 SQL Server 的另外三个服务:
集成服务(SQL Server Integration Services,简称 SSIS)
分析服务(SQL Server Analysis Services,简称 SSAS)
报表服务(SQL Server Reporting Services,简称 SSRS)
ETL是从基于OLTP的数据库到OLAP的数据仓库数据提取、清洗、转换、装载的过程。
SSIS是SQLSERVER Integration Services的简称,可以使用SSIS来创建ETL包,执行上面的转换操作。
SSAS是SQL SERVER Analysis Services的简称,可以创建多维度数据库并提供服务。
SSRS可以提供报表服务
SSIS 是 ETL工具
SSAS 是 Cube(多维数据库)工具
SSRS 是 报表工具
SSIS 把 数据库 的数据抽取到 数据仓库
SSAS 把 数据仓库转换成 多维数据库
SSRS 用 多维数据库作为数据源来呈现报表
实例可以看作是 SQL Server 中最大的一个容器,每个实例都包含了自己独立的一套组件与服务。如下图所示。
还是那一句,数据,不只是单单的数据,数据只是最基础的信息,通过这些信息,按要求进行处理,分析,生成报表,报告,就可以进行一定的决策帮助,而决策,就可以针对潜在需求,市场的发展方向,起到指导作用。
SQL Server 2000 开始支持在一台计算机安装多个实例。SQL Server 2008(企业版)及后续版本最多可以在一台计算机上安装50个实例。
每个实例都必须有一个唯一的名称。根据实例名称的类型,可以分为默认实例和命名实例两类。每台计算机中最多可以有一个默认实例,也可以全部都是命名实例。
如果在安装 SQL Server 时选择安装“默认实例”就可以使用默认的实例名。SQL Server 默认使用“MSSQLSERVER”作为默认实例的名称,但客户端在连接时不需要指定这个名称,只需引用计算机名即可。
如果在安装时选择“命名实例”,就需要为该实例指定一个名称。在客户端在连接到命名实例时,不仅需要指定计算机名,还要指定这个实例的名称。
使用多实例的场景有:
不同的实例对应不同的服务等级(例如响应时间、无故障时间)。
不同的实例对应不同的 SQL Server 版本。在版本升级时常用这种方式。
有不同的数据库管理员和不同的用户,只允许他们管理和访问其中部分的数据库。
不同的实例对应不同的配置选项。
数据库引擎是 SQL Server 用于存储、处理和保护数据的核心服务。使用数据库引擎可以创建用于OLTP(联机事务处理)或 OLAP(联机分析处理)的关系数据库。这包括存储数据的表和用于查看、管理和保护数据安全的数据库对象(如索引、视图和存储过程)。
SQL Server 2008 及后续产品取消了通知服务(Notification Services),以 Service Broker 代替。这是一个重要的外围组件,它包括提供消息队列和消息传递功能。消息队列可以保存查询和其它请求。消息传递允许数据库应用程序之间异步通信。可以对会话设定不同的优先级,以保证消息合理的处理顺序。
复制(Replication)用于跨越多个数据库分发数据,可以作为提高数据库的可用性的一种解决方案,也是读取异地数据库、实现负载平衡的一种途径。
在 SQL Server 2005 中,全文搜索(Full-Text Search)仍然还是一个的外围组件,这是一个基于操作系统级别的服务,数据库引擎通过接口访问这个服务。SQL Server 2008 已经将其集成到数据库引擎中,称为全文索引(Full-Text Index)。
在 OLTP 关系型数据库中,关系可以看成由行和列交叉组成的二维表格,大致可以理解为 Excel 表格的形式。
SQL Server 7.0 提供了 OLAP 功能,引入了多维数据集,从而实现快速访问数据仓库中的数据。
SQL Server 2000 提供了数据挖掘功能,用户可以在 OLTP 或 OLAP 中定义各种多维模型,模型中包含了分组和预测规则。通过使用多维表达式(Multidimensional Expression,简称 MDX)语言访问多维数据集,从而实现复杂的数据分析。
SQL Server 2012 为分析服务引入了表格数据模型。与多维模型不同,表格数据模型仍然将数据组织为包含行与列的表格,这与关系数据库非常类似。表格模型使用数据分析表达式(Data Analysis Expression,简称 DAX)访问数据。实际上在 SQL Server 2008 R2 的 PowerPivot for Excel 和 PowerPivot for SharePoint 中就已经引入了表格数据模型。
SQL Server 2012 引入了商业智能语义模型(BI Semantic Model),在 SSAS 和 PowerPivot for Excel 中创建统一模型,将强大的多维分析技术与常见的表格格式数据模型紧密结合,从而实现分析模型创建与消费的灵活性。
SQL Server 2012 还提供了统计语义搜索。它以全文搜索功能的“词”为基础,但允许超出关键字搜索范畴从非结构化的文档中查询“含义”。
SQL Server 2014 增加了用于多维模型的 Power View。
集成服务可以帮助用户构建全面的企业级分析解决方案,通过熟悉的工具进行可行性分析。
QL Server 2005 及后续版本用 SSIS 替代了 DTS。SSIS 可以从多个异构数据源提取、转换、合并数据,并移动或复制到一个或多个目标。
SQL Server 2014 的 SSIS 与 SQL Server 2012 并无不同。
SQL Server 2008 改进了 SSRS 的处理能力和性能,使得大型报表不再耗费所有可用内存。还包含了跨越表格和矩阵的 TABLIX。Application Embedding 允许用户点击报表中的 URL 链接调用应用程序。
此时,SSRS 实现了与 Microsoft Office 2007 完美地结合。例如,SSRS 能够直接把报表导出成为 Word 文档。而且使用 Report Authoring 工具,Word 和 Excel 都可以作为 SSRS 报表的模板。
根据报表服务的发展趋势,随后推出的 SQL Server 2008 R2 支持 SQL Azure、SQL Server PDW、SharePoint 列表、PowerPivot 作为数据源。还在报表中增加了地图功能。并推出功能更强的 Report Builder 3.0 报表设计器。
SQL Server 2012 推出了 Power View。这是一款可以运行在远程数据库报表客户端,可以通过web 服务对 SQL Server 数据库进行调用。Power View 沿用 Ribbon 设计风格,支持类似与微软 Office Excel 的交互风格,允许设置多种过滤器、高亮显示以及全屏显示等功能。可以轻松导出数据报表到PowerPoint 页面,通知支持发布报表到 SharePoint 2010 服务器。Power View 是基于微软的 Silverlight 技术平台,且必须与 SharePoint 2010 企业版集成部署。
开发版(Developer Edition)具有企业版的所有功能,但是不能用于生产服务器,只能用于开发和测试环境。它是开发和测试人员的理想之选,可以基于 SQL Server 构建任意类型的应用程序。
并行数据仓库(Parallel Data Warehouse,缩写为 PDW)版本针对具有海量数据的数据仓库提供了一种全新的架构,可以为数据库实现从几十到几百 PB 的扩展。由于这个版本是基于某几款服务器硬件而设计的,因此需要成套购买指定的软件和服务器。
Express 版(Express Edition,也称速成版)是一个入门级的免费版本,非常适合用于开发和支持桌面、Web 和小型服务器应用程序。
RAID(Redundant Array of Independent Disks,磁盘阵列)是将一组磁盘组合为磁盘组。
目的是,配合数据分散排列的设计,提升数据的安全性和加快读取速度。
RAID-0 即数据条带化(Data Stripping)技术,它在最少2块硬盘组成的磁盘组上创建带区集。在使用时,数据被分散到所有的硬盘中同时进行读写,因此它可以几乎成倍地提升数据读取速度,但它没有数据冗余功能,因此算不上真正的 RAID 结构。RAID-0 仅在一些对数据安全性要求不高却又希望提升数据读写能力的场景中。
RAID-1 即磁盘镜像,它将一块磁盘的数据镜像到另一个磁盘上。在写入数据时,会在另一块磁盘上同时写入,只要系统中任何一对镜像磁盘中至少有一块磁盘可用,系统都可以正常运行,保证数据的绝对安全。但是这样也会使成本明显增加,磁盘利用率为50%。因此,RAID-1 多用于保存关键性重要数据的场合。
RAID-5 是带有分布式奇偶校验的磁盘组,它不是将数据直接镜像到另一块磁盘,而是将在所有磁盘上交叉地存取数据及奇偶校验信息,在读取数据时有接近于 RAID-0 的速度。但是在写入时需要读取旧的奇偶信息并写入新的奇偶校验码,导致写入的效率会有损失。如果其中一块磁盘损坏,可以通过奇偶校验码完成修复工作。RAID-5 最少需要3块磁盘,利用率为 n-1(n为磁盘数量)。
RAID 0+1 或者 RAID 1+0 从名称上可以看出是 RAID-0 和 RAID-1 的结合体,它在磁盘镜像中建立带区集,从而同时拥有 RAID-0 的超凡速度和 RAID-1 的数据高可靠性。RAID 0+1 至少需要4块磁盘,利用率为50%。硬件厂家支持 RAID 1+0 的比较普遍,通常称之为 RAID-10。
RAID 通常通过硬件实现,Windows 7 和 Windows Server 2008 也提供软件 RAID 功能。具备 RAID-0、RAID-1 和 RAID-5 功能的卷分别称之为带区卷、镜像卷和 RAID-5 卷。
来源网络侵权联系删除
领取专属 10元无门槛券
私享最新 技术干货