大数据存储Nosql

news2025/1/2 22:55:16

大数据存储Nosql复习篇

一、理论题、论述题

第1章 绪论

1、NoSQL数据库和关系数据库在设计目标上有何主要区别?

(1)关系数据库
优势:以完善的关系代数理论作为基础,具有数据模型、完整性约束和事务的强一致性等特点,借助索引机制可以实现高效的查询,技术成熟,有专业公司的技术支持。
劣势:可扩展性较差,无法较好支持海量数据存储,数据模型过于死板、无法较好支持Web2.0应用,事务机制影响了系统的整体性能等。
(2)NoSQL数据库
优势:NoSQL数据库会采用非关系的数据模型,弱化模式或表结构、弱化完整性约束、弱化甚至取消事务机制。可能无法支持,或不能完整的支持SQL语句。目的是实现强大的分布式部署能力——一般包括分区容错性、伸缩性和访问效率(可用性)等。可以支持超大规模数据存储,灵活的数据模型可以很好地支持Web2.0应用,具有强大的横向扩展能力等。
劣势:缺乏数学理论基础,复杂查询性能不高,大都不能实现事务强一致性,很难实现数据完整性,技术尚不成熟,缺乏专业团队的技术。

2、分析NoSQL数据库的技术特点。

(1)NoSQL数据库会采用非关系的数据模型
(2)弱化模式或表结构、弱化完整性约束、弱化甚至取消事务机制
(3)可能无法支持,或不能完整的支持SQL语句
(4)目的是实现强大的分布式部署能力——一般包括分区容错性、伸缩性和访问效率
(5)NoSQL大多是开源免费的。

3、NoSQL的典型应用场景

(1) 实时数据分析:NoSQL数据库的高性能和可扩展性使其成为实时数据分析的理想选择。通过分布式存储和并行处理技术,NoSQL数据库可以实时处理海量数据,提供实时的数据分析和可视化服务,帮助企业快速洞察市场趋势和客户需求。
(2)物联网与大数据:物联网产生的数据具有多样性、海量性和实时性的特点,NoSQL数据库以其灵活的数据模型和高效的存储查询能力,成为物联网数据存储和处理的首选方案。同时,NoSQL数据库也广泛应用于大数据处理领域,如日志分析、推荐系统、用户行为分析。
(3)社交媒体与内容管理:社交媒体和内容管理系统中,用户生成的内容占据了主导地位。这些内容具有非结构化、半结构化的特点,且数据规模庞大。NoSQL数据库以其灵活的数据模型和高效的查询性能,为用户提供流畅的内容浏览和互动体验。
(4)金融与交易系统:金融和交易系统对数据的一致性和可用性要求极高。NoSQL数据库通过提供强一致性模型和数据复制技术,确保了数据的高可用性和一致性。同时,NoSQL数据库还支持高并发访问和快速响应,满足金融交易系统对性能的需求。

4、云计算的定义。

云计算是一种模型。基于该模型,可以通过网络实现对可配置共享资源的访问,这种对资源的访问方式是无处不在的、便利的和按需而定的。这些资源可以被迅速的提供和发布,而用户只需要进行少量的管理配置或交互工作即可。

5、云计算的基本特征。

(1)按需自助服务:用户可以根据自身需求,自行配置资源的类型、数量和使用时间,而无需和云计算供应商进行过多交互。
(2)广泛的网络访问:用户即可在任何时间、地点,利用多种终端通过网络和标准的网络协议访问资源。
(3)资源池化:强调资源的集中化、动态分配和多租户模型。好处在于,资 源越集中、单位资源的管理和使用成本就越低。
(4)快速和弹性:是指用户的资源能够快速交付,且进行弹性扩展。即用户申 请完IT资源之后,可以根据需求的变化以手动或自动的方式 调整资源。
(5)可度量的服务:即云服务的的使用和计费是透明、精确,且细粒度的。用户可以根据资源单价和对资源的使用日志计算或核对账单。

6、云计算按照服务类型可以分为哪几类?分别指什么?

在这里插入图片描述

7、什么是容器化技术。

容器化可以看作一种应用虚拟化技术或沙盒技术,是将应用及其所需的组件进行打包。打包后的容器可以在和打包环境相 同的任何位置进行部署和运行。由于容器中只含有必要的软件组件,不含操作系统,因此其打包容量较小。

8、数据库的相关概念:

