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

Luận văn thạc sĩ Khoa học máy tính: Table union cho dữ liệu dạng json trong open data

150 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Nội dung

Trang 4

Em xin cảm ơn các thầy cô trong tổ bộ môn Khoa Học Máy Tính, các thầy côtại trường đại học Bách Khoa đã giảng dạy, gíup đỡ em trong suốt quá trình họctập và nghiên cứu Đặc biệt, trong suốt quá trình học thực hiện đề tài, em luônnhận được sự động viên của bạn bè, đồng nghiệp và người thân trong gia đình.Đồng thời, e xin gửi lời cám ơn sâu sắc tới thầy Đặng Trần Khánh, với sự hướngdẫn khoa học của thầy đã giúp em xây dựng được kết quả khoá luận này Hy vọngluận văn sẽ nhận được những ý kiến đóng góp của hội đồng để nội dung ngày mộthoàn thiện hơn

Trân trọng cảm ơn!

Trang 5

Ngày nay, dữ liệu một ngùôn tài nguyên vô cùng quý báu Chủ sở hữu của dữcó thể là một tổ chức, một công ty, chính phủ hay chỉ là một người bình thường.Vì vậy, nội dung dữ liệu của các tập dữ liệu đến từ các nguồn chủ sở hữu khácnhau sẽ rất đa dạng: dữ liệu về giáo dục tiểu học, dữ liệu về chăm sóc sức khỏe ởHoa Kỳ, dữ liệu về nông nghiệp tại Việt Nam, Có thể dễ nhận ra rằng các tậpdữ liệu có cùng một chủ đề, một lĩnh vực sẽ có các cấu trúc giống nhau hoặc ítnhất là sẽ tương tự nhau Việc kết hợp các tập dữ liệu này lại để tạo thành mộttập dữ liệu kết hợp có giá trị sử dụng cao hơn là một việc vô cùng có ích Trongngữ cảnh dữ liệu mở, việc kết hợp các tập dữ liệu sẽ còn quan trọng hơn bởi cácdatastore sẽ chứa một lượng lớn dữ liệu, vì vậy, việc kết hợp dữ liệu sẽ tạo ra rấtnhiều giá trị Trong luận văn này, tôi đề xuất một phương pháp kết hợp dữ liệudựa trên giải thuật gom cụm phân cấp và độ đo Set Unionability cho datastore.

Data nowadays is an extremely valuable resource The owner of the data couldbe an organization, a company, the government, or just a normal person Becauseof that, the content of the datasets that came from those sources would be varied:the data content could be about primary education, it could be about medical carein the U.S or it could be about agriculture in Vietnam, etc It is intuitive thatsome datasets would be about the same topic so that they would have the samestructures, or at least, similar structures It is beneficial that we can union thosedatasets into a more meaningful dataset The union of the datasets is even moreimportant in open data context, because in open data context, the datastores willcontain a large amount of data, so the union of datasets will create more merits.In this thesis, we proposed a data union method based on hierarchical clusteringand Set Unionability for datastores.

ii

Trang 6

Tôi xin cam đoan luân văn được trình bày là kết quả nghiên cứu của cá nhân tôi,không sao chép từ bất kỳ ai Nôi dung nghiên cứu là do tôi tự tìm hiểu, phân tíchmột cách trung thực, khách quan dưới sự hướng dẫn khoa học của PGS.TS ĐặngTrần Khánh Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan này

Tạ Mạnh Huy

Trang 7

1.1 Giới thiệu đề tài 1

1.2 Cấu trúc luận văn 4

2 Cơ sở lý thuyết 52.1 Các nghiên cứu liên quan 5

2.2 Dữ liệu mở 13

2.3 Định dạng dữ liệu 19

2.4 Thuật toán phân cụm phân cấp 26

2.5 Độ đo tương tự - Similarity Measurement 32

2.6 Công trình nghiên cứu giải pháp Table Union Search của Renee J.Miller 36

3 Phương pháp 393.1 Giới thiệu 39

3.2 Phương pháp đề xuất 40

4 Hiện thực - Đánh giá 474.1 Môi trường hiện thực và công cụ sử dụng 47

4.2 Hiện thực 47

4.3 Đánh giá 55iv

Trang 8

Danh mục các công trình khoa học 66

V

Trang 9

Danh sách hình vẽ

1.1 Quá trình kết hợp dữ liệu - Data Union 3

2.1 Các bước chuyển đổi dữ liệu của Hyeonjeong 7

2.2 Module di chuyển dữ liệu của Rocha 7

2.3 Module ánh xạ dữ liệu của Rocha 8

2.4 Kiến trúc hệ thống chuyển đổi dữ liệu của Ivan 8

2.5 Bộ công cụ chuyển đổi dữ liệu AML 9

2.6 Kiến trúc sự thực thi tương tác 10

2.7 Kiến trúc tích hợp dữ liệu truyền thống 10

2.8 Kiến trúc framework chuyển đổi dữ liệu của [8] 13

2.9 Định nghĩa dữ liệu mở của một số tổ chức 14

2.10 Sự khác biệt giữa mô hình dữ liệu quan hệ và mô hình dữ liệu NoSQL 233.1 Các bước lớn của quy trình data union 41

3.2 Kết quả của Schema Step 42

3.3 Kết quả của giải thuật phân cụm phân cấp được trình bày theodendrogram 44

4.1 Cụm dữ liệu lý tưởng và thực tế trong thí nghiệm 1 57

4.2 Cụm dữ liệu lý tưởng và thực tế trong thí nghiệm 2 58

4.3 Cụm dữ liệu lý tưởng và thực tế trong thí nghiệm 3 59

4.4 Cụm dữ liệu lý tưởng và thực tế trong thí nghiệm 4 60

4.5 Cụm dữ liệu lý tưởng và thực tế trong thí nghiệm 5 61

vi

Trang 10

Mở đầu

Trong những năm gần đây, giá trị của dữ liệu ngày càng được chú trọng thêm Đãcó rất nhiều bài báo, nghiên cứu cũng như các nhà khoa học, doanh nhân cho rằng"dữ liệu là tài nguyên dầu mỏ kế tiếp "data is the new oil"(Clive Humby) Sự quantâm của mọi người dành cho dữ liệu là dễ hiểu: sự thành công của các công ty lớnvề dữ liệu như Amazon, Google, Facebook đã chứng tỏ cho cả thế giới thấy giá trịcủa dữ liệu Thực tế đã cho thấy rằng: dữ liệu là tài nguyên quý giá và ai có thểkhai thác được nguồn tài nguyên quý giá này sẽ nhận được các giá trị lớn lao vềkinh tế, học thuật hay kĩ thuật.

Dữ liệu đang được tạo ra, được nghiên cứu và sử dụng trong quy mô lớn trongcác hệ thống thông tin hiện đại Các công việc liên quan tới khai thác dữ liệu vàphân tích dữ liệu đang được đẩy mạnh và được sử dụng trong nhiều các lĩnh vực,đặc biệt là ứng dụng xã hội[1]–[4] Trong khi sử dụng dữ liệu để khai phá, nghiêncứu, người sử dụng cũng như các nhà khoa học đã và đang gặp phải một vấn đềkhá phức tạp: dữ liệu sử dụng của họ có thể không đến chỉ từ một nguồn mà có thểđến từ nhiều nguồn khác nhau và họ cần phải tổng hợp các dữ liệu này với nhau.Vấn đề này là một hệ quả tất yếu đến từ sự phát triển của các cổng dữ liệu mở[5], [6] và việc chia sẻ dữ liệu với nhau Có thể dễ nhận ra rằng người chủ của dữliệu có thể là tổ chức, công ty, bộ - ngành của các chính phủ hay, các nhà nghiên

Trang 11

cứu thậm chỉ là một người bình thường Vì vậy, nội dung của dữ liệu đến từ nhiềunguồn khác nhau hiển nhiên sẽ có các cấu trúc khác nha Dữ liệu có thể được lưutrữ dưới dạng các file văn bản như txt, csv, có thể được lưu trữ trong các cơ sởdữ liệu như MySQL hay MongoDB Dữ liệu cùng một định dạng như cùng đượclưu trữ trong cơ sở dữ liệu MySQL cũng sẽ có các cấu trúc khác nhau do đến từcác nguồn khác nhau Việc kết hợp dữ liệu đến từ nhiều nguồn khác nhau có thểtạo ra một tập dữ liệu mới có giá trị cao hơn, mang nhiều thông tin hơn, phù hợphơn cho các công tác khai thác, phân tích dữ liệu Tuy nhiên, vấn đề tìm kiếm, lựachọn các nguồn dữ liệu có thể tổng hợp lại với nhau là một vấn đề khó: dữ liệu đếntừ nhiều ngùôn khác nhau có thể thuộc nhiều lĩnh vực khác nhau.

Để giải quyết vấn đề lớn này, chúng ta cần phải giải quyết vấn đề đơn giảnhơn: vấn đề tổng hợp dữ liệu từ nhiều nguồn khi dữ liệu cùng một lĩnh vực Đểgiải quyết vấn đề này, chúng ta cần phải quan tâm tới nhiều bài toán con hơn nhưbài toán biến đổi dữ liệu (data transformation), bài toán làm sạch dữ liệu (datacleansing), bài toán trích xuất ngữ nghĩa dữ liệu (data semantic identifying), bàitoán kết hợp dữ liệu (data union),

