32
www.vietbandosolutions.com Page 1 | 32 HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE Tháng 03, 2020 TÓM TẮT Tài liệu mô tả.

HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 1 | 32

HỆ THỐNG QUẢN LÝ TỔNG KHO

DỮ LIỆU VBD-DATA

WAREHOUSE Tháng 03, 2020

TÓM TẮT Tài liệu mô tả.

Page 2: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 2 | 32

MỤC LỤC 1. Vai trò và chức năng ................................................................................................... 3

2. Luồng công việc và xử lý ........................................................................................... 4

2.1. Quy trình nhập dữ liệu vào Tổng kho dữ liệu.................................................................... 4

2.2. Quy trình chi tiết trích xuất, biến đổi, nạp dữ liệu .......................................................... 6

2.3. Quy trình đăng ký trích xuất dữ liệu ...................................................................................... 8

3. Kiến trúc thành phần .................................................................................................. 9

3.1. Mô hình nguyên lý .......................................................................................................................... 9

3.2. Kiến trúc hệ thống ....................................................................................................................... 10

3.3. Kiến trúc phần mềm ứng dụng .............................................................................................. 12

4. Các nhóm chức năng phần mềm ............................................................................... 13

5. Nền tảng công nghệ VBD-DATA WAREHOUSE: ................................................... 13

5.1. Quản lý .............................................................................................................................................. 13

5.2. Tìm kiếm .......................................................................................................................................... 14

5.3. Khai thác ........................................................................................................................................... 15

5.4. Báo cáo thống kê .......................................................................................................................... 16

5.5. Tích hợp ............................................................................................................................................ 17

6. Một số giao diện phần mềm: ..................................................................................... 17

6.1. Đồng bộ hóa dữ liệu. ................................................................................................................... 17

6.2. Công cụ tạo thống kê OLAP ..................................................................................................... 18

6.3. Tra cứu dữ liệu .............................................................................................................................. 24

7. Phụ lục (Source code) ............................................................................................... 25

Page 3: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 3 | 32

1. Vai trò và chức năng

Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu

(Data Warehouse), đóng vai trò một kho chứa tất cả dữ liệu được hợp nhất từ nhiều

nguồn, được chuẩn hóa để có thể khai thác tốt, có thể hỗ trợ trong việc đưa ra các quyết

định mang tính chiến lược và chiến thuật.

Mục đích chính của việc xây dựng Tổng kho dữ liệu là luôn cung cấp một hình ảnh

thống nhất và chính xác nhất về các lớp dữ liệu tại bất kỳ thời điểm nào. Sử dụng hệ thống

quản lý Tổng kho dữ liệu, ngườ dùng có thể khai thác toàn bộ dữ liệu lịch sử và hiện hành

của đơn vị mình dễ dàng, trong khi trước đây thực hiện việc này thường mất rất nhiều

công sức.

Các chức năng chính của Hệ thống quản lý Tổng kho dữ liệu:

Tổng hợp, thu thập dữ liệu

Biên tập, Xử lý, Chuẩn hoá dữ liệu

Đồng bộ dữ liệu

Thông báo đồng bộ dữ liệu cho các Kho dữ liệu chuyên đề

Trích xuất dữ liệu

Quản lý nhật ký

Quản lý dữ liệu

Quản trị hệ thống

Tra cứu truy vấn dữ liệu

Giao tiếp với Hệ thống quản lý và khai thác các Kho dữ liệu chuyên đề.

Page 4: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 4 | 32

2. Luồng công việc và xử lý

2.1. Quy trình nhập dữ liệu vào Tổng kho dữ liệu

Hình Error! No text of specified style in document.-1: Quy trình nhập dữ liệu vào

Tổng kho dữ liệu

Bước 1: Trích xuất và tổng hợp dữ liệu:

Page 5: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 5 | 32

o Các chuyên viên xử lý dữ liệu trích xuất dữ liệu từ dữ liệu nguồn

o Chuyên viên dữ liệu thực hiện tổng hợp dữ liệu bằng việc nạp dữ liệu trích

xuất từ nhiều nguồn khác nhau.

Bước 2: Chuyên viên dữ liệu sau khi tổng hợp sẽ nạp dữ liệu tổng hợp vào

vùng đệm lưu trữ dữ liệu tổng hợp trước khi được biên tập và biến đổi. Quy

trình được thực hiện cho tới khi tất cả dữ liệu đã được nạp vào vùng đệm.

Bước 3: Chuyên viên dữ liệu sử dụng các công cụ do hệ thống cung cấp để tiến

hành biến đổi dữ liệu trong vùng đệm lưu trữ dữ liệu tổng hợp và chuyển các

dữ liệu đã hoàn thiện vào vùng đệm lưu trữ dữ liệu chuẩn hóa. Quy trình lặp

lại cho tới khi tất cả dữ liệu trong vùng đệm được xử lý.

Bước 4: Dữ liệu sau khi hoàn thiện sẽ được nạp vào Tổng kho dữ liệu để lưu

trữ.

Bước 5: Dữ liệu hoàn thiện khi được nạp vào Tổng kho dữ liệu đồng thời thông