(1)数据库:数据信息的集合,也可以看作按照数据结构来存储和组织信息数据的软件容器或仓库。
(2)数据库管理系统:数据库及其管理软件构成了数据库管理系统,实现数据的管理和使用等功能。
(3)数据库系统:数据库管理系统及其运行的软硬件环境、操作人员乃至手册文档等内容,
构成一个完整体系,称为数据库系统。
(4)数据库应用系统:指在数据库管理系统的支撑下建立的计算机应用系统。

9、从发展趋势上看,NoSQL是否可以取代关系型数据库?并说明原因。

NoSQL不能取代关系型数据库。事实上,NoSQL数据库和关系型数据库是互补关系,在不限定场景的情况下,无法比较谁更强。
关系型数据库能够更好地保持数据的完整性和事务的一致性,以及支持对数据的复杂操作,在现实中拥有更普遍的适用领域。NoSQL数据库做不到上述,但是可以更好地实现分布式环境下对数据的简单管理和查询,即在大数据业务领域具有更大价值。

第2章 NoSQL数据库的基本原理

1. 描述分布式数据管理的特点。

(1)数据分片:使数据均匀分布到多个节点上,可以充分利用各个节点的处理能力、存储能力和吞吐能力。
(2)数据多副本:将数据存储为多个副本,不同的副本存储在不同节点上。
(3)一次写入多次读取:在系统底层只支持新建和追加,系统具有更好的顺序存储特性。
(4)分布式系统的可伸缩性:可以移除故障节点,替换新节点,实现数据的再平衡。

2. 什么是CAP原理?CAP原理是否适用于单机环境?

CAP是指分布式系统中的一致性、可用性、分区容错性。一致性是指分布式系统中所有节点都能对某个数据达成共识。可用性可以理解为分布式系统的响应速度或响应能力。分区容错性指在部分节点故障、以及出现消息丢包的情况下,集群系统的剩余部分仍然可以提供服务。
CAP理论是指在分布式系统中,CAP三个特性不可兼得,只能同时满足两个。CAP不能兼顾,但并非绝对对立。
CAP理论的主要场景是在分布式环境下,在单机环境下,基本可不考虑CAP问题.

3. 简述BASE理论的具体含义。

由于CAP无法兼顾,分布式系统需要根据实际业务要求,对一致性做一定妥协,提供弱一致性保障。具体要求为BASE理论:
(1)基本可用:核心部分或其他数据可用。
(2)软状态/柔性事务:允许多个副本存在暂时的不一致状态。
(3)最终一致性:存在中间状态,但经历一段时间之后,最终会一致。

4. 在数据一致性问题上,ACID和BASE的差别是什么?

(1)ACID是典型的强一致性要求。要求多个节点的数据副本都是一致的,强调数据的一致性。ACID是大多数NoSQL抛弃的机制,因为无法在分布式环境中保证效率。
(2)BASE的最终一致性也可以看作NoSQL允许多个副本可以存在暂时的不同步。结合CAP理论,这种设计强调PA,可以提高响应速度。

5.列举NoSQL的数据模型,描述其基本特点和适用场景,并为每种模式举出1种常见数据库。

(1)键值对存储模式
基本特点:数据以键值对的形式存储,每行数据的结构为:<key, value>。键是唯一的,值可以是任何数据类型。操作简单,主要支持根据键查找值。
适用场景:存放会话信息、用户配置信息、购物车数据:购物信息放入value属性,键名为userid等。
常见数据库:Redis。
(2)文档存储模式
基本特点:可以看作键值对模式的升级,底层存储的每行数据中仍然存在key和value。但Value是采用JSON等格式描述的复杂数据类型。
每条数据的文档格式可以不同。文档格式中支持嵌套等复杂形式。
适用场景:事件记录:事件的数据类型经常变动、内容管理系统及博客平台、
网站分析与实时分析、电子商务应用程序等。
常见数据库:MongoBD。
(3)列存储模式
基本特点:可以看作是一种纵向切分数据的方式,不同列会放到不同的位置存储,实际软件一般也会按照行键再进行横向切片和分布式存储。
对于稀疏表,其存储效率较高。底层一般也是一次写入多次读取的。
在切片内一般会按行键进行排序,以加快分布式检索速度。
适用场景:事件记录、内容管理系统与博客平台、计数器:统计某页面的访问人数等。
常见数据库:HBase。
(4)图存储模式
基本特点:将数据存储为点和边的关系。点通过边相连接,具有名称、类型和属性、相连接的边等关联信息。边一般是单向的,具有名称、类型、起止节点和属性等信息。
适用场景:互联数据、安排运输路线、分派路径和基于位置的服务、推荐引擎等。
常见数据库:Neo4J