Trong đó, bài toán kết hợp dữ liệu - data union có thể được hiểu là bài toángiải quyết việc kết hợp hai hay nhiều tập dữ liệu có liên quan với nhau thành mộttập dữ liệu lớn hơn Việc kết hợp hai tập dữ liệu ở đây có nghĩa là tìm kiếm cácthuộc tính tương đương giữa hai tập dữ liệu, biến đổi các thuộc tính tương đươngđó về cùng một dạng, rồi tiến hành kết hợp chúng lại với nahu Có thể dễ dàngnhận ra tổng data union là bước cuối cùng của quá trình tích hợp dữ liệu - dataintegration Để quá trình data union thành công thì chúng ta phải tìm ra các tậpdữ liệu giống nhau Việc này đòi hỏi chúng ta phải giải quyết vấn đề cốt lõi: Tìmra một phương pháp để đo độ giống nhau giữa các tập dữ liệu, các tập dữ liệu cógiá trị này càng cao thì càng dễ có thể kết hợp với nhau.

Việc tìm kiếm độ giống nhau - similarity measurement là một vấn đề kinh điểntrong khoa học thông tin Nhiều hàm đo độ giống nhau như hàm Cosinne (Cosinesimilarity), hàm Jacob (Jacob similarity), hàm Euclid (Euclid similarity), đã đượcđặt ra Tuy nhiên, các hàm đo độ giống nhau này sẽ không có thể được áp dụngtrong việc tìm ra độ giống nhau giữa các tập dữ liệu Lý do là bởi vì các hàm đođộ giống nhau trên đều hoạt động dựa trên các giá trị của các phần tử Tuy nhiên,

2

Trang 12

Hình 1.1: Quá trình kết hợp dữ liệu - Data Union

như trong [7] đã đề ra, độ giống nhau giữa các tập dữ liệu sẽ bao gồm các yếutổ các phần tử trong dữ liệu và ngữ nghĩa của các phần tử đó Tuy nhiên, trongnghiên cứu [7] chỉ giải quyết bài toán tìm k tập dữ liệu giống một tập dữ liệu nhấtdựa trên các yếu tố về phần tử và ngữ nghĩa chứ chưa giải quyết bài toán tổnghợp dữ liệu Hơn thế nữa, trong quá trình thực hiện các nghiên cứu chuyển đổi dữliệu [8], [9], tôi nhận ra data union là hướng phát triển tiếp theo của các nghiêncứu chuyển đổi dữ liệu Vì vậy, tôi quyết định sẽ giải quyết khoảng trống nghiêncứu này bằng cách đề ra một phương pháp để tổng hợp dữ liệu dựa trên giải thuậtphân cụm phân cấp và độ đo khoảng cách/độ giống nhau dựa trên các phần tử củacác tập dữ liệu (Set Unionability) trong ngữ cảnh datastore của dữ liệu mở.

Để có thể dễ dàng thực hiện nghiên cứu, tôi đề ra các giới hạn như sau:

• Các tập dữ liệu sẽ phải cùng một lĩnh vực và các tập dữ liệu sẽ chỉ được kếthợp theo "chiều dọc"(các record sẽ được tập hợp với nhau chứ không được"join"lại với nhau trên để tạo thành 1 record mới).

Trang 13

• Dữ liệu đầu vào của sẽ một cơ sở dữ liệu MongoDB ứng với datastore trongngữ cảnh open data.

• Simlarity measure sẽ được đo đạc bằng tiêu chí Set Domain dựa trên nghiêncứu [7]

Cấu trúc các phần còn lại của luận văn như sau: chương 2 sẽ trình bày các côngtrình nghiên cứu liên quan, các cơ sở lý thuyết về dữ liệu mở, các độ đo dộ giốngnhau cũng như nghiên cứu về Table union Search[7] của Renee J Miller trongchương 3 sẽ trình bày phương pháp đề xuất, chương 4 sẽ trình bày sơ qua về cáchhiện thực cũng như đánh giá phương pháp Chương 5 sẽ có nội dung tổng kết cũngnhư phương hướng pháp triển tiếp theo của đề tài.

4

Trang 14

Cơ sở lý thuyết

Ngày nay, dữ liệu đang là một nguồn tài nguyên có giá trị vô cùng to lớn, dữ liệuđang được tạo ra, phân tích và sử dụng ở quy mô chưa từng có, và việc ra cácquyết định, chiến lược theo hướng phân tích, khám phá dữ liệu đang bao trùm mọikhía cạnh của xã hội Vì giá trị của dữ liệu sẽ được nhân rộng nếu nó có thể đượcliên kết và hợp nhất với nhiều nguồn dữ liệu khác nhau, giải quyết được nhiều vấnđề, thử thách của xã hội ngày nay Chuyển đổi dữ liệu là một bước tối quan trọng,và là mắt xích để có thể giải quyết vấn đề này Chuyển đổi dữ liệu là một công cụcó thể linh hoạt biến đổi qua lại giữa các mô hình, định dạng khác nhau, qua đóhỗ trợ việc kết hợp các dữ liệu từ nhiều nguồn khác nhau về một nguồn hợp nhấtnhằm cung cấp một cái nhìn tổng quát, thống nhất về dữ liệu Bài toán này làkhông dễ dàng ngay cả khi chuyển đổi dữ liệu truyền thống với vài nguồn dữ liệucó cấu trúc đơn giản Thông thường, quá trình này đòi hỏi sự tham gia của conngười để hiểu rõ và đúng ngữ nghĩa của dữ liệu trong mỗi nguồn nhằm giải quyếtbài toán nhập nhằng dữ liệu, bao gồm nhập nhằng về mặt ngữ nghĩa, nhập nhằngvề biểu diễn dữ liệu, và tính không nhất quán của dữ liệu [10].

Trong kỷ nguyên của dữ liệu lớn, bài toán này càng trở nên thách thức hơnkhi các dữ liệu không chỉ không đồng nhất nhau mà còn được sinh ra liên tục vớikhối lượng khổng lồ Ba đặc trưng chính này của dữ liệu lớn được biết đến thông

Trang 15

qua ký chú “3V”: (1) Khối lượng dữ liệu (Volume): chẳng những các nguồn dữ liệuchứa một khối lượng lớn các dữ liệu mà số lượng các nguồn dữ liệu cũng trở nênrất lớn; (2) Tốc độ dữ liệu (Velocity): dữ liệu được sinh ra liên tục và thay đổitheo thời gian; và (3) Đa dạng dữ liệu (Variety): dữ liệu từ nhiều nguồn khác nhauthường rất đa dạng và không đồng nhất.

Hyeonjeong và các cộng sự phát triển một công cụ bán tự động chuyển đổi dữliệu sinh thái tại Hàn Quốc [11] Mục tiêu của công cụ này là chuyển đổi các dữliệu sinh thái với các định dạng khác nhau từ các tổ chức nghiên cứu và học việnvề chuyên ngành môi trường sinh thái tại Hàn Quốc nhằm chuẩn hóa dữ liệu sinhthái dùng chung Để thực hiện mục tiêu này, các tác giả đưa ra 4 bước chuyển đổinhư được mô tả ở hình sau bao gồm:

• Bước 1: chuẩn bị dữ liệu và giao thức (Data File & Protocol Selection): chọndữ liệu từ file nguồn và chọn giao thức tương ứng.

• Bước 2: Chọn loài (Species Selection): chọn loài nào trong dữ liệu cần đượcchuyển đổi.

• Bước 3: Ánh xạ thuộc tính (Attribute Mapping): thực hiện ánh xạ các thuộctính từ dữ liệu nguồn đến các thuộc tính chuẩn hóa được định nghĩa tronggiao thức.

• Bước 4: Chuẩn hóa dữ liệu (Data Standardization): chuyển đổi dữ liệu đượcánh xạ sang dạng chuẩn dùng chung.

Tuy nhiên, công cụ này hiện tại chỉ thực hiện chuyển đổi dữ liệu cho 5 loàitừ dữ liệu gốc ở định dạng CSV Một hạn chế khác là hiện tại, nhóm tác giả chỉhỗ trợ việc chuyển đổi khi các nguồn dữ liệu được lưu trữ dưới định dạng file csvtrong khi đó, dữ liệu thực tế thường được biểu diễn với nhiều loại định dạng khácnhau.

Rocha và các cộng sự đã đề xuất giải pháp hỗ trợ việc di chuyển dữ liệu từnguồn cơ sở dữ liệu quan hệ (relational datasets) sang NoSQL [12] Giải pháp đưa

6

Trang 16

Hình 2.1: Các bước chuyển đổi dữ liệu của Hyeonjeong

ra của nhóm tác giả bao gồm 2 mô-đun chính là di chuyển dữ liệu (data migration)và ánh xạ dữ liệu (data mapping) Mô-đun di chuyển dữ liệu chịu trách nhiệmtrong việc tự động xác định tất cả các phần tử từ cơ sở dữ liệu quan hệ gốc (ví dụ:bảng, thuộc tính, mối quan hệ, chỉ mục, v.v.), sau đó tạo ra các cấu trúc tươngđương bằng mô hình dữ liệu NoSQL và sau cùng thực hiện việc xuất dữ liệu sangmô hình mới Trong khi đó, mô-đun ánh xạ dữ liệu bao gồm một lớp trừu tượng,được thiết kế như một giao diện giữa ứng dụng và hệ quản trị cơ sợ dữ liệu DBMS,giám sát tất cả các giao tác SQL từ ứng dụng, và dịch các hoạt động này và chuyểnđến mô hình NoSQL đã được tạo ra trong mô-đun trước.

