请详细阅读有关数据库方面的描述,回答问题。 【说明】某软件公司欲开发一个基于Web 2.0的大型社交网络系统。就该系统的数据架构而言,李工决定采用公司熟悉的数据架构,使用通用的商用关系型数据库,系统内部数据采用中央集中方式存储。该系统投入使用后,初期用户数量少,系统运行平稳。6个月后,用户数出现了爆炸式增长,系统暴露出诸多问题,集中表现在:1.用户执行读写操作时,响应时间均变得很慢;2.随着系统功能的扩充,原有数据格式发生变化,又出现新的数据格式,维护困难;3.数据容量很快超过系统原有的设计上限,数据库扩容困难;4.软件系统不断出现宕机,整个系统可用性较差。经过多次会议讨论,公司的邹月平邹工建议采用NoSQL数据库来替代关系数据库,以解决上述问题。但薛大龙薛工指出NoSQL数据库出现时间不长,在使用上可能存在风险。公司技术人员对NoSQL数据库产品进行了认真测试,最终决定采用NoSQL数据库来替代现有的数据库系统。 【问题1】10分请比较关系数据库与 NoSQL 数据的特点,如表 4-1 所示,以此来说明该系统更适合采用 NoSQL 数据库。请完成表 4-1 中的(1) ~ (5) 处空白。表 4-1 关系数据库与 NoSQL 数据库特征比较 【问题2】15分公司最终决定采用邹工的方案,同时配合分布式缓存技术减轻数据库服务器压力,目前有Memcache和Redis两种方案,请从数据类型、持久化和分布式存储三个方面比较两种技术的区别。
【问题1】 (1)弱一致性(2)结构化数据(3)高(强)事务性(4)强(5)有限数据【问题2】 在数据类型方面:Memcache支持简单Key/Value类型,而Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 在持久化方面:Memcache不支持数据持久化,Redis支持支持数据持久化。 在分布式存储方面:Memcache服务器需要通过hash一致化来支撑主从结构,而Redis支持多种方式,主从、sentinel、cluster等。