1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng cơ sở dữ liệu song song trong xử lý dữ liệu cuộc gọi

11 443 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 528,77 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 1: Giới thiệu đề tài 1.1 Giới thiệu Tên đề tài luận văn: “Ứng dụng cơ sở dữ liệu song song trong xử lý số liệu cuộc gọi.” Sơ lược: Trong đề tài này, tôi sẽ thực hiện tìm hiểu về

Trang 1

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

TRẦN XUÂN HIẾU

ỨNG DỤNG CƠ SỞ DỮ LIỆU SONG SONG TRONG XỬ LÝ DỮ LIỆU

CUỘC GỌI

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội - 2016

Trang 2

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

TRẦN XUÂN HIẾU

ỨNG DỤNG SƠ DỞ DỮ LIỆU SONG SONG TRONG XỬ LÝ DỮ LIỆU

CUỘC GỌI

LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS NGUYỄN HẢI CHÂU

NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN

Hà Nội – 2016

Trang 3

Lời cám ơn

Trước hết em xin được bày tỏ sự kính trọng, lòng biết ơn sâu sắc đến giảng viên

hướng dẫn PGS TS Nguyễn Hải Châu đã tận tình hướng dẫn, chỉ bảo cho em về

chuyên môn, truyền đạt kinh nghiệm quý báu trong suốt thời gian nghiên cứu luận văn này

Đồng thời em xin chân thành cám ơn sự giúp đỡ nhiệt tình của các Thầy Cô giáo Khoa sau Đại học – Đại học Công nghệ - Đại học Quốc Gia Hà Nội đã tạo điều kiện thuận lợi cho em hoàn thành luận văn này

Cuối cùng em xin dành sự biết ơn đến những người thân trong gia đình, bạn bè, đồng nghiệp đã động viên, khích lệ, giúp đỡ em trong suốt thời gian vừa qua

Hà Nội, ngày 21 tháng 01 năm 2016

Tác giả luận văn

Trần Xuân Hiếu

Trang 4

Cam kết

Tôi xin cam kết rằng nội dung của bản luận văn này chưa được nộp cho bất kỳ một chương trình cập bằng cao học nào cũng như bất kỳ một chương trình đào tạo cấp bằng nào khác

Tôi cũng xin cam kết thêm rằng bản luận văn này là nỗ lực cá nhân tôi Các kết quả, phân tích, kết luận trong luận văn này (ngoài các phần được trích dẫn) đều là kết quả làm việc của cá nhân tôi

Hà Nội, ngày 21 tháng 01 năm 2016

Tác giả luận văn

Trần Xuân Hiếu

Trang 5

Mục lục

Chương 1: Giới thiệu đề tài 6

1.1 Giới thiệu 6

1.2 Ngữ cảnh và lý do thực hiện đề tài 6

1.3 Nội dung luận văn 7

Chương 2: Nền tảng tính toán phân tán kết hợp giữa Oracle và Hadoop 8

2.1 Kiến trúc của Hadoop 8

2.1.1 HDFS Error! Bookmark not defined

2.1.2 Mô hình MapReduce Error! Bookmark not defined

2.2 Oracle big data connector Error! Bookmark not defined

2.2.1 Oracle Loader for Hadoop Error! Bookmark not defined

2.2.2 Oracle SQL Connector for Hadoop Distributed File System Error! Bookmark not defined

2.3 Oracle Table Function Error! Bookmark not defined

Chương 3: Thực nghiệm và kết quả Error! Bookmark not defined 3.1 Giới thiệu Error! Bookmark not defined

3.2 Phương pháp hồi quy tuyến tính Error! Bookmark not defined 3.3 Mẫu dữ liệu Error! Bookmark not defined

3.4 Mô hình triển khai Error! Bookmark not defined

3.5 Phương pháp thực hiện Error! Bookmark not defined 3.6 Đánh giá Error! Bookmark not defined 3.7 Kết luận Error! Bookmark not defined

3.7.1 Các kết quả đạt được Error! Bookmark not defined

3.7.2 Hướng phát triển Error! Bookmark not defined

Trang 6

Chương 1: Giới thiệu đề tài

1.1 Giới thiệu

