www.vietbandosolutions.com
Page 1 | 45
HỆ THỐNG QUẢN LÝ VÀ
KHAI THÁC CÁC KHO DỮ LIỆU
CHUYÊN ĐỀ VBD-DATA MART
Tháng 03, 2020
TÓM TẮT Tài liệu mô tả.
www.vietbandosolutions.com
Page 2 | 45
MỤC LỤC 1. Vai trò và chức năng ................................................................................................... 3
2. Luồng công việc và xử lý ........................................................................................... 4
3. Kiến trúc thành phần .................................................................................................. 5
3.1. Mô hình nguyên lý .......................................................................................................................... 5
3.2. Kiến trúc hệ thống .......................................................................................................................... 6
3.3. Kiến trúc phần mềm ứng dụng ................................................................................................. 8
4. Các nhóm chức năng phần mềm ................................................................................. 9
5. Nền tảng công nghệ VBD-Data Mart .......................................................................... 9
5.1. Quy tình BI truyền thống ............................................................................................................. 9
5.2. Các tác động đến Cơ sở dữ liệu Data Mart builder truyền thống .......................... 12
5.3. Tích hợp dữ liệu trực tuyến lớn với VBD-Data Mart và CSDL MongDB ............. 13
5.4. VBD-Data Mart tích hợp với BI và công cụ phân tích ................................................. 16
6. Một số giao diện phần mềm: ..................................................................................... 19
6.1. Trang tổng quan thông tin ....................................................................................................... 19
6.2. Thống kê trên dữ liệu ................................................................................................................. 23
6.3. Thống kê trên bản đồ ................................................................................................................. 28
7. Phụ lục (Source code) ............................................................................................... 39
www.vietbandosolutions.com
Page 3 | 45
1. Vai trò và chức năng
Thay vì truy vấn thẳng vào Tổng kho dữ liệu, các truy vấn của người dùng được
thiết kế để thực hiện trên các kho dữ liệu chuyên đề.
Mỗi kho dữ liệu chuyên đề là một tập con của Tổng kho dữ liệu hướng tới phục vụ
một nhu cầu khai thác thông tin cụ thể của một nhóm người dùng cụ thể.
Nếu Tổng kho dữ liệu bao quát trên toàn bộ dữ liệu của đơn vị thì mỗi kho dữ liệu
chuyên đề chỉ liên quan đến một bộ phận, một đơn vị hành chính, một sự kiện cụ thể.
Không phải tất cả người dùng của hệ thống đều quan tâm đến tất cả dữ liệu của
Tổng kho dữ liệu. Phần lớn người dùng, đơn vị người dùng chỉ cần truy vấn trên một phần
dữ liệu của Tổng kho dữ liệu có liên quan đến họ. Các kho dữ liệu chuyên đề được xây
dựng để chứa phần dữ liệu đó và được đồng bộ với Tổng kho dữ liệu theo các kế hoạch
đồng bộ phù hợp với nhu cầu người dùng.
Tổng kho dữ liệu Kho dữ liệu chuyên đề
Du ng để pha n tí ch Pha n tí ch mư c độ caộ
Dư liể u tộ ng hơ p Dư liể u tộ ng hơ p tộ m ta t hơn
Đi nh hươ ng tộ chư c Đi nh hươ ng thểộ chu để
Ca u tru c phi chua n, dư liể u dư thư a Ở mư c caộ hơn
CSDL ra t lơ n Dư liể u nhộ hơn
Bảng Error! No text of specified style in document.-1: So sánh tính chất Tổng kho dữ liệu và
kho dữ liệu chuyên đề
Mục đích của việc xây dựng hệ thống quản lý và khai thác các kho dữ liệu chuyên
đề bao gồm:
Giới hạn khả năng truy cập thông tin của người dùng nhằm cung cấp chộ người
dùng những thông tin thiết thực liên quan đến họ hơn.
Tăng hiệu suất thực hiện các truy vấn vì chỉ thực hiện trên một tập con của
Tổng kho dữ liệu thay vì trên cả kho.
Tăng tính bảo mật của hệ thống, người dùng, ngay cả người dùng khai thác cấp
độ chuyên gia cũng chỉ có thể khai thác trên Kho dữ liệu chuyên đề được phân
quyền thay vì có thể truy cập đến toàn bộ dữ liệu của hệ thống.
Hệ thống quản lý và khai thác các kho dữ liệu chuyên đề cung cấp các chức năng
hỗ trợ người dùng là cán bộ quản trị dữ liệu tự xây dựng kho dữ liệu chuyên đề để phục
vụ các yêu cầu, sự kiện phát sinh trong quá trình vận hành hệ thống.
Bên cạnh đó, hệ thống còn xây dựng sẵn các kho dữ liệu chuyên đề cơ sở để phục
vụ nhiều nhu cầu truy vấn ở các góc nhìn, các mức độ khác nhau của người dùng.
www.vietbandosolutions.com
Page 4 | 45
2. Luồng công việc và xử lý
Hình Error! No text of specified style in document.-1: Mô hình luồng công việc và xử lý của
Hệ thống quản lý và khai thác các kho dữ liệu chuyên đề
Bước 1: Chuyên viên khai thác dữ liệu khởi tạo kho dữ liệu chuyên đề trống và
thiết lập các thông số cấu hình của kho dữ liệu.
Quy trình nhập dữ liệu tại Hệ thống quản lý và khai thác các kho dữ liệu chuyên đề
Hệ thống quản lý và khai thác các kho dữ liệu
chuyên đề
Hệ thống quản lý Tổng kho dữ
liệu
Chu
yên
viên
kha
i th
ác d
ữ l
iệu
Bắt đầu
Kết thúc
Thu thập,
trích xuất dữ liệu
phù hợp
Biên tập,
Chuyển đổi,
Dữ liệu
Nạp dữ liệu chuyên
đề
Vùng đệm
dữ liệu trích
xuất
Vùng đệm
dữ liệu
chuyển đổi
Khởi tạo kho
dữ liệu chuyên
đề trống
Khai thác biểu
diễn dữ liệu
Đăng ký nhận thông
báo khi có dữ liệu
nạp thay đổi
Các kho dữ liệu
chuyên đề
Thông báo khi có dữ
liệu thay đổi
Tổng kho dữ liệu
www.vietbandosolutions.com
Page 5 | 45
Bước 2: Hệ thống tiến hành đăng ký với Tổng kho dữ liệu loại dữ liệu sẽ đồng
bộ và kịch bản đồng bộ.
Bước 3: Hệ thống thực hiện trích xuất các dữ liệu đã đăng ký từ Tổng kho và
tạo thành dữ liệu trích xuất, lưu trữ trộng vùng đệm dành cho dữ liệu trích xuất.
Bước 4: Chuyên viên khai thác dữ liệu sử dụng các công cụ hỗ trợ tiến hành
chuyển đổi dữ liệu, các dữ liệu được chuyển đổi lưu trữ trộng vùng đệm riêng
dành cho dữ liệu chuyển đổi.
Bước 5: Hệ thống nạp dữ liệu đã chuyển đổi vào kho dữ liệu chuyên đề.
Bước 6: Dữ liệu sẵn sàng đề tiến hành khai thác theo phân quyền và thiết lập.
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.-2: Mô hình nguyên lý Hệ thống quản lý
và khai thác các kho dữ liệu chuyên đề
Hệ thống quản lý và khai thác các kho dữ liệu chuyên đề tổng hợp dữ liệu từ Tổng
kho dữ liệu theo các Dữ liệu chuyên đề được thiết lập theo nhu cầu sử dụng, ban đầu sẽ
được khởi tạo sẵn các Kho dữ liệu chuyên đề phục vụ nhu cầu khai thác và quản lý của
toàn hệ thống, nhưng vẫn sẵn sàng cho tạo thêm các Kho dữ liệu cho các nhu cầu phát
sinh khác.
Các dữ liệu chuyên đề sẽ được khai thác và biểu diễn bằng nhiều phương thức và
công cụ hỗ trợ khác nhau, phụ thuộc vào quyền truy cập và sử dụng dữ liệu của người
Hệ thống quản lý và khai thác các kho dữ liệu chuyên đề Hệ thống quản lý
Tổng kho dữ liệu
Quản lý
Dữ liệu
chuyên đề
Cổng thông
tin tiếp
nhận và xử
lý yêu cầu
khai thác
thông tin
Thu thập
Trích xuất dữ
liệu
Biên tập
Chuyển đổi
Làm giàu
Dữ liệu
Nạp dữ liệu
chuyên đề
Khởi tạo kho
dữ liệu
chuyên đề
trống
Khai thác
biểu diễn dữ
liệu
Đăng ký
nhận thông
báo dữ liệu
nạp thay đổi
Tổng kho dữ liệu
Dữ liệu trích
xuất
Dữ liệu đã
chuyển đổiCác kho dữ liệu
chuyên đề
Vùng đệm
Dữ liệu
trích xuất
Vùng đệm
Dữ liệu
chuyển đổi
Dữ liệu
chuyên đề
www.vietbandosolutions.com
Page 6 | 45
dùng. Các phần khai thác và biểu diễn được thể hiện ở Cổng thông tin tiếp nhận và xử lý
yêu cầu khai thác thông tin, nhưng được xử lý tại đây.
3.2. Kiến trúc hệ thống
Hình Error! No text of specified style in document.-3: Mô hình kiến trúc hệ thống của Hệ
thống quản lý và khai thác các kho dữ liệu chuyên đề
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ý và khai
thác các kho dữ liệu chuyên đề:
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
Report Service
Firewall
www.vietbandosolutions.com
Page 7 | 45
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 các
kho dữ liệu chuyên đề.
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 chộ tộàn
hệ thống.
o Các máy chủ Wểbsitể: cài đặt phần mềm di ch vụ Web, là phần mềm cung
cấpc các chức năng điều khiển và giao tiếp với người dùng.
o Các máy chủ Hỗ trợ: cài đặt các thành phần hỗ trợ cho hệ thống, 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 saộ lưu trộng các hệ thống
SAN để đạt được độ an toàn cao nhất cho việc lưu trữ dữ liệu.
4. Trạm làm việc: Là những máy trạm 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.
www.vietbandosolutions.com
Page 8 | 45
3.3. Kiến trúc phần mềm ứng dụng
Hình Error! No text of specified style in document.-4: Mô hình kiến trúc phần mềm của 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
Hệ thống quản lý và khai thác Các kho dữ liệu
chuyên đề
Quản lý dữ liệu
chuyên đề
Thu thập
JAVA Framework
Hệ điều hành Linux
Giao tiếp
với Cổng
thông tin
tiếp nhận
và Xử lý
yêu câu
khai thác
thông tin
Giao tiếp
với Tổng
kho dữ
liệu
Apache
Xử lý Biên tập
Biểu diễn
Khai thácChuẩn bị
Quản trị hệ thống
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ợpSearch EngineGiải pháp Data
MartBI
Giải pháp BIO
www.vietbandosolutions.com
Page 9 | 45
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. Quản lý kho dữ liệu chuyên
đề
Chức năng quản lý, khởi tạo, phân quyền sử
dụng, chia sẻ, định nghĩa, thiết lập các kho dữ
liệu chuyên đề
2. Thu thập dữ liệu Chức năng thu thập dữ liệu từ Tổng kho dữ liệu
kết hợp với các dịch vụ nâng caộ khác (GIS,…)
3. Xử lý dữ liệu Các chức năng xử lý, chuyển đổi dữ liệu.
4. Chuẩn bị dữ liệu Các chức năng tiền xử lý, chuẩn bị, nạp để phục
vụ chộ các bước biên tập và biểu diễn.
5. Biên tập dữ liệu Chức năng biên tập dữ liệu chuyên đề.
6. Biểu diễn dữ liệu Biểu diễn dữ liệu chuyên đề dưới nhiều phương
thức và công cụ khác nhau
7. Khai thác dữ liệu Khai thác dữ liệu chuyên đề với các chức năng
cơ bản
8. Quản trị hệ thống Các chức năng quản trị hệ thống, vận hành, sử
dụng, kết nối, …
Bảng Error! No text of specified style in document.-2: Bảng chức năng phần mềm của Hệ
thống quản lý và khai thác các kho dữ liệu chuyên đề
5. Nền tảng công nghệ VBD-Data Mart
5.1. Quy tình BI truyền thống
Trong nền tảng BI truyền thống, dòng chảy của dữ liệu - bắt đầu với việc
nhận từ hệ thống nguồn tới việc chuyển đổi, hợp nhất, phân tích và báo cáo đi theo
một quy trình tuần tự được xác định rõ như minh họa trong hình 1.
Hình 1- Quy trình BI truyền thống
Dữ liệu hoạt động từ nhiều hệ thống nguồn được tích hợp vào một
Enterprise Data Warehouse (EDW) trung tâm và dữ liệu cục bộ thông qua các quá
www.vietbandosolutions.com
Page 10 | 45
trình Extract Transform Load (ETL). Các báo cáo và thể hiện của các dữ liệu này
sau đó được tạo ra bởi các công cụ BI. Quy trình này được tối ưu hóa cho người
dùng, cho phép phân tích sâu lịch sử sử dụng và hỗ trợ cho việc ra quyết định chiến
lược ở cấp cao trong tổ chức. Cơ sở dữ liệu và truy vấn báo cáo được xác định trên
một số giả định:
5.1.1. Tần số Dự đoán.
Dữ liệu được chiết xuất từ hệ thống nguồn đều đặn - thường được tính bằng
ngày, tháng và quý
5.1.2. Nguồn tĩnh.
Dữ liệu được lấy từ hệ thống trong.
5.1.3. Mô hình cố định.
Cấu trúc dữ liệu được biết và mô hình hóa trước khi phân tích. Điều này cho
phép sự phát triển của một lược đồ duy nhất để chứa dữ liệu từ tất cả các hệ thống
nguồn nhưng tăng thêm thời gian đáng kể để thiết kế trước
5.1.4. Các câu truy vấn được định nghĩa trước.
Câu hỏi về dữ liệu (ví dụ, các truy vấn báo cáo) được xác định trước. Nếu
tất cả các yêu cầu truy vấn không phải được gọi trước thì sơ đồ phải được sửa đổi
tương ứng
5.1.5. Yêu cầu chậm thay đổi.
Kiểm soát thay đổi nghiêm ngặt được thi hành trước khi giới thiệu các
nguồn dữ liệu mới hoặc yêu cầu báo cáo
5.1.6. Giới hạn người dùng.
Người dùng các báo cáo BI thường là các nhà quản lý kinh doanh và điều
hành cấp cao.
5.1.7. Phát triển VBD-Data Mart cho dữ liệu lớn
Các doanh nghiệp muốn khai thác nguồn dữ liệu mới và nhanh chóng đưa
ra cái nhìn sâu sắc với những cách thức mới và hấp dẫn. Ví dụ như:
Các nhà bán lẻ theo dõi sở thích người dùng, các nhấp chuột để xác định và
www.vietbandosolutions.com
Page 11 | 45
tự động nhắm mục tiêu địa lý và nội dung cá nhân và chương trình khuyến
mãi
Các công cụ tiện ích chụp mức độ sử dụng năng lượng trộng gia đình để dự
độán cúp điện và chỉ định mức tiêu thụ năng lượng hiệu quả hơn.
Chính phủ phát hiện và theo dõi sự xuất hiện của dịch bệnh thông qua
phương tiện truyền thông xã hội
Các công ty dầu khí dùng cảm biến đầu từ thiết bị khoan của họ để đưa ra
quyết định thăm dò hiệu quả hơn và an tộàn hơn
Tuy nhiên các nguồn dữ liệu mới tạo ra dữ liệu lớn đang thách thức các giả định trước
đây về quản lý dữ liệu và báo cáo thống kê.
a. Sự cần thiết về Tốc độ & Quy mô
Thời gian để tạo ra giá trị là tất cả. Ví dụ, có thể tiếp cận với tâm lý của
khách hàng hoặc hậu cần theo thời gian thực thì không có lợi lắm trừ khi dữ liệu có
thể được phân tích và báo cáo theo thời gian thực. Như một hệ quả, tần suất thu thập
dữ liệu, tích hợp và phân tích phải tăng từ ngày đến phút hoặc ít hơn. Trong một số
trường hợp, nguồn dữ liệu cần được phân tích tại chỗ để cung cấp yêu cầu đáp ứng
của doanh nghiệp.
Sự sẵn có của các nguồn dữ liệu mới đẩy sự bùng nổ về số lượng của các tổ
chức dữ liệu phải quản lý, với ước tính tăng gấp đôi khối lượng mỗi 12 đến 14
tháng. Không chỉ làm cơ sở dữ liệu Data Mart phải xử lý ở tốc độ cao hơn nhiều,
dữ liệu còn cần được chuyển qua dạng đường ống, từ hệ thống nguồn đến Data Mart
và vào quá trình phân tích và báo cáo.
b. Phân tích Agile và báo cáo
Với sự đa dạng của các nguồn dữ liệu mới, các nhà phân tích nghiệp vụ
không thể biết tất cả các câu hỏi mà họ cần phải hỏi trước. Vì vậy một yêu cầu thiết
yếu là các dữ liệu cần được lưu trữ trước khi biết làm thế nào nó sẽ được xử lý và
truy vấn.
c. Các thay đổi của dữ liệu
Dữ liệu được tạo bởi xã hội, điện thoại di động, cảm biến và ghi log thì phức
tạp hơn nhiều và đa cấu trúc hơn so với dữ liệu giao dịch truyền thống từ các hệ
thống văn phòng như ERP, CRM, và POS (Point of Sale).
www.vietbandosolutions.com
Page 12 | 45
Các cơ sở dữ liệu quan hệ hiện tại được sử dụng bởi các hệ thống văn phòng
được thiết kế để mô hình dữ liệu có cấu trúc gọn gàng vào các cột và định dạng với
giá trị được xác định, thực thi bởi lược đồ cứng nhắc. Nó không bao giờ được thiết
kế cho các dữ liệu đa hình, bán cấu trúc hoặc phi cấu trúc điển hình trong rất nhiều
các ứng dụng dữ liệu lớn ngày nay.
d. Yêu cầu thời gian hoạt động cao hơn
Phân tích truy cập thời gian thực từ nhiều thiết bị cố định và di động làm
cho nhu cầu đáp ứng liên tục của hệ thống Data Mart tăng lên. Hệ thống có backup
thường có thể chịu được một mức độ nhất định thời gian chết, ví dụ như để bảo trì
theo lịch trình. Hệ thống trực tuyến mặt khác cần duy trì hoạt động trong cả khi gặp
sự cố và nâng cấp định kỳ.
e. Data Mart và Cloud
Điện toán đám mây giảm chi phí và cải thiện sự nhanh nhẹn nên các Data
Mart builder truyền thống dựa trên cơ sở dữ liệu triển khai trên nguyên khối, hệ
thống mở rộng dữ liệu phải được thiết kế lại theo kiến trúc hướng dịch vụ của đám
mây.
5.2. Các tác động đến Cơ sở dữ liệu Data Mart builder
truyền thống
Nhiều nền tảng Data Mart builder truyền thống ngày nay không còn phù
hợp với các yêu cầu của dữ liệu lớn:
Dữ liệu bán cấu trúc và phi cấu trúc điển hình trong các ứng dụng di động,
xã hội và cảm biến không thể thể hiện thành các hàng và cột trong một bảng
cơ sở dữ liệu quan hệ
Sự phát triển nhanh chóng của lược đồ dữ liệu để hỗ trợ các nguồn dữ liệu
mới và các thay đổi trong cấu trúc dữ liệu là không thể trộng cơ sở dữ liệu
quan hệ vì nó dựa vàộ ALTER TABLE để thêm hoặc thay đổi thuộc tính bảng.
Hiệu suất của JOIN và ngữ nghĩa giaộ dịch làm cho cơ sở dữ liệu quan hệ
không thể tiếp nhận nguồn dữ liệu tốc độ cao
Khối lượng dữ liệu phát triển nhanh chóng đòi hỏi phải mở rộng quy mô cơ
sở dữ liệu ra trên phần cứng, chứ không phải là cách mở rộng quy mô vốn phổ biến
của hầu hết các cơ sở dữ liệu quan hệ
www.vietbandosolutions.com
Page 13 | 45
Cơ sở dữ liệu quan hệ không có khả năng xử lý tốc độ, quy mô và đa dạng
của sự thay đổi nhanh chóng của dữ liệu được tạo ra.
5.3. Tích hợp dữ liệu trực tuyến lớn với VBD-Data Mart và
CSDL MongDB
Big Data có thể có nhiều hình thức cả online và offline. Điều quan trọng là
phải phân biệt các hình thức này về các mặt như hiệu suất, tính sẵn có và yêu cầu
sử dụng dữ liệu.
5.3.1. Phân biệt giữa Online và Offline Big Data
Online Big Data đề cập tới dữ liệu được tạo ra, nhập vào, chuyển đổi, quản
lý và / hoặc phân tích theo thời gian thực để hỗ trợ các ứng dụng hoạt động và người
sử dụng. Big Data được sinh ra trực tuyến. Độ trễ cho các ứng dụng này phải rất
thấp và tính sẵn sàng phải cao để đáp ứng mong đợi của người sử dụng và SLA đối
với các ứng dụng hiện đại. Điều này bao gồm một loạt các ứng dụng, từ feed tin tức
mạng xã hội, đến các máy chủ quảng cáo thời gian thực cho các ứng dụng CRM
phức tạp. Ví dụ về các cơ sở dữ liệu đáp ứng dụng dữ liệu trực tuyến lớn bao gồm
MongoDB và cơ sở dữ liệu NoSQL khác với khả năng xử lý thời gian thực, đa dạng
về cấu trúc, thay đổi nhanh chóng, số lượng lớn dữ liệu.
Offline Big Data bao gồm các ứng dụng nhập, chuyển đổi, quản lý và / hoặc
phân tích dữ liệu trong một bối cảnh hàng loạt. Nó thường không tạo ra các dữ liệu
mới. Đối với các ứng dụng này, thời gian phản ứng có thể được làm chậm (đến giờ
hoặc ngày), mà thường là chấp nhận được cho trường hợp sử dụng này. Vì họ
thường có một đầu ra tĩnh, chẳng hạn như các báo cáo lịch sử, biểu đồ, họ thậm chí
có thể offline tạm thời mà không ảnh hưởng đến mục tiêu hoặc sản phẩm.
Các tổ chức đánh giá công nghệ Big Data nào để áp dụng và xem xét làm
thế nào để sử dụng dữ liệu của họ. Những ứng dụng này hỗ trợ thời gian thực nên
sẽ cần kho dữ liệu hoạt động như MongoDB. Đối với những tổ chức cần tiến hành
phân tích offline lâu dài, các giải pháp như Hadoop
Tổ chức theo đuổi cả hai trường hợp sử dụng có thể làm như vậy nối tiếp
nhau, và đôi khi họ sẽ tìm thấy sự tích hợp giữa các công nghệ Big Data online và
offline. Ví dụ, MongoDB cũng cung cấp tích hợp với Hadoop.
Với mô hình tài liệu phong phú của nó, chức năng truy vấn mạnh mẽ, khả
www.vietbandosolutions.com
Page 14 | 45
năng mở rộng kiến trúc và tích hợp với VBD-Data Mart có thể được triển khai như
là một thành phần quan trọng cả trong và như một phần mở rộng của một nền tảng,
bao gồm:
Một nguồn dữ liệu thông thường chộ các quá trình ETL thường xuyên tích
hợp dữ liệu vào EDW.
Một "trung tâm dữ liệu", nhân rộng và củng cố dữ liệu từ các nguồn hoạt
động và Dataware House, cho phép chéo chức năng, xểm báộ cáộ 360 độ và
trực quan. Điều này được minh họa trong hình 3.
Một kho dữ liệu cho phép phân tích thời gian thực và biểu đồ được tạo ra
với dữ liệu hoạt động ộnlinể. Điều này được thể hiện trong hình 4, cùng với
luồng dữ liệu Dataware House truyền thống.
Hình 2- Phân biệt giữa Online và Offline Big Data
5.3.2. Nhanh chóng phát triển các mô hình dữ liệu với
giản đồ động
Giản đồ động của MongoDB trong VBD-Data Mart cung cấp một lợi thế
lớn cho các ứng dụng BI cần phải nhập, lưu trữ và xử lý nhanh chóng các dòng dữ
liệu từ các nguồn mới.
www.vietbandosolutions.com
Page 15 | 45
Hình 3- Dữ liệu lớn với MongoDB và Hadoop
Hình 4- Single view của MongoDB
Hình 5- Phân tích thời gian thực của MongoDB
www.vietbandosolutions.com
Page 16 | 45
Collections (tương tự như bảng trong CSDL quan hệ) có thể được tạo ra mà
không xác định cấu trúc của chúng. Tài liệu trong Collections không cần phải đều
có cùng một trường. Người dùng có thể thích ứng với các cấu trúc của tài liệu chỉ
bằng cách thêm các trường mới hoặc xóa những cái hiện có nên để mở rộng các
ứng dụng BI rất đơn giản bằng cách thêm thuộc tính mới để phân tích và báo cáo.
5.4. VBD-Data Mart tích hợp với BI và công cụ phân tích
Để làm cho dữ liệu trực tuyến lớn vận hành qua biểu đồ, báo cáo, hiển thị
trực quan và tích hợp với các nguồn dữ liệu khác, nó phải được truy cập được vào
các công cụ BI và phân tích. VBD-Data Mart tích hợp với công cụ Vbd Real-Time
Business Intelligence cung cấp tất cả các công cụ phân tích và báo cáo để tiến hành
các hoạt động phân tích, báo cáo, dự đoán và khai thác. Cơ sở dữ liệu đa chiều
(Multi-dimensional database – MDDB) có thể cần để phục vụ các quá trình phân
tích, chứ không chỉ là một RDBMS tiêu chuẩn thường được sử dụng cho các yêu
cầu báo cáo tiêu chuẩn.
VBD-Data Mart tích hợp với công cụ Vbd Real-Time Business Intelligence
tạo ra công cụ khai thác dữ liệu thay đổi đáng kể về cách thức thực hiện. Những gì
được thể hiện trong sơ đồ dưới đây cung cấp cho việc thực hiện có thể được coi là
linh hoạt và bao gồm những công cụ khai thác cung cấp cho các chức năng rộng
lớn nhất.
www.vietbandosolutions.com
Page 17 | 45
Hình 6- Cấu trúc khai thác dữ liệu
Ở thái cực khác, tồn tại các công cụ “giống như khai thác” có khả năng lĩnh hội thấp
hơn công cụ khai thác dữ liệu. Các công cụ này đòi hỏi một cấu trúc “Mộdểl Building /
Mining Platfộrm” đơn giản hơn rất nhiều. Tuy nhiên, khái niệm về thực hiện khai thác dữ
liệu thông qua các bước “trích xuất” dữ liệu mẫu, xây dựng mộdểl và sau đó di chuyển vào
môi trường sản xuất có kiểm sộát nên tương đồng ở bất kỳ công cụ khai thác dữ liệu nào.
Cấu trúc dữ liệu được sử dụng trong một data mart khai thác dữ liệu được
mô tả nổi bật như một cấu trúc “rộng”, “ngang” hoặc cực kỳ chuyên biệt. Điều đó
có nghĩa, không chỉ các thông tin ngoại nhập quan trọng được lưu trữ trong mỗi
hàng dữ liệu mà tất cả các thông tin chi tiết có liên quan đều được lưu trữ. Theo như
quá trình thực hiện I/O mức độ sâu cần cho công cụ khai thác dữ liệu đầy đủ chức
năng, một thiết kế quá bình thường có thể gây ảnh hưởng tiêu cực đáng kể đến hiệu
suất.
Toàn bộ môi trường khai thác dữ liệu như đã trình bày trên lược đồ sẽ nằm
trong môi trường trọng yếu. Tuy nhiên sẽ có sẵn một phân vùng riêng biệt hoặc một
công cụ phục vụ Model Building / các hoạt động Mining sẽ diễn ra khi tìm ra các
hình mẫu và xu hướng cụ thể. Khi xác định được một model hữu ích cho mục đích
“sản xuất”, model tương ứng sẽ được di chuyển đến các phân vùng sản xuất, nơi
www.vietbandosolutions.com
Page 18 | 45
chính model tương ứng này xử lý các thông tin trong Data Mart.
Các chức năng cốt lõi của giải pháp:
Cung cấp mô hình dữ liệu động. Tự động phát hiện ra những lược đồ
(schema) bằng cách lấy mẫu bản ghi trong một bảng để cung cấp một bảng
lược đồ đại diện. Người dùng có thể chỉnh sửa lược đồ phát hiện bằng cách
thêm hoặc loại bỏ các cột cần thiết để phân tích.
Tiếp cận đến các thực thể nhúng bằng việc tạo cột xộay để người dùng có
thể dễ dàng truy cập dữ liệu từ các tài liệu nhúng và dữ liệu mảng và tích
hợp độc lập dữ liệu của mô hình dữ liệu ứng dụng.
Xử lý Tài liệu JSON với khả năng nhập cấu trúc JSON phức tạp trực tiếp vào
hệ thống như tài liệu hoặc trích xuất các yếu tố JSON chọn để phân tích
Tạộ lược đồ một lần, triển khai bất cứ nơi nàộ. Người dùng có thể xây dựng
dạng đường ống tích hợp dữ liệu một lần và triển khai chúng ở bất cứ đâu.
Thống nhất quản lý và độ sẵn sàng cao. Tự động sắp xếp và phối hợp tích
hợp dữ liệu với tính sẵn sàng và độ tin cậy cao sử dụng một giao diện quản
trị thống nhất.
Truy vấn tham số cho phép các cá nhân báo cáo từ một định nghĩa báộ cáộ
duy nhất, giảm số lượng các đối tượng được lưu trữ trộng các khộ lưu trữ
siêu dữ liệu. Người dùng có thể lưu trữ kết quả trả lời cá nhân nhanh chóng
để tái sử dụng dễ dàng.
Kết hợp nhiều nguồn dữ liệu. Dữ liệu trong nguồn dữ liệu doanh nghiệp
hoặc đám mây khác. Điều này chộ phép người sử dụng dễ dàng tạo báo cáo,
phân tích và theo dõi dữ liệu trên nhiều nguồn dữ liệu thông qua một cái
nhìn đa chiều duy nhất. Các công ty có thể nhận được các ứng dụng BI và
chạy với dữ liệu tối thiểu.
Phân tích dữ liệu có cấu trúc và không có cấu trúc lưu trữ không cần phải
cộdể. Điều này chộ phép người dùng doanh nghiệp trực tiếp tham gia vào
việc phân tích các dữ liệu mà không cần dựa vào nhân viên CNTT có chuyên
môn lập trình cần thiết.
• Hỗ trợ cho các framework aggregation để tổng hợp dữ liệu hiệu quả cho việc báo cáo và
phân tích mà không cần code.
www.vietbandosolutions.com
Page 19 | 45
6. Một số giao diện phần mềm:
Hệ thống cung cấp khả năng khám phá trực quan và phân tích dữ liệu theo thời gian thực.
Cung cấp cho người dùng sự hiểu biết sâu hơn về dữ liệu của họ.
6.1. Trang tổng quan thông tin
6.1.1. Khai thác thông tin tổng quan trên bản đồ Để khai thác thông tin tổng quan trên bản đồ, người dùng thực hiện như sau:
Người dùng nhấn chọn chức năng “Khai thác thông tin tổng quan”. Khi đó,
danh sách các nhóm dữ liệu theo xuất hiện (cột bên phải) như hình sau.
Hình 7- Khai thác thông tin tổng quan
Tiếp thểộ, người dùng nhấn chọn dữ liệu muốn xem từ danh sách nhóm dữ
liệu. Khi đó, dữ liệu sẽ hiển thị theo dạng biểu đồ và hiển thị trên bản đồ.
www.vietbandosolutions.com
Page 20 | 45
Hình 8- Xem dữ liệu
Khi đó, người dùng có thể nhấn nút phóng to để xểm rõ hơn chi tiết
biểu đồ.
Hình 9- Phóng to biểu đồ
www.vietbandosolutions.com
Page 21 | 45
Người dùng nhấn nút “Xểm danh sách” để xem danh sách
dữ liệu.
Hình 10- Xem danh sách
Hình 11- Tải kết quả
www.vietbandosolutions.com
Page 22 | 45
Lúc này, người dùng có thể nhấn nút “Tải kết quả” để tải
danh sách dữ liệu này về (file excel).
Hình 12- Tải danh sách dữ liệu về
6.1.2. Khai thác thông tin tổng quan dạng biểu đồ Để khai thác thông tin tổng quan theo dạng biểu đồ, người dùng thực hiện như sau:
Người dùng nhấn chọn chức năng “Khai thác thông tin tổng quan theo dạng
biểu đồ ”. Khi đó, các biểu đồ sẽ hiển thị như hình sau.
www.vietbandosolutions.com
Page 23 | 45
Hình 13- Khai thác thông tin tổng quan dạng biểu đồ
6.2. Thống kê trên dữ liệu Tạo báo cáo thống kê trên dữ liệu.
Hình 14- Tạo báo cáo thống kê
Người dùng chọn loại biểu đồ muốn hiển thị
www.vietbandosolutions.com
Page 24 | 45
Hình 15- Chọn loại biểu đồ
Người dùng chọn loại dữ liệu cần thống kê
Hình 16- Chọn loại dữ liệu cần thống kê
Người dùng định nghĩa lộại đơn vị tính của trục Y
www.vietbandosolutions.com
Page 25 | 45
Hình 17- Định nghĩa loại đơn vị tính của trục Y
Người dùng chọn loại trục thống kê
Hình 18- Chọn loại trục thống kê
Người dùng chọn kiểu thống kê
www.vietbandosolutions.com
Page 26 | 45
Hình 19- Chọn kiểu thống kê
Người dùng chọn trường dữ liệu cần thống kê
Hình 20- Chọn trường dữ liệu cần thống kê
Người dùng tùy chỉnh thứ tự sắp xếp các thành phần và số lượng thành phần của biểu đồ
www.vietbandosolutions.com
Page 27 | 45
Hình 21- Tùy chỉnh thứ tự sắp xếp
Người dùng bấm chọn nút Áp dụng tùy chỉnh vào biểu đồ
Hình 22- Bấm chọn nút Áp dụng tùy chỉnh vào biểu đồ
Biểu đồ hiển thị theo tùy chỉnh của người dùng
www.vietbandosolutions.com
Page 28 | 45
Hình 23- Biểu đồ hiển thị theo tùy chỉnh của người dùng
6.3. Thống kê trên bản đồ
6.3.1. Tạo báo cáo trên bản đồ Để tạo một báo cáo trên bản đồ, người dùng thực hiện như hướng dẫn sau.
Người dùng nhấn nút xổ xuống để chọn “Lớp dữ liệu”:
www.vietbandosolutions.com
Page 29 | 45
Hình 24- Nhấn nút xổ xuống để chọn “Lớp dữ liệu”
Người dùng nhấn nút xổ xuống để chọn “Thuộc tính gom nhóm”.
Hình 25- Nhấn nút xổ xuống để chọn “Thuộc tính gom nhóm”
Tiếp thểộ người dùng chọn điều kiện lọc dữ liệu, liên kết dữ liệu (bước này
có thể chọn hoặc không, tùy nhu cầu lọc dữ liệu của người dùng).
o Chọn điều kiện lọc: xem chức năng lọc dữ liệu.
o Chọn liên kết dữ liệu: xem chức năng liên kết dữ liệu.
www.vietbandosolutions.com
Page 30 | 45
Hình 26- Chọn điều kiện lọc dữ liệu, liên kết dữ liệu
Tiếp theo, người dùng nhấn nút xổ xuống để chọn “Thuộc tính địa lý”.
Hình 27- Chọn “Thuộc tính địa lý”
Cuối cùng, người dùng nhấn nút “Thống kê” để thực thi.
www.vietbandosolutions.com
Page 31 | 45
Hình 28- Dùng nhấn nút “Thống kê” để thực thi
Khi đó, kết quả thống kê được hiển thị trên bản đồ như hình sau.
Hình 29- Kết quả thống kê
6.3.2. Chức năng lọc dữ liệu Mục này mô tả chức năng lọc dữ liệu.
www.vietbandosolutions.com
Page 32 | 45
Hình số 1- Mô tả chức năng lọc dữ liệu
Để lọc dữ liệu, người dùng thực hiện như sau:
Người dùng nhấn nút chọn thuộc tính . Khi đó, hộp
thoại thêm thuộc tính xuất hiện:
Hình 30- Chọn thuộc tính
www.vietbandosolutions.com
Page 33 | 45
Người dùng nhấn chọn thuộc tính để thêm vàộ điều kiện lọc bằng cách nhấn
đúp vàộ thuộc tính trong hộp thoại “Thêm thuộc tính dữ liệu” hộặc nhấn
chọn thuộc tính và nhấn nút ”Chọn” như hình sau.
Hình 31- Thêm thuộc tính dữ liệu
Hoặc người dùng có thể thêm thuộc tính lọc bằng cách nhấn nút “Thêm
thuộc tính” và nhấn nút xổ xuống để chọn thuộc tính cần thêm (như
2 hình sau).
www.vietbandosolutions.com
Page 34 | 45
Hình 32- Thêm thuộc tính lọc
Hình 33- Chọn thuộc tính lọc
Tiếp thểộ người dùng tiến hành điền các giá trị cho thuộc tính vừa thêm.
www.vietbandosolutions.com
Page 35 | 45
Hình 34- Điền giá trị
Hình 35- Điền giá trị
Ngộài ra, người dùng có thể chọn thêm chức năng “Thêm nhóm điều kiện”
để lọc dữ liệu.
www.vietbandosolutions.com
Page 36 | 45
Hình 36- Thêm nhóm điều kiện
Hình 37- Chọn thư mục
Trong quá trình chọn điều kiện lọc dữ liệu, người dùng muốn xóa bỏ thuộc
tính hay nhóm điều kiện thì nhấn chọn thuộc tính (nhóm điều kiện) và nhấn
www.vietbandosolutions.com
Page 37 | 45
nút “Xóa” .
Hình 38- Xóa chọn điều kiện
6.3.3. Chức năng liên kết dữ liệu Mục này mô tả chức năng liên kết dữ liệu.
Hình 39- Chức năng liên kết
www.vietbandosolutions.com
Page 38 | 45
Để tạo một liên kết dữ liệu, người dùng thực hiện như sau:
Nhấn chọn “Lớp dữ liệu liên kết”:
Hình 40- Lớp dữ liệu liên kết
Nhấn chọn “Thuộc tính liên kết”:
Hình 41- Thuộc tính liên kết
www.vietbandosolutions.com
Page 39 | 45
Tiếp thểộ, người dùng có thể chọn thêm điều kiện lọc cho liên kết dữ liệu
này (tùy chọn).
Hình 42- Điều kiện lọc
7. Phụ lục (Source code)
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;
using VBIS.Library.BIService;
using VBIS.Library.Helper;
using VDMS.Sense.Helper.MongoQueryHelper;
using DataMart = VBIS.Library.Model.DataMart;
namespace VBIS.Library.Provider
{
public class VBISDataProvider
{
private static readonly MongoUrl MongoUrl = MongoUrl.Create(C
onfigurationManager.ConnectionStrings["VDMSConnectionString"].Connect
ionString);
www.vietbandosolutions.com
Page 40 | 45
public static readonly string ConnectionString = Configuratio
nManager.ConnectionStrings["VDMSConnectionString"].ConnectionString.R
eplace(MongoUrl.DatabaseName, "");
private readonly MongoDatabase _database;
public VBISDataProvider()
{
_database = new MongoClient(ConnectionString).GetServer()
.GetDatabase(MongoUrl.DatabaseName);
}
private readonly string _dataMartCollection = "vbis_datamart"
;
private readonly string _dataSourceCollection = "vbis_datasou
rce";
#region Get
public List<DataMart> GetAllDataMart()
{
try
{
return _database.GetCollection<DataMart>(_dataMartCol
lection)
.FindAll().ToList();
}
catch (Exception exc)
{
LogHelper.Error("GetAllDataMart", exc);
return null;
}
}
public DataMart GetDataMartById(string id)
{
try
{
var data = _database.GetCollection(_dataMartCollectio
n)
.FindOneByIdAs<DataMart>(id);
return data;
}
catch (Exception exc)
{
LogHelper.Error("GetDataMartById", exc);
return null;
}
}
www.vietbandosolutions.com
Page 41 | 45
public DataMart GetDataMartByDestName(string destId, string n
ame)
{
try
{
var data = _database.GetCollection(_dataMartCollectio
n)
.FindOneAs<DataMart>(Query.And(
Query.EQ("DestinationId", destId),
Query.EQ("Name", name)));
return data;
}
catch (Exception exc)
{
LogHelper.Error("GetDataMartByDestName", exc);
return null;
}
}
public List<DataMart> GetDataMartByIds(string[] ids)
{
try
{
var data = _database.GetCollection<DataMart>(_dataMar
tCollection)
.Find(ids.ToQueryIn("_id"))
.SetFields(Fields.Exclude("Fields")) //không cần
thiết phải load fields khi lấy toàn bộ danh sách, do Fields chứa conf
ig rất lớn
.ToList();
return data;
}
catch (Exception exc)
{
LogHelper.Error("GetDataMartById", exc);
return null;
}
}
public List<BsonDocument> GetDataSources()
{
try
{
var data = _database.GetCollection(_dataSourceCollect
ion)
.FindAll().ToList();
www.vietbandosolutions.com
Page 42 | 45
return data;
}
catch (Exception exc)
{
LogHelper.Error("GetDataSource", exc);
return null;
}
}
public BsonDocument GetDataSourceById(string id)
{
try
{
var data = _database.GetCollection(_dataSourceCollect
ion).FindOneById(id);
return data;
}
catch (Exception exc)
{
LogHelper.Error("GetDataSourceById", exc);
return null;
}
}
#endregion
#region Create
public BIService.DataMart AddDataMart(BIService.DataMart data
)
{
try
{
data.CreatedDate = data.ModifiedDate = DateTime.Now;
_database.GetCollection(_dataMartCollection).Insert(d
ata);
LogHelper.Info("AddDataMart", string.Format("Success|
Name:{0}", data.Name));
}
catch (Exception exc)
{
LogHelper.Error("AddDataMart", exc);
return null;
}
return data;
}
www.vietbandosolutions.com
Page 43 | 45
public DataSource AddDataSource(DataSource data)
{
try
{
data.CreatedDate = data.ModifiedDate = DateTime.Now;
_database.GetCollection(_dataSourceCollection).Insert
(data);
LogHelper.Info("AddDataSource", string.Format("Succes
s|Name:{0}", data.Id));
}
catch (Exception exc)
{
LogHelper.Error("AddDataSource", exc);
return null;
}
return data;
}
#endregion
#region Update
public DataMart UpdateDataMart(DataMart data)
{
try
{
SaveToHistory(_dataMartCollection, data.Id);
data.ModifiedDate = DateTime.Now;
_database.GetCollection<DataMart>(_dataMartCollection
).Save(data);
}
catch (Exception exc)
{
LogHelper.Error("UpdateDataMartERROR", exc);
}
return data;
}
public DataSource UpdateDataSource(DataSource data)
{
try
{
SaveToHistory(_dataSourceCollection, data.Id);
data.ModifiedDate = DateTime.Now;
www.vietbandosolutions.com
Page 44 | 45
_database.GetCollection<DataSource>(_dataSourceCollec
tion).Save(data);
}
catch (Exception exc)
{
LogHelper.Error("UpdateDataSourceERROR", exc);
}
return data;
}
private void SaveToHistory(string collection, string id)
{
try
{
var data = _database.GetCollection(collection).FindOn
eById(id);
data["DataId"] = data["_id"];
data["_id"] = ObjectId.GenerateNewId();
var hisCollection = string.Format("{0}_history", coll
ection);
_database.GetCollection(hisCollection).Insert(data);
}
catch (Exception exc)
{
LogHelper.Error(string.Format("SaveToHistoryERROR|{0}
", collection), exc);
}
}
#endregion
#region Delete
public void DeleteDataMart(string id)
{
try
{
_database.GetCollection(_dataMartCollection).Remove(Q
uery.EQ("_id", id));
}
catch (Exception exc)
{
LogHelper.Error("DeleteDataMartERROR", exc);
}
}
#endregion
}
}
www.vietbandosolutions.com
Page 45 | 45