Đề cương khóa học

Giới thiệu

  • Cơ sở dữ liệu và thư viện đồ thị

Hiểu Dữ liệu Đồ thị

  • Đồ thị như một cấu trúc dữ liệu
  • Sử dụng các đỉnh (chấm) và cạnh (đường) để mô hình hóa các tình huống thực tế

Sử dụng Graph Databases để Mô hình hóa, Lưu trữ và Xử lý Dữ liệu Đồ thị

  • Thuật toán/duyệt đồ thị cục bộ
  • neo4j, OrientDB và Titan

Bài tập: Mô hình hóa Dữ liệu Đồ thị với neo4j

  • Mô hình hóa dữ liệu trên bảng trắng

Vượt xa Graph Databases: Graph Computing

  • Hiểu đồ thị thuộc tính
  • Mô hình hóa đồ thị các tình huống khác nhau (đồ thị phần mềm, đồ thị thảo luận, đồ thị khái niệm)

Giải quyết các Vấn đề Thực tế với Duyệt

  • Thuật toán/duyệt có hướng trên đồ thị
  • Xác định các phụ thuộc tuần hoàn

Nghiên cứu Tình huống: Xếp hạng Người đóng góp Thảo luận

  • Xếp hạng theo số lượng và độ sâu của các cuộc thảo luận đóng góp
  • Lưu ý về phân tích tình cảm và khái niệm

Graph Computing: Bộ công cụ Đồ thị cục bộ, Trong bộ nhớ

  • Phân tích và trực quan hóa đồ thị
  • JUNG, NetworkX và iGraph

Bài tập: Mô hình hóa Dữ liệu Đồ thị với NetworkX

  • Sử dụng NetworkX để mô hình hóa một hệ thống phức tạp

Graph Computing: Khung Xử lý Đồ thị Hàng loạt

  • Tận dụng Hadoop để lưu trữ (HDFS) và xử lý (MapReduce)
  • Tổng quan về các thuật toán lặp
  • Hama, Giraph và GraphLab

Graph Computing: Tính toán Song song Đồ thị

  • Thống nhất ETL, phân tích thăm dò và tính toán đồ thị lặp trong một hệ thống duy nhất
  • GraphX

Thiết lập và Cài đặt

  • Hadoop và Spark

GraphX Toán tử

  • Thuộc tính, cấu trúc, kết nối, tổng hợp lân cận, bộ nhớ đệm và hủy bộ nhớ đệm

Lặp với API Pregel

  • Truyền các đối số để gửi, nhận và tính toán

Xây dựng Đồ thị

  • Sử dụng các đỉnh và cạnh trong RDD hoặc trên đĩa

Thiết kế các Thuật toán Scalable

  • Tối ưu hóa GraphX

Accessing Các Thuật toán Bổ sung

  • PageRank, Connected Components, Triangle Counting

Bài tập: Page Rank và Người dùng Hàng đầu

  • Xây dựng và xử lý dữ liệu đồ thị bằng các tệp văn bản làm đầu vào

Triển khai vào Sản xuất

Lời Kết

Requirements

  • Hiểu biết về lập trình và các framework Java
  • Một sự hiểu biết chung về Python là hữu ích nhưng không bắt buộc
  • Một sự hiểu biết chung về các khái niệm cơ sở dữ liệu

Đối tượng

  • Các nhà phát triển
 28 Hours

Number of participants


Price per participant

Testimonials (2)

Provisional Upcoming Courses (Require 5+ participants)

Related Categories