Hình 2.2: Module di chuyển dữ liệu của Rocha

Trang 17

Hình 2.3: Module ánh xạ dữ liệu của Rocha

Ivan và các cộng sự đề xuất hệ thống chuyển đổi dữ liệu dựa trên mô hìnhđóng góp cộng đồng [13] Như được mô tả ở hình dưới, dữ liệu được chia sẻ trêncổng thông tin publicdata.eu bao gồm các dữ liệu từ nhiều tổ chức khác nhau vớicác định dạng khác nhau Hệ thống chuyển đổi dữ liệu sẽ thực hiện các ánh xạ banđầu, sau đó cho cộng đồng đóng góp bằng cách tạo các ánh xạ mới, chỉnh sửa lạicác ánh xạ đang có, chuyển đổi dữ liệu, cũng như sử dụng dữ liệu Sự chính xáctrong chuyển đổi dữ liệu sẽ được cải thiện dần theo thời gian với sự đóng góp củacộng đồng.

Hình 2.4: Kiến trúc hệ thống chuyển đổi dữ liệu của Ivan

Milan và các cộng sự hướng đến ngữ cảnh tích hợp quy trình sản xuất trongnhà máy thông qua việc sử dụng bộ công cụ chuyển đổi dữ liệu cho AutomationML(AML), một chuẩn mở định dạng dữ liệu dựa trên chuẩn XML cho việc lưu trữ và

8

Trang 18

trao đổi các thông tin kỹ thuật của nhà máy [14] Trong ngữ cảnh này, quá trình tựđộng họa của nhà máy cần sự tham gia và cộng tác bởi nhiều lĩnh vực khác nhautừ điều khiển tự động, kỹ thuật cơ khí, điện-điện tử, công nghệ phần mềm Nhữnglĩnh vực này đều có những công cụ hỗ trợ khác nhau, và các công cụ này thao táctrên những cấu trúc dữ liệu khác nhau Do đó, các tác giả đề xuất mô hình tíchhợp các công cụ này lại với AML bằng cách sử dụng công cụ chuyển đổi trong quytrình kỹ thuật Công cụ này sẽ chuyển đổi dữ liệu được mô tả bởi AML sang cácđịnh dạng phù hợp tương ứng với từng loại công cụ kỹ thuật của từng lĩnh vựckhác nhau như được mô tả ở hình sau Mặc dù bộ công cụ chuyển đổi dữ liệu nàycó thể chuyển đổi dữ liệu sang các cấu trúc dữ liệu phù hợp với các công cụ khácnhau, đầu vào của bộ công cụ chuyển đổi là dữ liệu được lưu trữ theo chuẩn AML.

Hình 2.5: Bộ công cụ chuyển đổi dữ liệu AML

Luis và các cộng sự xây dựng bộ khung chuyển đổi dữ liệu hỗ trợ mô phỏngnăng lượng [15] Mục tiêu của bộ khung này là chuyển đổi dữ liệu với các định dạngkhác nhau nhằm cho phép sự giao tiếp và tương tác lẫn nhau giữa các hệ thống khácnhau trong một môi trường tự động hóa Cách tiếp cận này thiết kế một thànhphần trung gian được định nghĩa như là các đặc tả tương tác (InteroperabilitySpecification) nhằm thực thi sự tương tác qua lại giữa hai định dạng dữ liệu khácnhau Hình dưới đây minh họa kiến trúc của sự thực thi tương tác Tuy nhiên, chitiết về cách thức hiện thực chưa được nêu rõ trong công trình nghiên cứu.

Trang 19

Hình 2.6: Kiến trúc sự thực thi tương tác

Ngoài ra, các giải pháp chuyển đổi dữ liệu còn được nhúng vào trong các hệthống tích hợp dữ liệu Dong và Srivastava dựa trên kiến trúc tích hợp dữ liệutruyền thống, như được mô tả ở hình sau, để làm nổi bật các thách thức cho tíchhợp dữ liệu lớn với ba giai đoạn chính sau [10]:

• Sắp xếp lược đồ (Schema Alignment): giải quyết các thách thức về nhập nhằngngữ nghĩa Đầu ra của giai đoạn này là một lược đồ hợp nhất, sự kết nối thuộctính ở mỗi nguồn với thuộc tính của lược đồ hợp nhất, và mối quan hệ ngữnghĩa giữa mỗi lược đồ nguồn với lược đồ hợp nhất.

• Liên kết hàng dữ liệu (Record Linkage): giải quyết các thách thức về tínhnhập nhằng của biểu diễn dữ liệu.

• Tổng hợp dữ liệu (Data Fusion): giải quyết các thách thức về chất lượng dữliệu.

Hình 2.7: Kiến trúc tích hợp dữ liệu truyền thống

10

Trang 20

Tương ứng với mỗi giai đoạn trong kiến trúc tích hợp dữ liệu truyền thống,các tác giả giới thiệu tổng quan các giải pháp truyền thống, mô tả sự mở rộng củacơ sở hạ tầng tích hợp dữ liệu truyền thống đối với các thách thức từ dữ liệu lớn.Tuy nhiên, dữ liệu được dùng để minh họa ở dạng có cấu trúc.

Trong một công trình khác [16], các tác giả mô tả các loại không nhất quándữ liệu, đặc biệt là sự không nhất quán về mặt ngữ nghĩa Từ đó, bài toán tích hợpđược phân loại theo hai thách thức khác nhau là: (1) tích hợp ở mức thấp; (2) tíchhợp ở mức cao Trong cách tiếp cận nhằm giảm sự không đồng nhất về mặt ngữnghĩa, các tác giả sử dụng công nghệ web ngữ nghĩa (Semantic Web Technology)cho tích hợp dữ liệu Các tác giả mô tả mô hình kiến trúc đề xuất với tên gọiSemantic Big Data Historian (SBDH) với 4 thành phần chính sau:

• Lớp thu thập dữ liệu (Data Acquisition Layer): dữ liệu được thu thập từcác cảm biến (Sensors), từ các nguồn dữ liệu khác (Additional Internal DataSources), hoặc từ các nguồn bên ngoài có liên quan (External Data Sources).Bài toán không đồng nhất về các nền tảng liên quan đến các hệ thống khácnhau sẽ được giải quyết ở lớp này.

• Lớp chuyển đổi dữ liệu (Data Transformation Layer): chuyển đổi dữ liệu thànhdạng ngữ nghĩa hợp nhất dựa trên mạng lưới ngữ nghĩa được đề xuất (SHSOntology) Lớp này cũng sẽ chỉnh sửa các dữ liệu bị lỗi nếu cần thiết Sựkhông nhất quán về mặt ngữ nghĩa sẽ được giải quyết ở lớp này.

• Lớp lưu trữ dữ liệu (Data Storage Layer): lưu trữ dữ liệu dựa trên bộ ba:4Store 1 , CumulusRDF 2 , Hadoop và Jena Elephas 3.

• Lớp phân tích (Analytic Layer): cung cấp truy cập trực tiếp đến lớp lưu trữcho phân tích dữ liệu hoặc xử lý truy vấn của người dùng Các frameworkphân tích được lựa chọn bao gồm: KNIME 4 , Mahout 5

Knoblock và Szekely phát triển hệ thống Karma, một hệ thống tích hợp dữliệu trong lĩnh vực di sản văn hóa [17] Trong một ngữ cảnh ứng dụng, hệ thốngnày sẽ tích hợp dữ liệu với sự không đồng nhất dữ liệu cao từ các viện bảo tàngkhác nhau Quá trình tích hợp dữ liệu được mô tả qua 4 giai đoạn chính:

Trang 21

• Giai đoạn nhập dữ liệu: nhập dữ liệu từ bất kỳ nguồn khác nhau bao gồm cơsở dữ liệu, bảng tính, hoặc dịch vụ web cung cấp theo định dạng XML hoặcJSON.

• Giai đoạn làm sạch và chuẩn hóa dữ liệu: xác định các thành phần dữ liệu bấtthường và chuẩn hóa dữ liệu theo các định dạng giống nhau của các nguồn cóliên quan.

• Giai đoạn mô hình hóa: tạo ra sự mô tả về mặt ngữ nghĩa của mỗi nguồn.• Giai đoạn tích hợp: chuyển đổi các dữ liệu theo một định dạng duy nhất sử

dụng mô tả về ngữ nghĩa và tích hợp dữ liệu trong framework hợp nhất.

Vào năm 2018, Michael J Mior et al (2018) đề ra phương pháp biến đổi schemaphi chuẩn hóa (de-normalized schema) thành schema chủân hóa (normalized schema)[18] với lí do việc biến đổi schema phi chuẩn hóa (de-normalized schema) thànhschema chủân hóa (normalized schema) sẽ cung cấp thông tin giúp cho quá trìnhtiến hóa của ứng dụng và cơ sở dữ liệu.

Năm 2020, Tran Khanh Dang et al (2020) đã đề xuất một framework chuyểnđổi dữ liệu cho hệ thống chuyển đổi dữ liệu mở [8] Nhóm tác giả đã thực hiện cácthử nghiệm để tìm ra định dạng phù hợp cho hệ thống[19] Vào năm 2021, côngtrình trong [8] đã được mở rộng thêm ở [9].