Tên đề tài luận văn: “Ứng dụng cơ sở dữ liệu song song trong xử lý số liệu cuộc gọi.”

Sơ lược: Trong đề tài này, tôi sẽ thực hiện tìm hiểu về nền tảng phát triển các ứng dụng MapReduce trên framework Hadoop để phát triển các ứng dụng phân tán Sau đó, tiến hành tích hợp với Oracle, là một ứng dụng quản trị cơ sở dữ liệu, để đánh giá được tác dụng của việc ứng dụng MapReduce vào trong các truy vấn thực tế

Với đặc thù của dữ liệu cuộc gọi là số lượng rất nhiều bản ghi dẫn đến việc thực hiện các câu truy vấn đọc dữ liệu trên một tập dữ liệu lớn sẽ mất nhiều thời gian Trong khi đó kết quả của quá trình phân tích đánh giá rất cần thiết trong thời gian thực Trong cơ sở dữ liệu nói chung đã có một số biện pháp cho phép đẩy nhanh quá trình đọc dữ liệu như đánh index, khoa ngoại…Nhưng trên một tập dữ liệu lớn các biện pháp trên không khả thi Các câu truy vấn đọc dữ liệu cần được chia thành nhiều câu truy vấn nhỏ và thực hiện trên nhiều máy khác nhau Do đó cần có sự kết hợp giữa mô hình MapReduce với một hệ quản trị cơ sở dữ liệu, trong trường hợp này tôi sử dụng Oracle

1.2 Ngữ cảnh và lý do thực hiện đề tài

Với sự tiện lợi và đa dạng của loại hình dịch vụ OTT trong thời gian gần đây, đã kích thích được người sử dụng chuyển sang thoại qua sóng 3G hoặc Wifi Đây cũng là một bài toán lớn đặt ra với các nhà mạng ở Việt Nam Người dùng sử dụng dịch vụ nhiều dẫn đến phát sinh nhiều dữ liệu của cuộc gọi phục vụ cho mục đích tính cước và đối soát cước Khi khối lượng dữ liệu của hệ thống gia tăng tới một mức độ nhất định (khoảng hàng ngàn Terabyte chẳng hạn), thì việc hệ thống sẽ phải đối mặt với thách thức làm sao để lưu trữ và phân tích dữ liệu

Chúng ta không thể lưu một khối dữ liệu rất lớn lên chỉ duy nhất một đĩa cứng vì hai lý

do đơn giản Thứ nhất, đó là sự giới hạn về khả năng lưu trữ của ổ cứng Thứ hai, cho dù vượt qua được giới hạn về dung lượng, thì việc truy xuất một khối lượng dữ liệu đồ sộ như vậy một cách tuần tự (vì trên một đĩa đơn) sẽ rất mất thời gian vì giới hạn về tốc độ đọc đĩa Do vậy, bắt buộc chúng ta phải lưu trữ dữ liệu lên trên nhiều đĩa cứng thay vì chỉ một Điều này giúp cái thiện tốc độ truy xuất dữ liệu vì ta có thể tiến hành đọc/ghi một cách song song lên các đĩa

Việc lưu trữ dữ liệu phân tán lên nhiều đĩa cứng mang lại lợi thế về khả năng lưu trữ và tốc độ truy xuất dữ liệu Tuy nhiên, việc duy trì một hệ thống phân tán với nhiều đĩa cứng

đã dẫn đến một số vấn đề cần được giải quyết Đầu tiên, là vấn đề hỏng hóc phần cứng

Do dữ liệu được lưu trên nhiều phần cứng khác nhau, nên khả năng một (hay nhiều) phần cứng xảy ra hỏng hóc cũng tăng lên đáng kể Một cách giải quyết vấn đề này mà ta có thể thấy ngay, đó là lưu trữ trùng lắp các mẫu dữ liệu lên nhiều đĩa cứng khác nhau Vấn đề

Trang 7

thứ hai là việc phân tích dữ liệu đôi khi cần truy đọc dữ liệu từ nhiều đĩa cứng khác nhau Tức là dữ liệu được đọc từ một đĩa có thể cần được kết hợp với dữ liệu từ bất kỳ đĩa nào khác trên hệ thống Các hệ thống phân tán thường cho phép kết hợp dữ liệu từ nhiều nguồn khác nhau, tuy nhiên làm được điều này một cách chính xác là không dễ chút nào

