TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO Massive Parallel Processing for Large Scale Database

12 573 0
TIỂU LUẬN MÔN CƠ SƠ DỮ LIỆU NÂNG CAO Massive Parallel Processing for Large Scale Database

Đ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

ĐẠI HỌC CÔNG NGHỆ - ĐẠI HỌC QUỐC GIA HÀ NỘI BÁO CÁO XỬ LÝ SONG SONG DỮ LIỆU LỚN MÔN HỌC : CƠ SỞ DỮ LIỆU NÂNG CAO GIẢNG VIÊN : TS. NGUYỄN HÀ NAM HỌC VIÊN : LÊ HỒNG HÀ ĐÀO THỊ THU HIỀN HÀ NỘI 3/2012 MỤC LỤC I. Giới thiệu chung 3 II. Giới thiệu hệ thống cơ sở dữ liệu song song (Parallel DBMS) 3 III. Ứng dụng MapReduce và DBMS song song trong việc xử lý song song dữ liệu quy mô lớn 4 a. Greenplum database: 5 b. Aster Data database: 7 c. HadoopDB database: 10 TÀI LIỆU THAM KHẢO 12 Cơ sở dữ liệu song song I. Giới thiệu chung Các ứng dụng tin học, đặc biệt là các ứng dụng trực tuyến càng ngày càng có nhiều người sử dụng, người sử dụng có thể truy cập ứng dụng tại bất kỳ thời điểm và địa điểm nào vì thế dữ liệu càng ngày càng lớn và tốc độ xử lý cũng đòi hỏi càng ngày càng tăng. Một máy tính đơn lẻ không thể đáp ứng được yêu cầu về mặt lưu trữ cũng như tốc độ xử lý dữ liệu. Một số kỹ thuật áp dụng trong xử lý dữ liệu quy mô lớn:  Massively Parallel Processing (MPP) or parallel DBMS : Một hệ thống song song quá trình thực hiện truy vấn của một DBMS, chia tách các câu truy vấn và phân bổ chúng tới nhiều node DBMS để xử lý khối lượng lớn dữ liệu đồng thời.  Column-oriented database: Một hệ thống lưu các giá trị trong cùng một trường (cột), trái ngược với phương pháp thông thường, lưu các giá trị giống như các bản ghi.  Streaming processing (ESP or CEP) một hệ thống xử lý một luồng dữ liệu hay sự kiện, hoặc một khái niệm trong đó nội dung của một cơ sở dữ liệu được thay đổi liên tục theo thời gian.  Key-value storage (with MapReduce programming model): một hệ thống lưu trữ lưu trữ dữ liệu tập trung vào nâng cao hiệu suất khi đọc một bản ghi bằng cách áp dụng mô hình dữ liệu key-value. II. Giới thiệu hệ thống cơ sở dữ liệu song song (Parallel DBMS) Ý tưởng của hệ thống cơ sở dữ liệu song song là tiến hành song song các bước xử lý dữ liệu:  Xử lý các transaction song song đồng thời trên các node DBMS  Chia transaction thành các nhiệm vụ con và tiến hành xử lý song song các nhiệm vụ con trên các node DBMS. Lợi ích của DBMS song song: - Khả năng tăng tốc độ xử lý: Càng nhiều nhiều node DBMS thì thời gian xử lý 1 khối lượng lớn dữ liệu càng ít đi - Khả năng mở rộng: được thể hiện khi số lượng node DBMS tăng, tương ứng với khối lượng dữ liệu xử lý tăng, nhưng thời gian xử lý là 1 hằng số Mô hình DBMS song song: có 3 mô hình sau Cơ sở dữ liệu song song  Shared memory: tất cả các CPU được nối với nhau qua mạng, tất cả các CPU truy cập 1 bộ nhớ chính.  Shared-disk: mỗi CPU có mộ bộ nhớ riêng và truy cập trực tiếp tới các ổ đĩa qua mạng.  Share-nothing: Mỗi CPU có bộ nhớ và ổ đĩa riêng, việc truyền thông tin giữa các CPU là thông qua kết nối mạng, 2 CPU không thể truy cập cùng 1 vùng lưu trữ. III. Ứng dụng MapReduce và DBMS song song trong việc xử lý song song dữ liệu quy mô lớn Như đã nói ở trên một CPU không thích hợp cho việc xử lý dữ liệu lớn cỡ terabytes với đáp ứng tốc độ xử lý cỡ 10.000 TPS (Transaction Per Second). Kiến trúc cơ sở dữ liệu song song Shared Nothing có thể đáp ứng được vấn đề này. Ngoài ra, do chúng ta cần xử lý một lượng dữ liệu lớn và phân tán trên một lượng lớn các node do đó MapReduce là một mô hình lập trình thích hợp giúp chúng ta có thể làm tốt điều này. MapReduce cho phép chia các tập dữ liệu hoặc các xử lý thành các vấn đề nhỏ hơn, sau đó đưa tới các node để xử lý. Mô hình này chia làm 2 pha xử lý:  Pha Map: tại node chính vấn đề cần xử lý sẽ được chia thành các vấn đề nhỏ hơn và phân bổ các vấn đề con này tới các node khác, tại các node này các vấn đề con được xử lý và trả kết quả về cho node chính  Pha Reduce: Node chính làm nhiệ vụ thu thập các kết quả trả về từ node con và kết hợp chúng lại để tạo thành câu trả lời cho yêu cầu đầu vào. Cơ sở dữ liệu song song Với sự kết hợp trên chúng ta sẽ có một cơ sở dữ liệu có khả năng xử lý một lượng dữ liệu lớn, phân tán trên các nhiều node và có thể dễ dàng mở rộng ra hàng trăm, hàng nghìn node Một số mô hình cơ sở dữ liệu sử dụng MapReduce trên nền kiến trúc Shared Nothing như: Greenplum, Aster Data (phát triển sử dụng PostgreSQL), HadoopDB a. Greenplum database: Greenplum database sử dụng kiến trúc Shared Nothing, MPP và hỗ trợ SQL và xử lý song song MapReduce (SQL cho DBA và MapReduce cho lập trình viên) Hình 1: Kiến trúc của Greenplum database Cơ sở dữ liệu song song Hình 2: Kiến trúc của Greenplum database Một database logic trong Greenplum thực chất là một mảng các PosgreSQL tách biệt, tất cả chúng làm việc cùng nhau, biểu diễn một hình ảnh database đơn nhất. Master là điểm vào của hệ thống Greenplum database. Nó là database instance nơi mà client kết nối và submit các câu lệnh SQL. Master sẽ phân phát công việc tới tất cả các database instance khác trong hệ thống, các segment xử lý dữ liệu và lưu trữ. Các segment giao tiếp với mỗi cái khác và master thông qua đường kết nối nội bộ, đường kết nối này là lớp mạng của Greenplum database. Cơ sở dữ liệu song song Cơ chế truy xuất dữ liệu: Hình 3: Cơ chế truy vấn dữ liệu trong Greenplum database Kết quả truy vấn bao gồm các thao tác cổ điển: scans, joins, sorts, aggregations… Cũng như các thao tác dịch chuyển song song cái mà mô tả dữ liệu sẽ được chuyển đổi giữa các node như nào và khi nào trong thời gian thực thi truy vấn. Greenplum database có ba thao tác dịch chuyển:  Broadcast Motion (N:N): Mỗi segment gửi dữ liệu đích tới tất cả các segment khác.  Redistribute Motion (N:N): Mỗi segment rehash dữ liệu đích (bằng cách join các cột) và phát tán lại mỗi dòng tới các segment tương ứng.  Gather Motion (N:1): Mỗi segment gửi dữ liệu đích tới một node (luôn luôn là master). b. Aster Data database: Cơ sở dữ liệu song song Hình 4: Kiến trúc Aster Data database Queen nodes cung cấp giao diện với data warehouse bên ngoài. Các user và administrator có thể kết nói với một Queen thông qua ODBC/JDBC, trong khi những người quản trị hệ thống (administrators) giám sát nCluster thông qua Aster Data Management Console (AMC). Các Queen node cũng chịu trách nhiệm phân phát các cluster server trong quá trình truy vấn, tập hợp kết quả và xử lý lỗi. Các Worker node chịu trách nhiệm cho việc thực thi song song của các truy vấn và phân tích cơ sở dữ liệu. Các Queen node và Worker node cũng lưu trữ các phân vùng của dữ liệu và các bản sao của dữ liệu cư trú trên các Worker node khác. Cuối cùng các Worker node tham gia trong các nhiệm vụ duy trì (ví dụ indexing load balancing) đã được khởi tạo bởi các Queen node. Cơ sở dữ liệu song song Hình 5: Kiến trúc của Aster Data với SQL-MapReduce frame work SQL-MapReduce frame work của Aster Data cho phép lập trình viết các hàm SQL- MapReduce mạnh mẽ trong các ngôn ngữ như Java, C#, Python, C++ và R. Các hàm SQL-MapReduce có thể được gọi sử dụng SQL chuẩn thông qua Aster Database. Các hàm này có thể xử lý dữ liệu đầu vào và cung cấp đầu ra để xử lý tiếp bởi các truy vấn SQl hoặc viết chúng vào các bảng trong database. MapReduce function có thể tích hợp vào trong SQL: SELECT FROM functionname( ON table-or-query [ PARTITION BY expr ] [ ORDER BY expr ] [ clausename ( arg ) ] ) Cơ sở dữ liệu song song c. HadoopDB database: Cũng như hai database vừa nói trên HadoopDB là một sự lại ghép, kết hợp giữa hai công nghệ MapReduce và DBMS. HadoopDB hướng tới một cơ sở dữ liệu xử lý song song để tăng hiệu năng đồng thời vẫn giữ được khả năng mở rộng dễ dàng và tự gỡ lỗi của hệ thống dựa trên MapReduce. HadoopDB sử dụng Hadoop framework (một framework mã nguồn mở giúp xử lý dữ liệu lơn, phân tán sử dụng MapReduce) cùng với RDBMS. Hình 6: Kiến trúc của HadoopDB Các thành phần chính:  Database Connector: kết nối Hadoop với các node đơn của hệ thống database.  Data Loader: phân vùng dữ liệu và quản lý quá trình tải dữ liệu song song vào các hệ thống database. Cơ sở dữ liệu song song 10 [...]... năng mở rộng hơn nhiều so với các hệ thống database song song hiện tại  Với khả năng mở rộng tốt giống Hadoop trong khi đạt được hiệu năng tốt cho phân tích dữ liệu Cơ sở dữ liệu song song 11 TÀI LIỆU THAM KHẢO 1 http://www.asterdata.com/ 2 http://db.cs.yale.edu/hadoopdb/hadoopdb.html 3 http://www.cubrid.org/blog/dev-platform /database- technology -for- large- scaledata/ 4 http://hadoop.apache.org/ 5 http://davidmenninger.ventanaresearch.com/2011/01/19/secrets-revealed-inmassively -parallel- processing- and -database- technology/... http://www.cubrid.org/blog/dev-platform /database- technology -for- large- scaledata/ 4 http://hadoop.apache.org/ 5 http://davidmenninger.ventanaresearch.com/2011/01/19/secrets-revealed-inmassively -parallel- processing- and -database- technology/ Cơ sở dữ liệu song song 12 ... Catalog: theo dõi vị trí của các vùng dữ liệu khác nhau, bao gồm cả các bản sao (replicate) của nhiều node  SQL-MapReduce-SQL (SMS): bộ lập kế hoạch, nó sử dụng Hive để cung cấp một giao diện tới HadoopDB Một số đặc điểm chính của HadoopDB: . SONG DỮ LIỆU LỚN MÔN HỌC : CƠ SỞ DỮ LIỆU NÂNG CAO GIẢNG VIÊN : TS. NGUYỄN HÀ NAM HỌC VIÊN : LÊ HỒNG HÀ ĐÀO THỊ THU HIỀN HÀ NỘI 3/2012 MỤC LỤC I. Giới thiệu chung 3 II. Giới thiệu hệ thống cơ sở dữ. thống lưu trữ lưu trữ dữ liệu tập trung vào nâng cao hiệu suất khi đọc một bản ghi bằng cách áp dụng mô hình dữ liệu key-value. II. Giới thiệu hệ thống cơ sở dữ liệu song song (Parallel DBMS) Ý tưởng. Data Loader: phân vùng dữ liệu và quản lý quá trình tải dữ liệu song song vào các hệ thống database. Cơ sở dữ liệu song song 10  Catalog: theo dõi vị trí của các vùng dữ liệu khác nhau, bao gồm

Ngày đăng: 08/07/2015, 16:05

Mục lục

  • II. Giới thiệu hệ thống cơ sở dữ liệu song song (Parallel DBMS)

  • III. Ứng dụng MapReduce và DBMS song song trong việc xử lý song song dữ liệu quy mô lớn

  • TÀI LIỆU THAM KHẢO

Tài liệu cùng người dùng

Tài liệu liên quan