常⽤数据库的特点、应⽤场景信息整理
关系型数据库
关系数据库,是建⽴在关系模型基础上的数据库,借助于集合代数等数学概念和⽅法来处理数据库中的数据。现实世界中的各种实体以及实体之间的各种联系均⽤关系模型来表⽰。关系模型是由埃德加·科德于1970年⾸先提出的,并配合"科德⼗⼆定律"。现如今虽然对此模型有⼀些批评意见,但它还是数据存储的传统标准。标准数据查询语⾔SQL就是⼀种基于关系数据库的语⾔,这种语⾔执⾏对关系数据库中数据的检索和操作。 关系模型由关系数据结构、关系操作集合、关系完整性约束三部分组成。
实体关系模型(Entity-Relationship Model),简称E-R Model是陈品⼭(Peter P.S Chen)博⼠于1976年提出的⼀套数据库的设计⼯具,他运⽤真实世界中事物与关系的观念,来解释数据库中的抽象的数据架构。实体关系模型利⽤图形的⽅式(实体-关系图(Entity-Relationship Diagram))来表⽰数据库的概念设计,有助于设计过程中的构思及沟通讨论。
关系模型就是指⼆维表格模型,因⽽⼀个关系型数据库就是由⼆维表及其之间的联系组成的⼀个数据组织。当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。
⾮关系型的数据库
NoSQL,泛指⾮关系型的数据库。随着互联⽹web2.0⽹站的兴起,传统的关系数据库在应付web2.0⽹站,特别是超⼤规模和⾼并发的SNS类型的web2.0纯动态⽹站已经显得⼒不从⼼,暴露了很多难以克服的问题,⽽⾮关系型的数据库则由于其本⾝的特点得到了⾮常迅速的发展。
NoSQL,指的是⾮关系数据库。由上⾯的叙述可以看到关系型数据库中的表都是存储⼀下格式化的数据结构,每个元组字段的组成都是⼀样的,即使不是每个元组都需要所有的字段,但数据库会为每个元组都分配所有的字段,这样的结构可以便于表与表之间进⾏连接等操作,但从另⼀个⾓度来说它也是关系数据库性能瓶颈的⼀个因素。⽽⾮关系数据库以键值对存储,它的结构不固定,每⼀个元组可以有不⼀样的字段,每个元组可以根据需要增加或减少⼀些⾃⼰的键值对,这样就不会局限于固定的结构,可以减少⼀些时间和空间的开销。
NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL",是⼀项全新的数据库⾰命性运动,早期就有⼈提出,发展⾄2009年趋势越发⾼涨。NoSQL的拥护者们提倡运⽤⾮关系型的数据存储,相对于铺天盖地的关系型数据库运⽤,这⼀概念⽆疑是⼀种全新的思维的注⼊。
开源数据库
在Linux这种开放源代码的操作系统已经逐渐被越来越多的企业应⽤时,在基础软件平台的另⼀端,开源数据库开始显⼭露⽔。近2年来,美国⼀些⼤企业纷纷采⽤开放源码数据库,它们往往在总部采⽤商业
数据库,⽽在分⽀机构的Linux服务器上采⽤开源产品。这些数据库除了费⽤便宜,还各有独到之处。与商业化产品相⽐,开源数据库结构简单,但功能不简单,读取操作快捷,易管理,甚⾄不需要全职的管理员。
嵌⼊式数据库
在嵌⼊式系统中,对数据库的操作具有定时限制的特性,这⾥把应⽤于嵌⼊式系统的数据库系统称为嵌⼊式数据库系统或嵌⼊式实时数据库系统(ERTDBS)。
可靠性要求是⽏庸置疑的,嵌⼊式系统必须能够在没有⼈⼯⼲预的情况下,长时间不间断地运⾏。同时要求数据库操作具备可预知性,⽽且系统的⼤⼩和性能也都必须是可预知的,这样才能保证系统的性能。嵌⼊式系统中会不可避免地与底层硬件打交道,因此在数据管理时,也要有底层控制的能⼒,如什么时候会发⽣磁盘操作,磁盘操作的次数,如何控制等。底层控制的能⼒是决定数据库管理操作的关键。
⽬前嵌⼊式软件系统开发的挑战之⼀,体现在对各种数据的管理能否建⽴⼀套可靠、⾼效、稳定的管理模式,嵌⼊式数据库可谓应运⽽⽣。
嵌⼊式数据库是嵌⼊式系统的重要组成部分,也成为对越来越多的个性化应⽤开发和管理⽽采⽤的⼀种必不可少的有效⼿段。
嵌⼊式数据库⽤途⼴泛,如⽤于消费电⼦产品、移动计算设备、企业实时管理应⽤、⽹络存储与管理以及各种专⽤设备,这⼀市场⽬前正处于⾼速增长之中。 举简单例⼦,⼿机原来只⽤来打电话、发短信,现在⼿机增加了很多新的功能,⽐如彩信、⾳乐、摄影、视频等等,应⽤的功能多了,系统就变得复杂。
内存数据库
内存数据库,顾名思义就是将数据放在内存中直接操作的数据库。相对于磁盘,内存的数据读写速度要⾼出⼏个数量级,将数据保存在内存中相⽐从磁盘上访问能够极⼤地提⾼应⽤的性能。同时,内存数据库抛弃了磁盘数据管理的传统⽅式,基于全部数据都在内存中重新设计了体系结构,并且在数据缓存、快速算法、并⾏操作⽅⾯也进⾏了相应的改进,所以数据处理速度⽐传统数据库的数据处理速度要快很多,⼀般都在10倍以上。内存数据库的最⼤特点是其"主拷贝"或"⼯作版本" 常驻内存,即活动事务只与实时内存数据库的内存拷贝打交道。显然,它要求较⼤的内存量,但并⾮任何时刻整个数据库都存放在内存,即内存数据库系统还是要处理I/O。
内存数据库是以牺牲内存资源为代价换取数据处理实时性的,内存数据库和磁盘数据库都是当今信息社会⾥每个企业所必须的关系型数据库产品,磁盘数据库解决的是⼤容量存储和数据分析问题,⽽内存数据库解决的是实时处理和⾼并发问题。两者的存在是相辅相成的,内存数据库的事务实时处理性能要远强于磁盘数据库。但是相对的,他的数据安全⽅⾯还没有达到磁盘数据库⽐肩的地步。
内存数据库将物理内存作为数据的第⼀存储介质,⽽将磁盘作为备份。随着电信业务的发展,系统对实时性的要求和对业务灵活修改的要求⾮常⾼,在此种情况下对于内存数据库的需求也越来越⾼。磁盘数据库的做法是将数据存⼊内存中进⾏处理,这种⽅式的可管理性及数据安全可靠性都没有保障。⽽内存数据库正是针对这⼀弱点进⾏了改进。    实际上,内存数据库并不是⼀项时髦技术,其出现于上世纪60年代末,但由于市场的需求原因在90年代后期才开始发展。作为新⼀代数据库,Altibase产品已经⾛向混合型数据库,其版本Altibase 4.0已经有⼀套⾃带的磁盘数据库,⽤户⼀旦购买了Altibase的内存数据库,就⽆须再购买磁盘数据库。它把热数据(经常被使⽤的、访问⽐较⾼的、经常要运算的数据)放在内存数据库⾥,⽽把历史性数据放在磁盘数据库⾥,可为⽤户进⼀步减少投资。
对于内存数据库⽽⾔,可以将同样数据库的部分内容存放于磁盘上,⽽另⼀部分存放于内存中。⽤户可以选择将数据存储在内存表中以提供即时的数据访问。若访问时间不紧急或数据存于内存中所占空间过⼤时,⽤户可将这些数据存⼊磁盘表中。
⽐如,在⼿机⽤户开始拔打电话时,如果应⽤基于内存数据库技术的混合数据管理引擎,就通过内存表检索其服务选项并⽴即验证⽤户⾝份,⽽将通话清单和计费清单归档到磁盘表中。从⽽,达到了速度与资源使⽤的平衡。
内存数据库的技术,⼀个很重要的特点,是可以对内存中的数据实现全事务处理,这是仅仅把数据以数
组等形式放在内存中完全不同的。并且,内存数据库是与应⽤⽆关的,显然这种体系结构具有其合理性。内存引擎可以实现查询与存档功能使⽤的是完全相同的数据库,同时内存表与磁盘表也使⽤的是完全相同的存取⽅法。存储的选择,对于应⽤开发者⽽⾔是完全透明的。
对于内存数据库⽽⾔,实现了数据在内存中的管理,⽽不仅仅是作为数据库的缓存。不像其它将磁盘数据块缓存到主存中的数据库,内存数据库的内存引擎使⽤了为随机访问内存⽽特别设计的数据结构和算法,这种设计使其避免了因使⽤排序命令⽽经常破坏缓存数据库性能的问题。通过内存数据库,减少了磁盘I/O,能够达到了以磁盘I/O 为主的传统数据库⽆法与其相⽐拟的处理速度。
因此,内存数据库技术的应⽤,可以⼤⼤提⾼数据库的速度,这对于需要⾼速反应的数据库应⽤,如电信、⾦融等提供了有⼒⽀撑。
ACCESS数据库
类型
关系型数据库管理系统
特点
ACCESS是⼩型数据库、桌⾯数据库。
ACCESS中的数据存储在⽂件系统内,不适合海量数据的存储。
容易操作,使⽤⼴,成本低。
Access能够存取 Access/Jet、Microsoft SQL Server、Oracle(甲⾻⽂软件公司),或者任何 ODBC 兼容数据库内的资料。
微软发布,结合了 Microsoft Jet Database Engine 和 图形⽤户界⾯两项特点,是 Microsoft Office的成员之⼀。
Access的优点
存储⽅式单⼀
Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库⽂件种,便于⽤户的操作和管理。
⾯向对象
Access是⼀个⾯向对象的开发⼯具,利⽤⾯向对象的⽅式将数据库系统中的各种功能对象化,将数据库
简述数据库系统的特点
管理的各种功能封装在各类对象中。它将⼀个应⽤系统当作是由⼀系列对象组成的,对每个对象它都定义⼀组⽅法和属性,以定义该对象的⾏为和外国,⽤户还可以按需要给对象扩展⽅法和属性。通过对象的⽅法、属性完成数据库的操作和管理,极⼤地简化了⽤户的开发⼯作。同时,这种基于⾯向对象的开发⽅式,使得开发应⽤程序更为简便。
界⾯友好、易操作
Access是⼀个可视化⼯具,是风格与Windows完全⼀样,⽤户想要⽣成对象并应⽤,只要使⽤⿏标进⾏拖放即可,⾮常直观⽅便。Access能够导⼊和导出数据,对早期版本Access中保存和打开的窗体和报表重新进⾏了设计,使得共享信息⽐以前更轻松。
集成环境、处理多种数据信息
Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和⽣成器⼯具,极⼤地提⾼了开发⼈员的⼯作效率,使得建⽴数据库、创建表、设计⽤户界⾯、设计数据查询、报表打印等可以⽅便有序地进⾏。整合范围⼴泛的数据源,Access⽀持多种数据库格式,其中包括可扩展标记语⾔XML,OLE,开放式数据库连接ODBC以及Microsoft Windows SharePoint服务。
Access⽀持ODBC
Access⽀持ODBC(开发数据库互连,Open Data Base Connectivity),利⽤Access强⼤的DDE(动态数据交换)和OLE(对象的联接和嵌⼊)特性,可以在⼀个数据表中嵌⼊位图、声⾳、Excel表格、Word⽂档,还可以建⽴动态的数据库报表和窗体等。Access还可以将程序应⽤于⽹络,并与⽹络上的动态数据相联接。利⽤数据库访问页对象⽣成HTML⽂件,轻松构建Internet/Intranet的应⽤。
强⼤的⾃动更新属性
强⼤的⾃动更新属性,在更改表中的字段属性后,有控件绑定到这个属性的所有窗体或报表都可以⾃动更新。
设计WEB页的⼯具功能更强⼤
设计WEB页的⼯具功能更强⼤,Access2003能够在WEB上发布窗体和报表,并能够将指定的信息源定到记录源,以显⽰,更新和处理数据库中的数据。
ACCESS的缺点
⽹站访问频繁,经常达到100⼈左右的在线的时候性能就会急剧下降。
记录数过多,⼀般记录数达到10万条左右的时候性能就会急剧下降。
数据储存量⼩安全性不够⾼,加了⽤户级密码容易破解。
C/S结构下对服务器要求很⾼,否则容易造成MDB损坏并发数255,但是对⾼强度操作适应性差,如果服务器不够好,⽹络不够好,编程的⽅法不够好,6-7个⼈同时访问就能导致MDB损坏或者并死.
不能将VBA代码开发的软件系统直接编译成EXE可执⾏⽂件,不能脱离ACCESS或者ACCESS RUNTIME环境,该环境相对其他软件体积较⼤(50M左右)。
Microsoft Access数据库有⼀定的极限,如果数据达到100M左右,很容易造成服务器iis假死,或者消耗掉服务器的内存导致服务器崩溃。
使⽤场景
ACCESS,⼀般做⼩型⽹站⽤,性能⼀般。ASP+ACCESS最常见的⼩型⽹站组合,⽅便快速。
适合数据量少的应⽤,在处理少量数据和单机访问的数据库时是很好的,效率也很⾼。
SQL Server数据库
类型
关系数据库管理系统
是⼀个全⾯的数据库平台,使⽤集成的商业智能 (BI) ⼯具提供了企业级的数据管理。
特点
1.真正的客户机/服务器体系结构。
在这种体系结构中,包括多台计算机,其中处理应⽤程序,请求服务的计算机称客户机,处理数据库的计算机称为服务器。
2.图形化⽤户界⾯,使系统管理和数据库管理更加直观、简单。
提供了表、视图和查询定义的图形界⾯,在Query Analyze的图形界⾯中使⽤SQL语⾔,服务器和数据库的⽤户配置的图形化界⾯。
3.丰富的编程接⼝⼯具,为⽤户进⾏程序设计提供了更⼤的选择余地。
SQLServer提供了丰富的应⽤程序接⼝来访问服务器的数据,主要的访问⽅法有:ODBC API、OLE DB、Transact-SQL和DB-Library,客户机可以通过这些API作为动态连接库来使⽤,并通过客户端的⽹络库与SQLServer 服务器通信。
4.SQL Server与Windows NT完全集成,利⽤了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与microsoft BackOffice产品集成。
与NT的安全性系统集成,利⽤NT的安全机制为服务器服务,利⽤NT的性能监测器和使⽤MS Index Server;与MS BackOffice产品集成,如MS IIS、MS Exchange Server等结合。SQLServer可以设置为⽤Exchange接收和发送电⼦邮件,⽤户可以通过邮件信息向SQLServer发送查询请求,查询结果能够通过电⼦邮件返回给⽤户。
5.具有很好的伸缩性,可跨越从运⾏Windows 95/98的膝上型电脑到运⾏Windows 2000的⼤型多处理器等多种平台使⽤。
MS提供了⼀种单⼀的数据库引擎,可以⽤于Windows95到Windows2000⼤字节对称多处理器集的各种场合。NT和SQL不仅⽀持IntelCPU,⽽且⽀持DEC Alpha CPU等处理器。
6.对Web技术的⽀持,使⽤户能够很容易地将数据库中的数据发布到Web页⾯上。
在Web Assistant中可以将数据库表中的数据引出来,还可以将HTML中的数据引⼊到数据库中。SQLServer的数据可以⾃动发⾏到Web页上;⽤户可以通过⼀个普通的浏览器来查询存储在SQLServer中的信息,因此可以⽤存储在SQLServer中的信息创建动态Web页。
7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
SQL Server2000中包括吸取和分析汇总数据以进⾏联机分析处理(OLAP)的⼯具,还包括⼀些⼯具可⽤于直观地设计数据库并通过English Query来分析数据。
Sqlserver2000依然属于⼩型数据库,2005开始才能算是⼤型数据库。
SQLSERVER 简单,界⾯友好,WINDOWS平台下的好选择 ,SqlServer后与SYBASE也⽐较接近的。
SQL Server 2012的优势
1.安全性和可⽤性⾼。
2.超快的性能。
3.企业安全性。
4.快速的数据发现。
5.⽅便易⽤。
6.⾼效的数据压缩功能。
7.集成的开发环境。
SQL Server的劣势
1开放性。只能运⾏在微软的windows平台,没有丝毫的开放性可⾔。
2可伸缩性,并⾏性。并⾏实施和共存模型并不成熟,很难处理⽇益增多的⽤户数和数据卷,伸缩性有限。
3性能稳定性。SQLServer当⽤户连接多时性能会变的很差,并且不够稳定。
4使⽤风险。SQLServer完全重写的代码,经历了长期的测试,不断延迟,许多功能需时间来证明。并不⼗分兼容早期产品。使⽤需要冒⼀定风险。
5客户端⽀持及应⽤模式。只⽀持C/S模式。
6 安全性。Oracle的安全认证获得最⾼认证级别的ISO标准认证,⽽SQL Server并没有获得什么安全认证。
使⽤场景
主机操作系统为window,主要⽤于web⽹站的建设,承载中⼩型web后台数据。
在租赁的虚拟主机中⼀般会预安装SQL Server作为数据库软件。
MySQL数据库
类型
开源的关系型数据库
⼩型关联式数据库管理系统
MySQL是⼀个快速的、多线程、多⽤户和健壮的SQL数据库服务器。
特点
其体积⼩
总体拥有成本低
开放源码
可运⾏在Windows平台和⼤多数的Linux平台上
快速,轻量级,易于扩展,免费,跨平台
可以同时处理⼏乎不限数量的⽤户;
处理多达50,000,000以上的记录;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。