目标

  • 大数据的价值在于探索数据之间的内在关系,而不是大量的数据记录存储

  • 通过数据之间内在关系创造商业价值以及公司可持续的竞争优势

neo4j是什么?

Neo4j是一个用Java实现、完全兼容ACID的图形数据库。数据以一种针对图形网络进行过优化的格式保存在磁盘上。Neo4j的内核是一种极快的图形引擎,具有数据库产品期望的所有特性,如恢复、两阶段提交、符合XA等。自2003年起,Neo4j就已经被作为24/7的产品使用。

Sponsored by Neo Technology, Neo4j is an open-source NoSQL graph database implemented in Java and Scala. With development starting in 2003, it has been publicly available since 2007.

特点
  • 通过围绕图形进行数据建模,Neo4j会以相同的速度遍历节点与边,其遍历速度与构成图形的数据量没有任何关系;

  • Neo4j还提供了非常快的图形算法、推荐系统和OLAP风格的分析,而这一切在目前的RDBMS系统中都是无法实现的。

  • 相对于关系数据库来说,图形数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题;

关于neo4j的性能
  • 自适应规模的Neo4j无需任何额外的工作便可以处理包含数十亿节点、关系和属性的图;
  • Neo4j每秒大约能够读取200万个节点、关系,在Neo4j里,图遍历执行的速度是常数,跟图的规模大小无关。不象在RDBMS里常见的联结操作那样,这里不涉及降低性能的集合操作;
  • 写速度跟文件系统的查找时间和硬件有很大关系。Ext3文件系统和SSD磁盘是不错的组合,这会导致每秒大约10万写事务操作;
应用场景
为什么选择neo4j?
  • 自带一套易于学习的查询语言(名为Cypher
  • 不使用schema,因此可以满足你的任何形式的需求
  • 与关系型数据库相比,对于高度关联的数据(图形数据)的查询快速要快上许多
  • 它的实体与关系结构非常自然地切合人类的直观感受
  • 支持兼容ACID的事务操作
  • 提供了一个高可用性模型,以支持大规模数据量的查询,支持备份、数据局部性以及冗余
  • 提供了一个可视化的查询控制台,你不会对它感到厌倦的
什么时候不应使用Neo4j?
  • 记录大量基于事件的数据(例如日志条目或传感器数据)
  • 对大规模分布式数据进行处理,类似于Hadoop
  • 二进制数据存储
  • 适合于保存在关系型数据库中的结构化数据

results matching ""

    No results matching ""