6. 布隆过滤器的优缺点是什么?如何降低布隆过滤器的误报率?

布隆过滤器的目的是检查某个元素是否存在于集合中。
优点是空间占用低、检索速度快,缺点则是存储在一定的误报率:当布隆过滤认为某元素存在于集合时,该元素可能并不存在,但如果布隆过滤认为该元素不存在于集合,则肯定不存在。
布隆过滤器的误报率,和哈希算法的个数、二进制向量的大小以及数据总量有关,一般来说二进制向量越大,误报率越低,因此需要在存储空间占用和误报率之间做权衡。降低误报率的方法:(1)采取多个独立的哈希算法同时进行映射。(2)增大二进制向量的大小。

第3章MongoDB原理和使用

1、描述MongoDB数据库的主要特点。

课件写的是:MongoDB是一种知名的文档型NoSQL数据库,用C++语言编写,目前由独立公司维护。主要特点有:支持复杂的数据结构,支持索引、支持聚合查询,以及支持对大文件的存储与管理等。它易用、分布式架构、易扩展、支持多副本,在物联网领域受到广泛关注。

或者:
(1)高可用性:MongoDB采用了分布式架构,数据会自动分布在多台服务器上,从而实现高可用性和容错性。如果一个节点故障,系统会自动将其从集群中删除,并将数据迁移到其他节点上。
(2)高扩展性:MongoDB可以轻松地进行水平扩展和垂直扩展。在水平扩展时,可以添加更多的服务器和节点,以增加处理能力和存储容量;在垂直扩展时,则可以升级硬件设备,以提高单机性能。
(3)灵活性:MongoDB支持动态模式和动态查询,可以根据应用程序需求灵活调整文档结构和查询条件。此外,它还支持复杂的文档嵌套、数组类型和地理位置等特性。
(4)性能优势:MongoDB使用了内存映射文件和快速索引等技术,具有较高的读写性能和查询效率。此外,MongoDB还支持分片和副本集等技术,以进一步提高性能和可靠性。

第4章MongoDB的管理与集群部署

1.描述MongoDB集群的数据多副本策略。

MongoDB支持分片的多副本,多副本采用主从备份形式。MongoDB称这种机制为复制集机制。
主节点负责数据的写入和更新。主节点在更新数据的同时,会将操作信息写入日志,称为oplog。
从节点监听主节点oplog的变化,并根据其内容维护自身的数据更新,使之和主节点保持一致。

2.描述MongoDB的分片机制,支持几种分片策略?

MongoDB将数据水平切分机制称为分片。MongoDB支持对文档的自动分片,分片的依据是分片键,分片键可以由文档的一个或多个字段构成。
MongoDB支持三种分片(片键)策略:升序分片、哈希分片和位置分片:
(1)升序分片会将片键进行升序排序,并在当前分片的数据量达到某个阈值时进行分片。
(2)哈希分片会将片键进行哈希运算,使数据的分布更均匀。
(3)位置分片类似于对片键的前缀或子串进行判断。
3.描述MongoDB的分片集群架构(包含的角色和每个角色的作用)
MongoDB集群由Mongod、Mongos和Config服务器组成。
(1)负责存储实际数据分片的设备称为Mongod。
(2)Mongos服务器,作为用户访问集群的入口,负责与客户端的交互,并在内存中缓存分片数据的存储和路由信息。
(3)Config服务器,负责持久化存储各类元数据和配置信息,当Mongos服务器启动时,会通过Config服务器读取相关信息并缓存到内存。

第5章 图数据库Neo4J

1.什么是Neo4j?并对其数据模型进行详细描述。

Neo4j是一个基于Java语言的开源图数据库系统。Neo4j具有强大的图处理和查询搜索能力,通过专用的Cypher语言完成各类操作。
Neor4j采用将数据存储为节点和边的图存储模式,其中节点表示实体、边表示实体之间的关系。

2.简要描述Neo4j的使用场景(至少4个)。

处理社交网络、人机关系和商品关联推荐、信用卡套现行为识别,知识图谱等业务。

3.Neo4j 作为一种图数据库,在构建知识图谱方面有哪些优势?

(1)Neo4j的易用性较好,功能也很强大
(2)通过专门的Cypher语言完成各类图数据的查询和分析,
(3)提供多种编程语言接口,
(4)支持在集群上进行超大表的分布式查询
(5)支持Windows和Linux部署

第6章 键值对数据库Redis

1.Redis的常见应用场景。