Vào năm 2009, [20] đã giải quyết vần đề tìm kiếm nội dung web table dựa trênkeyword (keyword-based search on the content and context of Web tables) Cácbản này sẽ được gom cụm thành các bảng dữ liệu để cung cấp các keyword choquá trình tìm kiếm bằng keyword.

Ling et al (2013) đề xuất "table stitching phương pháp kết hợp các bảng dựatrên các schema giống nhau trong cùng một website để tạo ra một bảng dữ liệutổng hợp [21] Dựa trên [21], Lehmberg và Bizer đã tạo ra các bảng dữ liệu tổnghợp dựa trên các kĩ thuật matching về schema và instance[22].

12

Trang 22

Hình 2.8: Kiến trúc framework chuyển đổi dữ liệu của [8]

Năm 2016, Renee J Miller et al (2016) nghiên cứu vần đề domain search vàđề ra LSH Ensemble, một cấu trúc dựa trên MinHash LSH[23], như là một giảipháp cho domain search[24] Sử dụng kết quả của [24], Renee J Miller et al (2018)đề ra phương pháp tìm kiếm các bảng kết hợp được trong[7].

Định nghĩa về dữ liệu mở là khác nhau giữa các tổ chức Bảng sau sẽ trình bàymột số định nghĩa về dữ liệu mở của các tổ chức và các nhà nghiên cứu trên toàncầu Các định nghĩa này được sử dụng bởi các nhà cung cấp dữ liệu mở, các nhànghiên cứu và người ủng hộ dữ liệu mở.

Dữ liệu mở có tác động tích cực đến mọi mặt của đời sống, kinh tế, xã hội.Một số tác động tích cực được nghiên cứu và tổng hợp trong bài nghiên cứu "The

Trang 23

Hình 2.9: Định nghĩa dữ liệu mở của một số tổ chức

Economic Impact of Open Data: Opportunities for value creation in Europe” [25]bởi Esther Huyer và Laura van Knippenberg:

• Dữ liệu mở giúp cứu lấy nhiều mạng sống hơn: Visualize No Malaria một côngcụ sử dụng sử dụng dữ liệu mở và phân tích vị trí đã góp phần đẩy lùi bệnhsốt rét, họ lập ra bản đồ về những nơi chịu ảnh hưởng của bệnh sốt rét từđó thay đổi cách nhìn nhận của địa phương về cách phân bổ những nhu yếuphẩm và lực lượng y tế phù hợp với từng địa bàn Dữ liệu mở giúp cải thiệncác dịch vụ khẩn cấp bằng cách tìm kiếm những địa điểm xảy ra tai nạn mộtcách nhanh chóng, từ đó cứu sống nhiều mạng sống hơn thông qua dữ liệumở về các số điện thoại khẩn cấp về y tế, dữ liệu mở về bản đồ và giao thôngthời gian thực.

• Dữ liệu mở giúp tiết kiệm thời gian: Dữ liệu về phương tiện giao thông côngcộng bao gồm các tuyến đường, lịch trình, có thể được chia sẻ để tạo nêndữ liệu mở Dữ liệu này có thể giúp cho hàng khách có thể đưa ra quyết địnhtrong việc sắp xếp lịch trình giảm thời gian chờ đợi khi tham gia giao thôngbằng các phương tiện công cộng Ngoài ra dữ liệu mở về mật độ giao thônggiúp cho việc điều tiết giao thông được tốt hơn.

• Dữ liệu mở bảo vệ môi trường: Nhờ dữ liệu mở về môi trường như lượng CO2toàn cầu, dữ liệu về ô nhiễm môi trường, những bản thống kê, báo cáo vềmôi trường được tạo ra nhằm phổ cập kiến thức về tác động của con người vềmôi trường Từ đó đưa ra những cảnh báo và đề nghị cho mỗi cá nhân đối với

14

Trang 24

môi trường sống Dữ liệu mở giúp giảm bớt chi phí: từ những ví dụ trên cóthể suy ra được rằng dữ liệu giúp giảm chi phí chăm sóc sức khỏe và các dịchvụ khẩn cấp, giảm chi phí vì thời gian bỏ ra khi tham gia giao thông đượcrút ngắn lại và giảm chi phí vì các hoạt động khắc phục hậu quả của việc ônhiễm môi trường và biến đổi khí hậu.

Dữ liệu ngày càng đóng vai trò quan trọng cho sự phát triển kinh tế và tạo ranhững tri thức mới cho nhân loại Cùng với sự phát triển của lĩnh vực phân tích dữliệu và trí thông minh nhân tạo (AI) đã tạo ra xu hướng chia sẻ dữ liệu tại khắpcác quốc gia trên thế giới, một mô hình được tạo ra từ xu hướng trên đó chính làchính phủ mở, điều này đã tạo ra nhiều cổng dữ liệu mở và cơ sở hạ tầng hay cònđược gọi chung là hệ thống dữ liệu mở nhằm tạo ra một cách thức truy cập dữ liệumột cách tập trung và nhằm gia tăng sự tham gia và hợp tác của công chúng Hệthống dữ liệu mở là một hệ thống cho phép xuất bản, phân loại, tìm kiếm và trựcquan dữ liệu, người dùng có thể thao tác với hệ thống thông qua cổng dữ liệu mở.Có rất nhiều hiện thực của hệ thống dữ liệu mở có thể kể đến như:

• The Comprehensive Knowledge Archive Network(CKAN) là một hệ thốngquản lý dữ liệu - Data Management System (DMS) mã nguồn mở cho phépcác tổ chức có nhu cầu chia sẻ dữ liệu xuất bản, chia sẻ dữ liệu và tìm kiếm,trực quan dữ liệu cho những người dùng muốn tiếp cận dữ liệu, CKAN được sửdụng nhiều ở các tổ chức chính quyền địa phương và quốc gia, doanh nghiệp vàcác tổ chức khác CKAN lưu trữ dữ liệu trong các tệp hệ thống (File System)và kho dữ liệu (DataStore), lưu trữ siêu dữ liệu (metadata) của dữ liệu trongcơ sở dữ liệu, hiện thực những phương thức cho việc tiếp cận dữ liệu và ngườidùng có thể lấy được dữ liệu và metadata thông qua giao diện web, ngoài raCKAN còn cung cấp API cho các ứng dụng và dịch bên thứ ba có thể tíchhợp CKAN và vì thế sử dụng được các tính năng của CKAN.

• The Drupal Knowledge Archive Network (DKAN) là một Data ManagementSystem (DMS) mã nguồn mở với một bộ đầy đủ các tính năng biên mục, xuấtbản, tìm kiếm và trực quan hóa cho phép các tổ chức dễ dàng chia sẻ dữ liệu

Trang 25

với công chúng DKAN có nhân là CKAN và sự khác biệt so với CKAN nằmở việc DKAN hỗ trợ khả năng tạo danh mục dữ liệu thông qua việc sử dụngthêm Content management system (CMS).

• The Open Government Platform (OGPL) cũng là một Data ManagementSystem (DMS) mã nguồn mở có nhân là CKAN được thực hiện dưới sự hợptác của Ấn Độ và Hoa Kỳ nhằm tạo ra một nền tảng nguồn mở để thúc đẩytính minh bạch, trách nhiệm giải trình của chính phủ và sự tham gia của côngdân lớn hơn bằng cách cung cấp thêm dữ liệu của chính phủ, tài liệu, công cụvà quy trình.

• Một số DMS khác như Junar, Socrata cũng là những hệ thống mạnh mẽ choOpen Data.

Ở trên đã liệt kê một vài cổng dữ liệu mở phổ biến nhất hiện nay Ngoài cáccổng dữ liệu trên còn tồn tại các cổng dữ liệu mở khác Tuy số lượng các cổng dữliệu mở là nhiều, nhưng các hệ dữ liệu mở đều phải có các tính chất sau:

• Tính mở: Kiến trúc dữ liệu mở phải có khả năng cho phép người dùng cácnhân, tổ chức truy xuất, tìm kiếm dữ liệu thông qua các API Hơn thế nữa,tính mở của hệ thống còn được hiểu như là các thành phần của hệ thống,từ kiến trúc hệ thống, cơ sở dữ liệu đến hệ điều hành, cơ sở hạ tầng mạngđều phải tuân theo các tiêu chuẩn được đặt ra của tổ chức như chuẩn EIF(European Interoperability Framework) [26] của liên minh Châu Âu– tiêuchuẩn các thành viên của liên minh phải tuân theo trong quá trình xây dựngkiến trúc dữ liệu mở, hay chuẩn DCAT (Data catalogue Vocabulary) – chuẩncung cấp, phổ biến dữ liệu của tổ chức W3C [27].

• Tính khả mở: Trong quá trình thiết kế hệ thống dữ liệu mở cần phải đặc biệtchú ý đến khả năng mở rộng của kiến trúc Các hệ thống dữ liệu mở sẽ cótốc độ gia tăng khối lượng dữ liệu nhanh chóng, thậm chí theo cấp số nhânvà được tạo ra tại nhiều thời điểm, từ những nguồn, tổ chức cũng như các cánhân khác nhau Thậm chí cũng có thể tồn tại nhiều phiên bản khác nhaucủa cùng một dữ liệu Vì vậy, kiến trúc dữ liệu mở phải đáp ứng được tínhkhả mở, cho phép hệ thống cả khả năng mở rộng về cả phần cứng lẫn phầnmềm, theo cả chiều ngang lẫn chiều dọc.