báo cho các hệ thống đã đăng ký sử dụng dữ liệu từ trước.

Page 6: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 6 | 32

2.2. Quy trình chi tiết trích xuất, biến đổi, nạp dữ liệu Lưu ý: Trong quy trình đưa dữ liệu vào Tổng kho dữ liệu, bước biến đổi dữ liệu là

phức tạp nhất, chi tiết về bước này được trình bày rõ hơn trong quy trình bên dưới:

Hình Error! No text of specified style in document.-2: Quy trình ETL dữ liệu

Bước 1: Chuyên viên xử lý dữ liệu trích xuất dữ liệu từ dữ liệu nguồn

Page 7: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 7 | 32

Bước 2: Dữ liệu trích xuất được nạp vào vùng đệm, nếu không thành công,

quay lại bước 1

Bước 3: Kiểm tra dữ liệu đã được làm sạch chưa

o Nếu đúng đi tiếp Bước 4

o Nếu chưa tiến hành làm sạch dữ liệu bằng các công cụ do hệ thống cung câp.

Quy trình làm sạch dữ liệu bao gồm xử lý dữ liệu lỗi, dữ liệu nhiễu, dữ liệu

thiếu, dữ liệu không nhất quán…

o Quy trình lặp lại cho tới khi tất cả dữ liệu trong vùng đệm được làm sạch.

Bước 4: Xác nhận dữ liệu đã được biến đổi chưa

o Nếu đúng đi tiếp Bước 5

o Nếu chưa tiến hành biến đổi dữ liệu bằng các công cụ do hệ thống cung câp.

Quy trình biến đổi dữ liệu bao gồm chuẩn hóa, chuyển đổi, kết hợp, làm giàu

… dữ liệu

o Quy trình lặp lại cho tới khi tất cả dữ liệu trong vùng đệm được biến đổi.

Bước 5: Dữ liệu sau khi hoàn thiện sẽ được trích xuất từ vùng đệm và nạp vào

Tổng kho dữ liệu để lưu trữ. Quy trình lặp lại cho tới khi tất cả dữ liệu trong

vùng đệm đều được nạp thành công vào Tổng kho dữ liệu.

Page 8: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 8 | 32

2.3. Quy trình đăng ký trích xuất dữ liệu

Hình Error! No text of specified style in document.-3: Quy trình đăng ký trích xuất

dữ liệu

Bước 1: Hệ thống nhận thông tin đăng ký trích xuất dữ liệu từ hệ thống khác

(ví dụ như từ các Kho dữ liệu chuyên đề của Hệ thống quản lý và khai thác các

Kho dữ liệu chuyên đề)

Page 9: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 9 | 32

Bước 2: Khi dữ liệu tại Tổng kho dữ liệu có xử thay đổi, hệ thống kiểm tra xem

lớp dữ liệu thay đổi có được đăng ký trích xuất không. Nếu có, chuyển đến bước

3

Bước 3: Hệ thống thông báo về sự thay đổi dữ liệu cho các hệ thống có đăng

ký trích xuất dữ liệu

Bước 4: Hệ thống nhận yêu cầu trích xuất từ các hệ thống khác

Bước 5: Trích xuất và gởi dữ liệu cho các hệ thống khác.

3. Kiến trúc thành phần

3.1. Mô hình nguyên lý

Hình Error! No text of specified style in document.-4: Mô hình nguyên lý Hệ thống

quản lý Tổng kho dữ liệu

Hệ thống quản lý Tổng kho dữ liệu là nơi tổng hợp, tiếp nhận và xử lý các dữ liệu

nguồn khác nhau. Dữ liệu nguồn sẽ được biên tập, xử lý, chuẩn hóa thành các dữ liệu hoàn

thiện để có thể lưu trữ vào Tổng kho dữ liệu.

Quá trình tổng hợp và biên tập, chuẩn hóa rất đa dạng và phức tạp, tính chất tùy

biến và khả năng khả chuyển yêu cầu cao, cần hỗ trợ nhiều vùng đệm lưu trữ để có thể

thực hiện một cách tốt nhất.

Hệ thống quản lý Tổng kho dữ liệu

Chuyên viên xử lý dữ liệu

Dữ liệu nguồn

Biên tậpXử lý

Chuẩn hoá

Nạp dữ liệu

Dữ liệu chuẩn hoá

Tổng hợp

Thông báo về dữ liệu nạp

Dữ liệu tổng hợp

Trích xuất dữ liệu nạp

Hệ thống quản lý và khai thác các kho dữ

liệu chuyên đề

Tổng kho dữ liệu

Vùng đệmDữ liệu tổng

hợp

Vùng đệmDữ liệu chuẩn

hóa

Dữ liệu nạp

Đăng ký thông báo và trích xuất dữ

liệu nạp

Page 10: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 10 | 32

Việc khai thác và khai khoáng dữ liệu của tổng kho được Hệ thống quản lý và khai

thác các kho dữ liệu chuyên đề đảm nhận, nên hai hệ thống sẽ kết hợp với nhau, Tổng kho

dữ liệu sẽ cho nhận đăng ký về việc nạp dữ liệu, khi quá trình nạp dữ liệu hoàn thành, sẽ

