各类数据库的优点缺点

各类数据库的优点缺点,第1张

优点:数据系统是用来管理数据的,建立的数理逻辑和集合 *** 作基础上的。

具有高效、可靠、完整、自同步等特性,是业务系统进行数据控制的最佳选择。

数据库系统一般提供高效的数据控制和数据检索功能,采用SQL语言来进行数据 *** 作。

目前市面上流行的数据库系统很多:较小型的数据库系统有:mysql,MSSQL_SERVER等等,适用于企业级的大型数据库有:ORACEL,DB2(IBM),INFORMIX(IBM)等等

缺点:安全性不够,加了用户级密码容易破解

C/S

结构下对服务器要求很高,否则容易造成

MDB

损坏并发数255。

但是对高强度 *** 作适应性差,如果服务器不够好,网络不够好,编程的方法不够好,6-7个人同时访问就能导致

MDB

损坏或者并死不能将

VBA

代码开发的软件系统直接编译成

EXE

可执行文件。

不能脱离

ACCESS

或者

ACCESS

RUNTIME

环境,该环境相对其他软件体积较大(50M左右)

整套的SQL Server 2012是由一系列的服务组件组成,各服务组件有其特有的功能,按照功能需要安装不同的服务组件,以达到最佳的性能和最少的费用;

其组件和功能如下:

(1)Database Engine Services:最核心的服务组件,负责数据库的数据存储,处理和数据安全,提供数据访问控制,快速的事务传输和数据库的高可用性

(2)SQL Server Replication:支持不同的数据库之间数据的复制和分布;保证同步数据之间的一致性;

(3)Full-Text and Semantic Extractions For Search:支持全文搜索,支持基于关键字的全文模糊搜索;

(4)Data Quality Servies:在数据交互过程中管理数据质量和完整性更加容易;

(5)Analysis Services:支持在线分析处理和数据仓库;

(6)Reporting Services -Native:让通过WEB或者email形式来 *** 作和传输数据更加容易;

(7)Reporting Services-Sharepoint:通过Sharepoint集成报表视图和报表管理;

(8)Reproting Services Add-in For Sharepoint Products:在Sharepoint和SQL Server之间的数据集成提供管理和用户端接口;

(9)Data Quality Client:提供集成服务和数据源质量之间的交互;

(10)SQL Server Data Tools:是基于VS2010的商业智能开发环境,用于创建分析服务,集成服务和集成服务项目;

(11)Client Tools Connectivity:服务器和客户端之间通讯组件;

(12)Integration Services: 使得数据存储之间迁移,集成和传输数据更加容易;

(13)Client Tools Backward Compatibility:客户端工具向后兼容,用于不同服务之间数据的兼容;

(14)Client Tools Software Development Kit(sdk):数据库应用程序开发人员用到的资源;

(15)Documnentation Components:帮助文档;

(16)Managements Tools-Basic:企业管理器支持数据库引擎,SQLCMD,SQL Server Powershell,分布式重放管理工具;

(17)Managements Tools-Complete:企业管理器支持报表服务,分析服务,集成服务,事件跟踪器,数据库优化向导,SQL Server管理工具;

(18)Distributed Replay Controller:管理Distributed Replay Client

(19)Distributed Replay Client:在数据库实例上激活分布式重放功能;

(20)SQL Client Connectivity SDK:为开发数据库应用程序提供客户端链接软件套件;

(21)Master Data Serivces:为集成服务提供数据平台;

数据库发展的一些新特点

数据库管理系统已经成为软件产业的重要组成部分,是信息化过程中最重要的技术基础之一。我国要振兴软件产业,就必须发展自己的数据库软件产业。这已经获得了广泛的共识,目前要解决的关键问题是如何能够“做得出、用得上、卖得掉”。我们认为,数据库软件的发展将仍然是关系系统内核基础上进行扩展的技术路线。

(1)、提供持续的数据可用性

构建一个高可用性 IT 基础架构,对所有希望在当今瞬息万变的经济环境中立于不败之地并取得成功的企业而言都至关重要。

作为数据库市场的领跑者,Oracle在其最新的10g数据库版本中增强了RAC技术。微软公司在其最新的数据库SQL Server 2005中利用数据库镜像、故障转移群集和改进联机 *** 作等特性,可将故障时间控制到最低,并有助于确保企业系统随时接受访问调用。

(2)、用低成本实现系统的伸缩性

大多数企业的每个主要应用系统都拥有专门的存储器和服务器,这样传统的布署,个别看好像效果不错。但这样做的后果就是必须付出高昂的代价,来满足大量系统的维护,而且因故障节点的增多,系统更容易出现故障。

