SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Introduction to
          Graph Databases
                  &
                Neo4j

@Tuanbq
Nội dung chính
Các phần chính
1.   Graph Database
Các phần chính
1.   Graph Database

2.   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

Weitere ähnliche Inhalte

Was ist angesagt?

Hệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đấtHệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đấtKali Back Tracker
 
Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánduysu
 
Bài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTITBài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTITNguynMinh294
 
Bài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmBài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmHoài Phạm
 
Naming - Định danh trong các hệ thống phân tán
Naming - Định danh trong các hệ thống phân tánNaming - Định danh trong các hệ thống phân tán
Naming - Định danh trong các hệ thống phân tánPhan Khanh Toan
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựleemindinh
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngNguyễn Danh Thanh
 
Bài tập công nghệ phần mềm
Bài tập công nghệ phần mềmBài tập công nghệ phần mềm
Bài tập công nghệ phần mềmLượng Võ Đại
 
Bài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuBài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuMasterCode.vn
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTMasterCode.vn
 
Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánduysu
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tánduysu
 
Đề tài: Tìm hiểu và triển khai quản trị mạng trên Ubuntu Server, 9đ - Gửi miễ...
Đề tài: Tìm hiểu và triển khai quản trị mạng trên Ubuntu Server, 9đ - Gửi miễ...Đề tài: Tìm hiểu và triển khai quản trị mạng trên Ubuntu Server, 9đ - Gửi miễ...
Đề tài: Tìm hiểu và triển khai quản trị mạng trên Ubuntu Server, 9đ - Gửi miễ...Dịch vụ viết bài trọn gói ZALO: 0909232620
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýMasterCode.vn
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerBình Tân Phú
 
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhBáo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhnataliej4
 
Tìm hiểu về mongodb
Tìm hiểu về mongodbTìm hiểu về mongodb
Tìm hiểu về mongodbvuphong93
 

Was ist angesagt? (20)

Hệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đấtHệ thống thông tin quản lý-website tin tức nhà đất
Hệ thống thông tin quản lý-website tin tức nhà đất
 
Chuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tánChuong 2 - CSDL phân tán
Chuong 2 - CSDL phân tán
 
Bài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTITBài giảng công nghệ phần mềm PTIT
Bài giảng công nghệ phần mềm PTIT
 
Bài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần MềmBài giảng Công Nghệ Phần Mềm
Bài giảng Công Nghệ Phần Mềm
 
Naming - Định danh trong các hệ thống phân tán
Naming - Định danh trong các hệ thống phân tánNaming - Định danh trong các hệ thống phân tán
Naming - Định danh trong các hệ thống phân tán
 
Thiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sựThiết kế csdl quản lý nhân sự
Thiết kế csdl quản lý nhân sự
 
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di độngPhân tích thiết kế hệ thống của hàng bán điện thoại di động
Phân tích thiết kế hệ thống của hàng bán điện thoại di động
 
Bài tập công nghệ phần mềm
Bài tập công nghệ phần mềmBài tập công nghệ phần mềm
Bài tập công nghệ phần mềm
 
Bài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệuBài 5: Chuẩn hóa cơ sở dữ liệu
Bài 5: Chuẩn hóa cơ sở dữ liệu
 
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPTBài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
Bài 2: Các khái niệm trong CSDL quan hệ - Giáo trình FPT
 
Chuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tánChuong 1 - CSDL phân tán
Chuong 1 - CSDL phân tán
 
Chuong 3- CSDL phân tán
Chuong 3- CSDL phân tánChuong 3- CSDL phân tán
Chuong 3- CSDL phân tán
 
Đề tài: Tìm hiểu và triển khai quản trị mạng trên Ubuntu Server, 9đ - Gửi miễ...
Đề tài: Tìm hiểu và triển khai quản trị mạng trên Ubuntu Server, 9đ - Gửi miễ...Đề tài: Tìm hiểu và triển khai quản trị mạng trên Ubuntu Server, 9đ - Gửi miễ...
Đề tài: Tìm hiểu và triển khai quản trị mạng trên Ubuntu Server, 9đ - Gửi miễ...
 
Bài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lýBài 7: Thiết kế cơ sở dữ liệu vật lý
Bài 7: Thiết kế cơ sở dữ liệu vật lý
 
Hướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracerHướng dẫn sử dụng phần mềm packet tracer
Hướng dẫn sử dụng phần mềm packet tracer
 
Luận văn: Xây dựng website quản lý nhà hàng, HOT
Luận văn: Xây dựng website quản lý nhà hàng, HOTLuận văn: Xây dựng website quản lý nhà hàng, HOT
Luận văn: Xây dựng website quản lý nhà hàng, HOT
 
Do hoa may tinh
Do hoa may tinhDo hoa may tinh
Do hoa may tinh
 
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minhBáo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
Báo cáo đồ án tôt nghiệp: Xây dựng Website bán hàng thông minh
 
Đề tài: Hệ thống hỗ trợ đăng ký đề tài nghiên cứu khoa học trên web
Đề tài: Hệ thống hỗ trợ đăng ký đề tài nghiên cứu khoa học trên webĐề tài: Hệ thống hỗ trợ đăng ký đề tài nghiên cứu khoa học trên web
Đề tài: Hệ thống hỗ trợ đăng ký đề tài nghiên cứu khoa học trên web
 
Tìm hiểu về mongodb
Tìm hiểu về mongodbTìm hiểu về mongodb
Tìm hiểu về mongodb
 

Ähnlich wie Neo4j

bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptHungHuyNguyen3
 
