NoSQL的4种存储数据库【详解】

5 篇文章 0 订阅

1.键值对存储数据库

键值对存储数据库是NoSQL数据库中的一种类型,也是最简单的NoSQL数据库。键对值对存储数据库中的数据是以键值对的形式来存储的。常见的键值对存储数据库有Redis、Tokyo Cabinet/Tyrant、Voldemort以及Oracle BDB等数据库。键值对存储数据库的结构示意图如下。

键值对存储数据库的结构实际上是一个映射,即Key是查找每条数据的唯一标识符,Value是该数据实际存储的内容。键值对存储数据库结构是采用哈希函数来实现键到值的映射,当查询数据时,基于Key的哈希值会直接定位到数据所在的位置,实现快速查询,并支持海量数据的高并发查询。

应用场景1:会话储存场景

会话存储指的是一个面向会话的应用程序(如Web应用程序)在用户登录时启动会话,并保持活动状态直到用户注销或会话超时,在此期间,应用程序将所有与会话相关的数据存储在内存或键值对存储数据库中。会话数据包括用户资料信息、消息、个性化数据和主题、建议、有针对性的促销和折扣。每个用户会话具有唯一的标识符,除了主键之外,任何其他键都无法查询会话数据,因此键值对存储数据库更适合于存储会话数据。

应用场景2:购物车

购物车指的是电子商务网站中的购物车功能。在假日购物季,电子商务网站可能会在几秒钟内收到数十亿的订单,键值对存储数据库可以处理海量数据的扩展和极高的状态变化,同时通过分布式处理和存储为数百万并发用户提供服务。此外,键值对存储数据库还具有内置冗余的功能,可以处理丢失的存储节点。

2.文档存储数据库

文档存储数据库不是文档管理系统。文档存储数据库是用于存储和管理文档,其中文档是结构化的数据(如JSON格式)。常见的文档存储数据库有MongoDB、CouchDB以及RavenDB等数据库。文档存储数据库的结构示意图如下。

文档存储数据库存储的文档可以是不同结构的,即JSON、XML以及BSON等格式。

应用场景1:内容管理应用程序

内容管理应用程序存储数据,首选的就是文档存储数据库,例如博客和视频平台主要使用的数据库就是文档存储数据库。通过文档存储数据库,内容管理应用程序所跟踪的每个实体都可存储为单个文档。随着需求的发展,对于开发人员来说,可以使用文档存储数据库更直观地更新应用程序。此外,如果需要更改数据模型,则只需要更新受影响的文档即可,而不需要更新架构,也不需要等到数据库停机时进行更改。

应用场景2:电子商务应用程序

在电子商务应用程序中,文档存储数据库可以高效且有效的存储商品的信息。例如,在电子商务应用程序中,不同的产品具有不同数量的属性。若是在关系型数据库中管理数干个属性,则效率比较低,并且阅读的性能会受到影响;若是使用文档存储数据库的话,可以在单个文档中描述每个产品的属性,既可以方便管理,又可以加快阅读产品的速度,并且更改一个产品的属性不会影响其他的产品。

3.列式存储数据库

列式存储数据库是以列为单位存储数据,然后将列值顺序地存入数据库中,这种数据存储法不同于基于行式存储的传统关系型数据库。列式存储数据库可以高效地存储数据,也可以快速地处理批量数据实时查询数据。常见的列式存储数据库有HBase、Cassandra、Riak以及HyperTable等数据库。列式存储数据库的结构示意图如下。

在列式存储数据库中,如果列值不存在,则不需要存储(阴影部分为列值不存在),这样的话,遇到Nul值,就不需要存储,可以减少I/O操作和避免内存空间的浪费。

应用场景1:事件记录

在事件记录中,使用列式存储数据库来存储应用程序的状态以及应用程序遇到错误等事件信息。由于列式存储数据库具有高扩展性,因此可高效地存储应用程序源源不断产生的事件记录。

应用场景2:博客网站

在博客网站中,列式存储数据库可以将博客的“标签”、“类别”“连接”及“引用通告”等内容存放在不同的列中,便于进行数据分析。

4.图形存储数据库

图形存储数据库不是网络数据库,它是NoSQL数据库的一种类型,其主要是应用图形理论来存储实体之间的关系信息,其中,实体被视为图形的“节点”,关系被视为图形的“边”,“边”按照关系将“节点”按进行连接。常见的图形存储数据库有Neo4j、FlockDB、AllegroGrap以及GraphDB等数据库。图形存储数据库的结构示意图如下。

利用图形存储数据库存储的数据,可以很清晰知道两个实体之间的关系,即A和D是朋友,C是A朋友的朋友。