Sự bùng nổ về dữ liệu đã đặt ra cho chúng ta những thách thức, thách thức về việc làm thế nào lưu trữ và xử lý tất cả dữ liệu đó Tuy nhiên, ở một mặt khác nó lại mang đến các

cơ hội, cơ hội chiếm lĩnh một nguồn thông tin khổng lồ nếu chúng ta có đủ khả năng phân tích và xử lý nguồn dữ liệu đó, biến những dữ liệu thô thành những thông tin hữu ích với một mức chi phí hợp lý

1.3 Nội dung luận văn

Luận văn gồm có 4 chương chính:

Chương 1: Giới thiệu Giới thiệu đề tài thực hiện

Chương 2: Giới thiệu nền tảng tính toán phân tán với Hadoop Trong chương này,

sẽ giới thiệu sơ lược về dự án Hadoop của Apache Software Foundation Sau đó đi sâu vào hai phần trọng tâm là HDFS và MapReduce Engine Giới thiệu kiến trúc, sức mạnh,

và cách tích hợp Oracle với Hadoop để xử lý dữ liệu theo mô hình phân tán

Chương 3: Báo cáo kết quả thực nghiệm Trong chương này sẽ trình bày các thực nghiệm và kết quả thực nghiệm Thêm vào đó là các đánh giá và kết luận về kết quả này

Chương 4: Tổng kết Chương này sẽ nêu lên các kết quả đạt được của đề tài và hướng phát triển

Trang 8

Chương 2: Nền tảng tính toán phân tán kết hợp giữa Oracle và

Hadoop

2.1 Kiến trúc của Hadoop

Hadoop có hai thành phần chính sau:

 HDFS (Hadoop Distributed File System): Hệ thống file phân tán, cung cấp khả năng lưu trữ dữ liệu khổng lồ và tính năng tối ưu hóa việc sử dụng băng thông giữa các node HDFS có thể được sử dụng để chạy trên một cluster với hàng chục nghìn node

 MapReduce: một framework giúp phát triển các ứng dụng theo mô hình

MapReduce một cách dễ dàng và mạnh mẽ, ứng dụng phân tán MapReduce có thể chạy trên một cluster với nhiều node

Ngoài hai thành phần cơ bản như trên, một dự án Hadoop có thể có các thành phần khác như trong hình vẽ:

Hình 2.1: Các thành phần của dự án Hadoop

Trang 9

 Apache Hbase: Là một cơ sở dữ liệu dạng cột HBase sử dụng HDFS làm hạ tầng cho việc lưu trữ dữ liệu bên dưới và cung cấp khả năng tính toán song song dữ trên MapReduce

 Apache Pig: Pig là một nền tảng cho việc phân tích dữ liệu lớn bao gồm một ngôn ngữ mức cao để thể hiện các chương trình phân tích dữ liệu, cùng với cơ

sở hạ tầng để đánh giá các chương trình này Đặc tính nổi bật của Pig là thực thi chương trình tính toán song song, cho phép xử lý một lượng dữ liệu lớn

 Apache hive: Hive là một hệ thống data warehouse cho Hadoop để nó có thể

dễ dàng tổng kết dữ liệu, truy vấn ad-hoc, và phân tích các bộ dữ liệu lớn được lưu trữ trong HDFS Hive hỗ trợ các truy vấn được thể hiện theo một ngôn ngữ khai báo giống như SQL, đó là HiveQL (Hive Query Language) Các truy vấn này tự động biên dịch thành các công việc MapReduce được thực hiện bằng cách sử dụng Hadoop

 Chukwa: Một hệ thống tập hợp và phân tích dữ liệu Chukwa chạy các collector (các chương trình tập hợp dữ liệu), các collector này lưu trữ dữ liệu trên HDFS và sử dụng MapReduce để phát sinh các báo cáo

 Apache Zookeeper: Là một dịch vụ tập trung để duy trì thông tin cấu hình, đặt tên,cho phép đồng bộ phân tán và cung cấp các nhóm dịch vụ rất hữu ích cho các hệ thống phân tán Hbase không thể hoạt động mà không có Zookeeper