Giải pháp xử lý big data trên apache spark
Giải pháp xử lý big data trên apache sparkGiải pháp xử lý big data trên apache spark
Giải pháp xử lý big data trên apache sparkLinh Ngoc
 
Chuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdlChuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdlHuy Feng
 
Semantic web
Semantic webSemantic web
Semantic webDuyen Do
 
MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptxDuyThnh28
 
Chuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfChuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfCriz20
 
Trends in data warehousing
Trends in data warehousingTrends in data warehousing
Trends in data warehousingA P
 
MongoDB Introduction
MongoDB IntroductionMongoDB Introduction
MongoDB Introductionthanh can
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việcmanhvokiem
 
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớn
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớnHadoop - Hệ thống tính toán và xử lý dữ liệu lớn
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớnThành Thư Thái
 
Hệ quản trị cơ sở dữ liệu phạm gia tiến[bookbooming.com]
Hệ quản trị cơ sở dữ liệu   phạm gia tiến[bookbooming.com]Hệ quản trị cơ sở dữ liệu   phạm gia tiến[bookbooming.com]
Hệ quản trị cơ sở dữ liệu phạm gia tiến[bookbooming.com]bookbooming1
 
Software Stack là gì.pdf
Software Stack là gì.pdfSoftware Stack là gì.pdf
Software Stack là gì.pdfGrowup Work
 
Nhom 16 big data
Nhom 16 big dataNhom 16 big data
Nhom 16 big dataDuy Phan
 
01-Gioithieu.pdf
01-Gioithieu.pdf01-Gioithieu.pdf
01-Gioithieu.pdfDngKen1
 
ERD - Database Design
ERD - Database DesignERD - Database Design
ERD - Database Designyht4ever
 
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)Truong Ho
 

Ähnlich wie Neo4j (20)

bai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.pptbai giang mon sql- buoi 1.ppt
bai giang mon sql- buoi 1.ppt
 
Trongtruong so27a 09
Trongtruong so27a 09Trongtruong so27a 09
Trongtruong so27a 09
 
Giải pháp xử lý big data trên apache spark
Giải pháp xử lý big data trên apache sparkGiải pháp xử lý big data trên apache spark
Giải pháp xử lý big data trên apache spark
 
Chuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdlChuong 1 tong_quan_ve_csdl
Chuong 1 tong_quan_ve_csdl
 
Semantic web
Semantic webSemantic web
Semantic web
 
MongoDB.pptx
MongoDB.pptxMongoDB.pptx
MongoDB.pptx
 
Data Warehouse
Data WarehouseData Warehouse
Data Warehouse
 
Chuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdfChuong 1_Gioo thieu DB.pdf
Chuong 1_Gioo thieu DB.pdf
 
Trends in data warehousing
Trends in data warehousingTrends in data warehousing
Trends in data warehousing
 
MongoDB Introduction
MongoDB IntroductionMongoDB Introduction
MongoDB Introduction
 
Kiến thức cần thiết làm việc
Kiến thức cần thiết làm việcKiến thức cần thiết làm việc
Kiến thức cần thiết làm việc
 
01 tong-quan-ado
01 tong-quan-ado01 tong-quan-ado
01 tong-quan-ado
 
1.OOP Introduction (1).pptx
1.OOP Introduction (1).pptx1.OOP Introduction (1).pptx
1.OOP Introduction (1).pptx
 
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớn
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớnHadoop - Hệ thống tính toán và xử lý dữ liệu lớn
Hadoop - Hệ thống tính toán và xử lý dữ liệu lớn
 
Hệ quản trị cơ sở dữ liệu phạm gia tiến[bookbooming.com]
Hệ quản trị cơ sở dữ liệu   phạm gia tiến[bookbooming.com]Hệ quản trị cơ sở dữ liệu   phạm gia tiến[bookbooming.com]
Hệ quản trị cơ sở dữ liệu phạm gia tiến[bookbooming.com]
 
Software Stack là gì.pdf
Software Stack là gì.pdfSoftware Stack là gì.pdf
Software Stack là gì.pdf
 
Nhom 16 big data
Nhom 16 big dataNhom 16 big data
Nhom 16 big data
 
01-Gioithieu.pdf
01-Gioithieu.pdf01-Gioithieu.pdf
01-Gioithieu.pdf
 
ERD - Database Design
ERD - Database DesignERD - Database Design
ERD - Database Design
 
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
Dữ liệu không gian trên SQL Server - (Spatial Data in SQL Server)
 

Neo4j

  • 1. Introduction to Graph Databases & Neo4j @Tuanbq
  • 3. Các phần chính 1. Graph Database
  • 4. Các phần chính 1. Graph Database 2. Neo4j
  • 6. Q: Graph tốt cho cái gì? A: Tính kết nối dữ liệu cao
  • 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. 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. Xu hướng trong những dữ liệu lớn và NoSQL
  • 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. 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. 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. 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
  • 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. Đ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. Đ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. 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. Đ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. Đ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. 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. Đ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. Đ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. 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. in a NOSQL World
  • 26. in a NOSQL World
  • 27. in a NOSQL World
  • 28. in a NOSQL World
  • 29. in a NOSQL World
  • 30. in a NOSQL World
  • 31. in a NOSQL World
  • 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. Đ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. Các mô hình Graph nổi tiếng
  • 36. So sánh với RDBMS
  • 37. Query a graph with a traversal
  • 38. Query a graph with a traversal
  • 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
  • 42. NEO4J - the Graph Database
  • 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. 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)
  • 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. Neo4j Web-Admin  Dashboard tab
  • 49. Neo4j Web-Admin  The Server Info tab
  • 51.