Coursera 笔记

Module 01 · Introducing NoSQL

Graph NoSQL Databases图形型 NoSQL 数据库概述

Coursera ↗

欢迎观看关于图形型 NoSQL 数据库的介绍视频。本文将介绍图形型 NoSQL 数据库的架构、主要应用场景以及适用性。


 图形型数据库架构

图形型数据库是我们讨论的最后一种 NoSQL 数据库类型,与之前讨论的三种类型相比,它有一些显著的不同之处。图形型数据库的核心特点在于其存储数据的方式:

  • 实体(节点):表示数据中的元素或对象。
  • 关系(边):表示节点之间的关系。

图形型数据库非常适用于那些数据具有图形结构的数据集。通过这种结构,数据之间的关系可以被高效快速地遍历。

水平扩展限制

与其他 NoSQL 数据库不同,图形型数据库的水平扩展性较差。**图形分片(Sharding)**并不推荐,因为将节点分布在多个服务器上会导致遍历图形时遇到性能瓶颈。

ACID 事务支持

图形型数据库符合 ACID 事务要求,这使得它们能够保证数据的完整性,避免出现不一致的节点关系。这与前面讨论的其他 NoSQL 数据库相比,是一个明显的优势。


 图形型数据库的应用场景

适用场景

  1. 社交网络:
    • 图形数据库可以通过快速定位好友、好友的朋友、点赞等关系,优化社交网络中的数据存储与查询。
  2. 路由、空间和地图应用:
    • 图形数据库非常适合用于建模数据,帮助快速找到相近的地点或计算最短路径,提升方向查询的效率。
  3. 推荐引擎:
    • 推荐引擎可以通过利用产品之间的紧密关系和链接,快速向客户推荐其他相关产品。

不适合的场景

图形型数据库并不适用于那些需要利用其他类型 NoSQL 数据库优势的应用:

  • 水平扩展需求:当应用程序需要进行水平扩展时,图形数据库会遇到扩展的限制,难以应对大规模的分布式数据处理。
  • 批量更新节点:如果需要根据某些参数更新所有或部分节点,图形型数据库可能会遇到操作上的困难,更新过程可能变得复杂且耗时。

 流行的图形型 NoSQL 数据库实现

一些广泛使用的图形型 NoSQL 数据库实现包括:

  • Neo4j
  • OrientDB
  • ArangoDB
  • Amazon Neptune(亚马逊云服务的一部分)
  • Apache Giraph
  • JanusGraph

 总结

通过本视频,您了解了:

  • 图形型数据库将信息存储在实体(节点)和关系(边)中。
  • 图形型数据库特别适用于数据呈现图形结构时,能够高效地遍历和处理复杂的关系数据。
  • 图形型数据库不适合进行分片,但支持 ACID 事务,保证数据一致性。
  • 主要应用场景包括:社交网络、路由与空间应用、地图应用以及推荐引擎。