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 t...
   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 w...
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 w...
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 w...
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 w...
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...
Đ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 ...
Đ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 ...
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í...
Đ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 (colu...
Đ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 (colu...
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...
Đ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...
Đ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...
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,...
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...
Đ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...
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,...
Cypher
NEO4J - the Graph Database
Background of Neo4j   2001 - Windh Technologies, a media asset management company    •CTO Peter with Emil, Johan prototyp...
Neo4j is a Graph Database   A Graph Database:    • a Property Graph with Nodes, Relationships    and Properties on both  ...
Neo4j language support
Neo4j Store   A rough formula to calculate the    memory needed for the nodes:    number_of_nodes * 9 bytes    and for re...
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
Neo4j
Upcoming SlideShare
Loading in …5
×

Neo4j

1,212 views

Published on

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

1 Comment
3 Likes
Statistics
Notes
No Downloads
Views
Total views
1,212
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
66
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

Neo4j

  1. 1. Introduction to Graph Databases & Neo4j@Tuanbq
  2. 2. Nội dung chính
  3. 3. Các phần chính1. Graph Database
  4. 4. Các phần chính1. Graph Database2. Neo4j
  5. 5. Graph Database
  6. 6. Q: Graph tốt cho cái gì?A: Tính kết nối dữ liệu cao
  7. 7. 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ệ
  8. 8.  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
  9. 9. Xu hướng trong những dữ liệu lớn và NoSQL
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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
  14. 14. Những loại NoSQL
  15. 15. 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
  16. 16. Đ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
  17. 17. Đ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
  18. 18. 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
  19. 19. Đ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
  20. 20. Đ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
  21. 21. 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
  22. 22. Đ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)
  23. 23. Đ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
  24. 24. 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
  25. 25. in a NOSQL World
  26. 26. in a NOSQL World
  27. 27. in a NOSQL World
  28. 28. in a NOSQL World
  29. 29. in a NOSQL World
  30. 30. in a NOSQL World
  31. 31. in a NOSQL World
  32. 32. Đ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
  33. 33. Đ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?)
  34. 34. Các mô hình Graph nổi tiếng
  35. 35. Đặc tính Graph-DB
  36. 36. So sánh với RDBMS
  37. 37. Query a graph with a traversal
  38. 38. Query a graph with a traversal
  39. 39. Cypher
  40. 40. 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
  41. 41. Cypher
  42. 42. NEO4J - the Graph Database
  43. 43. 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
  44. 44. 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)
  45. 45. Neo4j language support
  46. 46. 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.
  47. 47. Neo4j Web-Admin Dashboard tab
  48. 48. Neo4j Web-Admin Data tab
  49. 49. Neo4j Web-Admin The Server Info tab
  50. 50. A examples about Neo4j
  51. 51. Thank you!http://neo4j.oss.vn

×