RDBMS可以做什么Neo4j(和图形数据库)不能?

Jes*_*ose 11 database rdbms neo4j nosql graph-databases

"图形数据库 - 转换 - > RDBMS"

Neo4j网站似乎暗示无论你在RDBMS中做什么,你都可以在Neo4j中做到.

在选择Neo4j作为RDBMS 的替代品之前,我需要回答一些疑问.


我对Neo4j很感兴趣

  • 能够快速修改数据"架构"
  • 能够自然地表达实体而不是关系和规范化
  • ...导致高度表达的代码(优于ORM)

这是一个NoSQL解决方案,我感兴趣的是它的功能,而不是高性能.


问题: Neo4j是否存在任何可能使其不适合作为RDBMS替代品的问题?

我特别关注这些:

  • 我必须在应用程序逻辑中实现任何数据库功能吗?(例如,您必须在应用程序层为少数NoSQL DB实现连接)
  • 字段" 索引 "以允许查找比O(n)更快吗?
  • 如何处理热备份和复制?
  • "更改"架构或让具有不同版本架构的实体共存的任何问题?

kay*_*pim 0

使用诸如 oracle 之类的企业数据库将为您提供许多很多功能,这些功能可能是也可能不是 Neo 的一部分。这些包括:

  • 酸性事务
  • 高可用性/备份/备用
  • 能够使用基于成本的优化器以最有效的方式使用 SQL 获取数据 - 数据库根据最新的统计信息确定检索数据的最佳方式
  • 可扩展性、分区
  • 支持
  • 安全

如果您打算自己用代码实现应用程序的大部分功能,并且不需要 RDBMS 提供的结构和高级功能,或者您的数据结构更适合基于图形的数据库,那么请务必试用 Neo 。大多数企业应用程序使用传统的 RDBMS 服务器是有原因的,但未来情况可能并非总是如此