关注IT
关注系统玩家

数据库基础知识

 一 数据库及其相关概念

数据库(DatabaseDB)是存储在计算机内、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型进行组织和描述,具有较小的冗余度、较高的数据易扩展性和独立性,并可为多个用户所共享。

数据库管理系统(Database Management Sys,DBMS)是位于用户应用软件与操作系统之间的数据管理软件。

数据库系统(Database System, DBS) 由计算机硬件系统、数据库、数据库管理系统、应用软件、包括用户在内的各类人员构成。

一个完整的数据库系统由3部分组成:数据库、数据库管理系统和数据库应用,三者的关系如图所示。

1.数据库

数据以表的形式保存在数据库中。数据表的结构保证了表中数据是有组织、有条理的,每个数据都有其确切的含义。在目前流行的数据库系统中,用户一般无法得知数据的真实物理地址,必须通过数据库管理系统访问数据库。

9539557596

数据库系统的3个组成部分

2.数据库管理系统

一个实际运行中的数据库有复杂的结构和存储方式,用户如果直接访问数据库中的数据是很困难的。数据库管理系统(Database Management System,DBMS)是一个商业软件,它如同一座桥梁,一端连接面向用户的数据库应用,另一端连接数据库。这样DBMS将数据库复杂的物理结构和存储格式封装起来,用户访问数据库时只需发出简单的指令,这些指令由DBMS自动译成机器代码并执行,用户不必关心数据的存储方式、物理位置和执行过程,使得数据库系统的运行效率和空间资源得到充分的、合理的使用。

3.数据库应用

数据库应用系指用户对数据库的各种操作,其方式有多种,包括通过交互式命令、各类向导和视图、SQL命令以及为非计算机专业用户开发的应用程序,这些程序可以用数据库管理系统内嵌的程序设计语言编写,也可以用其他程序语言编写。

数据库的基本操作(实际中图书管理系统的功能更多、更完善):增删改查、数据管理(如书籍的采购入库、分类索引、登记造册、淘汰处理)、各种统计工作(对各种数据信息的分析、计算、汇总等工作,并生成各种报表)、报警备份处理等等。

数据模型是对现实世界的模拟。

数据模型(Data Model,DM)=(R,L)其中R表示记录型的集合;L表示记录型之间的联系的集合。数据模型应满足3个要求:一是能比较真实地模拟现实世界;二是容易为人们所理解;三是便于在计算机上实现。根据不同的应用目的,可分为概念模型(从用户的角度对数据描述和建模),逻辑模型。

数据模型3要素:数据结构、数据操作、完整性约束。

数据结构:描述系统的静态特性(各种对象类型);

数据操作:描述系统的动态特性(各种对象的实例所允许执行的操作的集合);

完整性约束:指给定数据模型中的数据及数据之间的练习所具有的制约和依存规则,用以指定符合数据模型的数据库状态以及状态的变化,以保证数据的正确性、相容性、有效性;

二 数据库类型数据库逻辑模型:层次模型、网状模型、关系模型(目前最常用)、面向对象模型。

1、层次模型

若用图来表示,层次模型是一棵倒立的树。在数据库中,满足以下条件的数据模型称之为层次模型:2683946249

层次模型(示意图)

A、有且仅有一个结点无父结点,这个结点称之为根结点;

B、其他结点有且仅有一个父结点。根据层次模型的定义可以看到,这是一个典型的树型结构。结点层次从根开始定义,根为第一层,根的子结点为第二层,根为其子结点的父结点,同一父结点的子结点称为兄弟结点,没有子结点的结点称为叶结点。

层次模型的主要优点:

层次数据库模型本身比较简单、层次模型对具有一对多的层次关系的部门描述非常自然、直观,容易理解、层次数据库模型提供了良好的完整性支持。

层次模型的主要缺点:

在现实世界中有很多的非层次性的联系,如多对多的联系,一个结点具有多个父结点等,层次模型表示这类联系的方法很笨拙(需引入冗余数据,容易产生数据的不一致)、对于插入和删除操作的限制比较多。数据的独立性差,由于实体质之间的联系本质上是通过存取路径指示的,因此应用程序在访问数据时要指定存取路径。

2、网状模型

更多网状模型是一个网络。在数据库中,满足以下两个条件的数据模型称为网状模型。 A、允许一个以上的结点无父结点; B、一个结点可以有多于一个的父结点。从以上定义看出,网状模型构成了比层次结构复杂的网状结构。

