Đặt vấn đề và lý do chọn đề tài Chúng ta đang ở trong thời đại bùng nổ thông tin. Dữ liệu đang gia tăng rất lớn trong các lĩnh vực khác nhau. Đơn cử về Facebook, cứ 60 giây thì có 510.000 nhận xét được đăng, 293.000 trạng thái được cập nhật và 136.000 ảnh được tải lên (zephoria. Dưới sự gia tăng bùng nổ của dữ liệu toàn cầu, thuật ngữ Big Data được sử dụng chủ yếu để mô tả tập hợp dữ liệu có kích thước rất lớn, khả năng phát triển nhanh, không thể thu thập, quản lý và xử lý bởi các công cụ phần mềm/phần cứng truyền thống.
So với các tập dữ liệu truyền thống, Big Data thường bao gồm các khối dữ liệu phi cấu trúc1 cần phân tích tức thời. Big Data mang lại những cơ hội để khám phá những giá trị mới, giúp chúng ta hiểu biết sâu sắc về các giá trị tiềm ẩn của dữ liệu và cũng phải gánh chịu những thách thức mới. Ví dụ, làm thế nào để tổ chức, quản lý và xử lý Big Data hiệu quả. Big Data là một lĩnh vực mới, đang phát triển và đầy tiềm năng.
Theo báo cáo mới nhất của tổ chức MarketsandMarkets, thị trường Big Data dự kiến sẽ tăng từ 28,65 tỷ USD trong năm 2016 lên 66,79 tỷ USD vào năm 2021, với tốc độ tăng trưởng hàng năm (Compound Annual Growth Rate - CAGR) là 18,45% (marketsandmarkets. Mặt khác, sự phát triển nhanh chóng của Internet, mạng xã hội, báo điện tử… làm cho mối liên hệ giữa các thực thể dữ liệu trở nên phức tạp đến nổi không thể tổ chức hiệu quả trên các hệ cơ sở dữ liệu quan hệ (RDBMS) phổ biến hiện tại. Ví dụ, mối quan hệ bạn bè trên mạng xã hội Facebook, như trong Hình 1.1, rất phức tạp và không thể tổ chức 1 Có thể chia dữ liệu thành 3 loại: 1. Có cấu trúc: như cơ sở dữ liệu quan hệ.
Bán cấu trúc: như tài liệu XML, JSON. Phi cấu trúc: như file văn bản, hình ảnh, âm thanh, video, … Tieu luan -2- hiệu quả trên các hệ cơ sở dữ liệu quan hệ. Để giải quyết thách thức của việc tổ chức, lưu trữ và truy vấn những dữ liệu như vậy nhiều hệ quản trị cơ sở dữ liệu NoSql (Not only Sql) ra đời (Eric Redmond, Jim R. Các hệ quản trị cơ sở dữ liệu NoSql được chia thành 4 loại: 1.
Key-Value Stores. Ví dụ: Amazon DynamoDB, Voldemort, Tokyo. Ví dụ: Bigtable, Hbase, Cassandra. Ví dụ: CouchDB, MongoDB.
Ví dụ: Neo4J, OrientDB.1 – Mối quan hệ bạn bè trên mạng xã hội Facebook. (Nguồn: http://mathematica.com/) Trong đó, loại Graph Databases – cơ sở dữ liệu đồ thị, chuyên dùng để tổ chức, lưu trữ và truy vấn dữ liệu có dạng đồ thị, có tốc độ phổ biến nhanh nhất. Theo thống kê Tieu luan -3- của DB-Engines, đến tháng 01/2015, cơ sở dữ liệu quan hệ không tăng, các loại cơ sở dữ liệu NoSql đều tăng, đặc biệt cơ sở dữ liệu đồ thị đã gia tăng độ phổ biến hơn 5 lần kể từ tháng 01/2013 như trong Hình 1.2 – Sự phát triển của các loại cơ sở dữ liệu từ tháng 01/2013 – 05/2015 (Nguồn: http://db-engines.com/en/blog_post//43) Các mối quan hệ phức tạp giữa các thực thể dữ liệu, như quan hệ bạn bè trên Facebook, trước kia không thể xử lý hiệu quả trên loại cơ sở dữ liệu quan hệ thì nay tổ chức dễ dàng và xử lý hiệu quả trên loại cơ sở dữ liệu đồ thị như Neo4J hoặc OrientDB.1 so sánh hiệu quả khi tìm kiếm bạn bè giữa RDBMS, hệ quản trị cơ sở dữ liệu quan hệ, và Neo4J. Depth2 có nghĩa là tìm bạn của bạn, Depth3 có nghĩa là tìm bạn của bạn của bạn… Trong các trường hợp, thời gian thực thi của Neo4J đều nhanh hơn RDBMS.
Đặc biệt, khi Depth = 5 thì RDBMS không thể hoàn thành trong khi Neo4J cho kết quả rất ấn tượng chỉ 2,132 giây! Có thể nói, Big Data và Graph Databases là hai nội dung nghiên cứu mới, hấp dẫn và đầy tiềm năng. Tuy nhiên, qua thông tin trên Internet, tại Việt Nam việc ứng dụng và khai thác Big Data cũng như Graph Databases còn còn khá mới mẻ và chưa đúng với tiềm năng và tầm quan trọng của nó. Nhiều doanh nghiệp Việt Nam đang nắm trong tay Tieu luan -4- nguồn Big Data nhưng chưa biết cách khai thác đúng mức. Vì vậy chọn một đề tài để có thể nghiên cứu và ứng dụng được cả hai kỹ thuật trên là điều cấp thiết.
Đó là lý do tôi chọn đề tài “TÌM TẦM ẢNH HƯỞNG CỦA BÀI BÁO KHOA HỌC TRONG MẠNG TRÍCH DẪN”2. Với đề tài này tôi có thể: Dùng kỹ thuật Graph Databases để tổ chức, lưu trữ và truy vấn mạng trích dẫn do bản chất của mạng trích dẫn là một đồ thị. Dùng kỹ thuật Big Data để phân tích và xử lý mạng trích dẫn do mạng trích dẫn thực nghiệm trong đề tài này khá lớn.1 – So sánh hiệu quả khi tìm kiếm bạn bè trong RDBMS và Neo4J (Nguồn: http://bitnine.net/rdbms-vs-graph-db/?ckattempt=1) RDBMS Neo4J Depth Records returned execution time(s) execution time(s) 2 0. Mục tiêu của đề tài 1.
Mục tiêu tổng quát Mục tiêu tổng quát của đề tài là nghiên cứu, ứng dụng Big Data và cơ sở dữ liệu đồ thị để bắt kịp xu hướng của thế giới trong việc khai thác, ứng dụng chúng trong thực tiễn. 2 Những khái niệm liên quan đến đề tài như: mạng trích dẫn, tầm ảnh hưởng. sẽ được trình bày chi tiết ở Chương 2. Mục tiêu cụ thể Mục tiêu cụ thể của đề tài là xây dựng hệ thống Citation Network Explorer (CNE) để tìm tầm ảnh hưởng của bài báo khoa học trong mạng trích dẫn.
Cụ thể, hệ thống CNE bao gồm các chức năng sau: 1. Tải cơ sở dữ liệu đồ thị vào hệ thống xử lý Big Data. Biểu diễn trực quan đồ thị. Tính PageRank cho các đỉnh trên đồ thị.
Tìm tầm ảnh hưởng của một bài báo. Tìm bài báo có tầm ảnh hưởng nhiều nhất. Tìm thành phần liên thông chứa một bài báo. Xác định độ lan tỏa của một bài báo theo thời gian.
Nội dung nghiên cứu Để thực hiện đề tài, những nghiên cứu sau đây cần được thực hiện: 1. Nghiên cứu cách thu thập dữ liệu bài báo khoa học và xây dựng mạng trích dẫn. Nghiên cứu về mạng trích dẫn và các thuật toán xác định tầm ảnh hưởng của bài báo trong mạng trích dẫn. Nghiên cứu về cơ sở dữ liệu đồ thị, OrientDB và các nền tảng biểu diễn trực quan đồ thị.
Nghiên cứu về Big Data, Apache Spark, GraphX, ngôn ngữ lập trình Scala. Xây dựng hệ thống Citation Network Explorer để khai thác mạng trích dẫn các bài báo khoa học. Nghiên cứu cách triển khai hệ thống trên Apache Spark Cluster gồm nhiều máy tính. Các phương pháp nghiên cứu 1.
Phương pháp tổng luận Nghiên cứu tổng luận về Big Data, cơ sở dữ liệu đồ thị, Scala. Nghiên cứu này giúp tìm hiểu những gì trên thế giới đã thực hiện, chưa thực hiện và các vấn đề mở có liên quan đến những nội dung trên. Phương pháp so sánh Để thực hiện dự án cần phải chọn lựa hệ quản trị cơ sở dữ liệu đồ thị, ngôn ngữ lập trình, hệ điều hành, … Do đó cần phải tiến hành so sánh các hệ quản trị cơ sở dữ liệu đồ thị, các ngôn ngữ lập trình, các hệ điều hành phù hợp với đề tài. Phương pháp nghiên cứu tính khả thi Trước khi thực hiện đề tài cần phải nghiên cứu tính khả thi của đề tài về: công nghệ, kinh tế, pháp lý, tiến độ công việc, … Qua nghiên cứu lý thuyết sơ bộ và thực hiện các thực nghiệm cơ bản thì đề tài này hoàn toàn khả thi.
Phương pháp nghiên cứu mô phỏng Để xử lý Big Data thực sự cần phải có Server Cluster đủ mạnh gồm nhiều server có cấu hình cao. Do điều kiện trang thiết bị hạn chế nên đề tài này chỉ thực hiện trên ba máy tính thông thường. Điều này có ảnh hưởng đến tốc độ xử lý cũng như qui mô dữ liệu được xử lý nhưng không làm thay đổi bản chất của bài toán. Phương pháp phân tích và thiết kế thuật toán Do yêu cầu của đề tài gồm những nội dung như: 1.
Tổ chức dữ liệu thô thành cơ sở dữ liệu đồ thị. Tìm tầm ảnh hưởng của một bài báo. Tìm bài báo có tầm ảnh hưởng nhiều nhất. Xác định độ lan tỏa của một bài báo theo thời gian.
Biểu diễn trực quan đồ thị… Tieu luan -7- Để giải quyết mỗi yêu cầu tôi cần phải phân tích, áp dụng thuật toán phù hợp cũng như thiết kế các thuật toán mới. Ví dụ: hiện có nhiều phương pháp xác định tầm ảnh hưởng của một bài báo, do đó cần phải phân tích các phương pháp cũng như thuật toán xác định tầm ảnh hưởng để chọn lựa phương pháp phù hợp nhất để có thể cải tiến và áp dụng nó. Đóng góp của đề tài Big Data và cơ sở dữ liệu đồ thị là hai nội dung nghiên cứu mới và nhiều tiềm năng. Chính vì vậy đề tài này tập trung nghiên cứu về Big Data và cơ sở dữ liệu đồ thị với mong muốn đóng góp một phần công sức của mình vào sự phát triển khoa học kỹ thuật của Việt Nam.
Cụ thể đề tài này triển khai những kỹ thuật mới như sau: Sử dụng cơ sở dữ liệu đồ thị, cụ thể là OrientDB, để tổ chức, lưu trữ mạng trích dẫn các bài báo khoa học. Dùng nền tảng Apache Spark để khai thác Big Data, cụ thể là sử dụng GraphX để phân tích mạng trích dẫn. Dùng ngôn ngữ lập trình Scala kết hợp với Play Framework để xây dựng hệ thống. Dùng thư viện VisJs để biểu diễn trực quan mạng trích dẫn.
Các công cụ và công trình nghiên cứu tiêu biểu có liên quan đến đề tài 1. Các công cụ phân tích mạng trích dẫn 1. CitNetExplorer CitNetExplorer là một công cụ dùng để biểu diễn trực quan và phân tích mạng trích dẫn các ấn phẩm khoa học của Leiden University, Hà Lan. Công cụ này cho phép nhập trực tiếp các mạng trích dẫn từ website cơ sở dữ liệu khoa học.
Mạng trích dẫn có thể được khám phá theo cách tương tác, ví dụ bằng cách khai thác mạng chuyên sâu và Tieu luan -8- bằng cách xác định các nhóm các ấn phẩm có liên quan chặt chẽ. VOSviewer VOSviewer là một công cụ dùng để xây dựng và biểu diễn trực quan mạng đánh giá ấn phẩm khoa học (bibliometric networks) của Leiden University, Hà Lan. Các mạng này có thể bao gồm các tạp chí, các nhà nghiên cứu, hoặc các ấn phẩm riêng biệt; và chúng được xây dựng dựa trên quan hệ đồng trích dẫn, đồng tác giả.