“图形数据库——转换为——>关系型数据库(RDBMS)”
Neo4j网站似乎在暗示,无论你在RDBMS中可以做什么,你都可以在Neo4j中完成。
在选择Neo4j作为RDBMS的替代方案之前,我需要解决一些疑虑。
我对Neo4j感兴趣的原因是:
- 快速修改数据“模式”的能力 - 能够自然地表达实体而不是关系和规范化,从而导致高度表达性的代码(比ORM更好) - 这是我感兴趣的NoSQL解决方案,主要是因为它的特点,而不是高性能。
问题:Neo4j是否存在任何问题,使它无法作为RDBMS的替代方案?
我特别关心以下几点:
- 是否必须在应用程序逻辑中实现任何数据库功能?(例如,您必须在应用层实现联接操作,以使用一些NoSQL DBs) - 字段是否“索引”,以便快速查找而不是O(n)? - 如何处理热备份和复制? - 是否有关于“更改”模式或让具有不同版本模式的实体共存的问题?
Neo4j网站似乎在暗示,无论你在RDBMS中可以做什么,你都可以在Neo4j中完成。
在选择Neo4j作为RDBMS的替代方案之前,我需要解决一些疑虑。
我对Neo4j感兴趣的原因是:
- 快速修改数据“模式”的能力 - 能够自然地表达实体而不是关系和规范化,从而导致高度表达性的代码(比ORM更好) - 这是我感兴趣的NoSQL解决方案,主要是因为它的特点,而不是高性能。
问题:Neo4j是否存在任何问题,使它无法作为RDBMS的替代方案?
我特别关心以下几点:
- 是否必须在应用程序逻辑中实现任何数据库功能?(例如,您必须在应用层实现联接操作,以使用一些NoSQL DBs) - 字段是否“索引”,以便快速查找而不是O(n)? - 如何处理热备份和复制? - 是否有关于“更改”模式或让具有不同版本模式的实体共存的问题?