很多大型电商网站、视频直播和游戏应用等,存在大规模数据访问,对数据查询效率要求高,且数据结构简单,不涉及太多关联查询。
(1)(电商网站)秒杀抢购
(2)(视频直播)消息弹幕
(3)(游戏应用)游戏排行榜
(4)(社交APP)返回最新评论/回复

2.描述Redis的数据类型。

Redis支持的数据类型有字符串、散列、列表、集合、有序集合。

3.Redis数据库的集群架构(拓扑架构)。(或课本P178-179)

(1)主从复制:主从结构具有读写分离,提高效率、数据备份,提供多个副本等优点。
(2)哨兵机制: 哨兵是一个分布式系统,用于对主从结构中的每台服务器进行监控,当出现故障时通过投票机制选择新的 master 并将所有的 slave 连接到新的 master。
(3)Redis集群:Redis没有使用一致性哈希机制,而是引入了哈希槽的概念。Redis 集群有16384个哈希槽,集群中所有设备平分这些哈希槽,数据则根据其行键的散列计算结果,映射到不同的哈希槽中。

4.Redis的持久化方式是什么?各自的优缺点?

Redis提供了两种数据持久化存储机制,即RDB和AOF,以实现数据备份和故障恢复等功能。
RDB为Redis默认的持久化存储机制,指在指定时间间隔内将数据保存为快照,其经常用于对整个数据集的备份,存储格式比较紧凑,备份恢复性能较高。但由于是定时备份,因此在上一次备份之后改动的数据会在故障时丢失。
AOF以文本方式逐次记录命令和数据,将它们追加到一个AOF文件末尾。AOF文件的体积较大,且数据恢复的效率较低,但AOF的实时性好,遇到故障时最多损失1s的数据。

5.Redis的事务是什么?怎么操作实现?它和传统的MySQL数据库事务有什么不同。

是什么:Redis支持事务机制,即将多个指令放入一个队列,并批量顺序执行。
不同:这种事务机制和传统关系型数据库的事务机制有所不同,Redis事务并不能保证整个事务的原子性。也就是说,当Redis事务中出现个别语句执行失败时,Redis会继续执行其他语句,而不是回滚整个事务。即其事务机制的实质为命令的批处理机制。
操作实现:在Redis中使用multi和exec指令可以实现事务。

第7章MongoDB原理和使用

1.HBase和Cassandra在架构上有什么不同?各自的架构有什么优缺点?

HBase和Cassandra在架构上的主要区别在于数据存储模型和集群管理方式。HBase是基于Hadoop的分布式列式存储系统,采用HDFS(Hadoop Distributed File System)作为底层存储,并依赖Zookeeper进行集群管理和协调。它是一个强一致性的系统,通常用于需要精确一致性和顺序读取的场景。优点是高效的随机读取和强一致性,但缺点是集群管理复杂且扩展性较差。Cassandra则是一个分布式的列族存储系统,基于对等节点架构,没有中心化的协调服务,采用自定义的分布式协议(Gossip Protocol)进行节点间通信。它支持最终一致性,能够在高可用性和低延迟下进行扩展,适用于需要高可用性和大规模数据处理的场景。Cassandra的优点是扩展性好,支持灵活的配置一致性级别,但缺点是可能会面临一致性问题,尤其是在高并发写入时。总体来说,HBase适合需要强一致性和依赖Hadoop生态系统的场景,而Cassandra适合分布式、大规模、高可用性的数据存储需求。

2.Cassandra表中的主键分为哪几种类型?如何区分它们?

主键、复合键、分区键
当表中只有一个主键,主键就是分区键。当表中有多个主键时,第一个主键是分区键,其他为分簇键
单一主键:主键由单个列构成,仅包含分区键。
复合主键:主键由多个列构成,其中第一部分是分区键,后续部分为分簇键。
分区键:主键的前一部分由多个列组成,表示复合分区键,后续部分是分簇键。

3.Cassandra如何支持数据一致性?

Cassandra通过以下方式支持数据一致性:
(1)一致性级别:为每个操作=定义不同的一致性级别,可以灵活地在一致性、可用性和性能之间进行权衡。
(2)数据副本机制:通过将数据复制到多个节点来提高可用性和容错性,并在读取时通过副本检查确保数据一致性。
(3)冲突解决机制:通过轻量级事务和反向增量修复等机制来确保数据一致性。
(4)合并与修复:定期的后台修复机制保证副本之间的一致性。
(5)最终一致性:Cassandra默认遵循最终一致性模型,但通过可调一致性级别和修复机制,提供了一定的一致性保障。
因此,Cassandra的设计旨在提供高可用性和高性能的同时,通过可调一致性级别确保数据在不同场景下的一致性。