网状模型的优点:

能够更为直接地描述现实世界;

具有良好的性能,存取效率高。

网状模型的缺点:

数据描述语言(Data Description language,DDL)极其复杂;

数据的独立性差。由于实体直接的联系本质上是通过存取路径指示的,因此应用程序在访问数据时要指定存取路径。

3、关系模型

在关系模型中,数据的逻辑结构是一张二维表。

在数据库中,满足下列条件的二维表称为关系模型:8994292394

每一列中的分量是类型相同的数据;

列的顺序可以是任意的;

行的顺序可以是任意的;

表中的分量是不可再分割的最小数据项,即表中不允许有子表;

表中的任意两行不能完全相同。

关系数据库采用关系模型作为数据的组织方式。关系数据库因其严格的数学理论、使用简单灵活、数据独立性强等特点,而被公认为最有前途的一种数据库管理系统。它的发展十分迅速,目前已成为占据主导地位的数据库管理系统。自20世纪80年代以来,作为商品推出的数据库管理系统几乎都是关系型的,例如,Oracle,Sybase,Informix,Visual FoxPro,mysql,sqlserver等。

关系模型的优点:

关系模型建立于严格的数学概念基础之上;

概念单一,实体极其联系均用关系表示,数据操作的对象及结构都是一个关系;

存取路径对用户透明,具有较高的数据独立性和安全性。

关系模型的缺点:

由于存取路径对用户是透明的,往往查询的效率较差,为了提高查询性能,一般要进行查询优化。

需要注意的是我们通常所说的数据库,实际上是数据库管理系统。

三 SQL语言

SQL语言的特点:

1、综合统一:SQL语言集数据定义语言DDL、数据操纵语言DML和数据控制语言DCL几大功能于一体,语言风格统一,为数据库应用系统的开发提供了良好的环境。

2、高度非过程化:使用SQL语言进行数据操作时,不需了解存取路径,只需提出“做什么”。

3、面向集合的操作方式。

4、以同一种语法结构提高两种使用方式。

5、语言简捷,易学易用。

6、支持三级模式结构。

SQL语言完成核心功能的9个关键字

SQL功能 动词
数据定义 CREATE ALTER DROP
数据查询 SELECT
数据更新 INSERT UPDATE DELETE
数据控制 GRANT REVOKE

 

四 常用关系型数据库特点分析

 

在关系型数据库中,数据以表的形式保存,表有以下的特点:

 

 

(1)表由行、列组成,表中的一行数据称为记录,一列数据称为字段。

(2)每一列都有一个字段名。

(3)每个字段只能取一个值,不得放入两个或两个以上的数据。例如导师表的“姓名”字段只能放入一个人名,不应该同时放入曾用名,在确实需要使用曾用名的场合,可以添置一个“曾用名”字段。

(4)表中行的上下顺序、列的左右顺序是任意的。

(5)表中任意两行记录的内容不应相同。

(6)表中字段的取值范围称为域。同一字段的域是相同的,不同字段的域也有可能相同,例如工资表中的“基本工资”与“奖金”两个字段的取值范围都可以是10 000以内的实数。常用的关系型数据库有SQL Server, MySql, Oracle, DB2等。从不同方面比较SQL Server,Oracle,DB2三种数据库的特点。

开放性:

SQL Server :只能在windows 上运行操作系统的系统的稳定对数据库是十分重要的。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不像Linux那样久经考验,尤其是在处理大数据量的关键业务时。

Oracle:能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。

DB2:能在所有主流平台上运行(包括windows)。最适于海量数据。DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上用DB2数据库服务器。

可伸缩性,并行性

SQL server:比较弱

Oracle:平行服务器通过使一组结点共享同一簇中的工作来扩展windownt的能力,提供高可用性和高伸缩性的簇的解决方案。如果windows不能满足需要, 用户可以把数据库移到LINUX中。

DB2:并行实施和共存模型并不成熟。很难处理日益增多的用户数和数据卷。伸缩性有限。DB2具有很好的并行性。DB2把数据库管理扩充到了并行的、多节点的环境。

安全性:

SQL server:没有获得任何安全证书。

Oracle:获得最高认证级别的ISO标准认证。

DB2:获得最高认证级别的ISO标准认证。

性能:

SQL Server:多用户时性能不佳。

Oracle:性能最高,保持window下的TPC-D和TPC-C的世界记录。

