MODEL)
Sau k h i chúng ta hoàn thành mô hình nghiệp vụ và m ô hình lo g ic > pha tiếp theo của quá trìn h thiết k ế ỉà x â y dựng mồ hình d im en sio n a l, m ô h ìn h d im ensional ỉhường là giản đổ hình sao.
1. Giản đồ hình sao
G ià n đồ hình sao được đưa ra ỉần đầu tiên bời D r . R a lp h K im b a ll như ỉà một lựa chọ n thiết k ế c ơ sờ d ữ liệ u cho Đ W . T ro n g giản đổ h ìn h sao, dữ liệ u được x á c định và phân lo ại theo 2 k iể u : sự k iệ n (bảng F a c t) v à phạm v i (c á c bảng d im ensio n ). Bảng F a c t chứ a yếu tô' cố t lõ i cần được phân tích . N ó được gọi là giản đồ hình sao
bời v ì các sự k iệ n nằm ờ trung tâm của mô h ìn h và được bao quanh bởi các phạxn v i
Hên q uan , rất giống vớ i c á c điểm củ a một ngồi sao. C á c sự kiệ n là các đại lượng số của công v iệ c . C á c phạm v i là các bộ lọc hoặc các ràng buộc của những sự kiệ n này. C hẳng hạn: thông tin vể kh ách hãng như tên, đ ịa c h ỉ là một phạm v i , trong k h i đó thông tin bán hàng cho kh ách hàng đó ià một sự kiệ n .
2. Các thành phần của gíẳn đồ hình sao
G iả n đổ hình sao được tạo đụng nên từ c á c thành phần c ơ bản: bảng sự kiệ n (F a c t ta b ĩe ), bảng phạm v i (D im e n sio n tab le) và liê n kế t g iữ a chúng.
N g u yên lý c ơ bản củ a g iản đổ hình sao là một dạng dư thừa dữ liệu cả i thiện sự thực hiện c á c tru y vấn . V ớ i g iản đổ hình sao, người thiết k ế có thể dễ dàng mô phòng những ch ứ c năng củ a c ơ sờ dữ liệu đa c h iề u . S ự phỉ chuẩn hóa có thể co i là sự
54
tiền kết nối (p re-jo in in g ) c á c bảng để cho cúc ứng đ ụ n s kh ô n s phải thực hiện còng việc kết nố i, làm gíủm thời gian thực hiện,
3 . Đ ặ c đ iể m c ủ a g iả n đổ h ìn h sao
D ễ dàng nhận th ấy, giản đồ hình sao được thiết k ế là để khắc phục những hạn
ch ế cùa mô h ìn h quan hệ hai ch iề u . V ớ i cơ sờ đữ liệu được thiết k ế theo giản đồ
hình sao, những tru y vấn với những câu hỏi phức tạp liên quan tới nhiều bảng và số
liệu ỉổng hợp trờ nên đơn giản hơn v à số lượng công v iệ c cần thực hiện để đưa được ra câu trả lờ i là ít nhất so với một m ô hình quan hệ chu ẩn . G iả n đổ hình sao cải thiện đáng kể thời gian truy vấn và cho phép thực hiện một số tính năng đa phạm v i. G iản
đồ nàv rất trực quan, dể sử đụng, Ihể hiện khung nhìn đa ch iề u của dữ ỉiệu đùng ngữ
nghĩa củ a cơ sở dữ liệ u quan hệ. K h ó a của bảng sự kiệ n được tạo bời những khóa cử a các bàng chứa thông tin theo từng phạm v i (d im en sio n tab le). T ấ t c ả các khóa đều được x á c đ ịnh với cùng một chuẩn đật tên.
Đ ể ỉấ y được thỏng tin chẳng hạn dựa trên một thành phố củ a khách hàng cụ thể, cần phải kết hợp khóa c h ỉ kh ách hàng đó trong bàng sự kiện-bảng F a c t (fact tab le) với khóa củ a kh ách hàng đó trong bảng ch iều - bảng D im en sio n (dim ension tab le) và đặt thuộc tính thành phố củ a kh ách hàng đó là thành phố m à họ quan tâm.
N hững bảng F a c t có chứa kh ó a của các bảng D im e n sio n , có thể ià v ớ i tên khác đ i để đảm bảo tính d uy nhất củ a m ỗi hàng. C á c bảng D im en sio n thưòmg có định danh duy nhất v à chứa đựng những thông tin về ch iề u (d im en sio n ) củ a bảng đó. Số lượng các bảng D im en sio n cửa m ỗi bảng F act là từ 3 đến 5.
V ì bảng F a c t được tổng hợp từ trước và được kết hợp theo nhiều chiểu nên xu hướng có rất nhiều hàng và tăng trưởng một cá ch nhanh chóng trong k h i đó các bảng d im ension không có nhiều hàng và sự tăng trưởng là tĩn h . Bảng F a c t có thể bao gồm hàng triệu hàng.
Bảng D im e n sio n chứ a dựng c á c thuộc tính có thể được sử dụng như các tiêu c h í tìm k iế m v à thường có k íc h thước nhỏ hơn n h iề u , rất quen thuộc với người sử dụng từ trư ớ c. K h o á của nó không là khoá ghép như bảng sự k iệ n . N ếu một bàng D im e n sio n bắt đầu có sự tương đồng với các bảng F a c t thì c ó thể nó cần được ch ia
55
ra thành c á c bảng D im en sio n . N ếu m ột bảng D im en sio n được ch ia ra thành D im en sio n c h ín h và D im en sio n thứ 2 thì cấu trúc thu được củ a kết quả được coi là một giản đồ tuyết rơi (sn o w fla k e ) hoặc một cấu trúc sao m ở rộng.
M ột g iản đổ hình sao đơn giản c h ỉ gồm m ột bảng F a c t và một v à i bảng D im e n sio n . M ộ t g iàn đồ hình sao phức tạp bao gổm hàng trăm bảng F a c t và bảng D im en sio n . M ộ t v à i k ĩ thuật để c ả i thiện cống suất củ a các tra y vấn trong giản đổ hình sao bao gồm :
X á c đ ịn h sự kết hợp c á c bảng F a c t đang tồn tại h ay tạo ra m ột sự kết hợp m ới các bảng F a c t.
Phân c h ia bảng F a c t đến m ức m à hầu hết các tru y vấn c h ỉ tru y nhập tới phần
đó.
T ạ o ra c á c bảng F a c t riêng rẽ
T ạ o ra những tệp c h ỉ số đơn duy nhất hoặc c á c k ĩ thuật kh ác để cải thiện năng suất kết hợp.
L ư u ý ià k ể c ả bảng F a c t v à các bảng D im e n sio n đều không bắt buộc ở dạng chuẩn như đ ố i v ớ i phương pháp thiết k ế truyền thống tức là có đ ư thừa dữ liệ u . V ớ i loại giản đổ n à y cho phép ỉưu trữ đư thừa dữ ỉiệ u đổi lạ i k h ả năng tru y nhập nhanh hơn phù hợp v ó i những câu hỏi phân tích nhiều c h iề u , phức tạp.
C ó thể n ó i giản đồ hình sao ià m ột c ơ sở dữ liệ u c h ỉ đ ọ c, v iệ c cập nhật dữ liệu là rất ít. M ộ t v à i bảng D im en sio n chứa d ữ liệ u có thể được thêm vào bằng các tru y vấn có kết n ố i, m ột v à i bảng kh ác lại không chứa dữ ĩiệ u g ì ngoài v iệ c phục vụ đánh ch ỉ số cho đ ữ liệ u .
4. Vấn đề đánh chỉ số (Index)
Sử dụng v iệ c đánh c h ỉ số có thể đảm bảo sự duy nhất c ủ a c á c kh ó a và có thể cảí thiện năng suất dọc. V ì c á c bảng trong thiết k ế h ìn h sao điển hình ch ứ a sự phân cấp tổng thể c ủ a c á c thuộc tính (ch ẳn g hạn v ớ i ch iề u thời k ỳ - P E R J O Đ D im en sio n-sự phân rã n ày có thể là n g à y -» tu ầ n -» th áng -» q u í- » n ă m ), m ột cách tiếp cận là tạo ra một khóa n h iều thành phần của n g à y , tuần, tháng, q u í, nãm . C á c h íhức này được
56
chấp nhận cho nhưng thiết kè' bình thường nhưng nó cũng thể hiện một vài vấn đề trong mô hình giàn đổ hình sao. Đ ó là:
• Nó đòi hỏi sự định nghĩa M etadata phức tạp (m ột cho m ỗi thành phần khóa) để
xá c định một m ối quan hệ đơn (m ột bảng). Đ iểu này làm cho thiết k ế thêm phức tạp và nãng suất kém đi nhiều.
• V ì bảng F a c t phải chứa tất cả các khóa thành phần như một phần của khóa chín h,
việc thêm vào hay xó a bò m ột mức trong sơ đồ phân cấp sẽ đòi hỏi sự thay đổi vật l í ở các bảng liên quan m ất nhiều thời sia n và hạn chế tính lin h hoạt.
• C h ứ a tất c ả c á c đoạn khóa củ a m ỗi D im en sio n trong bảng F a c t làm tăng kích
thước của bảng ch ỉ số và tác động m ạnh tới công suất và sự ổn đ ịnh .
M ột phương pháp đối với khóa ghép như trên là cắt khóa ra thành các khóa đcm (chẳng hạn khóa bao gồm tất cả các thuộc tính- ngày, tuần, tháng, q u í, năm ). C ách này g iải quyết được 2 vấn để đầu nhưng k íc h thước của bảng c h ỉ số vẫn là một
vấn dề. C ách tốt nhất là thay những khóa có ý nghĩa bằng việc sử đụng một khóa do
m ình tạo ra là m ột kh ó a nhỏ nhất có thể m à vẫn bảo đảm tính d uy nhất của m ỗi bản g hi. Những kh ó a có nghĩa được thay thế như nói ở trên không cần thiết phải hủy bỏ, chúng có thể đon giản là được chu yển đến một thuộc tính khổng phải là khóa. K ế t quả thiết k ế theo m ồ hình hình sao bao gồm một bảng Fact vớ i một khóa chính có đúng một cột kh ó a cho m ỗi chiều tại đó mỗi khóa là khóa dược tạo ra. Phương pháp này cho kh ả năng lin h hoạt ở m ức cao nhất, việc bảo trì ỉà ít nhất và công suất cao nhất có thể.