第8章 Hadoop和HBase简介

1. HDFS是否属于NoSQL数据库?请说明用HDFS进行数据管理存在的问题。

HDFS不属于NoSQL数据库。用HDFS进行数据管理存在的问题:
(1)HDFS不支持对数据的随机读写。
(2)HDFS没有数据表的概念,不能提供对数据的表格化存储。
(3)HDFS无法针对行数统计、过滤扫描等常见数据查询功能。

2. HBase采用了什么样的数据结构?

HBase采用的是一种面向列的键值对存储模式。HBase表中,列族是表结构的一部分,需要在建表时预先定义。
列不属于表结构,HBase不会预先定义列名及其数据类型和值域等内容。每一个记录中的每个字段必须记录自己的列名(列标识符)以及值和时间戳。

3. HBase的拓扑结构是什么?每个角色起什么作用?

HBase采用主从式架构,包括一个主节点(Hmaster)和若干个从节点(Hregionserver)。除此之外,还需要Zookeeper来实现节点监控和容错。
(1)Zookeeper是一个分布式协调服务,实现节点监控、活跃主节点选举、配置维护等功能。1.维护元数据的总入口,以及记录Master节点的地址
2.监控集群,如果Hregionserver出现故障,则通知Master,Master会将其负责的分区移交给其他Hregionserver
3.当活跃Master节点故障的情况下,Zookeeper会在备用Master节点中选举一个新的活跃Master节点。
(2)HMaster节点是所有Hregionserver的管理者,负责对Hregionserver的管理范围进行分配,但不负责管理用户数据表。
(3)Hregionserver是用户数据表的实际管理者,在分布式集群中,数据表会进行水平分区,每个Hregionserver只会对一部分分区进行管理——负责数据的写入、查询、缓存和故障恢复等。用户表最终是以文件形式存储在HDFS上,但如何将写入并维护这些文件,则是由Hregionserver负责的。

4. 描述meta表的结构。

在这里插入图片描述

列族info中包含三个列:regioninfo、server和serverstartcode。
⚫ Regioninfo中记录了行键范围、列族列表和属性;
⚫ server记录了负责的Regionserver地址;
⚫ serverstartcode则记录了Regionserver的启动时间。

(1.rowkey中第一个分隔符前存的是表名;
2.第二分隔符前存的是region的第一个rowKey:
1)如果这个地方为空的话,表明这是table的第一个region。并且如果一个region中startkey和endkey都为空的为,表明这个table只有一个region;
2)在meta表中,startkey 靠前的region会排在startkey 靠后的region前面。(Hbase中的keys按照字段顺序排序的)。
3.region id代表region的id,通常基于region创建时的timestamp;
4.regioninfo是HRegionInfo的序列化值;5.server是指服务器的地址和端口;
6.serverstartcode是指服务开始的timestamp。)

5. 预写日志(WAL)的作用。

当数据被写入memstore之前,Regionserver会先将数据写入预写日志,预写日志一般被写入HDFS,但键值写入时不会被排序,也不会区分Region。
出现节点宕机、线程重启等问题时,memstore中未持久化的数据会丢失。当Regionserver恢复后,会查看当前WAL中的数据,并将记录进行重放,根据记录的表名和分区名,将数据恢复到指定的store中。
在进行自动或手动的数据持久化操作之后,Regionserver会将不需要的WAL清除掉。

第9章 其他NoSQL数据库简介

1、时序数据库可以用在哪些场景?(4个)

构建监控系统:例如互联网用户行为日志、服务器集群监控、物联网设备监控等。物联网设备通常会产生大量的传感器数据,这些数据需要实时地存储和分析。时序数据库可以高效地存储和查询这些传感器数据,以便提供实时的监控和分析功能。
金融交易记录:金融机构需要记录每一笔交易的时间戳、金额、交易类型等信息。时序数据库可以高效地存储和查询这些交易记录,并提供实时的交易数据分析和预警功能。
气象观测数据:气象观测站可以生成大量的气象数据,如温度、湿度、气压等。时序数据库可以高效地存储和查询这些数据,并提供实时的天气预报和灾害预警功能。
制造业生产监控:制造商需要对生产线上的各种传感器数据进行实时监测和分析。时序数据库可以高效地存储和查询这些数据,并提供实时的生产数据可视化和故障诊断功能。
能源管理:能源管理系统需要实时监测和分析各种能源数据,如电力消耗、能源供应、能源价格等。时序数据库可以高效地存储和查询这些数据,并提供实时的能源数据分析和优化建议功能。