thông báo để hệ thống các kho dữ liệu chuyên đề sẽ nhận được thông báo và trích xuất dữ

liệu nạp tương ứng để phục vụ cho nhu cầu khai thác tốt nhất.

3.2. Kiến trúc hệ thống

Hình Error! No text of specified style in document.-5: Kiến trúc hệ thống của Hệ

thống quản lý Tổng kho dữ liệu

Replicate, Cluster

Máy chủ

vùng đệm

Máy chủ

vùng đệm

Máy chủ

vùng đệm

Firewall

Database server Database server

Database

Web App Server

Search Server

Cache Server

Service Server Log ServerESB Server

Application Server

Router

Database

Firewall

SAN Backup

Page 11: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 11 | 32

Các thành phần được đề xuất trong kiến trúc hệ thống của Hệ thống quản lý Tổng

kho dữ liệu:

1. Tầng đệm với các máy chủ vùng đệm trung gian: dùng để lưu trữ tạm dữ liệu

từ các hệ thống khác trước khi được biên tập, xử lý, chuẩn hoá và nạp vào Tổng

kho dữ liệu

2. Tầng ứng dụng:

o Các máy chủ Ứng dụng và Dịch vụ: chỉ huy các hoạt động của ứng dụng giữa

người dùng và ứng dụng, CSDL. Cung cấp các dịch vụ và chức năng cho toàn

hệ thống.

o Các máy chủ Website: cài đặt phần mềm dich vụ Web và sử dụng các chiến

lược khác nhau, khả năng mở rộng như cân bằng tải (load balancing), bộ

nhớ đệm (caching), và phân nhóm (clustering).

o Các máy chủ Hỗ trợ: cài đặt các thành phần hỗ trợ cho Tổng kho dữ liệu, sử

dụng để vận hành các công nghệ và hệ thống hỗ trợ phục vụ cho các công

việc và chức năng của Ứng dụng.

3. Tầng CSDL với các máy chủ Database: Lưu trữ toàn bộ kho dữ liệu. Do dữ liệu

lớn và đa dạng, các máy chủ CSDL sẽ được triển khai phân tán với các công

nghệ replicate và cluster, sử dụng thông qua các hệ thống cân bằng tải để đạt

được hiệu năng tối ưu nhất. Tất cả dữ liệu sẽ được sao lưu trong các hệ thống

SAN để đạt được độ an toàn cao nhất cho việc lưu trữ dữ liệu.

4. Các máy trạm làm việc và Hệ thống trong: Là những máy trạm và các kết nối từ

các máy chủ dịch vụ thuộc Hệ thống trong cho phép người dùng có thể sử dụng

để thao tác vào hệ thống thông qua các phương thức bảo mật an toàn nhất.

Page 12: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 12 | 32

3.3. Kiến trúc phần mềm ứng dụng

Hình Error! No text of specified style in document.-6: Mô hình kiến trúc phần mềm

của Hệ thống quản lý Tổng kho dữ liệu

Tổng kho dữ liệu trung tâm

Nạp dữ liệuBiên tập

Xử lý

Chuẩn hoá

Quản lý nhật kýĐăng ký Thông báo và

Thông báo dữ liệu nạpTrích xuất dữ liệu

Tổng hợp, thu thập

Quản lý dữ liệu Quản trị hệ thốngTra cứu truy vấn dữ

liệu

Giao tiếp với

Hệ thống

quản lý và

khai thác các

kho dữ liệu

chuyên đề

Hệ điều hành Windows

IIS

.Net Framework

Apache

JAVA Framework

Hệ điều hành Linux

Phần Mềm

Hệ Thống

Phần Mềm

Thương mại

Phần Mềm

Tuỳ Biến

Giải pháp GIS Trục tích hợp Search EngineData Warehouse

FrameworkBIO

Trích xuất, xử lý, nạp dữ liệu tự động với Hệ thống Trong

Giao tiếp với

Hệ thống

trong

Page 13: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 13 | 32

4. Các nhóm chức năng phần mềm

STT Tên nhóm chức

năng

Mô tả nhóm chức năng

1. Tổng hợp và thu

thập

Tổng hợp các chức năng để kết nối, tổng hợp, thu thập với

các nguồn dữ liệu khác nhau.

2. Biên tập, xử lý,

chuẩn hóa dữ liệu

Tổng hợp các công cụ và giao diện tương tác mạnh mẽ về

biên tập, xử lý, chuẩn hóa dữ liệu. Hỗ trợ về các mẫu và

luồng xử lý dữ liệu.

3. Nạp dữ liệu Chức năng về kiểm tra, nạp dữ liệu vào tổng kho, hỗ trợ

các chức năng nhật ký, lịch sử dữ liệu,…

4. Đăng ký thông báo

về dữ liệu sử dụng

Các chức năng cho đăng ký và quản lý đăng ký về việc sử

dụng dữ liệu cho các mục đích khai thác, kết hợp với Hệ

thống các kho dữ liệu chuyên đề.

5. Thông báo về sử

dụng dữ liệu

