# Neo4j的关键概念和特点
Neo4j是一个开源的NoSQL图形存储数据库,可为应用程序提供支持ACID的后端。Neo4j的开发始于2003年,自2007年转变为开源图形数据库模型。程序员使用的是路由器和关系的灵活网络结构,而不是静态表,但是可以享受企业级质量数据库的所有好处。与关系数据库索引,对于许多应用程序,Neo4j可以提供数量级的性能优势。
与传统的数据库按行,列和表排列数据不同,Neo4j具有灵活的结构,该结构由数据记录之间的存储关系定义。
使用Neo4j,每个数据记录或节点都存储指向与其连接的所有节点的直接指针。由于Neo4j是围绕此简单而强大的优化设计的,因此与其他数据库相比,它以更快的速度和更大的深度执行复杂连接的查询。
之所以说Neo4j是基于图形存储的数据库,是因为它可以有效地将属性图模型实施到存储级别。这就意味着数据存储方式与用户在图形构想上的存储方式是完全一致的,并且数据库使用指针来导航和遍历图形。
Neo4j具有一些针对图形存储数据库所特有的功能,其中Cypher作为一种类似于SQL的声明性查询语言对图进行了优化。这种查询语言现在也在通过openCypher项目被其他数据库(如SAP HANA Graph和Redis graph)使用。
由于Neo4j有效地表示了节点和关系,因此在深度和广度方面在大型的图中可以进行恒定时间遍历。在适度的硬件上可以扩展到数十亿个节点,更好的支持了大数据时代较大数据量的存储分析。
Neo4j具有可以随时间适应的灵活的属性图架构,可以在后续实现中添加新的关系以实现捷径并在业务需求变化快时加速域数据的速度。
Neo4j通过分片和联合查询扩展应用程序,以适应用户不断增长的业务需求。同时,该数据库具有细粒度的安全性,LDAP /目录服务,安全性日志记录等等。可以有效地确保数据安全。Neo4j的通用属性图模型使项目可以轻松地随着业务需求的变化而流畅地发展。其本机图形数据库为大型、互连的数据集上的多跳查询提供一致的实时性能。基于筏的因果群集,滚动升级,热备份等带来了高可用性。Neo4j包含功能强大的工具,可帮助开发人员有效地编写,分析和调试查询以及可视化和导航数据。
# 参考资料
[1]. 视频资料:https://www.bilibili.com/video/BV1sG411s7zV
[2]. https://blog.csdn.net/qq_41977838/article/details/123563005