特有的数据库有哪些特点,以下哪个安全特征和机制是SQL数据库所特有的
来源:整理 编辑:黑码技术 2024-08-18 04:27:12
1,以下哪个安全特征和机制是SQL数据库所特有的
数据管理是指如何对数据进行分类、组织、编码、存储、检索、控制和维护,是数据处理的中心问题。关系 数据库 管理系统通过索引、查询优化、事务处理、并发访问控制、触发器、错误恢复等强大的机制,有效地确保了海量数据存取的高效性,保证了数据的完整性和一致性,并提供了数据的可靠性和安全性,从而具有其它数据管理方式无法比拟的优势。因此,在企业计算的环境下,对于数据管理,尤其是对于大规模商业数据的管理,关系数据库占据着主导地位。当前,大量的大型信息系统都是建立在关系数据库平台之上的。然而,在管理层次结构的数据,以及日益普遍的半结构化、非结构化数据方面,关系模型也暴露出了一些固有的不足。 关系模型在管理层次结构数据上的不足 关系数据库的理论基础是关系理论,它的数据模型是关系模型。在用户看来,一个关系模型的逻辑结构是一张规则的二维表,由行和列组成。随着新的计算机技术的不断涌现,以及数据的分布性、异构性和半结构化特性以及非结构化特性程度的不断加强,关系数据库系统在数据管理上也已经显示出了一些不足:
2,各种类型数据库的比较
目前有许多数据库产品,如Oracle、Sybase、Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro等产品各以自己特有的功能,在数据库市场上占有一席之地。下面简要介绍几种常用的数据库管理系统[7]。① Oracle数据库系统:Oracle是一个最早商品化的关系型数据库管理系统,也是应用广泛、功能强大的数据库管理系统。Oracle作为一个通用的数据库管理系统,不仅具有完整的数据管理功能,还是一个分布式数据库系统,支持各种分布式功能,特别是支持Internet应用。② Sybase数据库系统:基于Client/Server体系结构的大型网络数据库系统。采用单线程技术进行查询,开销小,利用率高,支持分布式处理。③ MS SQL Server:是一种典型的关系型数据库管理系统,可以在许多操作系统上运行。目前最新版本的产品为Microsoft SQL Server 2005,它具有可靠性、可伸缩性、可用性、可管理性等特点,为用户提供完整的数据库解决方案。④ Microsoft Access:是在Windows环境下非常流行的桌面型数据库管理系统。使用Microsoft Access无需编写任何代码,只需通过直观的可视化操作就可以完成大部分数据管理任务。
3,oracle rman是什么意思
oracle rman:RMAN(Recovery Manager)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的 Oracle 工具。RMAN只能用于ORACLE8或更高的版本中。recovery manager(rman)是一种用于备份(backup)、还原(restore)和恢复(recover) 数据库的 oracle 工具。rman只能用于oracle8或更高的版本中。它能够备份整个数据 库或数据库部件,如表空间、数据文件、控制文件、归档文件以及spfile参数文件。rman 也允许您进行增量数据块级别的备份,增量rman备份是时间和空间有效的,因为他们只备 份自上次备份以来有变化的那些数据块。而且,通过rman提供的接口,第三方的备份与恢 复软件如veritas将提供更强大的备份与恢复的管理功能。 通过rman,也提供了其它更多功能,如数据库的克隆、采用rman建立备用数据库、 利用rman备份与移动裸设备(raw)上的文件等工作将变得更方便简单。9i的rman通过 增强的自动配置与管理功能,以及特有的块级别的恢复,将使备份与恢复工作变得更加快捷 与完美。9i的rman有如下特征特性: ·自动的备份与恢复 ·方便的备份归档日志 ·自动检测新的数据文件 ·支持增量备份 ·最大限度的减少备份与恢复的错误 ·减少恢复的时间 ·在热备份中不会产生额外的redo日志 ·腐烂数据块的自动检测 ·并行的备份与恢复操作 ·在线备份时,表空间不用置于备份模式 可以看到,在以上的一些特性中,显示了rman强大的功能与好处,以上功能的实现, 是因为rman是块级别的备份与恢复,备份与恢复发生在数据库块级别,可以通过比较数据 块而获得一致性的数据块,可以避免备份没有用过的块,可以检验块是否腐烂等块级别的问题。 太长了,具体可以参考这个blog的转帖,比较详细:http://blog.sina.com.cn/s/blog_4cbd76e50100097z.html
4,数据库中什么字段可设为主键
主键是数据表的唯一索引,比如学生表里有学号和姓名,姓名可能有重名的,但学号确是唯一的,你要从学生表中搜索一条纪录如查找一个人,就只能根据学号去查找,这才能找出唯一的一个,这就是主键主键值可以改变 但是不能重复!在我看来,这种设计,是为了保证,在各种数据库上面,都兼容.因为对于 自增id 的处理。各个厂商的实现方式都不一样例如 sql server 是 identity 实现自增oracle 是 sequence + 触发器 实现自增mysql 是 auto_increment 实现自增对于一家软件公司来说,如果他的产品,仅仅只能运行在 sql server 数据库上。那么如果客户已经购买了 oracle , 你要客户购买你的软件,然后再买套 sql server。是不现实的。如果你的设计中,过分的使用了数据库的特性,那么,对于你的产品。比如 for sql server 版的 与 for oracle 版的。差异的地方,就很多,代码修改量也大。出错率也高。比如某个功能 sql server 上面运行正常。但是 oracle 上面出错了。结果很可能就是sql server 里面的 identity 处理正常。很可能 oracle 那里,触发器 或者 sequence 忘记创建, 或者创建失败了。最后导致错误。但是每个表字段id不设置为主键 建立一个tableid 有个2个字段 tablename , id这种方式,对所有的 数据库, 都支持。不需要特别的设定。我的印象中,好像 java 开发中,使用的 hibernate 里面, 就是这么设定的。有个表专门存储 表名 与 id 的。而且 hibernate 有它特有的处理机制的。如果非常频繁的插入操作。比如现在 a 表的 id 是 100然后同一时刻,插入了 20条记录那么 处理完毕后, a表的 id 直接由 100 变为 120而不是 从 100 开始,检索20次,更新 20次, 更新到 120。这样也没有性能方面上的问题。使用primary key(字段1, 字段2, ...)的语句进行设置。一个表中最多只能有一个主键,也可以没有。一个主键既可以是单一的字段构成,也可以是多个字段联合构成,如果是单一字段,只需在该字段后面标记primary key即可,如果是多个字段联合构成,则需要采用最开始介绍的那种方式设置。在部分数据库的图形化工具中(如access、sql server等),在表设计的界面上,可以按住ctrl键,然后选择要设置为联合主键的字段,都选好之后再按右键选择“设置为主键”。
5,内存数据库主流的有哪些并给出各自特点
内存数据库从范型上可以分为关系型内存数据库和键值型内存数据库。
在实际应用中内存数据库主要是配合oracle或mysql等大型关系数据库使用,关注性能。
作用类似于缓存,并不注重数据完整性和数据一致性。
基于键值型的内存数据库比关系型更加易于使用,性能和可扩展性更好,因此在应用上比关系型的内存数据库使用更多。
比较FastDB、Memcached和Redis主流内存数据库的功能特性。
FastDB的特点包括如下方面:
1、FastDB不支持client-server架构因而所有使用FastDB的应用程序必须运行在同一主机上;
2、fastdb假定整个数据库存在于RAM中,并且依据这个假定优化了查询算法和接口。
3、fastdb没有数据库缓冲管理开销,不需要在数据库文件和缓冲池之间传输数据。
4、整个fastdb的搜索算法和结构是建立在假定所有的数据都存在于内存中的,因此数据换出的效率不会很高。
5、Fastdb支持事务、在线备份以及系统崩溃后的自动恢复。
6、fastdb是一个面向应用的数据库,数据库表通过应用程序的类信息来构造。
FastDB不能支持Java API接口,这使得在本应用下不适合使用FastDB。
Memcached
Memcached是一种基于Key-Value开源缓存服务器系统,主要用做数据库的数据高速缓冲,并不能完全称为数据库。
memcached的API使用三十二位元的循环冗余校验(CRC-32)计算键值后,将资料分散在不同的机器上。当表格满了以后,接下来新增的资料会以LRU机制替换掉。由于 memcached通常只是当作缓存系统使用,所以使用memcached的应用程式在写回较慢的系统时(像是后端的数据库)需要额外的程序更新memcached内的资料。
memcached具有多种语言的客户端开发包,包括:Perl、PHP、JAVA、C、Python、Ruby、C#。
Redis
Redis是一个高性能的key-value数据库。redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了C++、Java、Python,Ruby,Erlang,PHP客户端。这里介绍一些大型的市场占有率比较高的内存数据库,也是业界响当当的—SAP HANA、Oracle Exalytics、Orale TimesTen、IBM SolidDB,可以说他们之间没有说是哪个最好,主要还是看使用的场景和具体的需求,各自特点如下:
SAP HANA(High-Performance Analytic Appliance)是 SAP 公司于 2011 年推出的基于 内存计算技术,面向企业分析性应用的产品。左图 的系统架构示意图中可以看出, HANA 产品主要包括内存计算引擎和 HANA 建模工具两部分。它支持从 SAP 商务套件中 同步更新业务数据,或者从 SAP BW(SAP 商务智能产品)和其他第三方数据源中批量导 入数据,在 HANA 中进行运算后,提供给 SAP BI 客户端或者其他第三方展现工具进行分 析和展现。
Oracle Exalytics 内存分析一体机是面向分析的集成设计系统,可以无限制提供最佳可 视化分析和更智能的分析应用程序。 如图 所示, Oracle Exalytics 内存分析一体机的产品架构包括 3 个部分: 内容分析 硬件、内存分析软件和经过优化的 Oracle 商务智能基础套件(Oracle BI Foundation)。内存分析硬件部分是一台为基于内存计算的商务智能而特别优化的服务器,具有提供 强劲计算能力的 40 核中央处理器,高达 1TB 的内存以及快速的网络. 内存分析软件部分的核心是 Oracle TimesTen 内存数据库。它是为 Exalytics 平台而特 别优化的内存分析数据库,包括了很多 Oracle Exalytics 平台特有的功能。Oracle 商务智能基础套件部分受益于 Oracle Exalytics 内存分析一体机的大容量内存、 处理器、并发处理能力、存储、网络、操作系统、内核和系统配置等,可以提供明显优于传统软件的查询响应性、用户可用性和 TCO。
Oracle 内存数据库TimesTen 是一个基于内存计算的关系数据库, 提供了响应时间极 短且吞吐量极高的应用程序,可满足各行业应用程序的需求。 TimesTen 是一个可嵌入到应用程序中的数据库, 通过消除进程间通信和网络 开销,进一步提高数据库操作的性能。Oracle 内 存 数 据 库 TimesTen 使 用 行 级 锁 定 和 提 交 后 读 取 (committed-read) 隔离,通过事务日志记录与数据库检查点相结合实现了基于磁盘的持久 性和可恢复性。TimesTen 通常与多用户和多线程应用程序一起部署,应用程序直接通过 JDBC、 ODBC、 Oracle 调用接口、 Pro*C/C++ 和Oracle PL/SQL 编程接口, 使用标准SQL 访问TimesTen 数据库。若运行在不同服务器上的多个应用程序共享一个数据库时,则使 用常规的客户端/服务器访问方式。
IBM solidDB 是一个内存数据库,专为获取极高的速度和可用性而进行优化。如图 所示,IBM solidDB 既可以单独部署作为独立的数据库支持应用程序,也可 以部署为其他关系型数据库的加速缓存以提高应用程序性能。solidDB Universal Cache 功能将这些数据库中存储的性能关键型数据 缓存到solidDB Universal Cache 中,加快领先关系数据库的速度。solidDB Universal Cache 功能使用检查点和事务日志将数据持久保存在 磁盘上,从而保持数据耐久性。
有问题再追问吧。
文章TAG:
特有的 数据 数据库 哪些 特有的数据库有哪些特点