2、时序数据库是否需要具备灵活的数据更新能力?为什么?

时序数据库通常不需要具备灵活的数据更新能力,因为时序数据一旦记录,通常不需要修改。时序数据库的设计目标是高效地存储和查询时间序列数据,而非频繁地修改或更新数据。因此,时序数据库并不需要具备像传统关系型数据库那样灵活的更新能力,更多的是通过数据追加、聚合和自动删除策略来管理数据。对数据更新的需求较少,因此时序数据库的设计通常专注于高效插入和高效查询,而不是灵活的数据修改。

3.搜索引擎的工作原理是什么?

搜索引擎的工作原理涉及多个复杂的步骤,主要包括抓取、索引、排名和返回结果。
(1)抓取:爬虫抓取网页上的信息。
(2)索引:将抓取到的数据整理成索引,以便快速检索。
(3)排名:通过排名算法,基于多个因素对网页进行排序。
(4)返回结果:搜索引擎根据排名返回最相关的结果。

4.搜索引擎中如何对搜索结果排序的?

搜索引擎通过复杂的算法对搜索结果进行排序,主要考虑多个因素。首先,搜索引擎会分析页面与查询关键词的匹配度,评估页面的相关性。其次,外部链接的质量和数量、页面的权威性、用户体验也会影响排名。此外,页面内容的原创性和质量、用户的搜索意图以及网站的技术优化等都是重要的排名因素。搜索引擎还会根据用户行为数据,如点击率和停留时间,来进一步调整排名。最终,搜索引擎目标是提供最相关、最有价值的内容,以满足用户的需求。

二、数据库设计

考试题型:

1.给你一个E-R,让你画出HBase或者MangoDB的数据库设计
2.给你一种数据库,让你转化成另外一种数据库
3.根据实际场景选择合适的数据库并进行设计

复习参考:

一、HBase数据库设计(列式存储)

(表名、行键Row Key、列族Column Family、列名Column Name和 时间戳Timestamp):

考试总结:考试先写文字描述数据库,然后进行画表格

(1)描述数据库设计,数据库有几个表,每个表存储什么内容。对于每个表,几个列族,列族存储什么内容。行键怎么设计,有几个列名,都分别存储什么内容等,以及如何进行实体和关系的增删改查。

(2)画出设计的数据库,并填入实际数据,每个表至少包含2个行键,每个行键至少包含2个列名和值。

(3)如果给的是E-R图,让你用HBase进行存储应该如何做,二者的对应关系:

实体:每个实体可以对应一个 HBase 表。例如:students 表对应学生,courses 表对应课程,enrollments 表对应学生选课。

属性:每个属性对应 HBase 中的列族和列。(学生的姓名和年龄可在 personal_info 列族下)

关系:多对多关系通常通过特殊的设计(如组合行键)来处理。例如,学生选课的关系通过 StudentID_CourseID 的组合行键来表示。

在这里插入图片描述

二、MangoDB数据库设计(文档型数据库)

(数据库、集合、文档、字段、索引、字段)

考试总结:考试先写文字描述数据库,然后写具体的数据。

(1)描述数据库设计。数据库有几个集合,每个集合存储什么内容。集合中文档的设计,有哪些键,分别存储什么内容,以及如何进行实体和关系的增删改查。

(2)画出设计的MongoDB数据库,并填入实际数据,每个集合至少2个文档,每个文档至少3个键值对。

(3)E-R图与MangoDB的映射转化关系:

ER 图中的实体可以直接映射为 MongoDB 的集合。

实体的属性映射为 MongoDB 文档中的字段。

关系通过嵌套文档或引用来表示,具体方式取决于关系的性质和查询需求。

嵌套文档适用于数据之间关系较紧密,且经常一起查询的场景。引用适用于关系较松散,数据分散存储的场景。

(4)HBase和MangoDB的映射关系:

HBase 行键 → MongoDB _id

HBase Column Families 列族→ MongoDB 文档中的嵌套字段

HBase Column Qualifiers 列名→ MongoDB 字段名

HBase TimeStamps → MongoDB 中的时间戳字段

参考写法:

在这里插入图片描述

三、Neo4j–图数据库转成HBase和MangoDB

(1)描述数据库设计。数据库有几种节点标签,每种标签的节点包括什么属性;有几种关系标签,每种关系连接什么类型的节点,包括什么属性;如何进行实体和关系的增删改查。
(2) 画出设计的数据库,并填入实际数据,至少包含2种标签,每种标签至少2个节点,2个属性;至少包含一种关系标签,每种关系标签至少2个关系,2个属性。

