177/2013/NĐ-CP và các văn bản pháp luật có liên quan: “Trong đó, cơ sở dữ liệu về mức giá hàng hoá, dịch vụ, bao gồm: Giá hàng hóa, dịch vụ do Nhà nước định giá; Giá đăng ký của hàng hóa, dịch vụ thuộc danh mục bình ổn giá; Giá kê khai của hàng hoá, dịch vụ thuộc danh mục kê khai giá”.
Mục tiêu của khóa luận là xây dựng kho dữ liệu về giá tại trung ương và hệ thống đảm bảo tính năng báo cáo giá thị trường gồm tạo lập, gửi, tiếp nhận, quản lý báo cáo tất cả các loại giá trên thị trường. Đề xuất giải pháp cho hoạt động phân tích diễn biến giá thị trường và các chỉ số tiêu dùng của Bộ Tài chính trên nền tảng của Data warehouse.
KẾT LUẬN CHƯƠNG 1
Chương 1 đã giới thiệu về đơn vị thực tập công ty HiPT, về sự hình thành và phát triển, các lĩnh vực kinh doanh và những thuận lợi, khó khăn khi triển khai dự án. Đồng thời, chương 1 trình bày tổng quan về bài toán nghiên cứu xây dựng kho dữ liệu quản lý giá hàng hóa dịch vụ thị trường. Nêu thực trạng của bài toán, nguyên nhân cần xây dựng một kho dữ liệu để quản lý được tất cả các loại giá hàng hóa, dịch vụ trên thị trường. Nội dung yêu cầu, mục đích, ý nghĩa thực tiễn của bài toán nghiên cứu.
CHƯƠNG 2: TỔNG QUAN VỀ KHO DỮ LIỆU VÀ CÔNG CỤ BÁO CÁO 2.1. Tổng quan về kho dữ liệu
2.1.1. Lịch sử hình thành
Ngay từ những năm 70 của thế kỷ trước, nhiều công ty đã cung cấp các hệ thống cơ sở dữ liệu hỗ trợ phân tích, báo cáo như teradata, maper, nhưng thuật ngữ Data warehouse bắt đầu được sử dụng vào năm 1988 trong một công bố của IBM có tiêu đề “An architecture for a business and information system”.
Vào đầu năm 1990, Internet như một cơn bão đổ bộ vào thế giới, nhu cầu cải thiện các báo cáo kinh doanh và lưu trữ dữ liệu ngày càng cao do ảnh hưởng của các hiệp định thương mại tự do, toàn cầu hóa làm tăng tính cạnh tranh gữa các doanh nghiệp. Chính vì vậy cuộc cách mạng về xử lý dữ liệu không chỉ là phổ cập kho dữ liệu mà còn tạo điều kiện để mở rộng khái niệm kho dữ liệu.
Vào cuối những năm của thế kỷ 20, các doanh nghiệp phát hiện ra rằng số lượng hệ thống ứng dụng và cơ sở dữ liệu được nhân lên nhanh chóng, giữa các hệ thống có sự tích hợp kém và sự thiếu nhất quán về mặt dữ liệu. Đồng thời có rất nhiều dữ liệu bị phân mảnh chứ không phải thông tin tích hợp được yêu cầu cho việc ra một quyết định, điều này có ảnh hưởng vô cùng quan trọng trong một nền kinh tế toàn cầu đang thay đổi một cách nhanh chóng và đầy tính cạnh tranh.
2.1.2. Khái niệm kho dữ liệu
Kho dữ liệu (Data warehouse), gọi một cách chính xác hơn là kho thông tin (Information warehouse), là một cơ sở dữ liệu hướng đối tượng được thiết kế với việc tiếp cận các ý kiến trong mọi lĩnh vực đặc biệt là trong lĩnh vực kinh doanh. Nó cung cấp các công cụ để đáp ứng thông tin cần thiết cho các nhà quản trị kinh doanh tại mọi cấp độ tổ chức - không những là những yêu cầu dữ liệu phức hợp, mà còn là điều kiện thuận tiện nhất để đạt được việc lấy thông tin nhanh, chính xác. Một kho dữ liệu được thiết kế để người sử dụng có thể nhận ra thông tin mà họ muốn có và truy cập đến bằng những công cụ đơn giản.
Một kho dữ liệu bao gồm các cơ sở dữ liệu đa chiều và mối quan hệ giữa chúng, kiến trúc chủ khách, giao diện người dùng đồ họa... Nguyên nhân chính cho sự phát triển một kho dữ liệu là hoạt động tích hợp dữ liệu từ nhiền nguồn khác nhau vào một kho dữ liệu đơn lẻ và dày đặc mà kho này cung cấp cho việc phân tích và ra quyết định trong công việc kinh doanh, quản lý.
Đối với một số công việc kinh doanh tin rằng thông tin là nguồn tài nguyên có giá trị rất lớn thì một kho dữ liệu tương đối giống như một nhà kho chứa hàng. Hệ điều hành tạo ra những phần dữ liệu và nạp chúng vào kho. Một số phần được tóm tắt trong thành phần thông tin và được cất vào kho. Người sử dụng kho dữ liệu đưa ra những
yêu cầu và được cung cấp sản phẩm được tạo ra từ các thành phần và các phân đoạn được lưu trong kho.
Tóm lại, kho dữ liệu là một tập các dữ liệu có đặc điểm: tập trung vào một chủ đề, tổng hợp từ nhiều nguồn dữ liệu khác nhau, và không thay đổi hỗ trợ quá trình ra quyết định quản lý (Building the Data Warehouse, 3rd Edition, 2003).
2.1.3. Đặc điểm kho dữ liệu
a. Hướng chủ đề
Dữ liệu trong Data warehouse được tổ chức theo các chủ đề phục vụ cho những tổ chức dễ dàng xác định được những thông tin cần thiết trong từng hoạt động của mình. Điều này dẫn đến nội dung dữ liệu được lưu trữ trong Data warehouse không được lưu trữ chi tiết, chỉ cần lưu trữ nhũng dữ liệu có tính tổng hợp phục vụ chủ yếu cho quá trình phân tích để hỗ trợ ra quyết định. Loại bỏ những dữ liệu không hữu ích cho quá trình ra quyết định, cung cấp một cái nhìn đơn giản và súc tích xung quanh các sự kiện của các chủ đề.
b. Tính tích hợp
Dữ liệu trong Data warehouse được tổ chức theo nhiều cách khác nhau sao cho phù
hợp với các quy tắc đặt tên, thống nhất về số đo, cơ cấu mã hóa và cấu trúc vật lý của dữ
liệu. Một Data warehose là một khung nhìn thông tin mức toàn doanh nghiệp, thống nhất
các khung nhìn khác nhau thành một khung nhìn theo một số chỉ điểm nào đó.
Tích hợp thể hiện như trường hợp: Dữ liệu tập hợp trong kho dữ liệu được thu thập từ nhiều nguồn khác nhau như: files, web... Các kỹ thuật làm sạch, sắp xếp, rút gọn được áp dụng trong quá trình tập hợp dữ liệu: Đảm bảo sự thống nhất trong các quy ước đặt tên, cấu trúc mã hóa giữa các nguồn.
c. Tính bền vững
Data warehouse tách rời với môi trường tác nghiệp nên dữ liệu trong Data warehouse là dữ liệu chỉ đọc, không chỉnh sửa hoặc thêm mới. Dữ liệu trong Data warehouse là dữ liệu chỉ đọc và chỉ có thể được kiểm tra, không được sửa đổi bởi người sử dụng đầu cuối. Nó chỉ cho phép thực hiện hai thao tác cơ bản: Nạp dữ liệu vào kho và truy cập vào các vùng trong Data warehouse.
d. Dữ liệu không biến động
Thông tin trong Data warehouse được tải vào sau khi dữ liệu trong hệ thống điều hành được cho là quá cũ. Tính không biến động được thể hiện ở chỗ: Dữ liệu được lưu
P
K date-key khoảng thời gian dài, cung cấp đủ số liệu cần thiết cho các mô hình nghiệp vụ phân
tích, dự báo, từ đó có được những quyết định hợp lý, phù hợp với các quy luật tiến hóa của tự nhiên.
e. Tính thời gian
Một kho dữ liệu bao hàm một khối lượng lớn dữ liệu lịch sử. Dữ liệu được lưu trữ thành một loạt các snapshot (ảnh chụp dữ liệu), mỗi bản ghi phản ánh những giá trị của dữ liệu tại một thời điểm nhất định thể hiện một khung nhìn của một chủ điểm trong một giai đoạn. Do vậy cho phép khôi phục lại lịch sử và so sánh chính xác các giai đoạn khác nhau. Yếu tố thời gian đóng vai trò như một phần của khóa để đảm bảo tính đơn nhất của mỗi hàng và cung cấp đặc trưng về thời gian cho dữ liệu.
Dữ liệu của CSDL tác nghiệp thường sau một khoảng thời gian nhất định thì sẽ trở thành dữ liệu lịch sử và chúng sẽ được chuyển thành kho dữ liệu. Đó chính là những dữ liệu hợp lý về những chủ điểm cần lưu trữ.
f. Dữ liệu tổng hợp
Dữ liệu thuần túy không được lưu trữ trong Data warehouse. Dữ liệu tổng hợp được tích lại qua nhiều giai đoạn khác nhau theo các chủ điểm đã nêu trên.
2.1.4. Mục đích
Mục đích chính của kho dữ liệu là: Hỗ trợ để các nhân viên của tổ chức thực hiện tốt, hiệu quả công việc của mình, như có những quyết định hợp lý, nhanh và bán được nhiều hàng hơn, năng suất cao hơn, thu được lợi nhuận cao hơn... Giúp cho tổ chức, xác định, quản lý và điều hành các dự án, các nghiệp vụ một cách hiệu quả và chính xác. Tích hợp dữ liệu và các siêu dữ liệu từ nhiều nguồn khác nhau.
2.1.5. Lợi ích
a. Đối với người khai thác
Kho dữ liệu cung cấp công cụ phân tích, khai thác dữ liệu nhanh gọn, đầy đủ và chính xác, dễ dàng đưa ra các chính sách mới. Giúp người sử dụng khai thác dữ liệu theo chủ đề với các nguồn và khoảng thời gian khác nhau. Trong Data warehouse, dữ liệu được xử lý nhanh chóng, dễ dàng tạo ra các báo cáo đơn giản phù hợp với nhiều trình độ khai thác.
b. Đối với người quản trị hệ thống
Data warehouse hỗ trợ xây dựng một kho dữ liệu lớn. Thiết kế mềm dẻo giúp dễ dàng tích hợp dữ liệu tác nghiệp mới và tạo ra các báo cáo mới theo yêu cầu người khai thác.
2.1.6. Mô hình dữ liệu trong Data warehouse
Xây dựng mô hình dữ liệu là nền tảng cho việc cài đặt hệ thống. Sự hiểu biết về hệ
thống nguồn rất quan trọng để phát triển tầm nhìn về phạm vi hoạt động và mô hình trong
tương lai. Mô hình dữ liệu của Data warehouse có thể được thiết lập theo: lược đồ hình (Building a DW - With examples in SQL Server, 2008).
Weekjiumber month Jiumber month Jiame year dimJiroduct P K product_key ProductJd ProductJiame ProductJype ProducLgroup tact_sales_ordefjtem PK,F K1 PK,F K2 PK, Ofder_date_k ey customer_key ProductJcey branchjcey OTderjd (DO) IinejjrderJd (DO) UnitJJrice quantity cost margin dim_customer PK CUStomefJcey CUStomerJd first Jiame lastname emaladdress address town State d∣mj>ranch PK bτanch-key branchjd branch_name branchjype branch_size region division
OrderJd PftduciJd product FK1 FK1 PKiductJd ProducLgron pJti PraducLgroup P K ProducLgroupJd F K 1 prodncLid OUgtonier PK1 FKI CUStomerJ d tow∏Jd town PK1FKI IownJd StateJd Hình 2.1: Lược đồ hình sao
Lược đồ hình sao được đưa ra bởi Dr. Ralph Kimball. Lược đồ hình sao cho phép một hệ thống đối tượng có thể kết nối với nhiều đối tượng khác. Mô hình này thể hiện cách nhìn của người sử dụng về nhiều vấn đề trong tác nghiệp. Trong lược đồ hình sao, dữ liệu được xác định và phân loại theo hai kiểu:
- Các sự kiện tổ chức thành bảng Fact. Bảng Fact chứa thông tin cơ sở mức giao tác ở trong nghiệp vụ mà các ứng dụng cần thiết. Các bảng Fact thường rất lớn, chứa
hàng triệu dòng và phần lớn là dạng số.
- Các chiều của dữ liệu được tổ chức thành các bảng Dimension. Bảng Dimension thường là tương đối nhỏ so với các bảng Fact, chứa các thông tin mô
tả. Đó
là các bộ lọc hoặc các ràng buộc của những sự kiện ở bảng Fact. Bảng Dimension
chứa các dữ liệu cần thiết cho việc thực hiện các giao tác nghiệp vụ theo một hiệu quả những câu truy vân đó. Phù hợp với cách mà người dùng cuối nhận và sử dụng dữ liệu. Qua đó, dữ liệu được hiểu một cách trực quan hơn.
Những bảng Fact có chứa khóa của các bảng Dimension, có thể là với tên khác đi để đảm bảo tính duy nhât của mỗi bảng. Các bảng chiều thường có định danh duy nhât và chứa những thông tin về Dimension của bảng đó. Số lượng các bảng Dimension của mỗi bảng Fact là từ 3 - 15 bảng.
b. Lược đồ bông tuyết
Lược đồ bông tuyết là một sự mở rộng của lược đồ hình sao, tại đó mỗi cánh sao không phải là một bảng chiều mà là nhiều bảng (Building a DW - With examples in SQL Server, 2008).
salcs-ordcrJioader PK. FKI QrdorJd CiHtnnwrJd storeJd PK1 FKl StoroJd regionjd region PK, FK1 regiυnjd diviskιn-ιd division PU FK1 divisionJd rogionjd store
là các bảng chiều của mô hình dạng bông tuyết được tách thành các cấp khác nhau. Nhờ vậy khối lượng cần lưu trữ sẽ giảm đi. Tuy nhiên nó không phải là lợi ích chính của mô hình dạng bông tuyết. Lợi ích chính của mô hình dạng bông tuyết là nó tạo ra một cái nhìn tổng thể trong phân cấp các chiều. Với mô hình này mỗi chiều được phân thành nhiều cấp vì vậy việc khai thác dữ liệu ở mức chi tiết cũng như tổng hợp dữ liệu dễ dàng hơn. Nó làm tăng số lượng các bảng và làm tăng tính phức tạp của một vài truy vấn cần có sự tham chiếu tới nhiều bảng.
Trở ngại lớn nhất khi triển khai mô hình dạng bông tuyết là vấn đề tốc độ. Đáng tiếc là có càng nhiều quan hệ thì tốc độ truy vấn dữ liệu lại càng chậm, mà tốc độ lại là vẫn đề lớn nhất khi thiết kế Data warehouse. Do vậy, thông thường người ta thường tránh sử dụng mô hình dạng bông tuyết. Tuy nhiên đối với những người quen sử dụng mô hình dữ liệu quan hệ và việc chuẩn hóa thì mô hình dạng bông tuyết gần gũi hơn và trên thực tế nhiều người thích sử dụng mô hình dạng bông tuyết hơn.
Cần phải nói lại rằng tiêu chí lựa chọn mô hình là tốc độ và dung lượng bộ nhớ lưu trữ. Có thể biến mô hình dạng bông tuyết về mô hình dạng sao và ngược lại mà không hề ảnh hưởng tới ngữ nghĩa của dữ liệu. Nếu đặt vấn đề tốc độ lên hàng đầu thì nên lựa chọn mô hình dạng sao.
c. Lược đồ kết hợp
Là sự kết hợp giữa lược đồ hình sao dựa trên bảng sự kiện (Fact) và những bảng chiều (Dimension) không chuẩn hóa theo các chuẩn 1, 2, 3 với lược đồ bông tuyết trong đó tất cả các bảng chiều đều đã được chuẩn hóa. Trong sơ đồ loại này chỉ có những bảng chiều lớn là được chuẩn hóa còn những bảng khác chứa một khối dữ liệu lớn các cột dữ liệu chưa được chuẩn hóa.
2.1.7. Kiến trúc tổng thể của Data warehouse
Kiến trúc của kho dữ liệu thường gồm nhiều vùng chứa dữ liệu (data store) nhỏ. Những vùng chứa dữ liệu này được phân loại dựa trên cấu trúc bao gồm (Building a DW - With examples in SQL Server, 2008):
- Vùng xử lí (staging area): Là vùng chứa dữ liệu chuẩn bị cho việc biến đổi dữ liệu
thu được từ nguồn trước khi chuyển qua các vùng chứa dữ liệu khác trong kho dữ liệu.
- Vùng chứa dữ liệu dạng chuẩn hoá (normalized data store): Là vùng chứa dữ liệu trung gian sau khi đã được biến đổi và tích hợp từ nhiều nguồn khác nhau. Trong
dạng lai giữa vùng dữ liệu chuẩn hoá và cơ sở dữ liệu hoạt động (operational database). Mục đích của nó ngoài việc hỗ trợ cho việc nạp dữ liệu vào kho dữ liệu đầu cuối, còn được dùng như là cơ sở dữ liệu hoạt động tập trung (centralized).
- Kho dữ liệu đầu cuối, còn gọi là vùng dữ liệu đa chiều (dimesional data store): Là vùng kho dữ liệu đầu cuối, phía người dùng. Trong vùng này, dữ liệu được lưu trữ dưới dạng mô hình hoá đa chiều (dimensional modeling) nhằm hỗ trợ các ứng dụng hay truy vấn dạng phân tích đầu cuối.
Hình 2.3: Kiến trúc Data warehouse
Các hệ thống nguồn (Source Systems): là hệ thống các OLTP bao gồm dữ liệu muốn lưu trữ vào Data warehouse. OLTP (Online Transaction Processing: xử lý giao dịch trực tuyến) là hệ thống với mục đích chính là sao chép và lưu trữ các giao dịch kinh doanh (the business transactions). Dữ liệu của các hệ thống nguồn được kiểm tra bằng các sử dụng data profiler để hiểu và biết được đặc điểm của từng dữ liệu.
Data Profiler: là một công cụ có thể phân tích dữ liệu như phát hiện được có bao nhiêu dòng trong mỗi bảng, bao nhiêu dòng có giá trị NULL...
Hệ thống ETL (Extract, Transform, Load) mang các dữ liệu từ các hệ thống nguồn
khác nhau vào một vùng riêng (staging area). ETL là một hệ thống có khả năng kết nối các hệ thống nguồn, đọc dữ liệu, chuyển dữ liệu và lưu trữ vào một hệ thống đích (a