Chức năng thông báo cho các nới đã đăng ký về việc sử

dụng dữ liệu.

6. Trích xuất dữ liệu Các chức năng trích xuất dữ liệu phù hợp theo các thiết

lập trích xuất và quyền hạn sử dụng dữ liệu.

7. Quản lý dữ liệu Các chức năng quản lý dữ liệu, từ việc quản lý cấu trúc, dữ

liệu, quan hệ và các vấn đề liên quan tới dữ liệu khác.

8. Quản trị hệ thống Các chức năng quản trị hệ thống chung như người dùng,

vận hành, truy cập, hạ tầng, kết nối, …

9. Quản lý nhật ký Quản lý tất cả nhật ký sử dụng cũng như nhật ký vận hành,

nhật ký xử lý, nhật ký bảo trì, kết nối, …

10. Tra cứu, truy vấn

dữ liệu

Các chức năng tra cứu, truy vấn cơ bản trên các dữ liệu

thuộc quản lý của kho dữ liệu.

Bảng Error! No text of specified style in document.-1: Bảng chức năng phần mềm

của Hệ thống quản lý Tổng kho dữ liệu

5. Nền tảng công nghệ VBD-DATA WAREHOUSE:

VBD-DATA WAREHOUSE gồm 5 nền tảng công nghệ chính: quản lý, tìm kiếm, khai thác,

báo cáo thống kê, và tích hợp.

5.1. Quản lý

5.1.1. Tổng quan

VBD-DATA WAREHOUSE cung cấp cho người dùng khả năng tạo ra các lớp dữ liệu

trực tiếp với nhiều dạng dữ liệu và thuộc tính khác nhau, đa dạng, dễ dàng tùy

biến,…. Khả năng phân lớp, phân quyền, tùy chỉnh dữ liệu phức tạp để có thể khởi

tạo được bộ dữ liệu mạnh mẽ, dễ dàng tùy chỉnh trên trình duyệt đáp ứng được

mọi yêu cầu của bài toán cụ thể. Khả năng vẽ điểm, đường thẳng, đa giác, ellipse,

hình tròn, và hình tiêu chuẩn khác cũng được hỗ trợ. Ngoài khả năng tạo dữ liệu

thông thường, VBD-DATA WAREHOUSE còn có quy trình để tích hợp các tập tin /

Page 14: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 14 | 32

nguồn dữ liệu bên ngoài vào bản đồ. Khả năng này cho phép tích hợp các lớp dữ

liệu của nhiều bộ dữ liệu từ nhiều nguồn khác nhau.

5.1.2. Biên tập và xử lý lớp dữ liệu trực tiếp

Quản lý dữ liệu có thể thủ công và tự động trong việc cập nhật thông tin. Ngoài các

thao tác dữ liệu chuẩn cho việc cập nhật các trường, ranh giới, siêu dữ liệu

(metadata) … VBD-DATA WAREHOUSE có thể kết nối trực tiếp với những dữ liệu

trực tuyến. Điều này đặc biệt hữu ích khi dữ liệu thay đổi thường xuyên như thời

tiết, địa điểm tài sản và hàng tồn kho.

5.1.3. Biên tập lớp dữ liệu theo mẫu và kế thừa

Dữ liệu thực tế rất đa dạng và phong phú, để tổ chức hợp lý và thông minh, các

phương pháp phát triển dữ liệu theo mẫu hoặc kế thừa lẫn nhau giữa các dữ liệu

được VBD-DATA WAREHOUSE nghiên cứu và triển khai một cách dễ dàng nhất

cho người dùng có thể sử dụng thông qua vài bước cơ bản.

5.1.4. Phân cấp và phân quyền

VBD-DATA WAREHOUSE có khả năng quản lý dữ liệu, phân quyền và tạo các quyền

chuyên biệt để tương tác với dữ liệu. Quyền và vai trò quản lý cho cấp độ người

dùng đã được tạo sẵn để định nghĩa dữ liệu, phê duyệt, và các chức năng khác cho

các nhóm người dùng khác nhau. Việc phân quyền được thực hiện tới từng dữ liệu

riêng biệt cho từng nhóm quyền tương tác, đảm bảo về bảo mật và riêng tư dữ liệu,

đáp ứng gần như tất cả các phương pháp triển khai và sử dụng dữ liệu ngoài thực

tế.

5.2. Tìm kiếm

5.2.1. Tổng quan

Khả năng tìm kiếm của VBD-DATA WAREHOUSE được tích hợp trực tiếp vào

trong framework của hệ thống cho phép tìm kiếm dữ liệu toàn cục của hệ thống.

Công cụ tìm kiếm cho phép tìm kiếm từ khóa, tìm kiếm ranh giới với không gian

địa lý xác định, tìm kiếm thời gian và các tùy chọn khác theo phân quyền và phân

cấp của dữ liệu.

5.2.2. Tìm kiếm theo thuộc tính

Các dữ liệu với thuộc tính đa dạng, với nhu cầu tìm kiếm phức tạp kết hợp các điều

kiện logic và điều kiện lọc theo giá trị, theo khoảng giá trị, theo thời gian, theo kiểu