四、Redis键值对数据库

(1)描述数据库设计。数据库有几种键,分别存储什么内容,采用什么数据类型,以及如何进行数据的增删改查。
(2)画出设计的Redis数据库,并填入实际数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2267786.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ONLYOFFICE 协作空间 3.0 新功能详解

ONLYOFFICE 协作空间 3.0 新功能详解 书接上文&#xff1a; ONLYOFFICE 协作空间 3.0 发布: 新增虚拟数据房间、用户类型、OAuth 2.0 等更新 简单的介绍了一下 ONLYOFFICE 协作空间 3.0 的新功能&#xff0c;今天我们详细介绍一下这些新功能。 关于 ONLYOFFICE 协作空间 O…

ASP.NET |日常开发中常见问题归纳讲解

ASP.NET &#xff5c;日常开发中常见问题归纳讲解 前言一、性能问题1.1 数据库访问性能1.2 视图状态&#xff08;在ASP.NET Web Forms 中&#xff09; 二、安全问题2.1 SQL 注入2.2 跨站脚本攻击&#xff08;XSS&#xff09; 三、状态管理问题3.1 会话状态&#xff08;Session …

ADC(三):注入组的使用

有关ADC的基础知识请参考标准库入门教程 ADC&#xff08;三&#xff09;&#xff1a;注入组的使用 1、规则组软件触发注入组自动注入2、规则组外部触发注入组自动注入3、规则组软件触发注入组外部触发&#xff08;TIM2_CC1&#xff09;4、规则组软件触发注入组外部触发&#xf…

Debian 12 安装配置 fail2ban 保护 SSH 访问

背景介绍 双十一的时候薅羊毛租了台腾讯云的虚机, 是真便宜, 只是没想到才跑了一个月, 系统里面就收集到了巨多的 SSH 恶意登录失败记录. 只能说, 互联网真的是太不安全了. 之前有用过 fail2ban 在 CentOS 7 上面做过防护, 不过那已经是好久好久之前的故事了, 好多方法已经不…

基于Spring Boot + Vue3实现的在线商品竞拍管理系统源码+文档

前言 基于Spring Boot Vue3实现的在线商品竞拍管理系统是一种现代化的前后端分离架构的应用程序&#xff0c;它结合了Java后端框架Spring Boot和JavaScript前端框架Vue.js的最新版本&#xff08;Vue 3&#xff09;。该系统允许用户在线参与商品竞拍&#xff0c;并提供管理后台…

编译openssl遇到错误Parse errors: No plan found in TAP output的解决方法

在编译openssl时 tar -zxvf openssl-1.1.1p.tar.gz cd openssl-1.1.1p ./config --prefix/usr --openssldir/etc/ssl --shared zlib make make test 遇到错误 Parse errors: No plan found in TAP output 解决方法&#xff1a; yum install perl-Test-Simple

20241130 RocketMQ本机安装与SpringBoot整合

目录 一、RocketMQ简介 ???1.1、核心概念 ???1.2、应用场景 ???1.3、架构设计 2、RocketMQ Server安装 3、RocketMQ可视化控制台安装与使用 4、SpringBoot整合RocketMQ实现消息发送和接收? ? ? ? ? 4.1、添加maven依赖 ???4.2、yaml配置 ???4.3、…

【疑难杂症】 HarmonyOS NEXT中Axios库的响应拦截器无法拦截424状态码怎么办?

今天在开发一个HarmonyOS NEXT的应用的时候&#xff0c;发现http接口如果返回的状态码是424时&#xff0c;我在axios中定义的拦截器失效了。直接走到了业务调用的catch中。 问题表现&#xff1a; 我的拦截器代码如下&#xff1a; 解决办法&#xff1a; 先说解决办法&#xff…

Unity功能模块一对话系统(4)实现个性文本标签

本期我们将了解如何在TMPro中自定义我们的标签样式&#xff0c;并实现两种有趣的效果。 一.需求描述 1.定义<float>格式的标签&#xff0c;实现标签处延迟打印功能 2.定义<r" "></r>格式的标签&#xff0c;实现标签区间内文本片段的注释显示功能…

Llama 3 预训练(二)

目录 3. 预训练 3.1 预训练数据 3.1.1 网络数据筛选 PII 和安全过滤 文本提取与清理 去重&#xff08;De-duplication&#xff09; 启发式过滤&#xff08;Heuristic Filtering&#xff09; 基于模型的质量过滤 代码和数学推理数据处理 多语言数据处理 3.1.2 确定数…

