山东大学软件学院大数据2021级NoSQL期末回忆版

一、简答题 5*8

1、在分布式系统中,一般需要多个备份的原因是什么?需要解决哪些问题?

2、Hbase预写日志的目的是什么?

3、根据CAP理论,一致性、可用性和分区容错性最多只能满足两个。在银行系统中,如果银行机房和ATM机之间的网络故障,当一个用户想从ATM机取钱时,根据CAP理论描述:ATM是否应该出钱。

4、一致性哈希。当前key1存储到存储节点B,key2和key3存储到存储节点C,key4存储到存储节点A。试问:当在key2和key3之间插入CacheD时,各个数据的迁移变化。
在这里插入图片描述
5、MongoDB如果想要提高查询速度,是否可以在集合内所有的字段上都建立索引,为什么?

二、数据库设计

社交系统包括好友、关注或收藏等。可以简单的描述为一个订阅系统:用户订阅和订阅通知。请用MondoDB数据库进行设计。
1、给出集合模式和文档模式。
2、写出设计思路。

三、数据库设计

银行转账交易关系中,节点关注的属性包括账户名和账户号,边关注的属性包括转账金额和转账时间。两个用户之间可以有多次交易,因此转账交易图是一个多边图。
1、使用单边图描述转账交易关系,即两个节点之间只能由一条边。
2、给出设计思路。
在这里插入图片描述

四、将下面的ER图转换成Hbase存储和Redis存储,给出转换后的逻辑结构。

在这里插入图片描述

五、Paxos

1、五个人商量去聚餐,但不确定聚餐地点。
2、每个人都可以发出提议和接受提议。
3、可能有人在上课而无法接受消息。
4、消息传送过程中可能发生失败。
请根据Paxos协议,写出一个最终协商一致的协商过程。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