应用场景1:欺诈检测

在欺诈检测中,图形存储数据库能够有效地防范复杂的欺诈行为。在现代欺诈及各种类型的金融犯罪中,例如银行欺诈、信用卡欺诈、电子商务欺诈以及保险欺诈等,欺诈者通过使用改变自己身份等的手段逃避风控规则,从而达到欺诈目的。尽管欺诈者是可以改变所有涉及网络的关联关系,也可以在所有涉及网络的群体中同步执行相同操作来躲避风控,但我们可以通过图形存储数据库建立跟踪全局用户的跟踪视角,实时利用图形存储数据库来分析具有欺诈行为的离散数据,从而识别欺诈环节,这样的话,最大程度上快速有效地防范和解决欺诈行为。

应用场景2:推荐应用

在推荐应用中,我们可以借助图形存储数据库存储购物网站中客户的购买记录、客户兴趣等信息,然后根据客户当前浏览的商品结合已存储的购物信息,从而推荐相关的商品。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
手把手视频详细讲解项目开发全过程,需要的小伙伴自行百度网盘下载,链接见附件,永久有效。 课程简介 从零开始讲解大数据列式存储NoSQL数据库Kudu,基于Kudu构建高性能随机读写访问的数据存储系统,原理从入门到深入,搞定面试 课程亮点 1,知识体系完备,从小白到大神各阶段读者均能学有所获。 2,生动形象,化繁为简,讲解通俗易懂。 3,结合工作实践及分析应用,培养解决实际问题的能力。 4,每一块知识点, 都有配套案例, 学习不再迷茫。 适用人群 1、对大数据感兴趣的在校生及应届毕业生。 2、对目前职业有进一步提升要求,希望从事大数据行业高薪工作的在职人员。 3、对大数据行业感兴趣的相关人员。 课程内容 第一章:NoSQL数据库应用 1.NoSQL的应用及其发展 2.常见NoSQL数据库及应用场景 第二章:Kudu原理详解 1.Kudu的介绍及其发展 2.Kudu的设计思想 3.Kudu与Hbase对比 4.Kudu的分布式架构模型 5.Kudu中的特殊概念 6.Kudu的存储模型 第三章:Kudu的分布式环境部署 1.Cloudera Yum镜像配置 2.企业级分布式集群规划 3.企业级分布式计算安装 4.企业级集群管理配置 5.Kudu分布式集群管理 第四章:Kudu开发实战 1.Kudu Java API开发实战 2.Kudu分区器策略详解 3.Spark集成Kudu实战案例 4.Impala集成Kudu实战案例 第五章:Kudu原理深入搞定面试题 1.Table与Schema原理分析 2.Kudu数据模型分析 3.Kudu数据存储流程 4.Kudu数据读取流程 5.Kudu数据更新流程
当谈到NoSQL数据库系统时,有许多不同的选项可供选择。以下是8常见的NoSQL数据库系统及其主要特点的简要介绍: 1. MongoDB: - 文档数据库,使用BSON(二进制JSON)格式存储数据。 - 支持复杂的查询和索引。 - 可扩展性强,支持分片和副本集。 - 提供高可用性和自动故障转移。 2. Cassandra: - 列族数据库,设计用于处理大规模数据集和高吞吐量。 - 分布式架构,支持水平扩展。 - 提供高可用性和容错性。 - 支持灵活的数据模型和复杂的查询。 3. Redis: - 键值存储数据库,数据存储在内存中。 - 支持丰富的数据结构,如字符串、哈希、列表、集合和有序集合。 - 文档数据库,基于Memcached和CouchDB开发。 - 支持JSON格式的文档存储。 - 提供高性能和可扩展性。 - 支持自动故障转移和数据复制。 5. Neo4j: - 图形数据库,用于存储和处理图形结构数据。 - 支持高效的图形查询和遍历。 - 提供事务支持和数据完整性保证。 - 适用于复杂的关系型数据。 6. HBase: - 列族数据库,基于Hadoop的分布式文件系统HDFS。 - 面向大规模数据集和高吞吐量的应用。 - 文档数据库,使用JSON格式存储数据。 - 支持离线操作和数据同步。 - 提供高可用性和数据复制。 - 支持复杂的查询和索引。 8. Amazon DynamoDB: - 托管的键值存储数据库,运行在亚马逊云上。 - 提供自动扩展和高可用性。 - 支持灵活的数据模型和复杂的查询。 - 提供可靠的性能和低延迟。 这些NoSQL数据库系统各有特点,适用于不同的应用场景和需求。选择合适的数据库系统取决于数据模型、性能要求、可扩展性需求等因素。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值