dữ liệu ,… là một bài toán không hề đơn giản. VBD-DATA WAREHOUSE đã đưa ra

một quy chuẩn tìm kiếm theo thuộc tính dữ liệu đáp ứng được gần như tất cả các

yêu cầu từ đơn giản tới phức tạp nhất, như tìm gần giống, tìm chính xác, kết hợp

logic AND OR NOT của các điều kiện cho từng thuộc tính dữ liệu riêng biệt. Tìm kết

kết hợp giữa các loại dữ liệu khác nhau, giữa các dữ liệu có mối liên hệ trên giá trị,

cũng như những hàm cơ bản như DISTINCT, … Để có thể đáp ứng được bài toán

Page 15: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 15 | 32

phức tạp trên, hệ thống đã đưa ra các chuẩn để tìm kiếm, hỗ trợ các biến thể như

ODATA,…

5.2.3. Tìm kiếm theo không gian

TÌm kiếm dữ liệu theo không gian là một thế mạnh không thể không nhắc tới của

VBD-DATA WAREHOUSE. Từ các bài toán đơn giản như tìm xung quanh một tọa

độ với bán kính xác định, tìm dọc tuyến trong bán kính, tìm trong một vùng đa giác

phức tạp đến các bài toán phức tạp khi kết hợp tìm kiếm theo thuộc tính và không

gian. Với lượng dữ liệu khổng lồ và phát triển liên tục, nhưng VBD-DATA

WAREHOUSE luôn đảm báo về tốc độ truy xuất và tìm kiếm với độ trễ gần với thời

thực thực cho người sử dụng.

5.2.4. Tìm kiếm theo phân quyền và phân cấp

Tất cả các bài toán tìm kiếm và truy xuất dữ liệu gồm tìm kiếm theo không gian

hay tìm kiếm theo thuộc tính đều phải được lọc theo bộ phân quyền và phân cấp

cho từng người dùng sử dụng. Với khối lượng xử lý rất lớn khi tìm kiếm siêu dữ

liệu đều được xử lý qua nhiều bước để đảm bảo về bảo mật dữ liệu nhưng vẫn đáp

ứng được về tốc độ yêu cầu gần với thời gian thực của hệ thống VBD-DATA

WAREHOUSE.

5.3. Khai thác

5.3.1. Tổng quan

Trích xuất dữ liệu, các tập hợp dữ liệu và các lớp dữ liệu có thể thông qua các chức

năng export đơn giản hoặc bằng tính năng chia sẻ URL được thể hiện trên nền bản

đồ số tổng quan để cho phép người dùng bên ngoài xem các dữ liệu của VBD-DATA

WAREHOUSE một cách đơn giản nhất. Ngoài ra, hệ thống cung cấp các hệ thống

hàm dịch vụ phục vụ cho việc khai thác để có thể dễ dàng triển khai cho các hệ

thống khác khai thác trên hệ thống VBD-DATA WAREHOUSE.

5.3.2. Trích xuất dữ liệu

Trong quá trình sử dụng, các dữ liệu được hiển thị trong hệ thống, hay được thể

hiện từ các kết quả tìm kiếm phức tạp đều có thể được trích xuất ra ngoài hệ thống

với nhiều định dạng (shapefile, excel, csv, word, pdf, zip, …) một cách dễ dàng chỉ

bằng một thao tác. Ngoài ra các chức năng trích xuất nâng cao cũng được tích hợp

như thể hiện dữ liệu dưới dạng một tập tin WORD theo mẫu định sẵn của người

dùng, hay chỉ trích xuất một phần các thuộc tính của dữ liệu mà người dùng mong

muốn. Ngoài ra việc trích xuất dữ liệu được phát triển độc lập, có thể mở rộng theo

nhiều định dạng hoặc phương pháp khác nhau, không ràng buộc theo một giao

thức cụ thể nào.

5.3.3. Bản đồ khai thác

VBD-DATA WAREHOUSE cung cấp một chức năng khai thác cực kì mạnh mẽ, chức

năng đa dạng và hợp nhất trên nền bản đồ số với tất cả các dữ liệu trong hệ thống.

Page 16: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 16 | 32

Từ việc tìm kiếm theo không gian kết hợp tìm kiếm theo thuộc tính hay tương tác

với dữ liệu trực tiếp trên nền bản đồ được tùy biến dễ dàng theo nhu cầu từng

người dùng riêng biệt. Các dữ liệu được trình bày thành các lớp dữ liệu trực quang

trên nền bản đồ và các lớp bản đồ nền đều có thể được tùy chỉnh để thể hiện theo

mong muốn của người dùng. Trang bản đồ khai thác có thể phát triển mở rộng,

tích hợp các chức năng chuyên biệt cho từng riêng lớp dữ liệu khác nhau nếu có

nhu cầu. Ngoài ra các lớp dữ liệu có thể được thể hiển và tương tác một cách

chuyên nghiệp chỉ qua một URL cho mọi người bằng vài thiết lập cơ bản, gọi là bản

đồ chuyên đề.

5.3.4. Khai thác qua dịch vụ

Với định hướng mở và dễ dàng chia sẻ, VBD-DATA WAREHOUSE cung cấp các dịch