16

Trang 26

• Tính bảo mật: Khả năng bảo vệ dữ liệu của hệ thống trước các nguy cơ, cácmối đe dọa về dữ liệu Dữ liệu cần phải được bảo vệ trước những nguy cơ,các mối đe dọa đó bằng các biện pháp như thiết lập quyền truy cập, sử dụngchứng chỉ bảo mật, các kỹ thuật ẩn danh hóa, mã hóa dữ liệu, Kiến trúcphải có khả năng phục vụ nhiều người nhất có thể: Mục đích thiết kế củakiến trúc dữ liệu mở là tăng cường khả năng truy xuất, sử dụng, tận dụng giátrị sử dụng của dữ liệu Vì vậy, quá trình cấp quyền, công bố dữ liệu của hệthống phải đảm bảo đáp ứng yêu cầu tối đa nhất cho người dùng về giá trị sửdụng dữ liệu Tuy nhiên, việc đáp ứng yêu cầu tối đa nhất cho người dùng vềgiá trị sử dụng dữ liệu sẽ có ảnh hưởng tiêu cực, làm giảm tính riêng tư, độan toàn, tính bảo mật của dữ liệu Vì vậy, các tổ chức, cá nhân cần phải lựachọn mức độ sử dụng của dữ liệu cung cấp phù hợp, thỏa mãn cả nhu cầu sửdụng lẫn yêu cầu về tính bảo mật, tính riêng tư.

• Tính khả bảo trì của kiến trúc: Kiến trúc phải được thiết kế để công việc bảotrì hệ thống được thực hiện một cách dễ dàng nhất có thể Ngoài ra, kiếntrúc cũng phải có khả năng hoạt động liên tục, không có thời gian gián đoạnhoạt động hoặc phải giảm thiểu thời gian gián đoạn hoạt động đến mức tốithiểu Cuối cùng, kiến trúc còn phải cung cấp khả năng khôi phục tình trạnghệ thống ở một thời điểm cụ thể nào đó Các vấn đề trên bao gồm cả phầncứng lẫn phần mềm.

Ngoài ra, kiến trúc dữ liệu mở phải thỏa mãn các yếu tố sau:

• Cổng dữ liệu mở (open data portal): Thành phần quan trọng trong kiến trúcdữ liệu mở Cổng dữ liệu mở là thành phần chịu trách nhiệm cung cấp cơ chếtruy xuất vào các dữ liệu đã được xuất bản cũng như cung cấp cơ chế chophép người dùng cá nhân, tổ chức xuất bản dữ liệu Cổng dữ liệu mở cungcấp 4 dịch vụ cơ bản: danh mục dữ liệu (Data Catalog), dịch vụ dữ liệu mở(Open Data Service – cung cấp các phương thức sử dụng, truy cập vào dữ liệumở thông qua các API như REST (Representational State Transfer), SOAP(Simple Object Access Protocol), RPC (Remote Procedure Call Protocol)),APP Service, và trung tâm dịch vụ (Service Center).

Trang 27

• Công nghệ dữ liệu mở (Open Data Technology) hỗ trợ 5 công nghệ chính: quảnlý siêu dữ liệu (metadata), các kỹ thuật liên kết dữ liệu, trực quan dữ liệu,mạng xã hội và các kỹ thuật ẩn danh hóa dữ liệu (anonymization technique).• Quản lý dữ liệu mở (Open Data Management) có 4 nhiệm vụ chính: quản lýngười dùng, quản lý chất lượng (chất lượng dữ liệu, nguồn dữ liệu, các dịchvụ, sản phẩm trong kiến trúc dữ liệu mở), quản lý bảo mật, và quản lý hoạtđộng.

Các công trình nghiên cứu nói trên đã cho thấy xu thế phát triển mạnh mẽ củanền tảng dữ liệu mở Các nền tảng hiện nay có thể chia ra làm 2 loại : Sản phẩmthương mại cung cấp dưới dạng các dịch vụ trên nền tảng đám mây (Socrata ) vàcác sản phẩm nguồn mở được lưu trữ cục bộ (CKAN) Tuy nhiên ta có thể tómtắt các tính năng cơ bản chung của các nền tảng trên nhau sau

• Khả năng lưu trữ dữ liệu

• Khả năng truy vấn, tích hợp với các ứng dụng trong hệ sinh thái• Khả năng chia sẻ dữ liệu cho cộng đồng

• Khả năng trực quan hoá dữ liệu

Sự khác biệt của các nền tảng đa phần phụ thuộc vào công nghệ cụ thể đượcsử dụng, mô hình tổ chức, các loại định dạng được hỗ trợ, khả năng hỗ trợ củacộng đồng, tính liên kết dữ liệu giữa các hệ thống Tuy nhiên, để khai thác hiệuquả tiềm năng của dữ liệu mở hiện nay ngoài các tính năng được nêu trên, vẫn cònnhiều vấn đề vẫn chưa được giải quyết như:

• Vấn đề về GDPR (General Data Prorection Regulation) - Quy định chung vềbảo vệ dữ liệu đang là mối quan tâm lớn của thế giới Phương pháp đảm bảoquá trình công khai, chia sẻ dữ liệu mở một cách hiệu quả nhưng vẫn khôngvi phạm các quy định của GDPA.

18

Trang 28

• Các nền tảng trên chỉ tập trung vào quản lý các file, phân loại dữ liệu, nhưngvẫn thiếu sự quan tâm đến nội dung bên trong của dữliệu, tính đúng đắn, độan toàn, tính hợp pháp, nguồn gốc chia sẻ.

• Bên cạnh đó, định dạng dữ liệu được chia sẻ phụ thuộc rất nhiều vào kiến trúcđược sử dụng, chưa có cơ chế chuyển đổi dữ liệu ngoài các định dạng được hỗtrợ sẵn có Trong tương lai sự xuất hiện của các chuẩn định dạng mới, yêu cầuthay đổi định dạng của các ứng dụng xoay quanh sẽ gây ra nhiều khó khăncho việc phát triển chia sẻ dữ liệu.

• Ngoài ra, khả năng tích hợp với các hệ thống sẵn có cũng góp phần quan trọngtrong quá trình phát triển nền tảng, tạo ra một quá trình liên tục hệ thống,không gián đoạn khi chuyển đổi từ hệ thống cũ sang hệ thống mới.

• Cuối cùng, việc phát triển ứng dụng dựa trên các tập dữ liệu được lưu trữtrong các datastore là một hướng phát triển tất yếu.

Xuất hiện từ những năm 60 của thế kỉ 20 [28], hệ quản trị cơ sở dữ liệu là mộttrong những công nghệ nòng cốt trong các hệ thống thông tin hiện nay Trong lĩnhvực cơ sở dữ liệu, ba khái niệm cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu và hệ thốngcơ sở dữ liệu được sử dụng một cách rộng rãi, phổ biến vì tầm quan trọng củachúng.

Khái niệm cơ sở dữ liệu dùng để chỉ tập hợp dữ liệu được tổ chức, lưu trữ vàđược truy cập từ hệ thống máy tính Chúng thường được thiết kế, tổ chức bằngcác mô hình, kỹ thuật mang tính học thuật Khái niệm hệ quản trị cơ sở dữ liệu làthuật ngữ được dùng để chỉ phần mềm giao tiếp với người dùng, cơ sở dữ liệu vàphần mềm để thu thập, phân tích dữ liệu Khái niệm hệ thống cơ sở dữ liệu baogồm cơ sở dữ liệu, hệ quản trị cơ sở dữ liệu và các phần mềm có liên quan Tuynhiên, trong thực tế cơ sở dữ liệu thường dùng để chỉ cả ba khái niệm cơ sở dữ liệu,hệ quản trị cơ sở dữ liệu và hệ thống cơ sở dữ liệu Trong tài liệu này, cơ sở dữ liệudùng để chỉ hệ quản trị cơ sở dữ liệu Trong quá trình phát triển của cơ sở dữ liệu,có nhiều mô hình cơ sở dữ liệu được đề ra dựa trên những nền tảng lý thuyết khác

Trang 29

nhau, đáp ứng những mục tiêu khác nhau: cơ sở dữ liệu quan hệ (tiêu biểu nhưOracle, MySQL, ), cơ sở dữ liệu NoSQL (tiêu biểu như MongoDB, Redis, ),cơ sở dữ liệu đối tượng,

Một số công nghệ về cơ sở dữ liệu đã phát triển lâu dài như mô hình quan hệcó từ năm 1970 [29] nhưng các hệ thống cơ sở dữ liệu theo mô hình quan hệ có ýnghĩa thương mại chỉ vào những năm 80 Các hệ thống cơ sở dữ liệu đã khắc phụcđược nhiều hạn chế của hệ thống xử lý tệp truyền thống.

Từ năm 1960-1970: Các hệ thống xử lý tệp vẫn còn thông dụng trong giaiđoạn này Tuy nhiên, các hệ thống cơ sở dữ liệu đầu tiên đã được giới thiệu, dùcòn cồng kềnh [28] Thực ra, mô hình phân cấp và mô hình mạng đã tạo nên thếhệ thứ nhất cho hệ thống cơ sở dữ liệu.

