刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题四(25分)

请详细阅读有关数据架构方面的描述,回答问题。

【说明】

某软件公司欲开发一个基于Web 2.0的大型社交网络系统。就该系统的数据架构而言,李工决定采用公司熟悉的数据架构,使用通用的商用关系型数据库,系统内部数据采用中央集中方式存储。

该系统投入使用后,初期用户数量少,系统运行平稳。6个月后,用户数出现了爆炸式增长,系统暴露出诸多问题,集中表现在:

1.用户执行读写操作时,响应时间均变得很慢;

2.随着系统功能的扩充,原有数据格式发生变化,又出现新的数据格式,维护困难;

3.数据容量很快超过系统原有的设计上限,数据库扩容困难;

4.软件系统不断出现宕机,整个系统可用性较差。

经过多次会议讨论,公司的王工建议采用NoSQL数据库来替代关系数据库,以解决上述问题。但李工指出NoSQL数据库出现时间不长,在使用上可能存在风险。公司技术人员对NoSQL数据库产品进行了认真测试,最终决定采用NoSQL数据库来替代现有的数据库系统。

请介绍NoSQL数据库的分类及其特点,并讨论其在大型社交网络系统中的应用优势与潜在风险。

使用微信搜索喵呜刷题,轻松应对考试!

答案:

(1)键值(Key-Value)存储数据库。这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/Value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/Value就显得效率低下了。数据库产品包括:TokyoCabinet/Tyrant,Redis,Voldemort,Oracle BDB。

(2)列存储数据库。这部分数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。数据库产品包括:Cassandra,HBase,Riak。

(3)文档型数据库。文档型数据库的灵感来自于Lotus Notes办公软件,而且它同第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许中间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。数据库产品包括:CouchDB,MongoDb,SequoiaDB。

(4)图形(Graph)数据库。图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它使用灵活的图形模型,并且能够扩展到多个服务器上。查询时利用图结构相关算法,比如最短路径寻址,N度关系查找等。数据库产品包括:Neo4J,InfoGrid,Infinite Graph。

解析:

NoSQL数据库可以分为键值存储数据库、列存储数据库、文档型数据库和图形数据库。键值存储数据库使用哈希表,简单易部署,但在部分值查询或更新时效率较低;列存储数据库适用于处理海量数据,通过键值指向多个列;文档型数据库类似于键值存储,但支持嵌套键值并具有较高的查询效率;图形数据库使用图形模型,能扩展到多个服务器,查询时利用图结构相关算法。

创作类型:
原创

本文链接:请介绍NoSQL数据库的分类及其特点,并讨论其在大型社交网络系统中的应用优势与潜在风险。

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share