精华内容
下载资源
问答
  • 数据库中的Schema是什么?

    万次阅读 多人点赞 2018-01-10 13:14:35
    在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文叫模式)是数据库的组织和结构,schemas andschemata都可以作为复数形式。模式中包含了schema对象,可以是表(table)、列(column)、数据类型(data type...

    参考:http://database.guide/what-is-a-database-schema/

    在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文叫模式)是数据库的组织和结构,schemas 和schemata都可以作为复数形式。模式中包含了schema对象,可以是(table)、(column)、数据类型(data type)、视图(view)、存储过程(stored procedures)、关系(relationships)、主键(primary key)、外键(foreign key)等。数据库模式可以用一个可视化的图来表示,它显示了数据库对象及其相互之间的关系

     

    以上是模式图的一个简单例子,显示了三个表及其数据类型、表之间的关系以及主键和外键,以下是数据库模式的一个更复杂的例子。

     

    在这种情况下,模式图分为四个部分:

    (1)Customer Data(客户数据):与客户有关的数据,如姓名,地址等

    (2)Business(业务):业务所需的数据,例如员工,商店位置,付款细节等

    (3)Inventory(库存):所有产品的细节。在这里,产品是电影,所以它包含电影标题,类别,演员等数据。

    (4)Views(视图):关于用于评估的数据的特别观点,所以通过这些模式图,我们可以进一步创建一个数据库,实际上,MySQL Workbench允许我们直接从图中生成一个Create Table脚本,然后我们就可以直接用这个脚本去创建一个数据库,还可以直接将一个数据库转换为一个关系图表。

    Schema和DataBase是否等同?

    涉及到数据库的模式有很多疑惑,问题经常出现在模式和数据库之间是否有区别,如果有,区别在哪里。

    取决于数据库供应商

    对schema(模式)产生疑惑的一部分原因是数据库系统倾向于以自己的方式处理模式

    1MySQL的文档中指出,在物理上,模式与数据库是同义的,所以,模式和数据库是一回事。

    2但是,Oracle的文档却指出,某些对象可以存储在数据库中,但不能存储在schema中。 因此,模式和数据库不是一回事。

    (3)而根据这篇SQL Server技术文章SQLServer technical article,schema是数据库SQL Server内部的一个独立的实体。 所以,他们也不是一回事。

    因此,取决于您使用的RDBMS,模式和数据库可能不一样。

    SQL标准对schema如何定义?

    ISO/IEC 9075-1 SQL标准中将schema定义为描述符的持久命名集合(a persistent, named collection of descriptors),如果你之前对schema的定义疑惑不解,希望看了我的这篇文章会好一些,起码不会更差。

    广义上

    造成疑惑的另一个原因可能是由于schema这一术语具有如此广泛的含义,因为它在不同的环境下有不同的含义,schema一词源于希腊语skhēma,意思是形态(form),轮廓(figure),形状(shape)或方案(plan)。Schema在心理学中被用来描述组织信息类别及其之间关系的有组织的思维或行为模式。我们在设计一个数据库之前,还需要看看数据中的信息种类和它们之间的关系, 在我们开始使用DBMS中的物理模式之前,我们需要创建一个概念模式。在软件开发中讨论模式时,可以讨论概念模式、物理模式、内部模式、外部模式、逻辑模式等,每一个都有其特定的含义。

    DBMS的schema定义

    以下是三个领先的关系数据库系统的schema定义:

    MySQL

    Conceptually, a schema is a set of interrelated database objects, such as tables, table columns, data types of the columns, indexes, foreign keys, and so on. These objects are connected through SQL syntax, because the columns make up the tables, the foreign keys refer to tables and columns, and so on. Ideally, they are also connected logically, working together as part of a unified application or flexible framework. For example, theINFORMATION_SCHEMA and performance_schema databases use “schema” in their names to emphasize the close relationships between the tables and columns they contain.

    In MySQL, physically, aschema is synonymous with adatabase. You can substitute the keywordSCHEMA instead ofDATABASE in MySQL SQL syntax, for example using CREATE SCHEMA instead of CREATE DATABASE.

    Some other database products draw a distinction. For example, in the Oracle Database product, aschema represents only a part of a database: the tables and other objects owned by a single user.

    MySQL官方文档指出,从概念上讲,模式是一组相互关联的数据库对象,如表,表列,列的数据类型,索引,外键等等。但是从物理层面上来说,模式与数据库是同义的。你可以在MySQL的SQL语法中用关键字SCHEMA替代DATABASE,例如使用CREATE SCHEMA来代替CREATE DATABASE

    参考: MySQL Glossary, MySQL 5.7 参考手册. MySQL, Retrieved 6 June 2016。

    SQL Server

    The names of tables, fields, data types, and primary and foreign keys of a database.

    SQL Server官方文档指出,schema中包含了数据库的表,字段,数据类型以及主键和外键的名称。参考:SQL Server Glossary. SQL Server 2016 Technical Documentation. Microsoft Developer Network. Retrieved 6 June 2016.

    Oracle Database

    Oracle中的schema系统与其他数据库系统大不相同,Oracle的schema与数据库用户密切相关。

    A schema is a collection of logical structures of data, or schema objects. A schema is owned by a database user and has the same name as that user. Each user owns a single schema.

    Oracle官方文档指出,schema是数据或模式对象的逻辑结构的集合,由数据库用户拥有,并且与该用户具有相同的名称,也就是说每个用户拥有一个独立的schema。

    参考: Oracle Database Objects. Oracle Database Online Documentation 12c Release 1 (12.1). Oracle Help Center. Retrieved 6 June 2016.

    如果想了解更多关于schema的内容,可以参考这篇文章schema definitions by DBMS.

    创建Schema

    尽管上述三个DBMS在定义schema方面有所不同,还是有一个共同点,就是每一个都支持CREATE SCHEMA语句。

    MySQL

    在MySQL中,CREATE SCHEMA创建了一个数据库,这是因为CREATE SCHEMACREATE DATABASE的同义词。 换句话说,你可以使用CREATE SCHEMA或者CREATE DATABASE来创建一个数据库。

    Oracle Database

    在Oracle中,CREATE SCHEMA语句实际上并不创建一个模式,这是因为已经为在创建用户时,数据库用户就已经创建了一个模式,也就是说在ORACLE中CREATE USER就创建了一个schema,CREATE SCHEMA语句允许你将schema同表和视图关联起来,并在这些对象上授权,从而不必在多个事务中发出多个SQL语句。

    SQL Server

    在SQL Server中,CREATE SCHEMA将按照名称创建一个模式,与MySQL不同,CREATE SCHEMA语句创建了一个单独定义到数据库的模式。和ORACLE也不同,CREATE SCHEMA语句实际创建了一个模式(前面说到这个语句在ORACLE中不创建一个模式),在SQL Server中,一旦创建了模式,就可以往模式中添加用户和对象。

    总结

    schema这个词可以用在很多不同的环境中,在特定数据库管理系统创建一个schema时,您需要使用DBMS特定定义模式,当你切换到一个新的数据库管理系统时,一定要查看该系统是如何定义schema的。

    展开全文
  • 数据库容灾技术之–数据容灾技术比较 转自:http://blog.csdn.NET/quitepig/article/details/8351209 一、概述近几年来,容灾已经成为信息数据中心建设的热门课题。很多容灾技术也快速发展起来,对用户来说也有很...

    数据库容灾技术之–数据容灾技术比较

    转自:http://blog.csdn.NET/quitepig/article/details/8351209

    一、概述

    近几年来,容灾已经成为信息数据中心建设的热门课题。很多容灾技术也快速发展起来,对用户来说也有很广阔的选择余地。但由于容灾方案的技术复杂性和多样性,一般用户很难搞清其中的优劣以确定如何选择最适合自己状况的容灾解决方案。本文我们就容灾建设中的备份及复制技术做一个初步探讨,希望能对客户的数据中心容灾建设提供一些参考。

    目前有很多种容灾技术,分类也比较复杂。但总体上可以区分为离线式容灾(冷容灾)和在线容灾(热容灾)两种类型。

    二、离线式容灾

    所谓的离线式容灾主要依靠备份技术来实现。其重要步骤是将数据通过备份系统备份到磁带上面,而后将磁带运送到异地保存管理。离线式容灾具有实时性低、可备份多个副本、备份范围广、长期保存、投资较少等特点,由于是备份一般是压缩后存放到磁带的方式所以数据恢复较慢,而且备份窗口内的数据都会丢失,因此一般用于数据恢复的RTO(目标恢复时间)和RPO(目标恢复点)要求较低的容灾。也有很多客户将离线式容灾和在线容灾结合起来增加系统容灾的完整性和安全性。

    目前主流的备份软件主要有:

    l  Symantec Veritas NetBackup

    l  EMC Legato NetWorker

    l  IBM Tivoli Storage Manager

    l  Quest BakBone NetVault

    三、在线容灾

    在线容灾要求生产中心和灾备中心同时工作,生产中心和灾备中心之间有传输链路连接。数据自生产中心实时复制传送到灾备中心。在此基础上,可以在应用层进行集群管理,当生产中心遭受灾难出现故障时可由灾备中心接管并继续提供服务。因此实现在线容灾的关键是数据的复制。

    和数据备份相比,数据复制技术具有实时性高、数据丢失少或零丢失、容灾恢复快、投资较高等特点。根据数据复制的层次,数据复制技术的实现可以分为三种:存储系统层数据复制操作系统数据复制和数据库数据复制。

    1、存储系统层数据复制

    现在的存储设备经过多年的发展已经十分成熟。特别是中高端产品,一般都具有先进的数据管理功能。远程数据复制功能几乎是现有中高端产品的必备功能。要实现数据的复制需要在生产中心和灾备中心都部署1套这样的存储系统,数据复制功能由存储系统实现。如果距离比较近(几十公里之内)之间的链路可由两中心的存储交换机通过光纤直接连接,如果距离在100公里内也可通过增加DWDM等设备直接进行光纤连接,超过100公里的距离则可增加存储路由器进行协议转换途径WAN或INTERNET实现连接,因此从理论上可实现无限制连接。

    存储系统层的数据复制技术对于主机的操作系统是完全透明的,是对于将来增加新的操作平台,可不用增加任何复制软件的投资,即可完成实现复制。这样管理比较简单,最大程度保护了用户的投资,达到充分利用资源的目的。基于存储的复制一般都是采ATM或光纤通道做为远端的链路连接,不仅可以做到异步复制,更可以做到同步复制,使两端数据可做到实时同步的目的,保证了数据的一致性。缺点是由于基于存储是由存储硬件厂商提供的,在兼容性方面有局限性。用户要使用同一厂商的devices,给用户造成的选择面太小,成本容易提高,并且对线路带宽的要求通常也较高。对于预算充足,存储环境不是很复杂的企业来说,选择基于存储的技术比较适合。

    存储系统层的数据复制基于同构的存储,各个存储厂商都有自己的复制软件,如IBM PPRC、EMC SRDF、HP Continues Access、HDS TrueCopy等,以下举例说明存储系统层的数据复制原理。

    远程镜像(CA)介绍

    HP Continuous Access XP 通过向远地镜像复制数据来满足系统的高可用性和灾难恢复的需求。它通过同步模式,将数据从一台XP磁盘阵列上拷贝到远端的另一台XP磁盘阵列上,从而实现容灾解决方案。

    Continuous Access XP Extension 使Continuous Access XP能够以高性能的异步或同步方式进行远程XP磁盘阵列的拷贝。根据标书中的要求,必须同时提供同步和异步的存储复制方式,CA完全满足。

    CA是基于磁盘阵列的容灾方式。其中, CA能够实现同步/异步、同城集群/洲际集群,以及Solaris、AIX、Windows各种OS集群扩展,还可以实现新XP到新XP、老XP到新XP以及多中心容灾等功能,全面实现了可用性与可扩展性的结合。

    CA同步加上CA异步,在本地和远程XP磁盘阵列之间实现高性能实时远程数据镜像,以及快速切换及回切,使用户能轻松管理,并实现高可用性。CA同步方式的距离可以达到100公里,但是从性能的角度出发,一般都控制在50公里内。可以建设同城容灾集群,消除计划宕机时间,降低非计划的宕机时间;异步方式的距离可以达到数千公里,可以集成远程数据镜像和异构服务器的集群,增强总体方式的可用性,在同城灾难发生的时候,保证连续运作。其中,洲际集群没有距离的限制,对应用和数据完全透明,可实现全球范围的容灾方案。

    同时,针对关键用户的特殊需求,CA可以实现多中心容灾解决方案,其中,同步容灾中心的距离可以达到50公里,异步中心可以在全球的任何一个地方,至少有三个中心有镜像的数据,而且三个中心之间可以实现远程容灾。


    (1)CAXP磁盘卷组

    CAXP的磁盘卷组由不同的XP装置内或不同CLUSTER内命名为P-VOL和S-VOL的2个逻辑磁盘卷构成。在具有CAXP磁盘卷组关系后:

    P-VOL被称为主磁盘卷。P-VOL可被读/写。

    S-VOL(远程磁盘卷)被称为副磁盘卷。在XP内部的控制装置的作用下,P-VOL的内容和服务器来的写数据被拷贝到S-VOL(可采用同步或异步两种方式)。CAXP卷组建立后,S-VOL为只读磁盘卷。在一个XP里,既可有P-VOL,也可有S-VOL,这样可以实现双向数据境像。

    CAXP的磁盘卷组,即P-VOL和S-VOL间,可以是相同的RAID类型,也可以是不同的RAID类型,具体的RAID级别配合表如下所示:

     

    For P-VOL

    For S-VOL

    RAID 1

    RAID 1

    RAID 5

    RAID 5

    RAID 1

    RAID 5

    RAID 5

    RAID 1

    CAXP的RAID级别

    (2)MCU和RCU

    MCU(主磁盘控制器)和RCU(远程磁盘控制器)分别和P-VOL,S-VOL相连,MCU控制由服务器来的写向P-VOL的数据的写操作,还控制P-VOL和S-VOL之间数据拷贝的操作,并且提供CAXP磁盘卷组的状态和构成的管理。

    RCU执行由MCU发出的写命令操作。写操作的执行方法和执行服务器来的写操作过程相同。除此之外,RCU还具有管理一部分CAXP磁盘卷组的状态和构成信息的能力。

    对于任何一个磁盘卷组,都需要定义MCU/RCU。一个XP的磁盘控制装置在控制P-VOL时,可作为MCU使用,当控制S-VOL的时侯,可作为RCU使用。

    (3)CA的同步和异步复制

    基于存储的数据复制,主要有同步数据复制和异步数据复制两种。

    同步数据复制,指通过将本地生产数据以完全同步的方式复制到异地,每一本地IO交易均需等待远程复制的完成方予以释放。

    同步方式的数据复制

    同步复制方式的传输距离限制:

    l  FC光纤通道最大传输距离为10KM;

    l  ESCON通过中继方式最大可传输43KM;

    l  DWDM方式最大传输距离为100KM

    异步数据复制则是指将本地生产数据以后台同步的方式复制到异地,每一本地IO交易均正常释放,无需等待远程复制的完成。

    异步方式的数据复制

    同步复制实时性强,灾难发生时远端数据与本地数据完全同步。但这种方式因为数据在网络中的传输延迟而影响主节点的应用性能。

    异步复制则不然,但可能导致灾备点数据比主点数据有一定延迟,这些延迟的数据在灾难发生后将丢失。由此可见,同步方式和异步方式实际上是各有千秋,需要依据具体的应用,在应用性能和潜在的可能丢失数据量之间作一个取舍和均衡。

    (4)CAXP卷组的更新拷贝模式

    在组建灾难备份系统时,往往是假定正在使用的主中心的存储数据受到毁坏。这时启动远程备份中心的备份存储系统,来接替主中心的工作或从备份存储设备中把数据恢复到主中心端,在主中心重新启动应用。不论使用哪种方法,远程备份中心的备份数据与主中心端数据的一致性将会决定灾难恢复的时间。在灾难发生后,为了尽可能减少花在数据一致性分析上的时间,以XP1024存储为例,XP1024提供用于灾难备份的CAXP磁盘卷组的拷贝模式的设定选择来加快事后分析数据的一致性。

    远程数据拷贝操作

    更新拷贝模式(Fence Level)共有3种:Data、Status、Never。CAXP卷组的状态在变为“Suspend”后,更新拷贝模式将会对P-VOL的写操作产生影响,在建立灾难备份系统方案时,应预先考虑好CAXP卷组的一致性要求,对应的拷贝模式可由下表选出:

    Type of Failure

     

    S-VOL Data

    S-VOL Status

    Never

    The update copy operation failed,and the MCU was not able to change the status of the S-VOL to suspended

    Write I/O operations to the P-VOL will be:

     

    REJECT

    Accepted

    Accepted

    The update copy operation failed,and the MCU was not able to change the status of the S-VOL to suspended

    Write I/O operations to the P-VOL will be:

     

    REJECTED

    REJECTED

    Accepted

    l  更新拷贝模式:Data——在这个模式下,P-VOL和S-VOL的一致性会完全被保证。当两个卷组之间不能保证同步时,即当卷组状态变为Suspend时,MCU将会拒绝对服务器对P-VOL的写操作以保证两个磁盘卷的一致性。这种模式在灾害发生时将会最大限度的减少数据一致性分析所花的时间。(注:初期拷贝完成之前,如果灾害发生,将导致P-VOL和S-VOL的数据不一致,因此不能把S-VOL用于灾害恢复)。在Data这种拷贝模式下,一旦FC线路或S-VOL出现故障,都将使P-VOL的写操作停止,并向系统发出写错误信息中断系统的应用。

    l  更新拷贝模式:Status——当MCU检测出CAXP卷组之间失去同步后,且无法将S-VOL的状态改变为Suspend时,MCU会拒绝服务器向P-VOL的写操作,并对服务器发出写错误的信息。当FC链路失效时这种模式会起作用,如果客户认为S-VOL的偶尔失去同步是可容忍的,这种模式可被使用。当S-VOL由于某种原因失效时,并且卷组状态成功地变为Suspend时,P-VOL的读写操作可继续进行,这时P-VOL里更新过的磁道会被记录下来,当S-VOL被恢复后,更新数据不会自动的被拷贝到S-VOL,而需要重新同步这个卷组,数据的更新拷贝才会被执行。

    l  更新拷贝模式:Never——在CAXP卷组失去同步后,无论S-VOL的状态能否被改为Suspend,服务器对P-VOL的写操作不会被中止。在这种模式下,只要P-VOL自己不出现故障,服务器传来的写操作就会被执行。当FC Link或S-VOL由于某种原因失效后,P-VOL的更新磁道将会被MCU记录下来。故障排除后,用卷组激活命令可重新同步P-VOL和S-VOL,这时,只拷贝P-VOL里的更新磁道。

    Data及Status模式对保持数据一致性非常有好处的,但在线路或远端XP1024故障时会对主服务器造成造成一定的影响,甚至导致应用系统挂起。

    在这种拷贝模式下建立起来的CAXP镜像卷组,即使在光纤或S-VOL故障引起P-VOL和S-VOL镜象卷组失去同步后,只要P-VOL没有遭到损坏,MCU就不会据绝服务器对P-VOL发出的写操作。

    从服务器端来看,P-VOL对S-VOL镜象卷的数据更新象在正常进行,服务器的应用也不会被中断。当出现光纤、DWDM、远地备份中心XP1024停电等故障时,因为不影响应用的运行,所以没有必要象“DATA”那样强制中断CAXP卷组的工作。同时必须在网管上采用必要手段,监控XP1024 Pair的状态。一旦Pair状态变成非duplex,必须尽快采取措施进行修复,否则一旦发生灾难,由于远地的XP1024 CA拷贝与主site的数据不同步,灾难系统切换将会失败,导致不必要的停机。

     

    虚拟存储技术的介绍

    近年来,随着存储技术的不断发展,在存储系统层次数据复制技术上还出现基于网络的存储虚拟化设备来实现,这种方式的特点是依靠外加的网络层设备来实现两个存储设备之间的数据复制,数据复制过程不占用主机资源,两个存储之间的数据同步在网络层完成。

    根据存储虚拟化设备工作机制的不同,一般可分为带内(In-Band)和带外(Out-of-Band)两种。

    存储虚拟化设备通过交换机分别连接主机端Fabric 和存储端 Fabric,主要功能是管理对存储设备上的逻辑卷,对已有逻辑卷进行虚拟化或创建虚拟的条带卷,消除存储设备异构对主机系统的影响,提高存储设备的可用性和总体性能。另外一个功能就是卷复制和镜像,通过存储虚拟化设备实现两个虚拟卷之间的数据安全保护。

    通过存储虚拟化设备实现卷镜像复制功能的优势在于操作由存储虚拟化设备来完成、压力集中的存储虚拟化设备上,不需要主机参与,数据复制进程安全稳定。缺点是需要增加专用存储虚拟化设备,带外方式有的需要在主机端需要安装存储虚拟化设备的客户端软件,比如 UIT SVM;有的需要依赖高端智能交换机,比如 EMC VSM。目前使用这种技术的产品还不是很多,成熟性还有待提高,具有这种功能的专用设备价格也相对较高,所以采用这种方案的用户比较少。

     

    2、操作系统数据复制

    主要通过操作系统或者数据卷管理器来实现对数据的远程复制。这种复制技术要求本地系统和远端系统的主机是同构的,其实现方式是基于主机的数据复制,容灾方式工作在主机的卷管理器这一层,通过磁盘卷的镜像或复制,实现数据的容灾。这种方式也不需要在两边采用同样的存储设备,具有较大的灵活性,缺点是复制功能会多少占用一些主机的CPU资源,对主机的性能有一定的影响

    目前基于原厂的逻辑卷管理软件如IBM AIX LVM、HP-UINX MirrorDisk、Sun Solaris SVM等可以实现在本厂平台上的逻辑卷镜像,专业的数据复制软件提供了更大的灵活性,支持多个平台的逻辑卷镜像,其中代表性的软件是Symantec VERITAS Storage Foundation 软件。

    Symantec VERITASStorage Foundation简介

    (1)Symantec远程镜像数据容灾原理

    Symantec的VERITAS Storage Foundation的镜像技术构建容灾系统是比较简单的,它只有一个条件,就是将生产中心和灾备中心之间的SAN存储区域网络通过光纤连接起来,建立城域SAN存储网络。然后就可以通过Storage Foundation提供的非常成熟的跨阵列磁盘镜像技术来实现同城容灾了,容灾方案的结构如下图所示:


    从镜像原理上讲,在城域SAN存储网络上的两套磁盘系统之间的镜像,和在一个机房内的SAN上的两个磁盘系统之间的镜像并没有任何区别。

    利用裸光纤将生产中心和灾备中心的SAN网络连接起来,构成城域SAN网络以后,利用 VERITAS Storage Foundation的逻辑卷管理功能,就可以实现生产中心磁盘系统和灾备中心磁盘系统之间的镜像了。如下图所示:

    在逻辑卷镜像过程中,利用VERITAS Storage Foundation,可以创建任意一个逻辑卷(Volume)供业务主机使用,实际上是由两个完全对等的,容量相同的磁盘片构成的,两个磁盘片上的数据完全一样,业务主机对该Volume的任意修改,都将同时被写到位于生产中心和灾备中心的两个磁盘系统上。

    采用这种方式,生产中心的磁盘阵列与同城容灾中心的磁盘阵列对于两地的主机而言是完全同等的。利用城域SAN存储网络和VERITAS Storage Foundation镜像功能,可以实现数据系统的异地容灾。并且消除了复制技术(无论是同步还是异步)的切换的动作,从而保证零停机时间,零数据损失的实现。

    (2)Symantec远程镜像数据容灾的技术特点

    l  零停机时间和零数据损失

    由于Storage Foundation 采用的是跨异构阵列的镜像技术,而镜像技实现原理,就决定了在这种方式下,无论是哪一边的磁盘阵列由于物理故障停顿,都不会影响数据的可用性而造成数据的损失,这从根本上实现了在物理故障的情况下,数据的高度可用性。

    l  故障修复后的快速重新同步

    Storage Foundation 提供的镜像技术,是基于日志的镜像技术,无论由于主机发生故障,还是由于镜像中的链路或是硬盘发生故障导致的镜像被破坏的情况,都可以通过镜像日至得以快速恢复。这使得镜像恢复过程对系统的性能影响微乎其微。

    l  跨磁盘阵列快照,实现逻辑错误快速恢复和容灾中心数据利用

    Storage Foundation 提供基于卷,以及文件系统的多种快照技术,其逻辑辑快照可采用少量磁盘空间,快速,多次的对文件系统,或者是卷作快照。因而,当用户出现数据的逻辑错误时,利用快照就可以迅速恢复文件系统或卷。这在数据保护的体系,大大的弥补了传统备份恢复保护方式速度慢的缺陷,从而把数据损失量降到最低限度。

    同时,数据快照还被广泛的利用在容灾中心数据利用方面,比如可以通过快照实现数据备份、查询、测试等。

    l  数据同步过程高度可控

    Storage Foundation Remoter Mirror 提供完整的容灾命令集,在数据同步的过程中,可以随时得知同步的进度,并可随时暂停、继续数据同步。

     

    4、数据库数据复制

    数据库数据复制技术通常采用日志复制功能,依靠本地和远程主机间的日志归档与传递来实现两端的数据一致。这种复制技术对系统的依赖性小,有很好的兼容性。缺点是本地复制软件向远端复制的是日志文件,这需要远端应用程序重新执行和应用才能生产可用的备份数据。

    目前基于数据库的复制技术主要有:Oracle DataGuard、Oracle GoldenGate、DSG RealSync、Quest SharePlex 、IStream DDS等,以下举例说明该复制技术的运行原理。

    DataGuard软件介绍

    OracleData Guard 是管理、监控和自动化软件的基础架构,它创建、维护和监控一个或多个备用数据库,以保护企业数据结构不受故障、灾难、错误和崩溃的影响。

    DataGuard 使备用数据库保持为与生产数据库在事务上一致的副本。这些备用数据库可能位于距生产数据中心数千英里的远程灾难恢复站点,或者可能位于同一城市、同一校园乃至同一建筑物内。当生产数据库由于计划中断或意外中断而变得不可用时,Data Guard 可以将任意备用数据库切换到生产角色,从而使与中断相关的停机时间减到最少,并防止任何数据丢失。

    作为 Oracle 数据库企业版的一个特性推出的 Data Guard 能够与其他的 Oracle 高可用性 (HA) 解决方案(如真正应用集群 (RAC) 和恢复管理器 (RMAN))结合使用,以提供业内前所未有的高水平数据保护和数据可用性。

    (1)DataGuard重做应用和SQL应用

    备用数据库最初是从主数据库的一个备份副本创建的。一旦创建了备用数据库,Data Guard 自动将主数据库重做数据传输给备用系统,然后将重做数据应用到备用数据库中,从而使备用数据库保持为与主数据库在事务上一致的副本。

    DataGuard 提供了两种方法将这些重做数据应用到备用数据库中,并使之与主数据库在事务上保持一致。这些方法与 Data Guard 支持的两种类型的备用数据库对应:

    ●  重做应用,用于物理备用数据库

    ●  SQL应用,用于逻辑备用数据库

    (2)物理备用数据库—重做应用

    通过使用 Oracle 介质恢复应用从主数据库接收到的重做数据,物理备用数据库与主数据库保持同步。它在物理上与主数据库逐块相同,因而数据库模式(包括索引)是相同的。

    主数据库上的一个日志切换将触发备用数据库上的一个日志切换,从而使备用数据库上的归档器进程将当前的备用重做日志文件归档到备用数据库上的一个存档日志中。随后,Data Guard 重做应用使用一个专用进程(称为管理的恢复进程 (MRP))读取存档日志,并将重做数据应用到物理备用数据库中。如果启用了 Oracle Database 10g中的 Oracle Data Guard 的新功能—实时应用,则 MRP 将在 RFS 进程写满当前的备用重做日志文件时直接从其中读取重做数据。

    通过加载物理备用数据库并使用以下命令,可以在该数据库上启动 MRP(从而应用重做数据): ALTER DATABASE RECOVERMANAGED STANDBY DATABASE DISCONNECT FROM SESSION;介质恢复进程可以并行运行,以获得 Data Guard 重做应用的最佳性能。在 Oracle Database 10g 之前的版本中,这需要在上述RECOVER MANAGED STANDBY DATABASE 命令中使用 PARALLEL 子句。在 Oracle Database 10g中,MRP 可以在启动(无需 PARALLEL 子句)时自动确定并行恢复进程的最佳数量,这个数字视备用服务器上可用的 CPU 数量而定。

    物理备用数据库可以以只读方式打开,并且可以在其打开时对其运行查询,但无法在其以只读方式打开的同时运行恢复。在备用数据库以只读方式打开时,传送给它的重做数据将在备用站点上累积而不应用。不过,可以随时在物理备用数据库上恢复操作,并自动应用累积的重做数据。这允许物理备用数据库以一个序列运行,这个序列可能包括在恢复中运行一段时间,然后以只读方式打开来运行报表,接着重新运行恢复来应用尚未应用的重做数据。

    要以只读方式打开物理备用数据库,则需使用以下命令在备用数据库上取消恢复:ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;然后可以只读方式打开数据库:ALTER DATABASE OPEN。

    (3)逻辑备用数据库–SQL 应用

    尽管数据的物理组织和结构可能不同,但逻辑备用数据库包含与主数据库相同的逻辑信息。SQL 应用技术将从主数据库接收到的重做数据转换成 SQL 语句,然后在备用数据库上执行 SQL 语句,以使逻辑备用数据库与主数据库保持同步。从而,在将 SQL 应用到逻辑备用数据库上的同时,可以访问逻辑备用数据库来进行查询和报表操作。

     由于使用 SQL 语句更新逻辑备用数据库,因此它保持以读写模式打开,而从主数据库中更新的表可以同时用于诸如报表、合计、查询等其他任务如。.还可通过在维护的表上创建额外的索引和物化视图来优化这些任务。逻辑备用数据库可以承载多个数据库模式,用户可以对这些模式中不从主数据库进行更新的表上执行普通的数据处理操作。

    SQL应用使用许多并行的执行服务器和后台进程,它们将来自主数据库的更改应用到逻辑备用数据库中。下图显示了信息流和每一个进程所起的作用。

    这些不同的 SQL 应用进程可以通过在逻辑备用数据库上输入这条简单的命令来启动: ALTERDATABASE START LOGICAL STANDBY APPLY;出于每个 SQL 应用进程的考虑,读取器进程从存档日志(如果启用了实时应用,也可以是备用重做日志,)中读取重做记录。准备器进程将块更改转换成表更改或逻辑更改记录 (LCR)。在这里,LCR 并不代表任何特定的事务。构造器进程对来自各个 LCR 的已完成事务进行组合。分析器进程检查完成的事务,辨明不同事务之间的相关性。协调器进程(也称为逻辑备用进程,即 LSP)负责将事务分配给应用进程、监控事务之间的相关性以及批准将更改提交给逻辑备用数据库。应用器进程将已指定事务的 LCR 应用到数据库中,并在协调器指示提交事务时提交。Data Guard 提供视图来帮助查看每个进程的状态。

    (4)DataGuard数据保护模式

    l  最大保护模式

           最大保护模式为主数据库提供了最高水平的数据保护,从而确保了一个全面的零数据丢失灾难恢复解决方案。当在最大保护模式下运行时,重做记录由日志写入器(LGWR)进 程从主数据库同步地传输到备用数据库,并且直到确认事务数据在至少一个备用服务器上的磁盘上可用时,才在主数据库上提交事务。强烈建议,这种模式应至少配 置两个备用数据库。当最后参与的备用数据库不可用时,主数据库上的处理将停止。这就确保了当主数据库与其所有备用数据库失去联系时,不会丢失事务。

           由于重做传输的同步特性,这种最大保护模式可能潜在地影响主数据库响应时间。可以通过配置一个低延迟网络,并为它分配足够应付高峰事务负载的带宽来将这种影响减到最小。需要这种最大保护模式的企业有股票交易所、货币交易所、金融机构等。

    l   最高可用性模式

           最高可用性模式拥有仅次于最高水平的主数据库数据可用性。如同最大保护模式一样,重做数据由LGWR从主数据库同步地传输到备用数据库,直到确认事务数据在备用服务器的磁盘上可用时,事务才在主数据库上完成。不过,在这种模式下(与最大保护模式不同),如果最后参与的备用数据库变为不可用—例如由于网络连接问题,处理将在主数据库上继续进行。备用数据库与主数据库相比,可能暂时落在后面,但当它再次变为可用时,备用数据库将使用主数据库上累积的归档日志自动同步,而不会丢失数据。

           由于同步重做传输,这种保护模式可潜在地影响响应时间和吞吐量。可以通过配置一个低延迟网络,并为它分配足够应付高峰事务负载的带宽来将这种影响减到最小。

           最高可用性模式适用于想要确保获得零数据丢失保护,但不想让生产数据库受网络/备用服务器故障影响的企业。如果又一个故障随后影响了生产数据库,然后最初的网络/备用服务器故障得到解决,那么这些企业将接受数据丢失的可能性。

    l   最高性能模式

     最高性能模式是默认的保护模式。它与最高可用性模式相比,提供了稍微少一些的主数据库数据保护,但提供了更高的性能。在这种模式下,当主数据库处理事务时,重做数据由LGWR进程异步传输到备用数据库上。另外,也可以将主数据库上的归档器进程(ARCH)配置为在这种模式下传输重做数据。在任何情况下,均先完成主数据库上的写操作,主数据库的提交操作不等待备用数据库确认接收。如果任意备用目标数据库变为不可用,则处理将在主数据库上继续进行,这对性能只有很小的影响或没有影响。

    在主数据库出现故障的情况下,尚未被发送到备用数据库的重做数据会丢失。但是,如果网络有足够的吞吐量来跟上重做流量高峰,并且使用了LGWR进程来将重做流量传输到备用服务器,则丢失的事务将非常少或者为零。

    当主数据库上的可用性和性能比丢失少量数据的风险更重要时,应该使用最高性能模式。这种模式还适合于WAN上的DataGuard部署,在WAN中,网络的内在延迟可能限制同步重做传输的适用性。

     

    基于数据库日志跟踪分析的复制软件介绍

    目前市场数据库复制技术的工作原理大都与Oracle log相关,例如DNT IDR数据库复制产品就是通过对Oracle Log日志进行分析获取跟踪源系统的交易指令,然后将交易指令传到目标端进行重新执行的方式来实现数据复制的。本文以DNT IDR软件为例介绍基于数据库日志跟踪分析的复制原理。

    DNT IDR(以下简称IDR),是基于交易的逻辑级Oracle数据同步软件,利用数据库日志在线跟踪、分析技术,将生产数据库的交易信息以事务为单位,通过异步的方式,实时的传递、装载到目标数据库中,以达到源端、目标端数据保持同步的目的。是一种准实时同步软件。该软件具有以下特点:

    l  IDR不依赖硬件的同步能力,支持多种系统平台,具有部署简单、同步速度快、交易延迟时间短的特点。

    l  IDR能够支持不同Oracle版本之间的交易同步。

    l  IDR同步的目标数据库为在线打开状态,可以随时复用。

    l  IDR适用于(异构)热容灾、数据迁移、数据集中、数据分发、分担业务等应用领域。

    IDR利用数据库日志在线跟踪、分析技术,反向工程解析日志,将生产数据库的交易信息以事务为单位,通过异步的方式,实时的传递、装载到目标数据库中,以达到源端、目标端数据保持同步的目的。

    IDR技术原理与架构

    (1)IDR的同步原理

    a、历史数据同步

    使用快照方式:首次同步时,对于同步map所涉及的每一个表的同步过程如下:

    l  锁该表;

    l 记录同步时刻的scn;

    l 读取该表数据;

    l 在读取该表数据时接着将该表解锁,无需等待该表数据读取完毕。

    在表做开始同步的时刻,锁表是为了保证该表在日志中不会有交易发生,同时又因为记录了scn,也不会有多余的交易被抓取、也不会漏掉相关交易。

    开始读取数据时,利用了oracle数据库自身提供的“多版本”特性,能够保证读取数据的一致性。同时对该表进行解锁,又使该表被锁的时间不会太长从而严重影响正常交易。

    这种方式保证了源端在任何时刻下都可以进行首次数据的批量同步而不会影响同步数据的准确性。

    读文件方式:首次同步时,对于同步map所涉及的每一个表的同步过程如下:

    l 记录同步时刻的scn;

    l 读取该表数据;

    首次同步时,直接从oracle数据文件中读取该表数据,同时记录同步时刻的scn,由于这种方式要求在同步过程中,没有交易产生,因此会保证历史数据抓取的准确性。在同步完成后,将变化数据实时抓取。

    b、交易抓取

    IDR通过事先创建的试图来捕获日志变化,由于每次捕获的日志的物理位置都会记录,因此可以得出日志变化量。

    后续的抓取日志、分析交易、传输交易,完全由IDR独自完成,不使用oracle数据库任何资源。

    在每次抓取的日志量处理完成后,记录在IDR的缓存目录中,因此对于日常运行过程中,IDR停止或其它原因需要读取归档日志时,根据记录的日志物理位置来定位需要抓取的归档日志。

    IDR抓取日志跟oracle数据库是写日志是并行操作而又互不影响。

    正常情况下,IDR都是准实时的抓取变化日志量。

    对于源端是rac环境来说:rac环境中,在每一个实例所在的主机操作系统上可以读取另外主机的在线日志(包括归档日志)。通过每一个实例的日志和scn来保证交易顺序的准确性。

    c、交易分析

    严格按照源端Oracle数据库内部SCN执行顺序以及已经提交的交易来合成交易文件,该交易文件号是依次递增并且是唯一的,从0开始,交易文件号的算法跟oracle的scn算法一样,可以保证在oracle数据库正常使用期间,保证。IDR能够正常使用。

    IDR只处理已经完成提交的交易,对于回滚操作,IDR不处理该操作。

    d、交易传输

    IDR只传输交易内容,不传输交易内容的数据结构,采用专有的合成交易文件格式,只有IDR提供的工具才可以解析交易内容,这样即证了在网络传输过程中数据的安全性又可以保证网络传输过程中数据的准确性。

    满足下列三种情况,源端将删除该交易文件:

    l  接受的交易文件号跟源端传输的一样。

    l  接受的交易文件大小跟源端传输的一样。

    l  接受的交易文件校验码跟源端传输的一样。

    e、交易装载

    目标端接受交易合成文件后,首先存放在缓存目录中,然后严格按照从小到大顺序进行装载,装载的交易文件不能缺失。否则装载的进程将一直处于等待状态,因此无论目标端是rac环境还是单机环境都可以保证装载的准确性。

    这样就可以保证在目标端装载过程中,保证按照源端合成的交易文件顺序来装载。

    (2)IDR支持的同步特性

    a、支持的同步对象

    IDR支持两种级别数据库对象的同步:用户级同步、表级同步。

    用户级同步:源端数据库指定用户及其所包含的表、视图、索引、过程、函数、包、序列等数据对象全部同步到目标端数据库指定的用户下。

    IDR支持源端用户名和目标端用户名不同的同步方式。

    表级同步:表级同步分为单表同步和多表同步。

    单表同步指定源端数据库指定用户下的单个表同步到目标端数据库指定用户下的单个表。

    多表同步,即group方式,针对多个用户,每个用户只同步指定的部分表同步的情况。

    b、支持的同步模式

    同步模式主要指源端和目标端的架构模式,具体分为

    1:1模式、1:n模式、n:1模式、1:1:1模式四种。

    1对1的同步模式:



    n对1同步模式:



    1对n同步模式:


    级联同步:


    可以根据具体情况选择或组合以上同步模式到您所需要的应用架构中。

    c、数据同步方式

    IDR支持历史数据同步、只同步变化数据同步两种方式。这两种方式和有效结合或单独使用。

    历史数据指同步时刻已经存在的数据,历史数据同步方式分为两种:

    l  快照方式

    快照方式利用oracle的select的多版本特性,将历史数据抓取到目标端,同时可选择将变化数据实时同步,在历史数据装载完成后,再装载变化数据。历史数据的抓取与变化数据的抓取之间无缝结合,有业务运行也不影响数据同步的准确性。

    相对而言,快照方式同步数据时间长,对于系统资源占有大。

    l  读文件方式

    读文件方式指IDR直接读取oracle数据文件中的表数据,同时可选择变化数据实时抓取。

    相对而言,快照方式同步数据时间端,对于系统资源占有小。但是这种方式抓取历史数据时,源端系统不能有业务,否则无法保证同步数据的准确性。

    变化数据同步有两种应用方式:

    l  与历史数据同步方式结合

    IDR支持历史数据与变化数据无缝结合的同步模式,这种方式无需停止业务。

    l  单独同步变化数据。

    这种方式是在两边数据已经一致的情况下,将某一边数据库现产生的交易同步到另外一边的数据库中。

    d、数据定位方式

    目标端装载交易时,对于目标端对应数据(表的记录)的定位方式分为rowid和where两种方式。

    rowid方式:使用rowid同步方式,由于在目标端装载时直接根据rowid方式定位表纪录的物理位置,不会因为数量量的差异而影响查找纪录的速度。

    使用rowid方式时,首先必须进行全同步+增量同步结合的模式,后续的增量数据依赖全同步数据。即使源端某些表的纪录完全相同,则也不会影响数据的准确性。

    Where方式:Where方式在目标端装载数据时,对于目标端对应的数据查找依赖对应表的where条件,对于对应数据的查找速度完全依赖于数据库本身的查找速度。

    主要满足两种应用需要:

    一种跟rowid方式相同,差别在于表的数据不能出现重复纪录。

    另外一种方式是只同步变化数据部分。只依赖源端和目标端相关表的数据结构。这种方式采用IDR的只进行增量同步的方式进行。

    (3)IDR同步的性能

    a、读取在线日志

    IDR是直接通过读取Oracle日志来分析出交易内容,而不是通过数据库表来得到,这样将不依赖数据库本身的数据内容而直接得到交易信息。从而大大加快了合成交易文件的速度。

    b、内存中完成交易解析

    源端在线日志的抓取的最新位置是通过查询数据库实例sga的动态视图得到的,这样不仅速度快而且不会直接影响源端数据库的物理I/O。

    源端归档日志的抓取是直接抓取归档日志内容。也不会影响到源端数据库的物理I/O。

    抓取后的数据,只分析同步用户或表相关的交易,对于跟同步用户或表无关的交易直接丢弃。

    日志的抓取、分析、合成大部分情况下都是在内存中完成的,只有少数批量交易数据时才会使用缓存目录,这样就可以尽可能的提高抓取、分析、合成交易的速度。

    c、只合成已经提交的交易

    IDR只合成跟同步用户或表有关的、已经提交的交易,并且每一个交易的大小不会超过10MB。这样将大大提高交易文件的合成速度。

    d、实时压缩传输

    网络传输时,首先在源端将交易合成文件在内存中进行压缩,在目标端接收后在内存中完成解压缩,即:进行传输之前先压缩、目标端接受压缩交易文件解压缩后,存放到相应的缓存目录下。这样可以大大减少网络流量,从而加快交易合成文件传输的速度。

    对于不含有lob类型的字段,交易合成文件何以压缩到10-15%左右。

    e、通过rowid寻址

    数据库修改一条记录通常依赖索引或全表扫描,这样操作速度会因为数据量的差别而有明显的差异。IDR是直接通过rowid对该记录进行操作的,不会因为数据量的明显差异使合成的交易文件中的交易提交速度有明显的差异。这一点对于海量数据尤为明显。

    f、合成交易文件大小

    IDR对每一个合成的交易文件最大上限为10MB,加上网络传输时的压缩功能,会使网络传输速度大大提高。

    由于每一个合成的交易文件最大为10MB,在目标端装载时的读取、装载速度会很快、占用资源会比较少,从而大大加快了每一个交易合成文件的装载速度。

    g、首次同步的性能

    对于首次同步而言,无论是快照方式还是读数据文件的方式,IDR在源端支持多达16个并行同步、目标端支持并行装载的模式,这样可以充分利用主机资源,加快首次同步的速度,减少首次同步对于源端、目标端主机性能的影响。

    h、增量同步的性能

    对于某些情况下,目标节点装载增量合成交易文件慢的情况,IDR支持多达32个并行装载,可以将不同用户或表的数据放在不同的增量目录下,实行并行装载,不过对于表之间有关联关系的数据(比如外健),就需要将这些有关联关系的表放在同一个增量目录下,来保证装载数据正确性。

     

     



    四、数据复制技术的比较

    下面我们对数据复制的三种技术做一个简单比较:

    复制技术

     

    比较项目

    存储系统数据复制

    操作系统层数据复制

    应用程序层数据复制

    基于存储的

    数据复制

    虚拟存储技术

    基本原理

    数据的复制过程通过本地的存储系统和远端的存储系统之间的通信完成。

    复制技术是伴随着存储局域网的出现引入的,通过构建虚拟存储上实现数据复制。

    通过操作系统或者数据卷管理器来实现对数据的远程复制。

    数据库的异地复制技术,通常采用日志复制功能,依靠本地和远程主机间的日志归档与传递来实现两端的数据一致。

    平台要求

    同构存储

    与平台无关,

    需要增加专有的复制服务器或带有复制功能的SAN交换机

    同构主机、异构存储

    与平台无关

    复制性能

    较高

    资源占用

    对生产系统存储性能有影响

    对网络要求高

    对生产系统主机性能有影响

    占用部分生产系统数据库资源

    技术成熟度

    成熟

    成熟度有待提高,非主流复制技术。

    成熟

    成熟

    投入成本

    高,需要同构存储

    较高,需要专有设备

    较高,需要同构主机

    一般

    部分软件免费,如DataGuard

    复制软件

    IBM PPRC

    EMC SRDF

    HP CA(Continues Access)

    HDS TrueCopy

    Brocade Tapestry DMM

    UIT SVM

    EMC VSM

     

    原厂技术:

    IBM AIX LVM

    HP-UINX MirrorDisk

    Sun Solaris SVM

    专业的复制软件:

    Symantec SF/VVR

    Oracle DataGuard

    Oracle GoldenGate

    DNT IDR

    DSG RealSync

    Quest SharePlex


    展开全文
  • 什么数据库

    万次阅读 多人点赞 2018-07-27 16:16:03
    我们可以从其名字来说,数据库的意思是数据的集合,如果这样来理解的话,电脑我们把照片放到同一个文件夹下,那么这个文件夹就是一个照片数据库;把文档资料放到一个文件夹,那么这个文件夹也是一个数据库。这样...

    生活中常用数据库

    数据库,对于初学者来说会有一定迷惑。到底什么是数据库呢?我们可以从其名字来说,数据库的意思是数据的集合,如果这样来理解的话,在电脑上我们把照片放到同一个文件夹下,那么这个文件夹就是一个照片数据库;把文档资料放到一个文件夹,那么这个文件夹也是一个数据库。这样理解并没错,这种数据库是我们生活中常见的数据库。

    计算机中的数据库

    在计算机编程之中,数据库的定义和生活中有一定的区别。同样是数据的集合这没有变,但是多了一些条件限定,每一种类型数据集合里面的数据都有固定的内容结构。

    1. 数据库中的数据都有一定规律结构,相同类型的数据放在一起,不同类型的数据之间相互隔离
    2. 数据库由统一的规则来读写,有SQL语言专门用来读写数据库,一般都是用程序来读写数据库的内容。
      这里写图片描述

    每一个表里面的数据的结构都是一样的,这类似我们常用的Excel表格,在标题栏固定后,下面的数据都是按照标题栏的结构来写入的。
    这里写图片描述

    常用的数据库

    常用的数据库有Access、Oracle、Mysql、SQL Server、SQLite等。那么用户想要选择一个数据库,什么样的数据库才是最能满足用户自身需求的呢?

    1. Access数据库
      这款数据库是由微软发布的,是一款关联式数据序管理型系统的数据库,通常是被用来开发Web应用程序这些应用程序都利用Asp技术在IIs上运行,但是由于Access是小型的数据库,在很多的使用上都有着局限性,而且如果过多的数据库访问量还会造成数据库的性能极具下降。
    2. MySQL数据库
      这款数据库是一款小型数据库管理系统的数据库,其开发公司是瑞典MySQLAB公司。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
    3. SqlServer数据库
      这款数据库的特点是真正的客户/服务器体系结构,并且出十是图形化的用户界面,使数据库管理方式更加直观和简单。它还提供了丰富的编程接口工具为用户进行程序设计提供了更大的选择余。在使用上也是非常广泛的。
    4. Oracle数据库
      这是一款比较典型的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。但它的所有知识,只要在一种机型上学习了ORACLE知识,便能在各种类型的机器上使用它。
    5. SQLite数据库
      这是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。这款数据库的运行处理速度比Mysql、PostgreSQL这两款都要快。

    访问数据库的方式

    常用的数据库有DB2 、Oracle、Mysql、SQL Server、SQLite等。这些数据库的使用都需要安装相应的软件,启动数据库后我们才可以访问数据库里面的内容。而访问其内容的方式并不是用鼠标直接打开数据库文件查看,一般都是用数据库管理工具或者编写程序来访问数据库。当然,数据库和访问数据库可以不在同一个位置,也就是说数据库在北京,你在深圳写一段代码可以去访问它。
    这里写图片描述

    数据库管理工具

    数据库中的表在设计设计阶段一般是用管理工具来设计的。用代码去设计数据的过程很繁琐而且很容易出错。对于初学者,推荐使用相应的数据库管理工具,简洁形象,可以更快的掌握各个知识要点。下面是一些常用的数据库管理工具:

    1. phpMyAdmin
      phpMyAdmin是最常用的MySQL维护工具,是一个用PHP开发的基于Web方式架构在网站主机上的MySQL管理工具,支持中文,管理数据库非常方便。不足之处在于对大数据库的备份和恢复不方便。
      这里写图片描述
    2. MySQLDumper
      MySQLDumper使用PHP开发的MySQL数据库备份恢复程序,解决了使用PHP进行大数据库备份和恢复的问题,数百兆的数据库都可以方便的备份恢复,不用担心网速太慢导致中间中断的问题,非常方便易用。这个软件是德国人开发的,还没有中文语言包。
      这里写图片描述
    3. Navicat
      Navicat是一个桌面版MySQL数据库管理和开发工具。和微软SQLServer的管理器很像,易学易用。Navicat使用图形化的用户界面,可以让用户使用和管理更为轻松。支持中文,有免费版本提供。这里写图片描述
    4. MySQL Workbench
      为数据库管理员、程序开发者和系统规划师提供可视化设计、模型建立、以及数据库管理功能。它包含了用于创建复杂的数据建模ER模型,正向和逆向数据库工程,也可以用于执行通常需要花费大量时间和需要的难以变更和管理的文档任务。MySQL工作台可在Windows,Linux和Mac上使用。这里写图片描述
    展开全文
  • 数据数据库中存储的基本对象。 个人理解:比如一个汉字或字母就是一个数据。 2.数据库(DateBase, DB): 数据库是大量数据的集合。 个人理解:一个文件夹里面有好多的文件,文件里面有文字等数据。这个文件夹...

    1.数据(data):

    描述事物的符号记录称为数据。数据是数据库中存储的基本对象。

    个人理解:比如一个汉字或字母就是一个数据。

    2.数据库(DataBase, DB):

    数据库是大量数据的集合。

    个人理解:

    数据库——>Excel文件(一个文件就是一个数据库)

    数据库里的表——>Excel文件里的sheet

    3.数据库管理系统(DataBase Management System, DBMS):

    组织、存储、获取、维护数据的软件,也就是对数据进行增删改查等操作的软件。

    个人理解:

    数据库管理系统——>Excel软件或wps软件(能够新建数据库,修改表里的数据等)

    4.数据库系统(DataBase System, DBS):

    DB+DBMS+DBA+应用系统

    个人理解:前三条+数据库管理员等

     

    展开全文
  • 数据库容灾技术之--数据容灾技术比较 一、概述 近几年来,容灾已经成为信息数据中心建设的热门课题。很多容灾技术也快速发展起来,对用户来说也有很广阔的选择余地。但由于容灾方案的技术复杂性和多样性,一般...
  • Oracle数据库数据高速缓存技术

    千次阅读 2018-08-28 16:54:58
    01.Oracle数据库数据高速缓存技术的实现原理 一、 空闲缓存块。...3、最好不要在数据库服务器运行其他的服务。 01.Oracle数据库数据高速缓存技术的实现原理 使用过Oracle数据库的人都知道,...
  • 数据库数据处理性能提升技术

    千次阅读 2016-01-07 10:57:05
    一、数据处理性能存在的问题1、企业的数据都集中存储在数据库中,从海量的数据中查找和定位数据是非常耗时的; 2、数据集中存储后,所有用户都要来访问数据库,当很多用户同时访问数据库时,数据库服务器的负载就...
  • 数据库技术发展史

    千次阅读 2018-12-22 00:45:16
    数据库技术依据数据模型的进展可分为三个发展阶段:第一代的网状、层次数据库系统;第二代的关系数据库系统,以及新一代的数据库大家族。 一、第一代数据库系统 层次和网状模型都是格式化模型。它们从体系结构、...
  • 很多人都想了解区块链的数据到底什么时候是存储什么时候又储存相应节点的数据库中间呢? 今天我们就来解决这个有趣的问题!!! 首先我们必须了解清楚两个概念: 区块链数据; 链上数据; 首先:区块链...
  • 今年的一些事情实实在在地给了某些数据库重击,如果以前去某数据库还是喊喊,然后该用还用,今年从传统领域刮起的去某数据库的风,已经开始了,并且后面的乌云密布也看得见。 最近看一篇国外的开源产品提供厂商的一...
  • 数据定义未来——2016数据库技术大会总结 背景 作为国内数据库与大数据领域最大规模的技术盛宴,2016第七届中国数据库技术大会(DTCC)如约于2016年5月12日-14日再度震撼来袭。大会以"数据定义未来"为主题,云集了...
  • 数据库数据仓库的区别是什么

    千次阅读 2019-04-08 17:34:48
    大家都知道,我们进行数据分析工作的时候会用到数据库这一工具,可能大家还听说过数据仓库这个工具,数据库数据仓库很容易被大家混淆。很多人认为数据库数据仓库是一类事物,其实并不只是这样的,那么大家知不...
  • 在数据库技术中,用数据模型的概念描述数据库的结构和语义,是对现实世界的数据抽象。数据模型是研究数据库技术的核心和基础。 文章目录1.概念数据模型(CDM)2.逻辑数据模型(LDM)3.物理数据模型(PDM) 1.概念...
  • 1、【数据库技术数据库技术基础

    千次阅读 2018-11-13 15:31:16
    数据库技术基础 1、数据库和数据库管理系统     数据库系统:包括数据库、数据库管理系统、数据库的用户和支撑数据管理系统运行的软硬件。     模式是数据库中全体数据的逻辑结构和特征描述。数据库系统...
  • 实时数据库中的数据压缩技术

    千次阅读 2016-05-25 18:31:28
    实时数据库中的数据压缩技术 标签: 数据库算法磁盘网络图形工作 2009-09-21 11:22 2715人阅读 评论(0) 收藏 举报  分类:   实时数据库(4)  版权声明:本文为博主原创文章,未经博主允许不得转载...
  • 数据库技术介绍

    千次阅读 2014-07-24 15:44:06
    数据库技术是信息系统的一个核心技术,通过研究...数据库技术研究和解决了计算机信息处理过程中大量数据有效地组织和存储的问题,数据库系统中减少数据存储冗余、实现数据共享、保障数据安全以及高效地检索数据和处
  • 四大基本概念(1)数据--Data① 数据的定义② 数据的种类③ 数据的特点④ 数据举例(2)数据库--Database① 数据库的定义② 数据库的基本特征(3)数据库管理系统--DataBase Management System① 什么是DBMS?...
  • 数据库恢复技术

    千次阅读 2018-07-11 18:33:16
    数据库恢复技术 什么是事务 事务(Transaction)是用户定义的一个数据库操作序列,这些操作要么全做,要么全不做,是一个不可分割的工作单位 事务和程序是两个概念 关系数据库中,一个事务可以是一条SQL...
  •     数据库技术是应数据管理任务的需要而产生的。数据管理是指对数据进行分类、组织、编码、存储、检索和维护,它是数据处理的中心问题。而数据的处理是指对各种数据进行收集、存储、加工和传播的一系列活动的...
  • 数据库什么数据库的概念

    千次阅读 2019-07-30 13:53:42
    本节介绍数据库的基本概念,包括数据库存储方式、数据库技术的发展历史、数据库的存储结构以及数据库开发中的作用。 数据存储方式 计算机数据(Data)的存储一般以硬盘为数据存储空间资源,从而保证计算机内的...
  • 数据库 - 数据库恢复技术

    千次阅读 2015-05-12 16:28:57
    数据库技术和事务处理专家 二、事务的特性定义 一个数据库操作序列 一个不可分割的工作单位 恢复和并发控制的基本单位事务和程序比较 关系数据库中,一个事务可以是一条或多条SQL语句,也可以包含一个或多个...
  • 数据库技术基础总结

    千次阅读 2018-09-19 13:23:11
    数据库技术是研究数据库的结构、存储、设计、管理和应用的一门软学科。数据库系统本质是一个用计算机存储信息的系统。数据库管理系统:是位于用户与操作系统之间的一层数据管理软件,基本目标是提供一个方便、有效...
  • SQL语句是针对数据库而言的一门语言,它可以创建数据库数据表,可以针对数据库数据进行增, 删,改,查等操作,可以创建视图,存储过程,可以赋予用户权限等。 2.SQL和T-SQL SQL的全程是“结构化查询语言...
  • 数据库技术前沿总结

    万次阅读 多人点赞 2018-12-31 08:14:26
    该模型克服了传统数据模型的局限性,促进了数据库技术在一个新的技术基础继续发展。 (2)数据库技术与多学科技术的有机结合 计算机领域中其他新兴技术的发展对数据库技术产生了重大影响。传统的数...
  • 高级数据库典型技术

    千次阅读 2014-10-09 21:18:36
    数据库作为计算机学科中一个比较重要的分支,也是一个对于程序员来说非常好的...1.数据索引技术,典型的B+树索引系列 2.数据库故障恢复技术,我这里只提的是基于日志的恢复技术 3.数据库系统结构,讲讲时下流行的分布
  • 索引是提高数据查询最有效的方法,也是最难全面掌握的技术,因为正确的索引可能使效率提高10000倍,而无效的索引可能是浪费了数据库空间,甚至大大降低查询性能。 索引的管理成本 1、存储索引的磁盘空间 2、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,076,853
精华内容 430,741
关键字:

在数据库技术上什么是数据