Từ năm 1970-1980: Các hệ thống theo thế hệ thứ nhất vẫn được phát huy vàcó nhiều sản phẩm thương mại Tuy nhiên, hai mô hình phân cấp và mạng vẫnđược dùng rộng rãi mặc dù chúng vẫn có các nhược điểm như: Các thủ tục tìmkiếm bản ghi, người dùng khó truy cập dữ liệu; tính độc lập giữa chương trình vàdữ liệu chưa thật tốt; chưa có cơ sở lý thuyết hoàn thiện.

Từ năm 1980-1990: Mô hình quan hệ của E.F.Codd [29] đã khắc phục nhượcđiểm của hai mô hình cơ sở dữ liệu trên Mô hình cơ sở dữ liệu quan hệ tạo nêncác hệ thống cơ sở dữ liệu thế hệ thứ hai Các hệ thống cơ sở dữ liệu quan hệ đượcbán nhiều trên thị trường và chiếm ưu thế so với các hệ thống cơ sở dữ liệu khác.Người ta dùng ngôn ngữ SQL và các ngôn ngữ khác để truy cập dữ liệu.

Từ năm 1990-2000: Những năm này, người ta vẫn sử dụng các cơ sở dữ liệutrong những năm 80 của thế kỷ XX để quản trị dữ liệu với cấu trúc phức tạp nhưdữ liệu kế toán tài chính, dữ liệu đa phương tiện (âm thanh, đồ hoạ, hình ảnh).Trong những năm 90, vấn đề hướng đối tượng không những được đề cập trongngành cơ sở dữ liệu mà còn trong nhiều ngành tin học khác Từ năm 2000 trở đi:công nghệ về cơ sở dữ liệu có thể có những đột phá đáng ngạc nhiên Tuy nhiênngười ta vẫn vạch ra các hướng vững chắc:

• Các kiểu dữ liệu phức tạp được quản lý tốt hơn Chúng gồm dữ liệu đa chiều,phù hợp với các ứng dụng của kho dữ liệu.

20

Trang 30

• Phát triển tiếp tục các máy chủ cực lớn Dựa vào hệ quản trị cơ sở dữ liệuquan hệ hướng đối tượng để thiết lập các cơ sở dữ liệu có khả năng quản lýnhiều loại dữ liệu đa dạng, thuận tiện cho các ứng dụng cơ sở dữ liệu trênmạng Internet.

• Các cơ sở dữ liệu phân tán cho phép các tổ chức có thể phân bố các dữ liệutại nhiều địa điểm xa nhau về không gian.

Việc lưu trữ dữ liệu theo địa chỉ và nội dung sẽ thông dụng hơn Điều này chophép người dùng truy cập dữ liệu theo nội dung của dữ liệu, mà không cần biếtcách thức truy cập các dữ liệu này Các công nghệ về cơ sở dữ liệu, trí tuệ nhântạo và các dịch vụ thông tin sẽ tạo nên môi trường truy cập dữ liệu dễ dàng hơn,chẳng hạn giao tiếp bằng ngôn ngữ tự nhiên Mô hình phân cấp và mô hình mạngđược coi là đại diện cho các hệ thống cơ sở dữ liệu thế hệ thứ nhất Mô hình quanhệ đại diện cho hệ thống cơ sở dữ liệu thế hệ thứ hai Các mô hình cơ sở dữ liệuthế hệ sau được kể ra gồm mô hình hướng đối tượng, mô hình phân tán, mô hìnhsuy diễn Các giai đoạn phát triển của hệ cơ sở dữ liệu và một số cột mốc đáng lưuý có thể được xem lần lượt ở hai hình sau.

Thuật ngữ "cơ sở dữ liệu quan hệ"được phát minh bởi EF Codd tại IBM vào năm1970 Codd đã giới thiệu thuật ngữ này trong [29] Trong bài báo này và các bàibáo sau này, ông đã định nghĩa những gì có nghĩa là "quan hệ" Một định nghĩanổi tiếng về những gì cấu thành một hệ thống cơ sở dữ liệu quan hệ bao gồm 12quy tắc của Codd [30], [31] Tuy nhiên, không có hiện thực thương mại nào củamô hình quan hệ tuân thủ tất cả các quy tắc của Codd, vì vậy thuật ngữ này đãdần dần mô tả một lớp hệ thống cơ sở dữ liệu rộng hơn, ở mức tối thiểu Cơ sở dữliệu quan hệ (RDBMS – Relational Database Management System) là một dạnghệ quản trị cơ sở dữ liệu (DBMS – Database Management System) được sử dụngphổ biến nhất, trong đó tất cả dữ liệu được tổ chức chặt chẽ dưới dạng các bảngdữ liệu Tất cả các thao tác trên cơ sở dữ liệu đều diễn ra trên các bảng.

Hạch tâm của cơ sở dữ liệu quan hệ là SQL [32] Có thể nói một trong nhữnglí do khiến cho cơ sở dữ liệu được sử dụng một cách rộng rãi là nhờ SQL.

Trang 31

2.3.2Cơ sở dữ liệu phi quan hệ

Trong nhiều thập kỷ, mô hình dữ liệu quan hệ chiếm ưu thế về lượng sử dụng đểphát triển ứng dụng là mô hình dữ liệu quan hệ được sử dụng trong các cơ sở dữliệu quan hệ, ví dụ như Oracle, DB2, SQL Server, MySQL và PostgreSQL Mãicho đến cuối những năm 2000, các mô hình dữ liệu khác mới bắt đầu được đưa vàoáp dụng và sử dụng nhiều hơn Để phân biệt và phân loại các cơ sở dữ liệu và môhình dữ liệu mới này, từ "NoSQL"(Non-SQL hay Not Only SQL) đã được đặt ra.Thông thường, thuật ngữ "NoSQL"được sử dụng tương đương với "phi quan hệ".Khác với cơ sở dữ liệu quan hệ truyền thống, cơ sở dữ liệu NoSQL không cómột cấu trúc, mô hình biểu diễn tổng quát NoSQL thật ra là tên gọi để chỉ mộttập hợp các cơ sở dữ liệu có cấu trúc linh hoạt chứ không dùng để chỉ một dạngcấu trúc cụ thể nào Các loại cơ sở dữ liệu NoSQL có các đặc điểm chung sau: đơngiản hóa thiết kế, đơn giản hóa khả năng mở rộng theo chiều ngang, khả năng kiểmsoát tính sẵn sàng tốt hơn và giảm thiểu lỗi trong quá trình ánh xạ đối tượng –quan hệ (quá trình ORM – Object Relational Mapping).

Cơ sở dữ liệu NoSQL được đề ra bởi Carlo Strozzi vào năm 1998 Từ 1998 đếnnay, cơ sở dữ liệu NoSQL đã đạt được những bước tiến quan trọng:

• Năm 1998, thuật ngữ NoSQL được Carlo Strozzi đề ra.• Năm 2005, BigTable của Google [33]

• Năm 2008, Cassandra được đề ra [34]• Năm 2009, MongoDB được ra đời.

• Năm 2012, DynamoDB của Amazon được ra đời [35]

Dựa trên mô hình dữ liệu, cơ sở dữ liệu NoSQL có thể được chia làm 4 nhómchính:

• Cơ sở dữ liệu dạng văn bản.• Cơ sở dữ liệu dạng khóa.

22

Trang 32

• Cơ sở dữ liệu dạng cột.• Cơ sở dữ liệu dạng đồ thị.

Bốn dạng mô hình dữ liệu trên sẽ được trình bày rõ hơn trong các phần sau.

Hình 2.10: Sự khác biệt giữa mô hình dữ liệu quan hệ và mô hình dữ liệu NoSQL

2.3.3.1 Giới thiệu

Cơ sở dữ liệu lưu trữ tài liệu (còn được gọi là cơ sở dữ liệu hướng tài liệu, cơ sở dữliệu tổng hợp hoặc đơn giản là lưu trữ tài liệu hoặc cơ sở dữ liệu tài liệu) (tiếng anhlà Document-oriented database hay document store) là cơ sở dữ liệu sử dụng môhình hướng tài liệu để lưu trữ dữ liệu Cơ sở dữ liệu lưu trữ tài liệu lưu trữ từngbản ghi và dữ liệu liên quan trong một tài liệu Mỗi tài liệu chứa dữ liệu bán cấutrúc có thể được truy vấn bằng cách sử dụng các công cụ truy vấn và phân tíchkhác nhau của hệ quản trị cơ sở dữ liệu Có thể thấy rằng, việc sử dụng định dạnghướng tài liệu sẽ đơn giản hóa cấu trúc của dữ liệu, không cần phải tuân theo mộtcấu trúc cứng nhắc, không cần phải chứa những thông tin dư thừa Vì vậy, khi sửdụng dạng cơ sở dữ liệu tài liệu, hiệu năng của hệ thống sẽ được cải thiện nhiều.

Trang 33

Tuy nhiên, chính việc sử dụng cơ sở dữ liệu dạng tài liệu cũng sẽ tạo ra khókhăn trong quá trình lập trình (dễ tạo ra lỗi khi người lập trình không chú ý), cókhả năng tạo ra dữ liệu trùng lặp (do dữ liệu không được chuẩn hóa), .