vụ chuyên biệt cho việc khai thác dữ liệu. Các hệ thống phần mềm ngoài có thể dễ

dàng kết nối và khai thác thông qua các tài khoản của hệ thống một cách nhanh

chóng và dễ dàng. VBD-DATA WAREHOUSE luôn đảm bảo về độ chính xác và tốc

độ cho việc khai thác thông qua dịch vụ.

5.4. Báo cáo thống kê

5.4.1. Giới thiệu

Khả năng phân tích tổng hợp dữ liệu là một trong những chức năng cốt lõi của tất

cả các hệ thống để có thể đáp ứng được các bài toán cụ thể của cuộc sống, đặc biệt

là các hệ thống liên quan tới GIS cũng như big data. Ngoài việc có được chức năng

trên, VBD-DATA WAREHOUSE còn vượt xa hơn ngoài việc cung cấp chức năng hoạt

động với tốc độ nhanh, đơn giản, tùy biến dễ dàng giúp thực thi các phép toán tối

ưu với khối lượng dữ liệu lớn.

5.4.2. Chức năng báo cáo động

Với lượng dữ liệu lớn và luôn được cập nhật, việc đưa ra các báo cáo thống kê trên

các dữ liệu là một chức năng không thể thiếu cho bất kì hệ thống đáp ứng nghiệp

vụ nào. Việc tạo ra các báo cáo và thống kê muôn hình vạn trạng không theo một

khuôn mãu nhất định đã được VBD-DATA WAREHOUSE tích hợp một chức năng

cao cấp là Báo cáo động (Report Builder). Người dùng có thể xây dựng bất kỳ báo

cáo thống kê theo nhu cầu nào dựa trên dữ liệu với các chức năng cao cấp được

VBD-DATA WAREHOUSE cung cấp như truy vấn tính toán và thống kê dữ liệu theo

thời gian thực. Việc thể hiện các báo cáo thống kê cũng được chăm chút thể hiện

qua các biểu đồ như biểu đồ tròn, biểu đồ cột, biểu đồ thanh,.. và đặc biệt là bản đồ

phân bố. Việc xây dựng các truy vấn tính toán để đưa ra báo cáo có thể sao lưu để

đáp ứng được việc sử dụng lại. Các báo cáo biểu đồ thống kê được lưu trữ trực tiếp

trong hệ thống và có thể thể hiện cho bất kỳ người dùng nào nếu có quyền truy

xuất.

Page 17: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 17 | 32

5.4.3. Công nghệ Business Intelligence

Để xây dựng, phân tích nhanh các mô hình dự đoán và xử lý một cách nhanh chóng

với lượng dữ liệu lớn (big data) cũng như truy xuất toàn bộ dữ liệu, VBD-DATA

WAREHOUSE nghiên cứu tích hợp các công nghệ mới nhất về BI (Business

Intelligence) vào hệ thống, yêu cầu người dùng cần có đủ kiến thức để sử dụng một

cách hiệu quả nhất.

5.5. Tích hợp

5.5.1. Tổng quan

Với khả năng mở rộng và đáp ứng tối, hệ thống VBD-DATA WAREHOUSE có thể dễ

dàng tích hợp dữ liệu từ nhiều nguồn khác nhau qua trục tích hợp của hệ thống.

Với khả năng đáp ứng số lượng lớn và xử lý chặt chẽ trên các nền công nghệ tốt

nhất, trục tích hợp sẵn sàng tiếp nhận và xử lý các dữ liệu từ các nguồn khác nhau

với số lượng lớn và tức thì.

5.5.2. Trục tích hợp dữ liệu

Các dữ liệu được cung cấp từ rất nhiều nguồn khác nhau, để đảm bảo tính toàn vẹn

cũng như chịu tải lớn và không ảnh hưởng tới vận hành của hệ thống hiện tại, VBD-

DATA WAREHOUSE đưa ra giải pháp trục tích hợp, chuyên xử lý dữ liệu tích hợp

vào hệ thống với nhiều chức năng như kiểm tra ràng buộc dữ liệu, chịu tải lớn,

phân bổ dữ liệu, cơ chế log về các xử lý dữ liệu kết hợp với hệ thống phân quyền

người dùng đảm bảo dữ liệu luôn luôn được tích hợp vào hệ thống toàn vẹn và

nhanh nhất.

RabbitMQ là một phần mềm môi giới thông điệp (message broker) mã nguồn mở

(đôi khi được gọi là thông điệp-định hướng middleware) sử dụng giao thức

AMQP - Advanced Message Queue Protocol. RabbitMQ được lập trình bằng ngôn

ngữ Erlang và được xây dựng trên nền tảng Open Telecom, Nền tảng cho

nhóm(clustering) và dự phòng(failover) và cung cấp thư viện client để giao tiếp

có sẵn cho tất cả các ngôn ngữ lập trình chính. RabbitMQ cung cấp cho lập trình

viên một phương tiện trung gian để giao tiếp giữa nhiều thành phần trong một hệ

thống lớn. RabbitMQ sẽ nhận message đến từ các thành phần khác nhau trong hệ

