NoSQL数据库有多少种类型?

1.键值对存储数据库

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

NoSQL数据库有多少种类型?

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

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

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

应用场景2:购物车

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

2.文档存储数据库

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

NoSQL数据库有多少种类型?

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

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

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

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

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

3.列式存储数据库

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

NoSQL数据库有多少种类型?

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

应用场景1:事件记录

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

应用场景2:博客网站

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

4.图形存储数据库

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

NoSQL数据库有多少种类型?

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

应用场景1:欺诈检测

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

应用场景2:推荐应用

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

文章来源于:王晴儿网页设计博客 欢迎分享交流,转载请注明出处

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/262309.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
黑马程序员黑马程序员订阅用户
上一篇 2023年5月6日 23:43
下一篇 2023年5月6日 23:43

相关推荐

  • 教你怎么新建一个数据库文件。

    在数据库中建立磁盘和在电脑中建立新的磁盘是两个不同的概念,本文将分别介绍如何在数据库中建立磁盘和在电脑中建立新的磁盘。 一、在数据库中建立磁盘 1. 什么是数据库中的磁盘? 数据库中的磁盘是指数据库系统中…

    2024年6月28日
    00
  • MySQL数据库性能优化之一(缓存参数优化)

    数据库属于 IO密集型的应用程序,其主要职责就是数据的管理及存储工作。而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级。所以,要优化数据库…

    2017年12月26日
    0178
  • 今日分享虚拟主机空间租用怎么选择。

    选择虚拟主机空间租用时,首先需要了解空间主机的类型并选择合适的操作系统。关注带宽和流量限制,考虑技术支持和服务的可靠性。比较价格和性价比,同时关注扩展性和维护成本。查看用户评价和口碑也是一个好的选择…

    2024年7月8日
    00
  • 小编教你navicat基本操作。

    Navicat是一款强大的数据库管理工具,它提供图形界面用于轻松管理远程数据库。使用Navicat,我们可以进行连接数据库、操作数据库、导入备份、查询数据、修改用户信息等基本操作。它也支持查看数据库版本和SQL执行计…

    2024年7月5日
    01
  • 如何启动mongodb的服务器。

    启动MongoDB服务器需要先安装MongoDB,然后通过命令行输入mongod即可。 MongoDB是一个开源的NoSQL数据库,它使用BSON(类似于JSON)格式存储数据,MongoDB提供了丰富的查询和索引功能,可以快速地处理大量的数据,…

    2024年7月14日
    00
  • 关于ABAP CCDEF是什么「abap bdc mode」。

    ABAP(Advanced Business Application Programming)是一种高级业务应用程序ABAP(Advanced Business Application Programming)是一种高级业务应用程序编程,它是用于开发和维护企业级应用程序的编程语言,ABAP是S…

    2024年6月19日
    00
  • 小编教你db2move怎样导入导出数据库「db2 导入导出数据」。

    # db2move的数据库导入导出操作详解 ## 一、db2move简介 Db2move是一款由IBM开发的用于管理DB2数据库的工具,它可以帮助用户在不同的平台和环境中迁移数据库,而无需进行复杂的数据迁移或重建工作,Db2move提供了一…

    2024年6月14日
    00
  • 我来说说dedecms配置。

    DedeCMS系统参数设置通常放在系统的后台管理界面中,而不是直接存储在数据库的数据表中,这些设置信息会被保存在数据库中,以便在系统重启或升级时能够恢复。 在DedeCMS系统中,系统参数设置主要通过后台的“系统”模…

    2024年6月28日
    00

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息