• Lược đồ (Schema): Với cơ sở dữ liệu quan hệ, phải tạo một lược đồ trước khiđưa vào bất kỳ dữ liệu nào Với cơ sở dữ liệu lưu trữ tài liệu (và hầu hết cáccơ sở dữ liệu NoSQL khác), không bắt buộc yêu cầu như vậy Dữ liệu có thểxử lý mà không cần bất kỳ lược đồ được xác định trước Vì vậy, với một kholưu trữ tài liệu, bất kỳ hai tài liệu nào cũng có thể chứa một cấu trúc và kiểudữ liệu khác nhau Ví dụ: nếu một người dùng chọn không cung cấp ngày sinhcủa mình, thì đó không phải là trường trong tài liệu Nếu người dùng kháccung cấp ngày sinh của mình, đó sẽ là một trường trong tài liệu đó Nếu đâylà một cơ sở dữ liệu quan hệ, ngày sinh vẫn sẽ là một trường cho cả hai ngườidùng - nó chỉ chứa giá trị hoặc không.

• Khả năng mở rộng (Scalability): Khả năng mở rộng cơ sở dữ liệu tài liệu cóthể mở rộng theo chiều ngang rất tốt Dữ liệu có thể được lưu trữ trên nhiềungàn máy tính và hệ thống sẽ hoạt động tốt Cơ sở dữ liệu quan hệ khôngphù hợp để mở rộng theo chiều ngang Các DB quan hệ phù hợp hơn với việcmở rộng theo chiều dọc (nghĩa là thêm nhiều bộ nhớ, lưu trữ, v.v.) Ở đây cóthể nhìn thấy giới hạn về số lượng tài nguyên có thể chứa trong một máy, đây

24

Trang 34

chính là điểm cần xem xét khi lựa chọn NoSQL cho việc mở rộng theo chiềungang.

• Mối quan hệ giữa các bảng (Relationships) Cơ sở dữ liệu tài liệu không cókhóa ngoại giống như cơ sở dữ liệu quan hệ Khóa ngoại được sử dụng bởicác cơ sở dữ liệu quan hệ để thực thi các mối quan hệ giữa các bảng Nếumột quan hệ cần được thiết lập với cơ sở dữ liệu tài liệu, nó sẽ cần được thựchiện ở mức ứng dụng Tuy nhiên, toàn bộ ý tưởng đằng sau mô hình tài liệulà mọi dữ liệu liên quan đến một bản ghi đều được lưu trữ trong cùng mộttài liệu Vì vậy, nhu cầu thiết lập mối quan hệ khi sử dụng mô hình tài liệukhông giống như trong cơ sở dữ liệu quan hệ.

• Truy vấn (Query): Hầu hết các cơ sở dữ liệu quan hệ sử dụng SQL làm ngônngữ truy vấn tiêu chuẩn Cơ sở dữ liệu tài liệu có xu hướng sử dụng các ngônngữ truy vấn khác (mặc dù một số ngôn ngữ được xây dựng để hỗ trợ SQL).Nhiều cơ sở dữ liệu tài liệu có thể được truy vấn bằng các ngôn ngữ nhưXQuery, XSLT, SPARQL, Java, JavaScript, Python,

Như tên gọi, dữ liệu đều được các cơ sở dữ liệu hướng văn bản lưu trữ theo dạngluận lý dưới dạng văn bản điện tử Tuy nhiên, khi lưu vật lý, các cơ sở dữ liệu dạngvăn bản phải cân nhắc thêm nhu cầu khác như tìm kiếm dữ liệu nhanh chóng, lưutrữ tiết kiệm Vì vậy, khi lưu trữ vật lý, các dạng cơ sở dữ liệu dạng tài liệu thườngsử dụng các phương pháp, các định dạng lưu trữ khác: MongoDB sử dụng BSON(dạng mã nhị phân của JSON), CouchDB sẽ dùng một tập tin nhị phân để lưu trữtoàn bộ dữ liệu ứng với mỗi cơ sở dữ liệu, .

JSON, viết tắt của JavaScript Object Notation được đề ra và phát triển bởi DouglasCrockford vào đầu những năm 2000 Hiện tại, định dạng này là một trong nhữngđịnh dạng dữ liệu phổ biến, quan trọng nhất JSON được ứng dụng rộng rãi trongnhiều lĩnh vực khác nhau: trao đổi dữ liệu, lưu trữ thiết lập, cài đặt,

Trang 35

JSON được thiết kế như là một ngôn ngữ trao đổi dữ liệu vừa dễ đọc, dễhiểu với người dùng, vừa dễ xử lý cho máy tính Được xây dựng dựa trên chuẩnECMA-262 của JavaScript [36], JSON sử dụng quy ước khá giống với những ngônngữ lập trình như C, C++, C#, Java, Javascript Tuy nhiên, JSON không bị phụthuộc vào ngôn ngữ và có thể làm việc với nhiều ngôn ngữ khác nhau.

Cú pháp của JSON có tính dễ hiểu với con người Thông thường, một ngườicó thể không cần phải có quá nhiều kiến thức về kỹ thuật, nghiệp vụ cũng có thểđọc hiểu được một đoạn thông tin được lưu trữ dưới dạng JSON JSON có cáckiểu dữ liệu sau:

• Dạng số.• Dạng ký tự.

• Một trong 3 giá trị đặc biệt: true, false, null.• Dạng dãy (array).

• Dạng đối tượng (object).

Một đoạn thông tin JSON có cấu trúc tương tự như sau:

Phân cụm dữ liệu là một hướng nghiên cứu rất quan trọng trong lĩnh vực khaiphá dữ liệu, nhằm tìm kiếm, phát hiện các cụm, các mẫu dữ liệu tiềm ẩn trongcác tập dữ liệu lớn, từ đó cung cấp thông tin, tri thức hữu ích để đưa ra các quyếtđịnh Phân cụm dữ liệu là quá trình phân chia một tập dữ liệu ban đầu thành cáccụm dữ liệu sao cho các phần tử trong một cụm thì “tương tự” nhau và các phầntử trong các cụm khác nhau thì “phi tương tự” với nhau Số các cụm dữ liệu đượcphân ở đây có thể được xác định trước theo kinh nghiệm hoặc có thể được tự độngxác định.

26

Trang 36

Sau khi xác định các đặc tính của dữ liệu, người ta đi tìm cách thích hợp đểxác định "khoảng cách"giữa các đối tượng, hay là phép đo tương tự dữ liệu Đâychính là các hàm để đo sự giống nhau giữa các cặp đối tượng dữ liệu, thông thườngcác hàm này hoặc là để tính độ tương tự (Similar) hoặc là tính độ phi tương tự(Dissimilar) giữa các đối tượng dữ liệu Giá trị của hàm tính độ đo tương tự cànglớn thì sự giống nhau giữa đối tượng càng lớn và ngược lại; còn hàm tính độ phitương tự tỉ lệ nghịch với hàm tính độ tương tự.

Trong học máy, phân cụm dữ liệu được xem là vấn đề học không có giám sát(unsupervised learning), vì nó giải quyết vấn đề tìm một cấu trúc trong tập hợpcác dữ liệu chưa biết trước các thông tin về lớp hay các thông tin về tập ví dụ huấnluyện Trong nhiều trường hợp, khi phân lớp được xem là vấn đề học có giám sátthì phân cụm dữ liệu là một bước trong phân lớp dữ liệu, trong đó phân cụm dữliệu sẽ khởi tạo các lớp cho phân lớp bằng cách xác định các nhãn cho các nhómdữ liệu Một vấn đề thường gặp trong phân cụm dữ liệu đó là hầu hết các dữ liệucần cho phân cụm đều có chứa dữ liệu “nhiễu” (noise) do quá trình thu thập thiếuchính xác hoặc không đầy đủ Vì vậy, cần phải xây dựng chiến lược cho bước tiềnxử lý dữ liệu nhằm khắc phục hoặc loại bỏ “nhiễu” trước khi bước vào giai đoạnphân tích phân cụm dữ liệu.

Ngoài ra, dò tìm phần tử ngoại lai (outlier) cũng là một trong những hướngnghiên cứu quan trọng trong khai phá dữ liệu, chức năng của nó là xác định mộtnhóm nhỏ các đối tượng dữ liệu “khác thường”, dị biệt so với các dữ liệu khác - tứclà các đối tượng dữ liệu không tuân theo các hành vi hoặc mô hình dữ liệu - nhằmtránh ảnh hưởng của chúng tới quá trình và kết quả phân cụm cữ liệu Khám phácác phần tử ngoại lai đã được ứng dụng trong các lĩnh vực như viễn thông, dò tìmgian lận thương mại, .

Quá trình này bao gồm bốn bước cơ bản như sau:

• Trích chọn hay lựa chọn đặc tính (Feature selection or extraction): bao gồmviệc trích chọn ra các đối tượng dữ liệu thích hợp, hữu ích từ dữ liệu cơ sở.

Trang 37

Việc trích chọn tốt các đặc tính có thể làm giảm rất lớn các dữ liệu nhiễu vàđơn giản hoá quá trình thiết kế và xử lý tiếp theo.

• Lựa chọn hoặc thiết kế thuật toán phân cụm (Clustering algorithm design orselection): liên quan tới việc kiểm tra xem nên phân cụm theo xu hướng nàovà chọn thuật toán hoặc thiết kế một thuật toán phân cụm với các tham sốphù hợp.

• Đánh giá (Cluster Validation): việc kiểm định thường dựa trên các kiểm trathông thường và các kĩ thuật trực quan Tuy nhiên, số lượng dữ liệu lớn và sốchiều của chúng tăng sẽ khiến quá trình đánh giá gặp khó khăn.