thống, lưu trữ chúng an toàn trước khi đẩy đến đích.

Một hệ thống càng lớn, số thành phần càng nhiều, mức độ trao đổi message giữa

các thành phần cũng vì thế tăng lên khiến việc lập trình trở nên phức tạp.

Rabbitmq là một giải pháp rất tốt trong các kiến trúc hệ thống lớn.

6. Một số giao diện phần mềm:

6.1. Đồng bộ hóa dữ liệu.

Page 18: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 18 | 32

5. Hình 1- Chức năng đồng bộ dữ liệu

6.

7. Hình 2- Chức năng đồng bộ dữ liệu

8.

9. Hình 3- Thông tin đồng bộ dữ liệu

6.2. Công cụ tạo thống kê OLAP

Page 19: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 19 | 32

Hình 4- Công cụ tạo thống kê OLAP

Hình 5- Chọn “Nguồn dữ liệu, Mục lục, Khối dữ liệu”

Hình 6- Chọn một hoặc nhiều thuộc tính cho dòng và cột của bảng biểu

Page 20: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 20 | 32

Hình 7- Chọn một hoặc nhiều thuộc tính cho dòng và cột của bảng biểu

Hình 8- Chọn “Bộ đo” cho dữ liệu

Page 21: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 21 | 32

Hình 9- Hiển thị

Hình 10- Vẽ bảng biểu thành biểu đồ

Page 22: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 22 | 32

Hình 11- Chọn loại biểu đồ

Hình 12- Chọn loại biểu đồ

Page 23: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 23 | 32

Hình 13- Chọn loại biểu đồ

Hình 14- Lọc dữ liệu

Page 24: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 24 | 32

Hình 15- Hiển thị MDX

6.3. Tra cứu dữ liệu

Hình 16- Tra cứu dữ liệu

Page 25: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 25 | 32

Hình 17- Nhập thông tin tra cứu

Hình 18- Kết quả tìm kiếm

7. Phụ lục (Source code)

using System;

using System.Collections.Generic;

using System.Globalization;

Page 26: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 26 | 32

using System.Linq;

using VDMS.ContentRepository.Core.Caching;

using VDMS.ContentRepository.Core.Helpers;

using VDMS.ContentRepository.Core.Security;

namespace VDMS.ContentRepository.Core