此外,由于单个系统必须有足够的规模以适应高峰容量,但资源却难以从一个系统转移到另一个系统,结果导致企业存储器和 CPU 资源大量闲置。分析家认为,目前企业内部一般的存储器的利用率仅为 50%,而 CPU 利用率则是可怜的15-20%。

(3)、保证互联网架构下的安全

企业将应用架构在互联网平台上,都面临如何保护互联网架构下的数据安全问题。各大数据库厂商嗅到其中的巨大商机,加强了其数据库产品在数据安全上的支持。

甲骨文公司在其10g版本中提供的存储数据加密、虚拟私有数据库、Label Security等技术;微软的SQL server 2005通过数据库加密、缺省安全设置、口令策略实施、粒度权限控制和强化安全模型等功能特性为企业数据提供最高层次的安全保障,就是其中的佼佼者。

(4)、集成商业智能功能

大多数企业中,商业智能应用程序的部署是沿着技术线路划分的。不太复杂的报表和即席查询工具的部署通常使用的是数据仓库和基于 SQL 的报表工具,而较复杂的分析和计划应用程序的部署则是使用其他特殊的数据库和工具。

各大厂商除了纷纷加强了其联机分析产品,报表工具,ETL工具的功能外,更试图将这些东西集成在一个完整的数据库平台中。使数据库产品不再仅仅是提供一般的数据存贮功能,而能提供从数据存贮到数据分析使用的整体解决方案。

(5)、简化数据库的管理

今天,业务环境的竞争日趋激烈,如何以最低的成本,同时不以降低服务水平为代价,管理信息技术(IT)基础设施是企业目前面临的挑战。

越来越多的用户希望数据库产品能自我管理,可以自动地对自身进行监控、适应和调整,从而显着减少了IT管理人员的数量,降低了管理成本整合能力。

非结构性的数据库系统有:

1、High performance——对数据库高并发读写的需求。

2、Huge Storage——对海量数据的高效率存储和访问的需求。

3、High Scalability && High Availability——对数据库的高可扩展性和高可用性的需求。

基本含义NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,是一项全新的数据库革命性运动,早期就有人提出,发展至2009年趋势越发高涨。

计算机信息化系统

中的数据分为结构化数据和非结构化数据。非结构化数据其格式非常多样,标准也是多样性的,而且在技术上非结构化信息比结构化信息更难标准化和理解。所以存储、检索、发布以及利用需要更加智能化的IT技术,比如海量存储、智能检索、知识挖掘、内容保护、信息的增值开发利用等。

并行数据库系统是在并行机上运行的具有并行处理能力的数据库系统。并行数据库系统是数据库技术与并行计算技术相结合的产物。

并行计算技术利用多处理机并行处理产生的规模效益来提高系统的整体性能,为数据库系统提供了一个良好的硬件平台。研究和开发适应于并行计算机系统的并行数据库系统成为数据库学术界和工业界的研究热点,形成了并行处理技术与数据库技术相结合的并行数据库新技术。

并行处理技术与数据库技术的结合,具有潜在的可行性。因为关系数据库模型本身就有极大的并行可能性。关系数据模型中,数据库是无组的集合,数据库 *** 作实际是集合 *** 作,许多情况下可分解为一系列对子集的 *** 作,许多子 *** 作不具有数据相关性,因而具有潜在的并行性。

一个并行数据库系统应该实现如下目标:

1、高性能:并行数据库系统通过将数据库管理技术与并行处理技术有机结合,发挥多处理机结构的优势,从而提供比相应的大型机系统要高得多的性能价格比和可用性。

2、高可用性:并行数据库系统可通过数据复制来增强数据库的可用性。

3、可扩充性:数据库系统的可扩充性指系统通过增加处理和存储能力而平滑地扩展性能的能力。

从硬件结构来看,根据处理机与磁盘及内存的相互关系可以将并行计算机分为三种基本的体系结构,并行数据库系统研究一直以三种并行计算结构为基础:共享内存(主存储器)结构(Shared Memory,以下简称SM结构),共享磁盘结构(Share Disk,以下简称SD结构)和无共享资源结构(Shared Nothing,以下简称SN结构)。

SM并行结构由多个处理机、一个共享内存(主存储器)和多个磁盘存储器构成。多处理机和共享内存由高速通信网络连接,每个处理机可直接存取一个或多个磁盘,即所有内存与磁盘为所有处理机共享。SM方案的优势在于实现简单和负载均衡。

SD并行结构由多个具有独立内存(主存储器)的处理机和多个磁盘构成。每个处理机都可以读写任何磁盘。多个处理机和磁盘存储器由高速通信网络连接。SD方案具有成本低、可扩充性好、可用性强。容易从单处理机系统迁移以及负载均衡等优点。该结构的不足在于实现起来复杂以及存在潜在的性能问题。