• Biểu diễn các kết quả (Results Interpretation): Mục đích cuối cùng của phâncụm là cung cấp cho người sử dụng những hiểu biết tri thức đầy đủ, ý nghĩatừ dữ liệu cơ sở, bởi vậy, cần giải quyết hiệu quả vấn đề kết hợp các kết quảphân cụm với các nghiên cứu khác để đưa ra kết luận tin cậy về tri thức thuđược và đề xuất những phân tích xa hơn.

Phân cụm dữ liệu thực hiện phân chia dữ liệu thành các cụm dữ liệu Quá trìnhphân cụm dữ liệu có nhiều ý nghĩa trong các hoạt động của con người và đã đượcáp dụng rất rộng rãi trong nhiều ứng dụng, bao gồm nhận dạng mẫu, phân tíchdữ liệu, xử lý ảnh, lập kế hoạch marketing.

Trong thương mại phân cụm dữ liệu có thể giúp các công ty khám phá ra cácnhóm khách hàng quan trọng có các đặc trưng tương đồng nhau và đặc tả kháchhàng từ các mẫu mua bán trong cơ sở dữ liệu khách hàng để từ đó đưa ra các chiếnlược kinh doanh hợp lý.

Trong sinh học phân cụm dữ liệu được sử dụng để xác định các loại sinh vật,phân loại các gen với chức năng tương đồng và thu được các cấu trúc trong cácmẫu.

Phân tích dữ liệu không gian tạo ra các cụm từ cơ sở dữ liệu đồ sộ của dữ liệukhông gian như dữ liệu thu được từ các hình ảnh chụp từ vệ tinh các thiết bị y

28

Trang 38

học hoặc hệ thống thông tin địa lý (GIS), trợ giúp con người tự động phân tíchvà xử lý các dữ liêu không gian như nhận dạng và chiết xuất các đặc tính hoặc cácmẫu dữ liệu quan tâm có thể tồn tại trong cơ sở dữ liệu không gian.

Trong lĩnh vực Web Mining, phân cụm dữ liệu có thể khám phá các nhóm tàiliệu quan trọng, có nhiều ý nghĩa trong môi trường Web Các lớp tài liệu này trợgiúp cho việc khám phá tri thức từ dữ liệu,

Đã có rất nhiều các kỹ thuật xuất hiện nhằm khám phá ra các nhóm trong cáctập dữ liệu lớn Các kỹ thuật áp dụng để giải quyết vấn đề phân cụm dữ liệu đềuhướng tới hai mục tiêu chung: Chất lượng của các cụm khám phá được và tốc độthực hiện của thuật toán Hiện nay, các kỹ phân cụm dữ liệu có thể phân loại theocác cách tiếp cận chính sau:

2.4.4.1 Phương pháp phân cụm phân hoạch

Phương pháp: Tư tưởng chính của phương pháp này là phân cơ sở dữ liệu D có nphần tử thành k cụm dữ liệu, với k là một tham số cho trước Các thuật toán phâncụm dựa trên phương pháp này thường khởi tạo một phân hoạch ban đầu, sau đósử dụng một chiến lược để đánh giá một hàm mục tiêu Mỗi cụm được miêu tảbằng tâm của cụm (thuật toán k-means) hoặc bằng một trong các đối tượng địnhvị gần tâm của cụm (thuật toán k-medoid).

Ưu, nhược điểm: Ưu điểm của các thuật toán phân cụm dựa trên phương phápnày chính là tốc độ xử lý dữ liệu rất nhanh, có thể áp dụng cho tập dữ liệu lớn.Tuy nhiên phương pháp còn có một hạn chế rất lớn đó là không giải quyết đượctrường hợp dữ liệu có các điểm nhiễu, điểm khuyết Ngoài ra, thuật toán còn cóhạn chế trong việc xác định k cụm ban đầu, phải thực hiện nhiều lần và không tìmđược các cụm với hình dạng phức tạp Một số thuật toán điển hình của phươngpháp phânhoạch là k-means, PAM, CLARA, CLARANS,

Trang 39

2.4.4.2 Phương pháp phân cụm phân cấp

Phương pháp: Tư tưởng chính của phương pháp này là sắp xếp đệ quy tập dữliệu đã cho thành một cấu trúc có dạng hình cây Cây phân cấp này có thể đượcxây dựng bằng phương pháp từ trên xuống (Top-down) hoặc bằng phương pháptừ dướilên (Bottom-up).

Phương pháp từ dưới lên (Bottom-up): Bắt đầu xuất phát với việc khởi tạocác cụm riêng biệt, sau đó tiến hành nhóm các cụm theo một độ đo tương tự (nhưkhoảng cách giữa hai tâm của hai cụm), quá trình này được thực hiện cho đến khitất cả các cụm được ghép thành một cụm (mức cao nhất của cây phân cấp) hoặccho đến khi các điều kiện kết thúc được thỏa mãn Cách tiếp cận này sử dụng chiếnlược “tham ăn” trong quá trình phân cụm.

Phương pháp từ trên xuống (Top-down) có trạng thái ban đầu là tất cả cácđối tượng trong cơ sở dữ liệu được xếp trong cùng một cụm Sau mỗi vòng lặp,một cụm được tách thành các cụm nhỏ hơn theo giá trị của một phép đo độ tươngtự nào đó cho đến khi mỗi đối tượng là một cụm, hoặc cho đến khi điều kiện dừngthỏa mãn Cách tiếp cận này sử dụng chiến lược “chia để trị” trong quá trình phâncụm Phương pháp phân cụm phân cấp thường được sử dụng đối với dữ liệu khôngliên tục Một số thuật toán điển hình của phương pháp này là BIRCH, CURE,

2.4.4.3 Phương pháp phân cụm dựa trên mật độ

Phương pháp: Tư tưởng chính của phương pháp này là nhóm các đối tượng dữ liệuthành một cụm dựa trên khái niệm liên kết giữa các điểm dữ liệu và hàm mật độxác định của các điểm dữ liệu Mật độ này thường được xác định bằng số các đốitượng lân cận của một đối tượng dữ liệu Trong cách tiếp cận này, các đối tượngdữ liệu trong một cụm phải có số đối tượng dữ liệu lân cận lớn hơn một ngưỡngcho trước.

Ưu, nhược điểm: Ưu điểm của phương pháp phân cụm dựa trên mật độ là cóthể tìm ra các cụm có hình dạng bất kì, giải quyết được các điểm nhiễu và duyệtdữ liệu một lần Tuy nhiên, việc xác định các tham số mật độ của thuật toán rấtkhó khăn trong khi các tham số này lại có tác động rất lớn đến kết quả phân cụm

30

Trang 40

dữ liệu Phương pháp có tốc độ chạy rất chậm, không áp dụng được đối với dữ liệunhiều chiều Các thuật toán điển hình là DBSCAN, DENCLUDE, OPTICS,

2.4.4.4 Phương pháp phân cụm dựa trên lưới

Phương pháp: Tư tưởng chính của phương pháp là dựa trên cấu trúc dữ liệulướiđể PCDL Mục tiêu là lượng hóa tập dữ liệu thành các ô, các ô này tạo thành cấutrúc dữ liệu lưới, sau đó các thao tác phân cụm chỉ cần làm việc với các đối tượngtrong từng ô trên lưới.

Ưu, nhược điểm: Ưu điểm của phương pháp này là thích hợp với dữ liệu nhiềuchiều, chủ yếu tập trung áp dụng cho lớp dữ liệu không gian, thời gian xử lý nhanhvà độc lập với số đối tượng dữ liệu trong tập dữ liệu ban đầu Tuy nhiên, phươngpháp này lại phụ thuộc vào số ô trong mỗi chiều của không gian lưới Các thuậttoán điển hình của phương pháp này là STRING, CLIQUE, WaveCluster,

2.4.4.5 Phương pháp phân cụm dựa trên mô hình

Phương pháp này khám phá các phép xấp xỉ tốt của các tham số mô hình sao chokhớp với dữ liệu một cách tốt nhất Chúng có thể sử dụng chiến lược phân cụmphân hoạch hoặc phân cụm phân cấp, dựa trên cấu trúc hoặc mô hình mà chúnggiả định về tập dữ liệu và cách mà chúng tinh chỉnh các mô hình này để nhận dạngra các phân hoạch Các thuật toán phân cụm dựa trên mô hình có hai tiếp cậnchính: mô hình thống kê và mạng Nơron Phương pháp này gần giống với phươngpháp dựa trên mật độ, bởi vì chúng phát triển các cụm riêng biệt nhằm cải tiếncác mô hình đã được xác định trước đó, nhưng đôi khi nó không bắt đầu với mộtsố cụm cố định và không sử dụng cùng một khái niệm mật độ cho các cụm Cácthuật toán điển hình của phương pháp này là thuật toán EM, COBWEB, SOM

Đánh giá hiệu quả của thuật toán phân cụm vẫn chưa có một tiêu chuẩn rõ ràng,bởi vì một thuật toán có thể thực hiện tốt trên một tập dữ liệu này, nhưng lạikhông tốt trên tập dữ liệu khác Sự khác nhau này xuất phát từ mục đích của việc

Ngày đăng: 02/08/2024, 17:14

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

TÀI LIỆU LIÊN QUAN