Neo4j
Upcoming SlideShare
Loading in...5
×
 

Neo4j

on

  • 847 views

Slide Neo4j tại Ngày hội Phần mềm Tự do Nguồn mở năm 2012

Slide Neo4j tại Ngày hội Phần mềm Tự do Nguồn mở năm 2012

Statistics

Views

Total Views
847
Views on SlideShare
847
Embed Views
0

Actions

Likes
2
Downloads
26
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Neo4j Neo4j Presentation Transcript

  • Introduction to Graph Databases & Neo4j@Tuanbq
  • Nội dung chính
  • Các phần chính1. Graph Database
  • Các phần chính1. Graph Database2. Neo4j
  • Graph Database
  • Q: Graph tốt cho cái gì?A: Tính kết nối dữ liệu cao
  • Q: Graph tốt cho cái gì?A: Tính kết nối dữ liệu cao Giới thiệu, gợi ý(Recommendations) Kinh doanh thông minh(BI) Điện toán xã hội(Social computing) Không gian địa lý(Geospatial) Quản lý dữ liệu tổng thể(MDM) Quản lý hệ thống Tính phả hệ
  •  Các trường hợp sử dụng thực tế:• A - Access Control List• B - Những khuyến nghị kịp thời• C - Hợp tác toàn cầu
  • Xu hướng trong những dữ liệu lớn và NoSQL
  • Xu hướng trong những dữ liệu lớn và NoSQL Tăng kích thước dữ liệu (dữ liệu lớn) “Every two days now we create as much information as we did from the dawn of civilization up until 2003” - Eric Schmidt
  • Xu hướng trong những dữ liệu lớn và NoSQL Tăng kích thước dữ liệu (dữ liệu lớn) “Every two days now we create as much information as we did from the dawn of civilization up until 2003” - Eric Schmidt Kết nối dữ liệu ngày càng tăng(graph data) ví dụ như text document tới HTML D
  • Xu hướng trong những dữ liệu lớn và NoSQL Tăng kích thước dữ liệu (dữ liệu lớn) “Every two days now we create as much information as we did from the dawn of civilization up until 2003” - Eric Schmidt Kết nối dữ liệu ngày càng tăng(graph data) ví dụ như text document tới HTML D Dữ liệu bán cấu trúc(semi-structured data) Cá nhân hóa dữ liệu với tập hợp con chung
  • Xu hướng trong những dữ liệu lớn và NoSQL Tăng kích thước dữ liệu (dữ liệu lớn) “Every two days now we create as much information as we did from the dawn of civilization up until 2003” - Eric Schmidt Kết nối dữ liệu ngày càng tăng(graph data) ví dụ như text document tới HTML Dữ liệu bán cấu trúc(semi-structured data) Cá nhân hóa dữ liệu với tập hợp con chung Cấu trúc – bề ngoài trên nhiều dịch vụ Từ khối tới mô đun, những ứng dụng phân tán
  • Những loại NoSQL
  • Loại Key-Value “Dynamo: Của Amazon có khả năng lưu trữ Key-Value cao” Data model -Sắp xếp toàn bộ key-value -Khả năng mở rộng HashMap lớn -Khả năng chịu lỗi cao(đặc trưng) Ví dụ: -Riak, Redis, Voldemort
  • Điểm mạnh và yếu của key-value Điểm mạnh -Mô hình dữ liệu đơn giản -Rất thích hợp cho việc nhân rộng theo chiều ngang -Khả năng mở rộng -Luôn sẵn sàng để dùng
  • Điểm mạnh và yếu của key-value Điểm mạnh -Mô hình dữ liệu đơn giản -Rất thích hợp cho việc nhân rộng theo chiều ngang -Khả năng mở rộng -Luôn sẵn sàng để dùng Điểm yếu -Mô hình dữ liệu đơn giản -Yếu cho những dữ liệu phức tạp
  • Loại Column-Family Google "Bigtable: Một hệ thống lưu trữ phân tán cho cấu trúc Dữ liệu “ -Column-Family là nhân tố chính nhái Bigtable Data model -Một bảng lớn với nhiều cột -Map-reduce for querying/processing Ví dụ: -HBase, HyperTable, Cassandra
  • Điểm mạnh và yếu của Column-Family Điểm mạnh -Mô hình dữ liệu hỗ trợ các dữ liệu bán cấu trúc -Naturally indexed (columns) -Tốt tại nhân rộng ra theo chiều ngang
  • Điểm mạnh và yếu của Column-Family Điểm mạnh -Mô hình dữ liệu hỗ trợ các dữ liệu bán cấu trúc -Naturally indexed (columns) -Tốt tại nhân rộng ra theo chiều ngang Điểm yếu -Không phù hợp cho các dữ liệu kết nối với nhau
  • Loại Document Database Data model -Tập hợp của các tài liệu -Một Document là tập hợp của các key-value -Index trung tâm có rất nhiều map- reduce Ví dụ: -CouchDB, MongoDB
  • Điểm mạnh và yếu của Document-DB Điểm mạnh -Đơn giản, mô hình dữ liệu mạnh mẽ(Giống như SVN) -Good scale (Đặc biệt nếu được hỗ trợ sharding)
  • Điểm mạnh và yếu của Document-DB Điểm mạnh -Đơn giản, mô hình dữ liệu mạnh mẽ(Giống như SVN) -Good scale (Đặc biệt nếu được hỗ trợ sharding) Điểm yếu -Không phù hợp cho các dữ liệu kết nối với nhau -Query model limited to keys (và indexes) -Map-reduce cho những truy vấn lớn
  • Loại Graph Database Data model -Nodes & Relationships -Hypergraph(nhiều cạnh với nhiều điểm đầu cuối) Ví dụ: -Neo4j, OrientDB, InfiniteGraph, AllegroGraph
  • in a NOSQL World
  • in a NOSQL World
  • in a NOSQL World
  • in a NOSQL World
  • in a NOSQL World
  • in a NOSQL World
  • in a NOSQL World
  • Điểm mạnh và yếu của Graph-DB Điểm mạnh -Mô hình dữ liệu mạnh mẽ, tổng quát như RDBMS -Kết nối dữ liệu nhanh -Dễ dàng truy vấn
  • Điểm mạnh và yếu của Graph-DB Điểm mạnh -Mô hình dữ liệu mạnh mẽ, tổng quát như RDBMS -Kết nối dữ liệu nhanh -Dễ dàng truy vấn Điểm yếu -sharding(Mặc dù có thể mở rộng được, cần tiếp tục theo dõi) -Yêu cầu thay đổi khái niệm(làm sao để mọi người yêu thích đồ thị hơn?)
  • Các mô hình Graph nổi tiếng
  • Đặc tính Graph-DB
  • So sánh với RDBMS
  • Query a graph with a traversal
  • Query a graph with a traversal
  • Cypher
  • Cypher A pattern-matching query language Khai báo ngữ pháp với các điều kiện (giống như SQL) Tập hợp, sắp xếp, giới hạn Các kết quả xếp thành bảng
  • Cypher
  • NEO4J - the Graph Database
  • Background of Neo4j 2001 - Windh Technologies, a media asset management company •CTO Peter with Emil, Johan prototyped a proper graph interface •first SQL-backed, then revised as a full-stack implementation •(just like Amazon-Dynamo, Facebook-Cassandra) 2003 Neo4j went into 24/7 production 2006-2007 - Neo4j was spun off as an open source project 2009 seed funding for the company 2010 Neo4j Server was created (previously only an embedded DB) 2011 Fully funded silicon valley start-up - Neo Technology
  • Neo4j is a Graph Database A Graph Database: • a Property Graph with Nodes, Relationships and Properties on both • perfect for complex, highly connected data • reliable with real ACID Transactions • Scalable: 32 Billion Nodes, 32 Billion Relationships, 64 Billion Properties • Server with REST API, or Embeddable on the JVM • High-performance with High-Availability (read scaling)
  • Neo4j language support
  • Neo4j Store A rough formula to calculate the memory needed for the nodes: number_of_nodes * 9 bytes and for relationships: number_of_relationships * 33 bytes A graph database containing 9,006,704 nodes (pages, titles only) and 82,537,500 relationships (links). The whole database takes up 3.8G on disc.
  • Neo4j Web-Admin Dashboard tab
  • Neo4j Web-Admin Data tab
  • Neo4j Web-Admin The Server Info tab
  • A examples about Neo4j
  • Thank you!http://neo4j.oss.vn