SN并行结构由多个处理结点构成。每个处理结点具有自己独立的处理机、内存(主存储器)和磁盘存储器。多个处理机结点由高速通信网络连接。SN方案中,由于每一结点可视为分布式数据库系统中的局部场地(拥有自己的数据库软件),因此分布式数据库设计中的多数设计思路,如数据库分片、分布事务管理和分布查询处理等,都可以借鉴。SN结构成本较低,它最大限度地减少了共享资源,具有极佳的可伸缩性,结点数目可达数千个,并可获得接近线性的伸缩比。而通过在多个结点上复制数据又可实现高可用性。该方案的不足在于实现复杂以及结点负荷难以均衡。往往只是根据数据的物理位置而不是系统的实际负载来分配任务。并且,系统中新结点的加入将导致重新组织数据库以均衡负载。

下面列出对以上三种并行结构从性能、可用性和可扩充性等方面的比较。

粘帖点给你,CSDN论坛上看到的,希望能帮助你。

前面四种:

数据库应用开发 (application development)

除了基本的SQL方面的知识,还要对开发流程,软件工程,各种框架和开发工具等等

数据库应用开发这个方向上的机会最多,职位最多,薪水一般

数据建模专家 (data modeler)

除了基本的SQL方面的知识,非常熟悉数据库原理,数据建模

负责将用户对数据的需求转化为数据库物理设计和物理设计

这个方向上在大公司(金融,保险,研究,软件开发商等)有专门职位,

在中小公司则可能由程序员承担。

商业智能专家 (business intelligence - BI)

主要从商业应用,最终用户的角度去从数据中获得有用的信息,

涉及OLAP (online analytical processing)

需要使用SSRS, cognos, crystal report等报表工具,或者其他一些数据挖掘,统计方面的软件工具

这个方面我不熟悉,不敢乱说(以免被拍砖,呵呵)

数据构架师 (Data Architect)

主要从全局上制定和控制关于数据库在逻辑这一层的大方向,

也包括数据可用性,扩展性等长期性战略,

协调数据库的应用开发,建模,DBA之间的工作。

这个方向上在大公司(金融,保险,研究,软件开发商等)有专门职位,

在中小公司或者没有这个职位,或者由开发人员,DBA负责。

前面五种:

数据库管理员 (database administrator - DBA)

数据库的安装,配置,调优,备份/恢复,监控,自动化等,

协助应用开发(有些职位还要求优化SQL,写存储过程和函数等)

这个方向上的职位相对少一些,但一般有点规模的公司还是会有这样的职位

数据仓库专家 (data warehouse - DW)

应付超大规模的数据,历史数据的存储,管理和使用,

和商业智能关系密切,很多时候BI和DW是放在一个大类里面的,

但是我觉得DW更侧重于硬件和物理层上的管理和优化。

存储工程师 (storage engineer)

专门负责提供数据存储方案,使用各种存储技术满足数据访问和存储需求,

和DBA的工作关系比较密切。

对高可用性有严格要求(比如通信,金融,数据中心等)的公司通常有这种职位,

这种职位也非常少。

性能优化工程师 (performance engineer)

专长数据库的性能调试和优化,为用户提供解决性能瓶颈方面的问题。

我知道至少IBM, 微软和Oracle都有专门的数据库性能实验室(database performance lab),

也有专门的性能优化工程师,负责为其数据库产品和关键应用提供这方面的技术支持。

对数据库性能有严格要求的公司(比如金融行业)可能会有这种职位。

因为针对性很强,甚至要求对多种数据库非常熟悉,所以职位极少。

高级数据库管理员 (senior DBA)

在DBA的基础上,还涉及上面3种职位的部分工作,具体包括下面这些:

对应用系统的数据(布局,访问模式,增长模式,存储要求等)比较熟悉。

对性能优化非常熟悉,可以发现并优化从SQL到硬件I/O,网络等各个层面上的瓶颈

对于存储技术相对熟悉,可能代替存储工程师的一些工作,

对数据库的高可用性技术非常熟悉(比如MSSQL的集群,ORACLE RAC/FailSafe, IBM的DPF, HADR等)

对大规模数据库有效进行物理扩展(比如表分区)或者逻辑扩展(比如数据库分区,联合数据库等)

熟悉各种数据复制技术,比如单向,双向,点对点复制技术,以满足应用要求。

灾难数据恢复过程的建立,测试和执行

这种职位一般只在对数据库要求非常高并且规模非常大(比如金融,电信,数据中心等)的公司需要,

而且这种公司一般有一个专门独立负责数据库的部门或组。