DB2:适用于数据仓库和在线事物处理性能较高。

客户端支持及应用模式:

SQL Server: C/S结构,只支持windows客户,可以用ADO,DAO,OLEDB,ODBC连接。

Oracle:多层次网络计算,支持多种工业标准,可以用ODBC,JDBC,OCI等网络客户连接。

DB2:跨平台,多层结构,支持ODBC,JDBC等客户。

操作难易:

SQL Server:操作简单,但只有图形界面。

Oracle:较复杂, 同时提供GUI和命令行,在windows和Linux下操作相同

DB2:操作简单,同时提供GUI和命令行,在windows和Linux下操作相同

使用风险:

SQL server:完全重写的代码,经历了长期的测试,不断延迟,许多功能需要时间来证明。并不十分兼容早期产品。使用需要冒一定风险。

Oracle:长时间的开发经验,完全向下兼容。得到广泛的应用。完全没有风险。

DB2:在巨型企业得到广泛的应用,向下兼容性好。风险小。

 

五 HANA概述

HANA 不同于传统意义上的数据库。HANA是一个软硬件结合体,提供高性能的数据查询功能,用户可以直接对大量实时业务数据进行查询和分析,而不需要对业务数据进行建模、聚合等。用户拿到的是一个装有预配置软件的设备。至于HANA的云服务,只是对用户而言可以在不购买相关硬件的情况下享受HANA的高性能,而HANA云服务的背后还是需要更高性能的硬件支撑的。

软件方面,HANA的内存数据库(SAP In-Memory Database, IMDB)是其重要组成部分,包括数据库服务器(In-Memory Database Server)、建模工具(Studio)和客户端工具(ODBO、JDBC、ODBC、SQLDBC等)。HANA的计算引擎(Computing Engine)是其核心,负责解析并处理对大量数据的各类CRUDQ操作,支持SQL和MDX语句、SAP和non-SAP数据。比较显而易见的一点是,HANA计算引擎要快速处理用户复杂的查询请求,快速返回查询结果。

硬件方面,SAP和多个硬件厂商合作生产支持HANA的高性能服务器,包括Dell R910、Fujitsu、HP DL580、IBM x3850等,以及和Cisco(Cisco Unified Computing System. UCS)等公司的合作。直观地说,这些机器的硬盘可能是数个600GB、转速10k rpm的硬盘组成RAID,内存可能有1T,文件系统可能是ext3或GPFS(IBM通用并行文件系统,General Parallel File System)。

HANA的快在于用大内存提供内存数据库,并在内存数据库里采用列式存储从而可以将更多的数据装进内存(列式存储更适合数据压缩)。

HANA的特点:

更加快速的运行

SAP HANA通过单一系统支持分析、运营和性能管理混合工作负载,部署全新业务应用。产品特性包括:

通过SAP内存应用产品满足业务应用的内存计算需求;

不破坏现有的SAP系统环境;

实时连接物理和事务处理系统;

优化用于速度、灵活性和可扩展性。

更加简单的运行

SAP HANA能够帮助您简化IT环境,但不会影响能力和功能。此外,该产品还易于部署并且不会破坏现有环境。

产品特性:

合理调整现有的SAP ERP环境以便帮助降低总体TCO;

优化成“部署就绪性”软件和硬件产品;

为企业数据仓库提供主要持久运营模式的内存计算;

与现有的SAP事务处理和SAP业务仓库系统“并行”部署,用于分析数据超市的情况。

更加智慧的运行

通过SAP HANA,公司可提供对大量运营数据的可视性,从而做出更加明智的业务决策;可通过实时分析和运营数据报告来加速响应业务事件。快速分析大量业务信息但不影响事务处理性能的优势包括:

通过最佳方式在内存中永久性地保存运营数据,做到零延迟;

稳定地提供信息用于实时和特殊分析与报告;

集成数据建模工具可在运营系统上设计内存分析与报告场景;

本机接入SAP ERP数据,无需执行传统的提取、转变和装载过程。

360度全方位业务运营图

SAP HANA允许公司集成并且模拟几乎来自所有数据源的数据,从而实时洞悉整个业务。此外,它还能在几秒钟内将整个企业中的所有数据提供给决策人,以便决策人能够通过即时信息来做出关键业务决策。该架构可通过提高组织效率来简化运营流程、整合资源并且随业务变化动态迁移功能,允许快速改变用户对大量数据的使用方式,但不会影响数据完整性或安全性。结构特性:

结合大容量事务处理与分析功能来改进现有的规划、预测、价格优化及其他流程;

从SAP ERP直接接入数据或者将它们与其他数据源提供的数据集成在一起,以便获得实时分析与业务洞察力;

利用直接集成在SAP HANA上面的SAP Business Objects BI、IBM Cognos及其他第三方客户端来提高商务智能性;

部署下一代内存加速技术来支持现在和未来环境。

六.System x与HANA

9196806873

IBM的SAP HANA系统如上图所示,在整个系统中,IBM硬件可以做支持,如X3690 X5,X3950X5。IBM GPFS是可扩展的、并行化的、高可用的、高性能的文件系统。

IBM GPFS的优势:

具有公认可扩展性的单一文件系统;

专门开发用于高性能超级计算群集应用;

非常成熟和稳定–最基本的基础架构能够支持包含1000多个节点的群集,提供卓越的性能及稳定性;

当与SSD一起使用时,可提供巨大的性能优势;

当主数据丢失时可继续存活,自动使用复制好的数据;

群集文件系统,群集可在节点丢失时继续存活;

支持高可用性解决方案。

通过采用第五代IBM Enterprise X-Architecture® 技术(eX5)的IBM eX5企业级服务器进行交付的SAP内存应用产品(SAP HANA)能够满足您的当前需求,同时提供强韧的可扩展性与性能来支持未来增长,从而帮助您转型整个企业。运行在强大的IBM eX5企业级服务器上的SAP HANA兼备内存处理的速度与效率优势以及分析大量业务数据的能力 – 使公司能够消除实时事件与实时业务决策之间的壁垒。

SAP HANA采用基于IBM eX5企业级服务器的优化型硬件产品的交付形式,内含:

  • 高性能的SAP内存数据库软件及强大的数据计算引擎
  • 用于接入和从SAP ERP复制数据的实时复制服务
  • 用于提供业务信息视图的数据存储库
  • 与SAP BusinessObjects BI解决方案紧密集成以便提供洞察力和分析能力
  • 面向第三方应用访问的SQL和MDX接口
  • 统一的信息建模设计环境
  • 几乎允许接入任何SAP及非SAP数据源的数据服务为了在不影响现有应用或系统的情况下实时探索、模拟和分析数据,您可将SAP HANA用作与现有数据仓库“并排”存在的高性能数据超市;也可通过添加基于IBMeX5企业级服务器的内存加速特性来替换数据仓库。

IBM和SAP通过密切合作来为实施SAP HANA的IBMDB2® 客户开发高级复制环境。IBM DB2是SAP HANA

就绪型产品,可使用Sybase Replication Server实时将数据有效地复制到SAP HANA中。基于IBM DB2的SAP ERP系统能够无缝满足苛刻的业务需求,基于最新数据提供实时报告和无与伦比的管理功能。这些组件结合在一起,为业务分析创建了卓越的环境,允许公司合并整个企业中的大量SAP事务处理与分析信息,即时探索并且实时补充和分析这些信息。

基于IBM System x3690 X5、System x3850 X5及System x3950 X5等服务器采用的可扩展的IBM eX5技术,eX5企业级服务器上的SAP HANA能够帮助公司分析日益增长的事务处理数据,从而通过单一灵活产品在性能和可扩展性方面创造双重优势。

IBM提供多个面向SAP HANA的工作负载优化型解决方案。这些基于2插槽 x3690 X5和4插槽x3950 X5的机型均采用优化设计并且通过了SAP认证。产品经过预配置,预装了主要软件组件来帮助快速交付和部署解决方案。

七 参考文献

  1. http://baike.baidu.com/view/1088.htm
  2. http://www.tup.tsinghua.edu.cn/Resource/tsyz/015509-01.doc数据库基础
  3. http://blog.csdn.net/kofiory/article/details/5564300
  4. http://scn.sap.com/community/chinese/hana
  5. http://scnblogs.techweb.com.cn/
  6. http://wenku.baidu.com/view/5007442658fb770bf78a5549.html
  7. Teamroom Wang Shirui (shiruiw@cn.ibm.com)

IBM Systems Solution for SAP HANA send to customer version Nov-6 2012

 

未经允许不得转载:系统玩家 » 数据库基础知识

分享到:更多 ()
喜欢 0
rancher

评论 抢沙发

评论前必须登录!