文档
为优先目标,其次才是优化系统性能,随着数据规模的增大,RDBMS为了保证严格的一致性,只能提供相对较弱的可用性 大多数NoSQL都能提供较高的可用性 标准化 是 否 RDBMS已经标准化(SQL) NoSQL还没有行业标准,不同的NoSQL数据库都有自己的查询语言,很难规范应用程序接口 StoneBraker认为:NoSQL缺乏统一查询语言,将会拖慢NoSQL发展 技术支持 高 低 RDBMS经过几十年的发展,已经非常成熟,Oracle等大型厂商都可以提供很好的技术支持 NoSQL在技术支持方面仍然处于起步阶段,还不成熟,缺乏有力的技术支持 可维护性 复杂 复杂 RDBMS需要专门的文档
数据库管理员(DBA)维护 NoSQL数据库虽然没有DBMS复杂,也难以维护
5.试述NoSQL数据库的四大类型
答:键值数据库、列族数据库、文档数据库和图数据库
6.试述键值数据库、列族数据库、文档数据库和图数据库的适用场合和优缺点。
数据库 键值数据库 适用场合 通过键而是通过值来查的业务 优点 扩展性好,灵活性好,缺点 无法存储结构化信大量写操作时性能高 息,条件查询效率较低 列族数据库 不需要ACID事务支持的情形 查找速度快,可扩展性强,容易进行分布式扩展,复杂性低 功能较少,大都不支持强事务一致性 文档数据库 只在相同的文档上添加事务 性能好(高并发),灵活性高,复杂性低,数据结构灵活 提供嵌入式文档功能,将经常查询的数据存储在同一个文档中 既可以根据键来构建索引,也可以根据内容构建索引 缺乏统一的查询语法 图形数据库 具有高度相互关联关灵活性高,支持复杂复杂性高,只能支持文档
系的数据 的图形算法,可用于构建复杂的关系图谱 一定的数据规模
7.试述CAP理论的具体含义。 答:所谓的CAP指的是:
C(Consistency):一致性,是指任何一个读操作总是能够读到之前完成的写操作的结果,也就是在分布式环境中,多点的数据是一致的,或者说,所有节点在同一时间具有相同的数据
A:(Availability):可用性,是指快速获取数据,可以在确定的时间内返回操作结果,保证每个请求不管成功或者失败都有响应;
P(Tolerance of Network Partition):分区容忍性,是指当出现网络分区的情况时(即系统中的一部分节点无法和其他节点进行通信),分离的系统也能够正常运行,也就是说,系统中任意信息的丢失或失败不会影响系统的继续运作。
8.请举例说明不同产品在设计时是如何运用CAP理论的。
文档
A选择CA,放弃PMySQLSQL ServerPostgresSQL选择AP,放弃CDynamoCassandraVoldemortCouchDBRiakC选择CP,放弃ANeo4J,Bigtable,MongoDB,Hbase,Hypertable,RedisP
9.试述数据库的ACID四性的含义 1.原子性(Atomicity)
指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全都不执行。 2.一致性(consistency)
指事务在完成时,必须使所有的数据都保持一致状态。 4. 隔离性(Isolation)
指并发事务所做的修改必须与其他并发事务所做的修改隔离。 5. 持久性(Durability)
指事务完成之后,它对于系统的影响是永久性的,该修改即使出现致命的系统故障也将一直保持。