{

public static class DataBackingStore

{

#region Get

internal static NodeData GetNodeData(int nodeId)

{

if (!CanExistInDatabase(nodeId))

return null;

string idKey = CreateNodeDataIdCacheKey(nodeId);

NodeData item = (NodeData)DistributedApplication.Cache.Ge

t(idKey);

if (item == null)

{

item = DataProvider.DataProvider.Current.LoadNodeData

(nodeId);

if (item != null)

CacheNodeData(item, idKey, CreateNodeDataPathCach

eKey(item.Path));

}

return item;

}

internal static NodeData GetNodeData(string path)

{

if (!CanExistInDatabase(path))

return null;

string pathKey = CreateNodeDataPathCacheKey(path);

NodeData item = (NodeData)DistributedApplication.Cache.Ge

t(pathKey);

if (item == null)

{

item = DataProvider.DataProvider.Current.LoadNodeData

(path);

if (item != null)

CacheNodeData(item, CreateNodeDataIdCacheKey(item

.Id), pathKey);

Page 27: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 27 | 32

}

return item;

}

internal static IEnumerable<NodeData> GetNodeDatas(IEnumerabl

e<int> idArray)

{

var nodeDatas = new List<NodeData>();

var unloadDatas = new List<int>();

foreach (var id in idArray)

{

string idKey = CreateNodeDataIdCacheKey(id);

var item = (NodeData)DistributedApplication.Cache.Get

(idKey);

if (item == null)

unloadDatas.Add(id);

else

nodeDatas.Add(item);

}

if (unloadDatas.Count > 0)

{

var needsSorting = nodeDatas.Count > 0;

foreach (var data in DataProvider.DataProvider.Curren

t.LoadNodeDatas(unloadDatas))

{

if (data != null)

CacheNodeData(data, CreateNodeDataIdCacheKey(

data.Id), CreateNodeDataPathCacheKey(data.Path));

nodeDatas.Add(data);

}

//sort the final list only if have node from the cach

e AND the database too

if (needsSorting)

{

//sort the node heads aligned with the original l

ist

nodeDatas = (from id in idArray

join head in nodeDatas.Where(h => h

!= null)

on id equals head.Id

where head != null

select head).ToList();

}

}

return nodeDatas;

Page 28: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 28 | 32

}

internal static bool CanExistInDatabase(int id)

{

return id > 0;

}

internal static bool CanExistInDatabase(string path)

{

if (String.IsNullOrEmpty(path))

return false;

if (!path.StartsWith("/root", StringComparison.OrdinalIgn

oreCase))

return false;

if (path.EndsWith("/$count", StringComparison.OrdinalIgno

reCase))

return false;

if (path.EndsWith("signalr/send", StringComparison.Ordina

lIgnoreCase))

return false;

return true;

}

internal static bool NodeExists(string path)

{

if (path == null)

throw new ArgumentNullException("path");

if (!CanExistInDatabase(path))

return false;

// Look at the cache first

var pathKey = CreateNodeDataPathCacheKey(path);

if (DistributedApplication.Cache.Get(pathKey) is NodeData

)

return true;

// If it wasn't in the cache, check the database

return DataProvider.DataProvider.NodeExists(path);

}

#endregion

#region Cache

Page 29: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 29 | 32

private static readonly string NODE_DATA_PREFIX = "NodeHeadCa

che.";

public static string CreateNodeDataPathCacheKey(string path)

{

return string.Concat(NODE_DATA_PREFIX, path.ToLowerInvari

ant());

}

public static string CreateNodeDataIdCacheKey(int nodeId)

{

return string.Concat(NODE_DATA_PREFIX, nodeId);

}

internal static void CacheNodeData(NodeData nodeData)

{

if (nodeData == null)

throw new ArgumentNullException("nodeHead");

var idKey = CreateNodeDataIdCacheKey(nodeData.Id);

var item = (NodeData)DistributedApplication.Cache.Get(idK

ey);

if (item != null)

return;

CacheNodeData(nodeData, idKey, CreateNodeDataPathCacheKey

(nodeData.Path));

}

internal static void CacheNodeData(NodeData head, string idKe

y, string pathKey)

{

var dependencyForPathKey = CacheDependencyFactory.CreateN

odeDataDependency(head);

var dependencyForIdKey = CacheDependencyFactory.CreateNod

eDataDependency(head);

DistributedApplication.Cache.Insert(idKey, head, dependen

cyForIdKey);

DistributedApplication.Cache.Insert(pathKey, head, depend

encyForPathKey);

}

#endregion

#region Create

internal static NodeData CreateNewNodeData(Node parent, NodeT

ype nodeType)

Page 30: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 30 | 32

{

var parentId = parent == null ? 0 : parent.Id;

var userId = AccessProvider.Current.GetOriginalUser().Id;

var name = string.Format("{0}-

{1:yyyyMMddHHmmssfff}", nodeType.Name, DateTime.UtcNow);

var path = (parent == null) ? "/" + name : RepositoryPath

.Combine(parent.Path, name);

var parentIdPath = (parent == null)

? "/" + parentId

: !string.IsNullOrEmpty(parent.ParentIdPath) ? Reposi

toryPath.Combine(parent.ParentIdPath, parentId.ToString()) : "";

//---- when create new

var privateData = new NodeData()

{

Id = 0,

NodeTypeId = nodeType.Id,

ParentId = parentId,

Name = name,

Path = path,

ParentIdPath = parentIdPath,

OwnerId = userId,

Version = 0,

};

return privateData;

}

internal static void SaveNodeData(Node node, NodeSaveSettings

settings, string newPath)

{

var isNewNode = node.Id == 0;

SaveNodeDataTransactional(node, settings, newPath);

try

{

if (isNewNode)

SecurityManager.CreateSecurityEntity(node.Id, nod

e.ParentId, node.OwnerId);

}

catch (Exception exc)

{

Logger.WriteError(string.Format("Error during creatin

g or modifying security entity: {0}. Original message: {1}", node.Id)

);

throw new Exception(exc.Message);

}

}

Page 31: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 31 | 32

private static bool SaveNodeDataTransactional(Node node, Node

SaveSettings settings, string newPath)

{

var data = node.Data;

data.Path = newPath;

try

{

DataProvider.DataProvider.Current.SaveNodeData(data,

settings);

}

catch (Exception exc)

{

throw;

}

return true;

}

#endregion

#region Query

public static IEnumerable<Node> QueryNodesByTypeAndPathAndNam

e(NodeType nodeType, bool exactType, string pathStart, bool orderByPa

th, string name)

{

int[] typeIds = null;

if (nodeType != null)

typeIds = new[] { nodeType.Id };

IEnumerable<int> ids = DataProvider.DataProvider.Current.

QueryNodesByTypeAndPathAndName(typeIds, pathStart, orderByPath, name)

;

return Node.LoadNodes(ids);

}

public static IEnumerable<Node> QueryNodesByTypeAndPathAndNam

e(List<NodeType> nodeTypes, bool exactType, string pathStart, bool or

derByPath, string name)

{

int[] typeIds = null;

if (nodeTypes != null)

typeIds = nodeTypes.Select(n => n.Id).ToArray();

IEnumerable<int> ids = DataProvider.DataProvider.Current.

QueryNodesByTypeAndPathAndName(typeIds, pathStart, orderByPath, name)

;

Page 32: HỆ THỐNG QUẢN LÝ TỔNG KHO DỮ LIỆU VBD-DATA WAREHOUSE · Hệ thống quản lý Tổng kho dữ liệu VBD-DATA WAREHOUSE là một kho dữ liệu Data Warehouse, đóng

www.vietbandosolutions.com

Page 32 | 32

return Node.LoadNodes(ids);

}

public static Dictionary<int, string> QueryNodeTypeDef()

{

var res = DataProvider.DataProvider.Current.QueryNodeType

Def();

return res;

}

#endregion

}

}