这种职位非常少。

随着互联网web20网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速。而传统的关系数据库在应付web20网站,特别是超大规模和高并发的SNS类型的web20纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:

1、High performance——对数据库高并发读写的需求

Web20网站要根据用户个性化信息来实时生成动态页面和提供动态信息,所以基本上无法使用动态页面静态化技术,因此数据库并发负载非常高,往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强顶得住,但是应付上万次SQL写数据请求,硬盘IO就已经无法承受了。其实对于普通的BBS网站,往往也存在对高并发写请求的需求,例如像JavaEye网站的实时统计在线用户状态,记录热门帖子的点击次数,投票计数等,因此这是一个相当普遍的需求。

2、Huge Storage——对海量数据的高效率存储和访问的需求

类似Facebook,twitter,Friendfeed这样的SNS网站,每天用户产生海量的用户动态,以Friendfeed为例,一个月就达到了25亿条用户动态,对于关系数据库来说,在一张25亿条记录的表里面进行SQL查询,效率是极其低下乃至不可忍受的。再例如大型web网站的用户登录系统,例如腾讯,盛大,动辄数以亿计的帐号,关系数据库也很难应付。

3、High Scalability && High Availability——对数据库的高可扩展性和高可用性的需求

在基于web的架构当中,数据库是最难进行横向扩展的,当一个应用系统的用户量和访问量与日俱增的时候,你的数据库却没有办法像web server和app server那样简单的通过添加更多的硬件和服务节点来扩展性能和负载能力。对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移,为什么数据库不能通过不断的添加服务器节点来实现扩展呢?

在上面提到的“三高”需求面前,关系数据库遇到了难以克服的障碍,而对于web20网站来说,关系数据库的很多主要特性却往往无用武之地,例如:

1 数据库事务一致性需求

很多web实时系统并不要求严格的数据库事务,对读一致性的要求很低,有些场合对写一致性要求也不高。因此数据库事务管理成了数据库高负载下一个沉重的负担。

2 数据库的写实时性和读实时性需求

对关系数据库来说,插入一条数据之后立刻查询,是肯定可以读出来这条数据的,但是对于很多web应用来说,并不要求这么高的实时性,比方说我(JavaEye的robbin)发一条消息之后,过几秒乃至十几秒之后,我的订阅者才看到这条动态是完全可以接受的。

3、对复杂的SQL查询,特别是多表关联查询的需求

任何大数据量的web系统,都非常忌讳多个大表的关联查询,以及复杂的数据分析类型的复杂SQL报表查询,特别是SNS类型的网站,从需求以及产品设计角度,就避免了这种情况的产生。往往更多的只是单表的主键查询,以及单表的简单条件分页查询,SQL的功能被极大的弱化了。

因此,关系数据库在这些越来越多的应用场景下显得不那么合适了,为了解决这类问题的非关系数据库应运而生,现在这两年,各种各样非关系数据库,特别是键值数据库(Key-Value Store DB)风起云涌,多得让人眼花缭乱。前不久国外刚刚举办了NoSQL Conference,各路NoSQL数据库纷纷亮相,加上未亮相但是名声在外的,起码有超过10个开源的NoSQLDB,例如:

Redis,Tokyo Cabinet,Cassandra,Voldemort,MongoDB,Dynomite,HBase,CouchDB,Hypertable, Riak,Tin, Flare, Lightcloud, KiokuDB,Scalaris, Kai, ThruDB,

这些NoSQL数据库,有的是用C/C++编写的,有的是用Java编写的,还有的是用Erlang编写的,每个都有自己的独到之处,看都看不过来了,我(robbin)也只能从中挑选一些比较有特色,看起来更有前景的产品学习和了解一下。

MySQL源数据不中断指的是在MySQL数据库系统中,即使在处理过程中出现了问题或故障,数据流仍然可以持续流动,不会中断或停止。这种特性非常重要,因为它确保了数据的连续性和完整性,即使在处理过程中出现了问题,也可以保证数据的正确性。

MySQL源数据不中断的实现主要依赖于MySQL数据库系统的高可用性和容错性机制。这些机制包括:主从复制、故障转移、数据备份和恢复等。通过这些机制,MySQL数据库能够在出现故障或问题时自动进行切换和恢复,确保数据始终处于可用状态,从而保证了数据的连续性和完整性。

总之,MySQL源数据不中断是MySQL数据库系统的一项重要特性,它确保了数据的连续性和完整性,使得数据处理过程更加稳定和可靠。

以上就是关于各类数据库的优点缺点全部的内容,包括:各类数据库的优点缺点、sql server有哪些组件组成、数据库发展的一些新特点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9302884.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存