Kiến trúc của Hadoop là kiến trúc master-slave, cả hai thành phần HDFS và

MapReduce đều tuân theo kiến trúc master-slave này Kiến trúc của một Hadoop cluster được thể hiện như hình vẽ dưới đây:

Trang 10

Hình 2.2: Kiến trúc của một Hadoop cluster Trên một Hadoop cluster có duy nhật một node chạy NameNode, một node chạy JobTracker (NameNode và JobTracker có thể nằm cùng trên một máy vật lý, tuy nhiên trên các cluster thật sự với hàng trăm nghìn node thì thường phải tách riêng NameNode và JobTracker ra các máy vật lý khác nhau) Hadoop cluster có nhiều slave, mỗi slave thường đóng hai vai trò: DataNode và TaskTracker

 NameNode: đóng vai trò là master của hệ thống HDFS, quản lý các metadata của hệ thống HDFS như file system space, danh sách các file hệ thống và các block id tương ứng của từng file, quản lý danh sách slave và tình trạng hoạt động của các DataNode, điều hướng quá trình đọc/ghi dữ liệu từ client lên các DataNode

 DataNode: chứa các block dữ liệu thực sự của các file trên HDFS, chịu trách nhiệm đáp ứng các yêu cầu đọc/ ghi dữ liệu từ client, đáp ứng các yêu cầu tạo/ xóa các block dữ liệu từ NameNode

 SecondaryNameNode: duy trì một bản sao của metadata trên NameNode và bản sao này sẽ được dừng để phục hồi lại NameNode nếu NameNode bị hư hỏng

Trang 11

Tài liệu tham khảo Tài liệu tiếng Anh

1 Xueyuan Su (2012), “Oracle In-Database Hadoop: When MapReduce Meets RDBMS”, Computer Science Yale University

2 Natalie Gruska and Patrick Martin (2010), Integrating MapReduce and RDBMSs”,

School of Computing Queen’s University Kingston, ON, Canada

3 Juliana Freire (2009), “Hadoop vs Parallel Databases”,

4 Oracle white paper, “In-Database Map-Reduce”, October 2009

5 Hướng dẫn tích hợp Oracle với Hadoop -

http://docs.oracle.com/cd/E37231_01/doc.20/e36961/sqlch.htm#BDCUG347

6 Khái niệm về external Table -

http://docs.oracle.com/cd/B19306_01/server.102/b14215/et_concepts.htm

7 Hướng dẫn tích hợp Oracle với HDFS -

http://docs.oracle.com/cd/E27101_01/doc.10/e27365/directhdfs.htm

8 Cài đặt Hadoop trên Centos - http://www.tecmint.com/install-hadoop-multinode-cluster-in-centos/

9 Nguồn dữ liệu - https://dandelion.eu/datamine/open-big-data/

10 In-Database MapReduce - https://blogs.oracle.com/datawarehousing/entry/in-database_map-reduce

11 Hướng dẫn gọi hàm Java từ cơ sở dữ liệu Oracle -

https://docs.oracle.com/cd/B19306_01/java.102/b14187/chthree.htm

12 Hadoop wiki: http://wiki.apache.org/hadoop/

13 Ví dụ source code về mô hình MapReduce:

https://sites.google.com/site/hadoopandhive/home/hadoop-how-to-count-number-of-lines-in-a-file-using-map-reduce-framework

14 Hướng dẫn cách đóng gói class java:

https://docs.oracle.com/cd/B10501_01/java.920/a96659/03_pub.htm

15 Hướng dẫn sử dụng big data connector của Oracle:

Ngày đăng: 27/08/2016, 23:09

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Các thành phần của dự án Hadoop - Ứng dụng cơ sở dữ liệu song song trong xử lý dữ liệu cuộc gọi
Hình 2.1 Các thành phần của dự án Hadoop (Trang 8)
Hình 2.2: Kiến trúc của một Hadoop cluster - Ứng dụng cơ sở dữ liệu song song trong xử lý dữ liệu cuộc gọi
Hình 2.2 Kiến trúc của một Hadoop cluster (Trang 10)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w