电路元件与电路基本定理

电流、电压和电功率 电流 1 定义&#xff1a; 带电质点的有序运动形成电流 。 单位时间内通过导体横截面的电量定义为电流强度&#xff0c; 简称电流&#xff0c;用符号 i 表示&#xff0c;其数学表达式为&#xff1a;&#xff08;i单位&#xff1a;安培&#xff08;A&#x…

低代码开源项目Joget的研究——基本概念和Joget7社区版应用

大纲 1. 基本概念1.1 Form1.1.1 Form1.1.1.1 概述1.1.1.2 主要特点和用途1.1.1.3 创建和使用 Form1.1.1.4 示例 1.1.2 Section1.1.2.1 概述1.1.2.2 主要特点和用途1.1.2.3 示例 1.1.3 Column1.1.4 Field1.1.5 示例 1.2 Datalist1.2.1 Datalist1.2.1.1 主要特点和用途1.2.1.2 创…

【二叉树遍历 Java版】二叉树的前中后序遍历and层次遍历

二叉树的前中后序遍历and层次遍历 深度优先遍历题目链接递归前序遍历中序遍历后序遍历 迭代前序遍历后序遍历中序遍历 统一迭代前序遍历后序遍历中序遍历 广度优先遍历102. 二叉树的层序遍历107. 二叉树的层序遍历 II637. 二叉树的层平均值199. 二叉树的右视图 深度优先遍历 深…

【Sentinel】初识Sentinel

目录 1.1.雪崩问题及解决方案 1.1.1.雪崩问题 1.1.2.超时处理 1.1.3.仓壁模式 1.1.4.断路器 1.1.5.限流 1.1.6.总结 1.2.服务保护技术对比 1.3.Sentinel介绍和安装 1.3.1.初识Sentinel 1.3.2.安装Sentinel 1.4.微服务整合Sentinel 1.1.雪崩问题及解决方案 1.1.1.…

Apriori关联规则算法 HNUST【数据分析技术】(2025)

1.理论知识 Apriori是一种常用的数据关联规则挖掘方法&#xff0c;它可以用来找出数据集中频繁出现的数据集合。该算法第一次实现在大数据集上的可行的关联规则提取&#xff0c;其核心思想是通过连接产生候选项及其支持度&#xff0c;然后通过剪枝生成频繁项集。 Apriori算法的…

如何让Tplink路由器自身的IP网段 与交换机和电脑的IP网段 保持一致?

问题分析&#xff1a; 正常情况下&#xff0c;我的需求是&#xff1a;电脑又能上网&#xff0c;又需要与路由器处于同一局域网下&#xff08;串流Pico4 VR眼镜&#xff09;&#xff0c;所以&#xff0c;我是这么连接 交换机、路由器、电脑 的&#xff1a; 此时&#xff0c;登录…

系统思考—冰山模型

“卓越不是因机遇而生&#xff0c;而是智慧的选择与用心的承诺。”—— 亚里士多德 卓越&#xff0c;从来不是一次性行为&#xff0c;而是一种习惯。正如我们在日常辅导中常提醒自己&#xff1a;行为的背后&#xff0c;隐藏着选择的逻辑&#xff0c;而选择的根源&#xff0c;源…

TP5 动态渲染多个Layui表格并批量打印所有表格

记录&#xff1a; TP5 动态渲染多个Layui表格每个表格设置有2行表头&#xff0c;并且第一行表头在页面完成后动态渲染显示内容每个表格下面显示统计信息可点击字段排序一次打印页面上的所有表格打印页面上多个table时,让每个table单独一页 后端代码示例&#xff1a; /*** Nod…

【笔记】linux虚拟机与windows的文件共享之Samba服务基本配置

做完之后的总结写在最前面便于复习&#xff1a; 虚拟机上要共享的资源通过samba的操作 允许window通过网络去访问其共享资源 防止以后看不懂放在最前面 &#xff08;一&#xff09;虚拟机操作部分 下载 samba smbclient samba-common 在根目录/新建一个samba专用文件夹&…

PyTorch Instance Normalization介绍

Instance Normalization(实例归一化) 是一种标准化技术,与 Batch Normalization 类似,但它对每个样本独立地对每个通道进行归一化,而不依赖于小批量数据的统计信息。这使得它非常适合小批量训练任务以及图像生成任务(如风格迁移)。 Instance Normalization 的原理 对每…