DB2 Express Edition DB2 Workgroup Edition Extrafunctionality Hình 1.1 – Máy ch DB2 Nh ta th y trên hình 1.1, DB2 Express-C c6ng gi ng nh DB2 Express nh ng thi u i m t vài thành ph n...
Trang 1N H P M Ô N DB2 Express-C
R A U L C H O N G, I A N H A K E S, R A V A H U J A
L i n ó i u D R A R V I N D K R I S H N A
M t cu n sách c a c ng ng dành cho c ng ng
Trang 3M c L c
V cu n sách này 9
Thông cáo và Nhãn hi u hàng hóa 9
Ai nên c cu n sách này? 10
C u trúc c a quy n sách này nh th nào? 10
M t cu n sách giành cho c ng ng 11
Tác gi và nh ng ng i óng góp 12
L i c m n 12
L i c m n c a b n ti ng Vi t 13
L i nói u 16
PH N I – T NG QUAN VÀ CÀI T 17
Ch ng 1 – DB2 Express-C là gì? 18
1.1 T do phát tri n, tri n khai và phân ph i… không có gi i h n! 19
1.2 Tr giúp ng i dùng và h tr k thu t 19
1.3 Các máy ch DB2 20
1.4 Máy khách DB2 và các trình i u khi n (drivers) 20
1.5 T do phát tri n ng d ng 22
1.6 Phiên b n và n b n DB2 23
1.7 Chuy n sang n b n DB2 khác 23
1.8 B o trì và c p nh t cho DB2 Express-C 24
1.9 Ph n m m mi n phí liên quan và các thành ph n DB2 24
1.9.1 IBM Data Studio 24
1.9.2 DB2 Text Search 25
1.9.3 WebSphere Application Server – n b n c ng ng (Community Edition) 25
1.10 Tóm t t 25
Ch ng 2 – Các s n ph m và tính n ng liên quan 26
2.1 Các tính n ng kèm theo v i DB2 Express b n tr phí (FTL) 29
2.1.1 Các gói s!a l i 29
2.1.2 Tính s"n sàng cao và khôi ph c sau s c (High Availability Disaster Recovery - HADR) 29
2.1.3 Nhân b n d li u 30
2.2 Các tính n ng không có trong b n DB2 Express-C 31
2.2.1 Phân vùng c s d li u 32
2.2.2 Connection Concentrator - B t p trung k t n i 32
2.2.3 Geodetic Extender - B m r ng không gian a lý 32
2.2.4 Label-based Access Control (LBAC) - Ki m soát truy c p d a trên nhãn 32
2.2.5 B qu n lý t i công vi c (Workload Manager – WLM) 33
2.2.6 Nén sâu 34
2.2.7 T ng thích v i SQL 35
2.3 Nh ng s n ph#m có tr phí liên quan n DB2 36
2.3.1 DB2 Connect 36
2.3.2 InfoSphere Federation Server 37
2.3.3 InfoSphere Replication Server 38
2.3.4 Optim Development Studio (ODS) 38
2.3.5 Optim Database Administrator (ODA) 39
Trang 44 Nh p môn H qu n tr c s d li u DB2
2.4 Các cung c p DB2 trên Cloud c a Amazon 39
2.5 Tóm t t 39
Ch ng 3 - Cài t DB2 40
3.1 Các i u ki n c n tr c khi cài $t 40
3.2 Quy n cài $t h i u hành 40
3.3 Cài $t theo th thu t (h ng d%n t&ng b c) 41
3.4 Ki m tra l i cài $t 48
3.5 Cài $t hàng lo t (Silent Install) 49
3.6 Tóm t t 50
3.7 Bài t p nhanh 51
Ch ng 4 – Môi tr ng c a DB2 55
4.1 C u hình DB2 64
4.1.1 Các bi n môi tr ng 65
4.1.2 T p c u hình qu n tr c s d li u (dbm cfg) 65
4.1.3 T p c u hình c s d li u (db cfg) 68
4.1.4 ' ng ký lý l ch DB2 69
4.2 Máy ch qu n tr DB2 (deprecated1) 70
4.3 Tóm t t 71
4.4 Bài t p 71
Ch ng 5 – Các công c c a DB2 76
5.1 IBM Data Studio 78
5.2 Control Center (deprecated) 79
5.2.1 Kh i ng Control Center 82
5.3 Nh p l nh tr c ti p (deprecated) 83
5.3.1 Ch y trình Nh p l nh tr c ti p 84
5.3.2 Thêm m t k t n i c s d li u 84
5.4 Th thu t tr giúp SQL (deprecated) 85
5.5 Nút “Show SQL” (deprecated) 87
5.6 Trung tâm tác v (deprecated) 88
5.6.1 C s d li u Tools Catalog (deprecated) 89
5.7 Nh t ký( - Journal (deprecated) 90
5.7.1 Kh i ch y Journal 91
5.8 Health Monitor (deprecated) 92
5.8.1 Health Center 92
5.9 Qu n l(í b nh t ng 94
5.10 K ch b n 94
5.10.1 Các k ch b n SQL 95
5.10.2 K ch b n h i u hành (Shell) 96
5.11 Xét t i h i u hành Windows Vista 97
1 Deprecated: nh ng tính n ng phiên b n hi n nay còn h tr , nh ng có th không c
h tr n a các phiên b n sau Các tính n ng này s) c k t h p trong IBM Data Studio
Trang 5M c l c 5
5.12 K t lu n 97
5.13 Bài t p 98
PH N II – H C DB2: QU N TR C S D LI U 103
Ch ng 6 - Ki n trúc DB2 104
6.1 Mô hình x! lý DB2 104
6.2 Mô hình b nh DB2 106
6.3 Mô hình l u tr DB2 107
6.3.1 Các trang và ph n m r ng 108
6.3.2 Vùng m (Buffer pool) 108
6.3.3 Không gian b ng – Table spaces 110
6.4 Tóm t t 116
6.5 Bài t p 116
Ch ng 7 – K t n i máy khách DB2 120
7.1 Các th m c DB2 120
7.1.1 Th m c c s d li u h th ng 120
7.1.2 Th m c c s d li u c c b 121
7.1.3 Th m c nút 121
7.1.4 Th m c DCS 121
7.2 Công c tr giúp c u hình (deprecated) 121
7.2.1 Các cài $t c n thi t trên máy ch 122
7.2.2 Các cài $t c n thi t trên máy khách 125
7.2.3 T o lý l ch cho máy khách và máy ch 129
7.3 Tóm t t 132
7.4 Bài t p 132
Ch ng 8 - Làm vi c v i các i t !ng c s" d# li u 135
8.1 L c (schemas) 135
8.2 Tên công c ng ho$c bí danh (public synonyms or public aliases) 136
8.3 B ng (tables) 137
8.3.1 Ki u d li u 137
8.3.2 C t khoá chính (Identity columns) 142
8.3.4 Các b ng danh sách h th ng 143
8.3.5 Khai báo các b ng t*ng quát t m th i (DGTTs) 144
8.3.6 T o b ng t m t*ng quát (CGTTs) 146
8.4 Khung nhìn 147
8.5 Ch+ m c 147
8.5.1 Tr giúp thi t k (Design Advisor) 147
8.6 Toàn v,n tham chi u 149
8.7 Ti n hóa c a l c (Schema Evolution) 150
8.8 Tóm t t 152
8.9 Bài t p 152
Ch ng 9 -$%&c ti n 'ch di chuy(n d# li u 156
9.1 Ti n -ch EXPORT 157
9.2 Ti n -ch IMPORT 158
9.3 Ti n -ch LOAD 159
Trang 66 Nh p môn H qu n tr c s d li u DB2
9.4 Công c db2move 161
9.5 Công c db2look 161
9 6 Tóm t t 164
9.7 Bài t p 164
Ch ng 10 - B o m)t C s" d# li u 168
10.1 Ch ng th c 169
10.2 Quy n h n 170
10.2.1 '$c quy n 170
10.2.2 Quy n h n (authorities) 171
10.2.3 Vai trò 176
10.3 Xem xét vi c nhóm các $c quy n 177
10.4 Nhóm PUBLIC 177
10.5 L nh GRANT và REVOKE 177
10.6 Vi c ki m tra quy n và $c quy n 178
10.7 Tính n ng b o m t m r ng trên Windows 180
10.8 Tóm t t 180
10.9 Bài t p 180
Ch ng 11 – Sao l u và Khôi ph c 185
11.1 Nh t kí c s d li u 185
11.2 Các ki u nh t kí 186
11.3 Các ki u ghi nh t kí 187
11.3.1 Ghi tu n t quay vòng 187
11.3.2 Ghi nh t kí l u tr 188
11.4 Ghi nh t kí c s d li u t& Trung tâm i u khi n 189
11.5 Các tham s c a nh t kí 191
11.6 Sao l u c s d li u 192
11.7 Khôi ph c c s d li u 194
11.7.1 Các ki u khôi ph c d li u 194
11.7.2 Ph c h i c s d li u 195
11.8 Thao tác khác v i câu l nh BACKUP và RESTORE 195
11.9 Tóm t t 196
11.10 Bài t p 196
Ch ng 12 – Nhi m v b o trì 199
12.1 REORG, RUNSTATS, REBIND 199
12.1.1 L nh REORG 200
12.1.2 L nh RUNSTATS 200
12.1.3 BIND / REBIND 201
12.1.4 Các công vi c b o trì t& Control Center (Trung tâm 'i u khi n) 202
12.2 Các l a ch n b o trì 203
12.3 T*ng k t 205
12.4 Bài t p 205
Ch ng 13 - Truy c)p ng th i và khóa 208
13.1 Giao d ch (Transactions) 208
13.2 Truy xu t ng th i (Concurrency) 209
Trang 7M c l c 7
13.3 M t s v n n u không có s ki m soát truy c p ng th i 210
13.3.1 M t d li u c p nh t (lost update) 210
13.3.2 ' c d li u không hoàn t t ( Uncommited read) 211
13.3.3 ' c d li u không th l$p l i (Non-repeatable read) 212
13.3.4 ' c d li u th&a (Phantom read) 213
13.4 Các m c cô l p 214
13.4.1 ' c không cam k t 215
13.4.2 n nh con tr/ 215
13.4.3 ' c *n nh 217
13.4.4 ' c l$p l i 217
13.4.5 So sánh các m c cô l p d li u 218
13.4.6 '$t m c cô l p 218
13.5 Khóa leo thang 220
13.6 Ki m soát khóa 221
13.7 Ch khóa 222
13.8 V n khóa ch t và phát hi n 222
13.9 Truy c p ng th i và th c ti n khóa t t nh t 224
13.10 Tóm t t 225
13.11 Bài t p 225
PH N III – H C DB2: PHÁT TRI*N +NG D,NG 231
Ch ng 14 – Gi i thi u vi c phát tri(n ng d ng v i DB2 233
14.1 Phát tri n ng d ng DB2: B c tranh l n 233
14.2 Phát tri n ng d ng phía máy ch 235
14.2.1 Các th t c l u 235
14.2.2 Các hàm ng i dùng nh ngh a 236
14.2.3 Các b%y s ki n 236
14.3 Phát tri n ng d ng phía máy khách 237
14.3.1 SQL nhúng 237
14.3.2 SQL t nh và SQL ng 238
14.3.3 CLI và ODBC 240
14.3.4 JDBC, SQLJ và pureQuery 244
14.3.5 OLE DB 245
14.3.6 ADO.NET 246
14.3.7 PHP 248
14.3.8 Ruby on Rails 248
14.3.9 Perl 249
14.3.10 Python 249
14.4 XML và DB2 pureXML 250
14.5 D ch v Web 250
14.6 Các API qu n lý 252
14.7 Các phát tri n khác 252
14.7.1 Làm vi c v i Microsoft Access và Microsoft Excel 252
14.8 Các công c phát tri n 254
14.9 Các ch ng trình m%u 254
Trang 88 Nh p môn H qu n tr c s d li u DB2
14.10 Tóm t t 255
Ch ng 15 - DB2 pureXML 256
15.1 S! d ng XML v i c s d li u 257
15.2 C s d li u XML 257
15.2.1 C s d li u có h tr XML 257
15.2.2 C s d li u thu n XML 258
15.3 XML trong DB2 259
15.3.1 0u i m c a công ngh pureXML 260
15.3.2 C b n v XPath 262
15.3.3 C b n v XQuery 265
15.3.4 Chèn các tài li u XML 267
15.3.5 Truy v n d li u XML 270
15.3.6 K t n i v i SQL/XML 277
15.3.7 K t n i v i XQuery 278
15.3.8 Các thao tác c p nh t và xóa 278
15.3.9 'ánh ch+ m c XML 281
15.4 Làm vi c v i l c XML 282
15.4.1 ' ng kí l c XML 282
15.4.2 Ki m tra tính h p l theo l c XML 285
15.4.3 Các h tr XML khác 286
15.5 Tóm t t 287
15.6 Bài t p 287
Ph l c A – Kh-c ph c s. c 289
A.1 Tìm thêm thông tin v các mã l i 290
A.2 SQLCODE và SQLSTATE 290
A.3 Nh t ký thông báo qu n tr DB2 291
A.4 db2diag.log 291
A.5 Theo v t CLI 292
A.6 Khi m khuy t và s!a l i trong DB2 292
Ph l c B – Tham kh o và Tài nguyên 293
B.1 Tham kh o 293
B.2 Các trang Web: 293
B.3 Sách 295
B.4 Email liên h 296
Trang 9V cu n sách này
Thông cáo và Nhãn hi u hàng hóa
© Copyright IBM Corporation 2007, 2009
All right Reserved
tr c c a t t c các ch s h u tác quy n nêu trên
IBM không có b o m ho $ c tuyên b nào liên quan n n i dung này và c th là ch i b / b t c s m b o mang tính hàm ý/suy di n nào v giá tr th ng m i hay tính phù h p i v i b t c m c ích c th nào IBM không ch u trách nhi m v b t c sai sót nào có kh n ng t n t i trong tài li u này, bao g m nh ng không gi i
h n trong ph m v các sai sót trong quá trình d ch thu t Các thông tin c bao hàm trong tài li u này là i
t ng ch u s thay * i mà không c n thông báo IBM b o l u quy n th c hi n b t c s thay * i nào nh th
mà không có ngh a v thông báo cho b t c cá nhân nào v các tr ng h p i u ch + nh hay thay * i nh th IBM không a ra b t c cam k t nào i v i vi c c p nh t các thông tin c bao hàm trong tài li u này
Các thông tin trong tài li u này có liên quan n các s n ph # m không ph i c a IBM, do các nhà cung c p các s n
ph # m y cung c p IBM ch a th ! nghi m các s n ph # m y và không th xác nh n tính chính xác v tình tr ng
ho t ng, kh n ng t ng thích ho $ c các kh 1 ng nh có liên quan các s n ph # m không ph i c a IBM ' i v i các v n th c m c có liên quan n hi u qu c a các s n ph # m không ph i c a IBM, xin liên h v i các nhà cung c p các s n ph # m này
IBM, bi u t ng IBM, và ibm.com là nhãn hi u hàng hóa ã ng ký c a t p oàn IBM trên toàn th gi i Tên s n
ph # m và d ch v khác có th là nhãn hi u hàng hóa ã ng ký c a IBM ho $ c các công ty khác Danh sách các nhãn hi u ã ng ký c a IBM c ng t i t i m c “Copyright and trademark information” c a trang
UNIX là nhãn hi u ng ký c a The Open Group t i M 2 , các n c khác, ho $ c c hai
Nh ng tên c a công ty, s n ph # m hay d ch v khác có th là nhãn hi u ã ng k ( ý c a các công ty khác Các m c tham kh o trong s n ph # m xu t b n này có liên quan n các s n ph # m hay d ch v c a IBM không mang hàm ý r 3 ng IBM có ý nh phát tri n các s n ph # m m i qu c gia mà IBM có c s ho t ng
Trang 1010 Nh p môn H qu n tr c s d li u DB2
Ai nên / c cu n sách này?
Quy n sách này giành cho b t k4 ai ang làm vi c ho$c mu n làm vi c v i c s d li u,
nh qu n tr h c s d li u (DBAs), ng i phát tri n ng d ng, nhà t v n, ki n trúc
ph n m m, giám c s n ph#m, giáo viên và sinh viên
C u trúc c a quy ( n sách này nh th nào?
Ph n I, T*ng quan và Cài $t, gi i thích n b n DB2 Express-C là gì, gi i thi u h s n
ph#m DB2 và các ch c n ng, giúp 5 cài $t và t o m i c s d li u, và khám phá các công c s"n có c a DB2
Ph n II, H c DB2: Qu n tr c s d li u, c thi t k b n làm quen v i môi tr ng,
ki n trúc, k t n i t& xa, các i t ng d li u, chuy n d li u (nh p và xu t d li u), an toàn, sao l u và khôi ph c, truy c p ng th i và khóa c a DB2, và các công vi c b o trì thông th ng
Ph n III, H c DB2: Phát tri n ng d ng, gi i thi u vi c phát tri n ng d ng trên DB2, bao
g m phát tri n ng d ng trên máy ch , trên máy khách C6ng th o lu n v SQL/XML, XQuery, và pureXML
Ph l c có các thông tin c n thi t v s!a l i
Bài t p i kèm v i ph n l n các ch ng; và c6ng cung c p các t p u vào c n thi t
th c hành, nó c nén trong t p expressc_book_quicklabs.zip i kèm theo sách này
Tài li u c a cu n sách c6ng c s! d ng làm bài gi ng c a ch ng trình “DB2 v i ' i
h c” (DB2 on Campus), và r t sát v i b ng video các trình bày có th th y trang web www.channelDB2.com/oncampus B n có th xem thêm thông tin v ch ng trình này trang DB2 Express-C, a ch+www.ibm.com/db2/express/students.html
Trang 11V cu n sách này 11
M t cu n sách giành cho c ng ng
Cu n sách này do ' i ng6 phát tri n DB2 Express-C làm ra và cung c p mi n phí cho
c ng ng DB2 Express-C Trong khi vi t, b n tr c c a cu n sách này ã c t i h n 45.000 l n và c nh ng ng i tình nguy n trên kh p th gi i d ch sang 9 th ti ng M t
n l c th t s t& c ng ng! N u b n mu n óng góp ý ki n, óng góp nh ng n i dung
m i nâng cao n i dung hi n t i ho$c d ch cu n sách này sang ngôn ng khác, làm n
g!i k ho ch th c hi n v a ch+ db2x@ca.ibm.com v i tiêu “DB2 Express-C book changes.”
Thành công c a cu n sách này ã ti p thêm s c m nh cho vi c phát tri n thêm h n 25
cu n sách cung c p tr c tuy n v các s n ph#m c a IBM, và c v công ngh ngoài IBM
n a Cu n sách này là m t ph n c a T sách Giành cho c ng ng (Community Book Series), c a ra vào tháng 10 n m 2009
' có thêm thông tin v cu n sách này hay v T sách Giành cho c ng ng, hãy th m trang web IBM® DB2 Express-C t i a ch+ www.ibm.com/db2/express
Trang 1212 Nh p môn H qu n tr c s d li u DB2
Tác gi và nh # ng ng i óng góp
Nh ng ng i sau ây ã cung c p n i dung và có các óng góp có ý ngh a cho cu n sách này
Raul F Chong – Ch biên
Raul là Giám c ch ng trình “DB2 on Campus” t i phòng thí nghi m IBM Toronto
Ian Hakes – ' ng tác gi và biên t p
Ian tr c ây làm ng i h tr c ng ng DB2 Express-C và bây gi là chuyên gia t i phòng thí nghi m IBM Toronto
Kevin Czap và Grant Hutchingson v i các tài li u k2 thu t v phát tri n DB2
Katherine Boyachok và Natasha Tolub v i thi t k bìa
Susan Visser biên t p và giúp 5 xu t b n cu n sách này
Trang 13V cu n sách này 13
L i c m n c a b n ti ng Vi t
Sau khi có b n d ch sang ti ng Vi t c a cu n sách “Nh p môn DB2 Express-C” l n th 2,
nó ã c c ng ng nhi t tình ón nh n, $c bi t là các b n sinh viên V i l n xu t b n
th 3 này (n m 2009) cu n sách ã c b* xung nhi u thông tin và các tính n ng m i
c a phiên b n DB2 Express-C 9.7 Tr c nhu c u cho sinh viên có tài li u h c t p, nghiên
c u và s! d ng b n DB2 9.7 m i và tân ti n nh t hi n nay, chúng tôi ã quy t nh kêu
g i các b n sinh viên tình nguy n tham gia d ch cu n sách này
M t l n n a, các b n sinh viên l i tham gia r t nhi t tình, mong mu n có c cu n sách
b* ích cho c ng ng, a s các b n ang là sinh viên, nh ng có b n nay ã ra tr ng, i làm, có b n ã thành giáo viên… Tôi th t s cám n t t c các b n
Chúng ta t hào r3ng ây úng là m t quy n sách do c ng ng và vì c ng ng Vì trình
và th i gian h n ch , dù có th còn nhi u khi m khuy t, nh ng r t mong các b n ón
nh n nó nhi t tình và óng góp ý ki n cho b n d ch c hoàn thi n h n Hy v ng r3ng các b n sinh viên s) ti p t c chuy n n c ng ng nh ng n ph#m m i, v i ch t l ng
ch c ch n s) t t h n
Nguy n Khiêm
Ch ng trình H tr giáo d c ' i h c
IBM Vi t Nam
Trang 1425 Nguy n Ph ng Nam Hi u ính Ch8 D án Tabmis, 32 Cát Linh,
Hà N i
Trang 15V cu n sách này 15
28 Nguy n Th H3ng Nga 9.4 9.7 ' i = c ;=?i Nguyên
29 Nguy n Th Hòa Ch ng 10 10.2.2.1 ' i h c Bách khoa Hà N i
30 Nguy n Th Kim Quy 10.2.2.2 10.6 ' i h c Công ngh Thông tin
38 Nguy n Xuân V nh H ng Ch ng 13 13.3.4 Ð i h c Nông lâm Tp H Chí
Minh
39 Ph m H u Thanh Bình 13.4 13.4.6 ' i h c Duy Tân - 'à N"ng
Trang 1616 Nh p môn H qu n tr c s d li u DB2
L i nói u
Sáng t o là s t phá c a các ti n b công ngh T i IBM, sáng t o ã tr thành c i ngu n c a s phát tri n c s d li u Là ng i i tiên phong trong k2 thu t qu n tr d
li u trong nh ng n m 60 và 70, chúng tôi ti p t c a ra nh ng sáng t o công ngh v
qu n tr thông tin, bi u hi n b3ng hàng nghìn ng ký phát minh v qu n tr d li u c a
nh ng nhà công ngh c a IBM K t qu là, m t s các t* ch c l n nh t hành tinh ngày nay ã tin t ng vào các s n ph#m c a IBM nh DB2 v n hành các gi i pháp có nhu
c u cao nh t, qu n tr nh ng d li u t i quan tr ng c a h
Tuy nhiên DB2 không ch+ dành cho các doanh nghi p l n V i vi c a ra b n DB2
Express-C, công ngh n i ti ng DB2 ã s"n sàng cho các doanh nghi p v&a và nh/ - và không b t bu c ph i m t chi phí! M$c dù còn có các s n ph#m mi n phí hay các ph n
m m ngu n m khác, DB2 Express-C trao cho b n s c m nh duy nh t v t trên t t c các l a ch n cùng lo i
Có r t nhi u sáng t o công ngh hi n di n trong DB2 Express-C M t s trong chúng
nh3m vào kh n ng tiên ti n m i, m t s khác l i h ng t i gi m thi u gánh n$ng qu n tr ,
m t s khác n a l i c i thi n hi u n ng, gi m chi phí h t ng Chúng tôi s) không trình bày chúng ây, hy v ng các b n s) b cu n hút khi c quy n sách này – chúng tôi ch+ xin
mô t m t v n hóc búa nh t
DB2 Express-C c xây d ng trên n n công ngh “Viper”, nó là c s d li u lai u tiên
qu n lý c d li u quan h và d li u XML d i d ng b#m sinh 'i u này làm cho DB2 tr nên r t lý t ng cho các xu h ng m i c a ng d ng SOA và Web 2.0 trong ó các lu ng
d li u XML là r t nhi u Không gi ng v i h qu n tr c s d li u c a các hãng th ng
m i khác, DB2 Express-C không gi i h n dung l ng d li u l u tr trong c s d li u hay s l ng c s d li u b n có th t o ra trong h th ng Và t t nhiên, n u b n c n tr giúp h tr t& IBM, b n ch+ c n nh n chu t vào nút Help
Cu n sách này dùng giúp nh ng ng i m i b t u s! d ng DB2 Express-C, nó s)
giúp b n hi u các khái ni m c a DB2 và cho phép b n phát tri n k2 n ng qu n tr c6ng
nh phát tri n ng d ng DB2 K2 n ng và s hi u bi t nh n c t& cu n sách này có liên quan r t nhi u n các b n DB2 tiên ti n h n trên Linus, UNIX và Windows
M$c dù DB2 Express-C không ph i là s n ph#m mã ngu n m , IBM chúng tôi v%n r t tin
t ng vào s h tr và c* v6 t& c ng ng Tôi vui m&ng c th y cu n sách này do các thành viên c a c ng ng DB2 Express-C phát tri n và phát hành mi n phí cho c ng ng Tôi mong các b n c p nh t, làm giàu thêm ki n th c c a cu n sách v i hi u bi t, kinh nghi m c a các b n, và giúp d ch cu n sách này sang các ngôn ng khác, nh v y nh ng
Trang 17PH N I – T NG QUAN VÀ CÀI T
Trang 181
Ph n m m máy ch d li u DB2 Express-C là m t s n ph#m thu c dòng IBM DB2 – bao
g m nh ng ph n m m máy ch d li u qu n lý c d li u quan h và d li u XML DB2
Express-C là m t phiên b n mi n phí, không gi i h n và d s! d ng c a DB2 Ch ‘C’
trong DB2 Express-C là vi t t t c a t& C ng ng(Community) M t c ng ng nh ng
ng i s! d ng DB2 Express-C k t h p l i giúp 5 nhau, c tr c tuy n và không tr c
tuy n C ng ng DB2 Express-C bao g m nhi u cá nhân và các công ty thi t k , phát
tri n, tri n khai hay s! d ng các gi i pháp c c d li u Các thành viên c a c ng ng
bao g m:
Nh ng nhà phát tri n ng d ng c n n m t ph n m m c s d li u chu#n và m xây d ng các ng d ng c l p, d ng khách-ch , trên n n web hay ch ng
trình ng d ng kinh doanh
ISVs – các nhà cung c p ph n m m c l p, nh ng nhà cung c p ph n c ng, c
s h t ng hay nh ng gi i pháp khác, mu n óng gói m t máy ch d li u y tính n ng nh m t ph n trong nh ng gi i pháp c a h
Nh ng nhà c v n, qu n tr c s d li u và các ki n trúc s công ngh thông tin
c n m t máy ch d li u m nh luy n t p, phát tri n k n ng, làm mô hình và
ánh giá
Nh ng công ty m i thành l p, hay nh ng công ty v&a và nh/ c n n m t máy ch
d li u tin c y cho các ng d ng và ho t ng c a công ty
Nh ng ng i yêu thích c s d li u và h ng thú v i nh ng công ngh m i mu n
có m t máy ch d li u d s! d ng xây d ng Web 2.0 và các ng d ng th h
m i
Sinh viên, giáo viên và nh ng ng i dùng vì m c ích h c t p, nghiên c u mu n
có m t máy ch d li u linh ho t gi ng d y, h c t p hay nghiên c u
DB2 Express-C có cùng các tính n ng c b n và cùng n n t ng nh các phiên b n
th ng m i c a DB2 trên Linux, Unix và Windows DB2 Express-C có th ch y trên c h
th ng 32-bit ho$c 64 bit v i h i u hành Linux ho$c Windows Nó c6ng có th ch y c trên Solaris (x64) và có phiên b n th! nghi m trên Mac OS X (x64) Nó có th ch y trên
nh ng h th ng v i b t kì b vi x! lý và b nh nào, và không yêu c u m t b nh chuyên
d ng hay cài $t nào khác trên h th ng DB2 Express-C còn bao g m pureXML
Trang 19Ch ng 1 – DB2 Express-C là gì? 19 PureXML là m t công ngh duy nh t ch+ có c a DB2, nó l u tr và x! lý tr c ti p các v n
b n XML
1.1 T do phát tri ( n, tri ( n khai và phân ph i… không có gi i h 2 n!
'ó chính là ý t ng chính c a DB2 Express-C:
T do phát tri n: N u b n là m t nhà phát tri n ng d ng và c n m t c s d li u cho ng d ng c a b n, b n có th dùng DB2 Express-C
T do tri n khai: N u b n ang làm trong khâu s n xu t, và c n m t h th ng qu n
lý d li u l u l i nh ng thông tin quan tr ng, b n có th dùng DB2 Express-C
T do phân ph i: N u b n ang phát tri n m t ng d ng hay m t công c c n n
m t máy ch d li u óng gói, b n có th dùng DB2 Express-C M$c dù DB2 Express-C c nhúng trong s n ph#m c a b n, và u c phân ph i m i khi b n bán s n ph#m c a mình, nó v%n mi n phí B n c n ph i ng kí v i IBM tái phân ph i DB2 Express-C; t t nhiên vi c ng kí này là mi n phí
Không gi i h n: Trong khi nh ng h c s d li u khác có gi i h n v kích th c,
s l ng c s d li u và s ngu i dùng, v i DB2 Express-C không có các gi i
h n v kích th c d li u C s d li u c a b n có th ti p t c phát tri n mà không vi ph m i u kho n s! d ng C6ng không có i u kho n nào gi i h n s k t
n i hay s ng i s! d ng trên m i máy ch
IBM c6ng cho ng i dùng l a ch n mua b n quy n giá r@ phiên b n ph n m m máy ch
d li u DB2 Express theo n m (còn g i là b n quy n th i h n c nh – FTL) B n này gao
g m s h tr k thu t 24x7 và c c p nh t ph n m m Thêm vào ó, v i chi phí hàng
n m ($2.995 cho m t máy ch t i M2 - giá có th thay *i t i các qu c gia khác), b n c6ng
có th có thêm nh ng ch c n ng nh : tính s"n sàng cao và tính n ng ph c h i khi g$p s
c - HADR (clustering for High Availability and Disaster Recovery), di trú d li u truy v n ( tái t o l i d li u v i nh ng máy ch DB2 khác), và Sao chép nén ( t o ra nh ng
b n sao chép d tr c nén l i c a c s d li u) Thông tin thêm v l a ch n mua b n quy n có th tìm th y t i www.ibm.com/db2/express/support.html
Trang 20DB2 Express Edition
DB2 Workgroup Edition
Extrafunctionality
Hình 1.1 – Máy ch DB2
Nh ta th y trên hình 1.1, DB2 Express-C c6ng gi ng nh DB2 Express nh ng thi u i
m t vài thành ph n DB2 Express-C c mi n phí H tr k thu t c th c hi n thông qua m t di n àn tr c tuy n mi n phí, ho$c b n có th nh n c s h tr k thu t chính
th c 24x7 t& phía IBM n u b n tr phí hfng n m (Fixed Term License – b n quy n th i
h n c nh)
Hình 1.1 c6ng gi i thích t i sao có th dàng nâng c p t& b n DB2 Express-C n u trong
t ng lai b n mu n nâng c p lên b t kì phiên b n nào khác c a máy ch DB2, vì t t c máy ch DB2 có chung thành ph n lõi 'i u này c6ng có ngh a là b t kì ng d ng nào
c phát tri n trên m t phiên b n có th ho t ng trên các phiên b n khác mà không
c n ph i ch+nh s!a Và b t kì k n ng nào b n h c c t& m t phiên b n có th áp d ng cho các phiên b n khác
1.4 Máy khách DB2 và các trình i u khi ( n (drivers)
M t máy khách DB2 bao g m nh ng ch c n ng c n thi t k t n i n m t máy ch DB2; tuy nhiên, không ph i lúc nào c6ng c n thi t ph i cài $t m t máy khách DB2 Ví du,
m t ng d ng JDBC ki u 4 ch+ yêu c u m t trình i u khi n JDBC có th k t nói n
m t máy ch DB2 Máy khách DB2 và trình i u khi n (driver) g m nhi u lo i:
IBM Data Server Client (Máy khách d li u) y nh t, bao g m công c giao
i n h a, các trình i u khi n
Trang 21Ch ng 1 – DB2 Express-C là gì? 21 IBM Data Server Runtime Client (Máy khách d li u th i gian th c): m t máy khách
g n nh, v i nh ng tính n ng c b n, bao g m c trình i u khi n
DB2 Runtime Client Merge Modules for Windows (Máy khách th i gian th c DB2
k t h p v i môdun cho Windows): ch y u c dùng nhúng m t máy khách DB2 th i gian th c thành m t ph n c a cài $t cho m t ng d ng Windows IBM Data Server Driver for JDBC and SQLJ (trình i u khi n máy ch d li u IBM cho JDBC và SQLJ): cho phép các ng d ng Java k t n i t i máy ch DB2 mà không c n ph i cài $t c m t máy khách y
IBM Data Server Driver for ODBC and CLI (trình i u khi n máy ch d li u IBM cho ODBC và CLI): cho phép ODBC và ng d ng CLI k t n i t i m t máy ch DB2
mà không c n n máy khách
IBM Data Server Driver Package (B trình i u khi n máy ch d li u IBM): Bao
g m m t trình i u khi n dùng cho Windows h tr môi tr ng Net cùng v i ODBC, CLI và mã ngu n m Trình i u khi n này tr c ây có tên là IBM Data Server Driver for ODBC, CLI and Net (Trình i u khi n máy ch d li u IBM cho ODBC, CLI và Net)
Hình 1.2 cho ta th y các máy khách và trình i u khi n DB2 hi n có
Hình 1.2 – Máy khách DB2 và trình i u khi(n
A bên trái Hình 1.2, ta có th th y t t c các máy khách và trình i u khi n M$c dù t t c máy khách DB2 ã bao g m trình i u c n thi t, b t u t& ph n m m máy ch d li u DB2 phiên b n 9 chúng tôi c6ng cung c p nh ng trình i u khi n c l p khác Máy khách
Trang 2222 Nh p môn H qu n tr c s d li u DB2
DB2 và trình i u khi n có th s! d ng k t n i t i m t máy ch DB2 trên Linux, UNIX hay Windows ' k t n i t i m t DB2 cho z/OS® hay DB2 cho máy ch i5/OS®, b n c n
thông qua máy ch DB2 Connect™ ( gi a hình 1.2) Chúng ta s) th o lu n ph n m m
DB2 Connect (DB2 connect) trong Ch ng 2
Chú ý:
M$c dù cu n sách này t p trung vào máy ch d li u DB2, các máy khách d li u IBM
c6ng có th k t n i t i nh ng máy ch d li u khác trong h IBM nh Informix Vì th tên
“máy khách d li u IBM” (IBM Data Server client) thì t*ng quát h n, còn tên “máy khách DB2” (DB2 client) thì c th h n
1.5 T do phát tri ( n ng d ng
DB2 a ra môi tr ng phát tri n ng d ng d a trên các chu#n và trong su t i v i dòng
s n ph m DB2 S! d ng chu#n SQL trong dòng s n ph#m DB2 s) cung c p m t t p các
giao di n l p trình ng d ng chung cho vi c truy c p c s d li u
Thêm vào ó, m i s n ph#m DB2 cung c p các b ti n d ch SQL và các giao di n l p trình
ng d ng (APIs) cho phép các nhà phát tri n nhúng các câu l nh SQL ng và t nh vào trong các ch ng trình ng d ng kh chuy n DB2 có m t b cung c p qu n lý NET riêng
và tích h p v i công c Microsoft® Visual Studio
Các ngôn ng và các chu#n có th s! d ng v i DB2 bao g m:
Trang 23Ch ng 1 – DB2 Express-C là gì? 23
1.6 Phiên b n và n b n DB2
N u b n m i làm quen v i DB2, b n có th b m h m t chút v s khác bi t gi a m t
phiên b n DB2 (DB2 version) và m t n b n DB2 (DB2 edition)
Vài n m m t l n, IBM công b m t phiên b n DB2 m i M t phiên b n m i bao g m các tính n ng m i và các c i ti n áng k c a s n ph#m Hi n t i, DB2 phiên b n 9 c h
tr chính th c b i IBM M t phiên b n c6ng có th có m t vài l n phát hành, các phiên b n
c c p nh t vài ch c n ng m i nh ng không áng k m b o ó là m t phiên b n
m i Ví d , 9.5 và 9.7 là các l n phát hành cho phiên b n DB2 9 Trong vài n m qua, IBM
a ra m t b n phát hành m i cho DB2 m i n m m t n hai l n, tuy nhiên các phiên b n
m i c a ra cách nhau trên 3 n m B n phát hành m i nh t th i i m hi n t i là 9.7, phiên b n này tr thành phiên b n chính th c (GA) vào tháng 6 n m 2009 M i b n phát hành có th có vài m c ch+nh s!a, th ng ch a các b n vá l i ho$c t ng ng v i các
m c gói vá l i và hi m khi a ra ch c n ng m i T i th i i m này, phiên b n, phát hành và ch+nh s!a (Version – Release - Modification / V - R - M) c a DB2 Express-C là 9.7.0 t ng ng v i m t m c mã là 9.7 v i gói vá l i là 0, i u này có ngh a là nó
m c GA
M$t khác, các n b n là các l a ch n ho$c các gói tính n ng trong m i phiên b n Nh ã
c p, m t n b n là m t gói các tính n ng khác nhau v i giá thành và b n quy n xác
nh DB2 phiên b n 9.7 ( c bi t n v i tên là DB2 9.7) có nhi u n b n; ví d : DB2
Express-C 9.7, DB2 Express 9.7, DB2 Workgroup 9.7, và DB2 Enterprise 9.7 (xem Hình
1.1)
1.7 Chuy ( n sang n b n DB2 khác
Khi c s d li u c a b n c n c m r ng, có th b n c n nâng c p t i m t n b n DB2 mà nó h tr c u hình ph n c ng l n h n N u tình hu ng này x y ra, th t d dàng nâng c p lên m t n b n DB2 khác:
N u b n nâng c p lên m t n b n DB2 khác trên cùng m t h th ng máy tính, hãy
g5 b/ DB2 Express-C, và sau ó cài $t l i n b n DB2 m i Khi b n g5 b/ DB2 Express-C, c s d li u c a b n s) không b xóa (Nh ng t t nh t là nên sao l u
l i c s d li u)
N u b n nâng c p DB2 và n b n m i s) c cài $t trên m t máy tính khác l n
h n, s! d ng cùng m t h i u hành gi ng nhau, thì cài $t n b n DB2 m i trên máy tính m i và sao l u c s d li u máy tính c6, sau ó chép t p nh sao l u sang máy m i r i ph c h i t p sao l u này v i c s d li u c a máy tính m i B n
c6ng nên l u thi t l p c u hình (dbm cfg) trên máy c6, và áp d ng c u hình này vào máy m i Các l nh sao l u và ph c h i c nói chi ti t trong Ch ng 11, Sao l u
và ph c h i Dbm cfg c nói chi ti t trong Ch ng 5, Môi tr ng DB2
Trong các tr ng h p khác, ng d ng khách không c n thay *i
Trang 2424 Nh p môn H qu n tr c s d li u DB2
1.8 B o trì và c ) p nh ) t cho DB2 Express-C
B n cài $t c a DB2 Express-C c làm m i theo nh k4 Nh ng c p nh t này th ng
i kèm v i s xu t hi n c a các b n phát hành ho$c các phiên b n m i ho$c khi có m t s
l ng áng k l i c a s n ph#m Trong quá kh , nh ng c p nh t cho DB2 Express-C
th ng th c hi n 1 n m m t l n Tuy nhiên, chú ý r3ng DB2 Express-C là m t b n mi n phí không i kèm v i các b n phát hành b o chính th c hay các b n s!a l i nh k4 nào
c ( ó là nh ng b n phát hành vài l n m t n m) M t khi b n c p nh t m i ho$c b n phát hành c a DB2 Express-C xu t hi n thì nh ng b n phát hành tr c ó c a DB2 Express-C không c gi l i n a
Nh th o lu n tr c ó, n u b n c n truy c p t i nh ng mi ng vá l i b o m t và nh ng
c p nh t ph n m m nh k4 hay các gói s!a l i, IBM cung c p c ch mua b n quy n
h3ng n m (FTL) M t khi b n mua b n quy n, b n cài $t DB2 Express-C c a b n c
c p nh t v i khóa b n quy n cho FTL, cho phép b n c h tr k2 thu t DB2 và truy c p
t i nh ng b n c p nh t và gói vá l i trong su t th i gian ng ký còn có hi u l c Mua b n quy n c6ng cho phép b n nâng c p phiên b n mi n phí, ho$c n u b n mu n s! d ng m t phiên b n hay b n phát hành $c bi t, và ch+ s! d ng nh ng gói vá l i và b n vá b o m t
Starter Toolkit for DB2 on Rails (www.alphaworks.ibm.com/tech/db2onrails/)
Web 2.0 Starter Toolkit for DB2 (www.alphaworks.ibm.com/tech/web2db2)
N u b n ang tìm m t máy ch ng d ng web t m c5 nh/ mi n phí thì IBM cung c p:
WebSphere® Application Server – Community Edition (WAS CE)
1.9.1 IBM Data Studio
IBM Data Studio là m t công c d a trên Eclipse cho phép b n qu n lý c s d li u và giúp b n phát tri n XQuery, SQL scripts, nh ng hàm ng i dùng nh ngh a, và nh ng th
t c l u tr (stored procerdures) M t b s!a l i ã c tích h p vào công c này Thêm vào ó, IBM Data Studio cho phép b n làm vi c v i các s mô hình hóa d li u v t lý (PDM) hi u v các quan h th c th gi a các b ng Nó c6ng có th giúp b n phát tri n
và xu t b n d li u nh m t d ch v Web s! d ng cách ti p c n kéo th ch không c n
l p trình IBM Data Studio thay th các công c DB2 nh Control Center và Command
Trang 25Ch ng 1 – DB2 Express-C là gì? 25 Editor ã l i th i (chúng i kèm v i DB2 nh ng không c phát tri n ti p n a) IBM Data Studio c th o lu n chi ti t trong Ch ng 5, các công c DB2
1.9.2 DB2 Text Search
Tìm ki m v n b n DB2 (DB2 Text Search) là m t thành ph n tích h p tùy ch n c a DB2
Nó c trang b công ngh IBM OmniFind™, và nó cho phép b n tìm ki m m nh m), nhanh chóng và chi ti t trong các tài li u v n b n, bao g m t t c các tài li u XML c
l u tr trong DB2 Thành ph n này s! d ng x! lý ngôn ng tìm ra các d ng khác nhau
c a ph n tìm ki m trong v n b n Ví d , n u b n tìm ki m t& “study”, DB2 Text Search
c6ng tìm các d ng khác nhau c a t& này nh là “studies” hay “studied”
' cài $t thành ph n DB2 Text Search, ch n custom installation c a DB2 Express-C và
ch n tính n ng DB2 Text Search mà trong danh m c Server h tr
Chú ý:
Ch c n ng t ng t c6ng có trong m r ng c a DB2 c g i là NET Search Extender (NSE)
NSE ã b l i th i so v i DB2 Text Search
1.9.3 WebSphere Application Server – 6n b n c ng ng (Community Edition)
IBM WebSphere Application Server - Community Edition (WASCE) là m t máy ch ng
d ng Java EE 5 t m c5 nh/ c s! d ng mi n phí ' c xây d ng trên công ngh
Apache Geronimo, nó s! d ng nh ng thay *i m i nh t t& c ng ng mã ngu n m phân ph i thành b n tích h p, có kh n ng truy c p và n n t ng linh ho t cho vi c phát tri n và tri n khai các ng d ng Java Tùy ch n h tr k2 thu t cho WASCE có giá tr
Trang 262
quan
Ch ng này miêu t các tính n ng DB2 c kèm theo v i b n tr phí c a m t phiên b n
DB2 Express b n quy n theo t&ng n m (b n quy n th i h n xác nh hay FTL - Fixed
Term License) Nó c6ng miêu t nh ng $c tính kèm theo các phiên b n DB2 khác, trong
m t vài tr ng h p, dành cho phiên b n mi n phí
Nh ng s khác bi t gi a phiên b n mi n phí (không c b o m) DB2 Express-C và
ch n l a tr phí hàng n m cho DB2 Express c nêu ra trong b ng 2.1 bên d i
n m Truy xu t cài $t nh ng t p
nh cho nh ng phiên b n/b n
phát hành tr c
Không, ch+ có s"n t p nh cho s phát hành hi n th i
và b n ki m nghi m
Có, thông qua IBM Passport Advantage Giá trên m i máy ch theo
n m**
Trang 27*** Tr giúp d a vào c ng ng không m t phí thông qua di n àn tr c tuy n
B ng 2.3 li t kê nh ng tính n ng c a s n ph#m và khi nào chúng c kèm theo v i các phiên b n khác nhau c a DB2 9.7 Các tính n ng mà b n có th mua riêng l@ c c
li t kê b3ng tên cho phiên b n DB2 t ng ng và c ánh d u v i n n xám nh t
Express tr phí (FTL)
B n DB2 Express Workgroup B n DB2
Server Edition (WSE)
B n DB2 Enterprise Server Edition (ESE)
Trang 28Các tính n ng kèm theo v i phiên b n DB2 Workgroup không m t phí:
High Availability and Disaster Recovery (HADR ), Tivoli System Automation, Online Re-org, Advanced Copy Services
DB2 có s"n trên các n n t ng UNIX m r ng: AIX®, Solaris, và HP-UX
Các tính n ng kèm theo b n DB2 Enterprise Edition không m t phí:
Phân ho ch b ng (vùng)
Materialized Query Tables (MQT)
Multi-dimensional Clustering (MDC)
Trang 29Ch ng 2 – Các s n ph#m và tính n ng liên quan 29 Truy v n song song
K t n i t p trung
B i u khi n (Governor)
Các tính n ng c a b n DB2 Enterprise Edition:
Tính n ng t i u hóa l u tr (g m c nén)
Qu n lý truy xu t cao c p (m n và b o m t cao c p)
T i u hóa hi u n ng (Qu n lý kh i l ng công vi c, Giám nh hi u n ng, Truy
v n song song)
Qu n lý d li u o c (phân tích v trí a lý)
Các s n ph#m mi n phí liên quan n DB2:
DB2 Connect
InfoSphere Warehouse Editions
InfoSphere Balanced Warehouse
WebSphere Federation Server
WebSphere Replication Server
High Availability Disaster Recovery (HADR) là m t tính n ng áng tin c y cung c p m t
gi i pháp s"n sàng cao và khôi ph c sau s c cho nh ng h/ng hóc c c b c6ng nh toàn
b M t môi tr ng HADR th ng có hai máy ch d li u, chính và ph (có th v trí a
lý khác nhau) Máy ch chính là n i c s d li u ngu n c l u tr và c truy xu t
Trang 3030 Nh p môn H qu n tr c s d li u DB2
ghi, chúng c6ng c sao chép và $t vào c s d li u th hai Thông qua s sao chép liên t c các b n ghi, c s d li u th hai gi s sao chép c ng b v i c s d li u chính và có th thay th n u c s d li u chính b h/ng
Tính n ng này cho phép nhân b n d li u gi a m t máy ch ngu n n i d li u thay *i
c gi l i (capture), và m t máy ch ích n i d li u thay *i c c p nh t (apply)
Hình 2.1 cung c p m t t*ng quan cách làm vi c c a nhân b n
Trang 31Ch ng 2 – Các s n ph#m và tính n ng liên quan 31
Hình 2.1 –Nhân b n SQL
Trong Hình 2.1 có hai máy ch , m t máy ch ngu n và m t máy ch ích Trên máy ch
ngu n, m t ch ng trình Capture b t l y nh ng thay *i t i c s d li u Trên máy ch ích, m t ch ng trình Apply ghi l i nh ng thay *i t i b n sao c s d li u Nhân b n
h u d ng cho nh ng m c ích yêu c u sao chép d li u, bao g m kh n ng thay th , c p
d li u cho kho d li u và data marts2, và ki m tra l ch s! thay *i d li u Vi c s! d ng
tính n ng nhân b n SQL b n có th nhân b n d li u gi a DB2 Express và các máy ch
d li u IBM khác, bao g m nh ng máy ch trên các h th ng Linux, UNIX, z/OS, và
i5/OS
2.2 Các tính n ng không có trong b n DB2 Express-C
Ph n này mô t m t s tính n ng có s"n các phiên b n khác c a DB2 nh ng không có phiên b n Express-C và phiên b n DB2 Express có b n quy n dài h n tính theo n m
2 Data marts là kho l u tr d li u c thi t k t p trung vào các ch c n ng kinh
doanh $c tr ng c a n v c th trong t* ch c Data marts th ng là t p con d li u c a
m t data warehouse,
Trang 3232 Nh p môn H qu n tr c s d li u DB2
2.2.1 Phân vùng c s" d# li u
Tính n ng phân vùng c s d li u (DPF) cung c p s truy v n phân tán có kh n ng x!
lý trên m t nhóm các máy ch c s d li u Tính n ng này ch+ có nh ng phiên b n InfoSphere Warehouse và cho phép d li u c dàn tr i trên nhi u phân vùng c s d
li u hay nh ng i m nút n3m trên các máy ch khác nhau DPF d a trên ki n trúc không chia gì c (shared-nothing), m i phân vùng c s d li u l u tr m t t p con c a toàn th
d li u trên các * a c l p c a nó
M i máy tính khi tham gia vào m t c m c s d li u s) mang l i thêm s c m nh x! lý d
li u d a trên nh ng tài nguyên v n có c a nó nh b vi x! lý, b nh , * a 'i u này cho phép phân m nh nh ng tác v l n và nh ng câu truy v n ph c t p thành nh ng tác v
n i ng th i Tr c ây, m i k t n i t i c s d li u u yêu c u m t tác nhân c s d
li u B t p trung k t n i này a ra m t khái ni m m i v "tác nhân v t lý", cho phép m t tác nhân x! lý nhi u k t n i Ch ng 6, Ki n trúc DB2 s) mô t chi ti t h n v lo i tác nhân này
2.2.3 Geodetic Extender - B m" r ng không gian 0a lý
B m r ng không gian a lý DB2 là m t tính n ng có tr phí trên phiên b n DB2
Enterprise Server Ph n m r ng này làm cho s phát tri n c a nh ng ng d ng Business Intelligence hay ng d ng cho chính ph i n t! mà yêu c u s phân tích v vùng a lý
tr nên d dàng h n B m r ng không gian a lý DB2 có th xây d ng m t qu a c u
o v i b t c kích c5 nào H u h t nh ng thông tin v v trí, a i m c thu th p s!
d ng t& nh ng h th ng trên toàn th gi i nh GPS và c th hi n trên nh ng t a kinh tuy n/v tuy n (geocode) Nh ng d li u ki u nh a ch+ có th c chuy n thành geocode b3ng b m r ng này và nh ng ng d ng kinh doanh s) ho t ng t t h n n u chúng c l u tr d i d ng không h qui chi u này, t c là b/ qua nh ng phép chi u
b n (t& trái t lên m t m$t ph1ng): l p trình bày v n dùng hi n th và in b n
2.2.4 Label-based Access Control (LBAC) - Ki(m soát truy c)p d.a trên nhãn
Ki m soát truy c p d a trên nhãn cung c p s b o m t chi ti t h n t i m i m c dòng hay c t Nó s! d ng m t nhãn có s k t h p nh ng phiên s! d ng c a ng i dùng và
nh ng dòng hay c t d li u c c p quy n truy c p t i d li u b ng c a b n Hình 2.2
minh h a c ch làm vi c c a LBAC
Trang 33Ch ng 2 – Các s n ph#m và tính n ng liên quan 33
Hình 2.2 – Ví d v c ch làm vi c c a LBAC
A hình trên, b ng EMP có m t c t là SALARY và m t c t ID ch a nhãn cho m i dòng
c a vào Nh ng c t khác hình trên c s! d ng ch+ v i m c ích minh h a N u câu truy v n trong hình c th c thi, thì d a trên nhãn mà ng i dùng có thì anh ta s)
th y nh ng dòng khác nhau C t v i t a là 'NO LBAC' bi u di n nh ng dòng s) c
ch n n u LBAC không c cài $t Và nh b n th y là t t c nh ng dòng có giá tr l ng
l n h n hay b3ng 50.000 u c ch n
Gi s! ng i dùng th c thi m t câu truy v n có nhãn security là 100 B n có th th y
nh ng dòng c ch n trong tình hu ng này c t 3 tính t& bên trái (c t có tên là 'SEC = 100') A tình hu ng này, DB2 s) tìm nh ng dòng mà l ng l n h n hay b3ng 50.000, sau
ó nó ki m tra nhãn security m i dòng Ví d nh dòng u tiên có giá tr c t l ng là
60000 và giá tr ID nhãn là 255 Khi ng i dùng này có m t ID nhãn là 100 v n nh/ h n
255, anh ta s) không th th y dòng này, và do ó k t qu tr v t& câu truy v n s) không
d ng u tiên k t h p v i tài nguyên s"n có và gi i h n t i c a công vi c Nó cho phép b n
i u ch+nh kh i l ng công vi c và truy v n c s d li u truy v n cái quan tr ng và u tiên truy v n cao h n có th th c thi nhanh chóng, và ng n ch$n s c quy n truy v n
Trang 3434 Nh p môn H qu n tr c s d li u DB2
tài nguyên h th ng (truy v n x u – “rogue”), m b o r3ng h th ng c a b n ch y hi u
qu WLM c m r ng h n trong DB2 9.7 và cung c p kh n ng m nh m) h n Query Patroller và công c DB2 Governor s"n có v i phiên b n tr c c a DB2
Bó nhi u chi u (Multidimentional Clustering)
Bó các b ng nhi u chi u mà ó các trang d li u v t lý c bó l i theo nhi u chi u Nó s! d ng các ch+ m c theo các kh i ngh a là nó nén ch+ m c b i trong
tr ng h p này ch+ m c tr/ n m t kh i ch không tr/ n m t b n ghi
gi trong m t t& i n Nén theo hàng có th c i thi n hi u xu t trên kh i vào/ra,
nh v y nhi u hàng c trao *i qua l i gi a a và b nh h n vì các hàng nh
h n B n c6ng có th có l i t& vi c ti t ki m dung l ng a mà thông th ng ó là kho n chi phí l n nh t trong ngân sách IT c a các công ty ' i v i kh i l ng công
vi c c a CPU, nó ph i làm thêm m t chút nh nén hàng khi l u, gi i nén tr c khi
nó không n3m trong i t ng l u tr n i t i riêng bi t c g i là XDA L i th c a
ph ng pháp này có hai m$t th nh t là các tài li u XML có th c truy c p thông qua
b nh và th hai là các tài li u XML có th có l i t& các vi c nén hàng d li u
Trang 35Ch ng 2 – Các s n ph#m và tính n ng liên quan 35
2.2.7 T ng thích v i SQL
Trong khi nhi u nhà cung c p theo các tiêu chu#n SQL 92 và SQL/PSM, không ph i t t c các tính n ng tiêu chu#n u c h tr , và l i h tr các tính n ng khác không n3m trong tiêu chu#n này V i tính n ng t ng thích DB2 9.7 SQL, hi n nay DB2 h tr h u h t các cú pháp PL/SQL cái mà c h tr b i các nhà cung c p RDBMS khác và thêm vào
ó là SQL PL c a DB2 Hình 2.3 tóm t t cách h tr này làm vi c nh th nào
Hình 2.3 – PL/SQL h3 tr! trong DB2
T& hình trên b n s) th y r3ng trình biên d ch PL/SQL ã c phát tri n và xây d ng trong c ch (engine) c a DB2
SQL c6ng có các tính n ng t ng thích h tr cho công c g i là CLPPlus CLPPlus là
m t công c dòng l nh cho phép b n th c thi câu l nh SQL và các câu l nh khác Nó
t ng t nh b x! lý dòng l nh DB2 (CLP) Hình 2.4 minh h a công c CLPPlus
Trang 36d li u Oracle và bi n ng kí trong cu n sách này
Tính t ng thích c a SQL mô t trên là s"n có trong các n b n DB2 9.7 Workgroup và
n b n Enterprise D ki n s) có c trong n b n DB2 Express DB2 (bao g m tùy ch n
ng ki hàng n m ho$c là FTL) trong t ng lai g n
Trong khi h tr PL/SQL và tính n ng CLPPlus là không có s"n trong DB2 Express 9.7, các tính n ng khác s) làm cho vi c chuy n *i d dàng h n các ng d ng Oracle sang DB2 Nó bao g m các ki u d li u m i, các hàm vô h ng m i, h tr mô un và ng ngh a cam k t hi n t i (currently committed semantics) cho m c cô l p con tr/ (CS)
Nh ng tính n ng này c th o lu n sau trong cu n sách này
hình 2.5 DB2 Connect không c n thi t khi vi c k t n i theo h ng ng c l i; khi b n k t
n i t& DB2 c a z/OS ho$c c a i5/OS t i máy ch DB2 trên h i u hành Linux, UNIX, Windows DB2 Connect có hai n b n chính ph thu c vào nhu c u k t n i c a b n: m t phiên b n cho cá nhân (DB2 Connect Personal), và m t phiên b n dành cho doanh nghi p (DB2 Connect Enterprise)
Trang 37Ch ng 2 – Các s n ph#m và tính n ng liên quan 37
Hình 2.5 - DB2 Connect
2.3.2 InfoSphere Federation Server
Tr c ây c bi t n là WebSphere Information Integrator ( i v i h tr t p h p d
li u), WebSphere Federation Server cho phép t p h p các c s d li u, ngh a là b n có
Trang 3838 Nh p môn H qu n tr c s d li u DB2
Hình 2.6 minh h a WebSphere Federation Server c s d ng
Hình 2.6 – WebSphere Federation Server
' i v i h qu n tr c s d li u quan h nó là m t ph n c a h c s d li u c a IBM, h
tr tính n ng t p h p d li u c xây d ng trong DB2 Express- C 'i u này có ngh a là
s n ph#m WebSphere Federation Server không c yêu c u khi, ví d nh , b n mu n
ch y m t truy v n gi a hai c s d li u DB2 khác nhau, ho$c gi a m t c s d li u DB2 và c s d li u quan h Informix (Informix là m t thành ph n c a h IBM)
2.3.3 InfoSphere Replication Server
Tr c ây c bi t n v i tên g i WebSphere Information Integrator ( h tr nhân
b n), InfoSphere Replication Server cho phép i v i các nhân b n SQL c a c s d li u khi không có máy ch d li u IBM can thi p vào Nó c6ng bao g m tính n ng Q-
Replication i v i nhân b n d li u có s! d ng hàng thông i p (message queues)
2.3.4 Optim Development Studio (ODS)
Tr c ây c bi t n v i tên g i Data Studio Developer, ODS là m t công c d a trên Eclipse có th d dàng tích h p v i Data Studio, và chia s@ d li u gi ng nh Eclipse ODS có th giúp b n t o nh ng c s d li u phát tri n b3ng cách chép và dán t& h
qu n tr c s d li u ã có s"n trên Oracle ho$c DB2
Trang 39Ch ng 2 – Các s n ph#m và tính n ng liên quan 39
2.3.5 Optim Database Administrator (ODA)
Tr c ây c bi t n v i tên Data Studio Administrator, ODA là m t công c d a trên Eclipse có th d dàng tích h p v i Data Studio, và chia s@ d li u gi ng nh Eclipse ODA cung c p kh n ng qu n lý thay *i và kh n ng t ng thay *i gi n d dàng
h n
2.4 Các cung c p DB2 trên Cloud c a Amazon
'i u áng chú ý c nói n là IBM ã h p tác v i d ch v Web c a Amazon (Amazon Web Services – AWS) ch y DB2 trên cloud c a Amazon (Elastic Compute Cloud - EC2) AWS cung c p m t b các d ch v tích h p hình thành n n t ng i n toán trong
ám mây, và xu t hi n d i hình th c tr phí theo m c dùng (pay-as-you-go) AWS cho phép b n thuê n ng l c tính toán (nh ng máy ch và l u tr o), và b n ch+ tr cho nh ng tính n ng mà b n s! d ng Ví d , gi s! b n c n m t máy ch o EC2 cho các ho t ng
c s d li u bình th ng, và trong th i gian cao i m ho$c cho nhu c u mùa v b n c n thêm máy ch c s d li u trong vài gi Trong tr ng h p này b n s) ch+ tr ti n máy
ch c s d li u cho AWS trong vài gi mà b n ch y nó
IBM cung c p ba l a ch n tri n khai DB2 trên n n Cloud c a Amazon:
DB2 Express-C AMIs ánh giá và phát tri n
Tr ti n là dùng ngay AMIs s"n sàng v i DB2 Express và DB2 Workgroup
nh t ho$c các tính n ng tiên ti n Tuy nhiên, n u b n c n có h tr k2 thu t chính th c t&
IBM, c p nh t ph n m m th ng xuyên, ho$c s! d ng ngu n l c b* sung, và tính n ng h
tr bó (cluster) máy ch , IBM cung c p m t gi y phép s! d ng DB2 Express v i kho n chi phí th p hàng n m N u b n c n thêm nhi u tính n ng tiên ti n cho nh ng tác v quan
tr ng và các ng d ng c s d li u l n, IBM cung c p các n b n DB2 m r ng và các
s n ph#m có liên quan 'i u này cho phép b n b t u nh/ t& DB2 Express-C, và d dàng
m r ng lên quy mô cao nh doanh nghi p yêu c u
Trang 403
Vi c cài $t DB2 hoàn toàn không ph c t p, và trong quá trình cài $t, n gi n là l a
ch n các tùy ch n m$c nh s) có m t máy ch DB2 b t lên và ho t ng trong th i gian
ng n
3.1 Các i u ki n c n tr c khi cài t
DB2 Express-C có th s! d ng trên các h i u hành nh : Linux, Sun Solaris (x64), và
Microsoft Windows® 2003, XP và Vista Nó c6ng có giá tr nh là b n th! nghi m trên
MAC OS X Ki n trúc b x! lý yêu c u là 32 bit, 64 bit và PorwerPC (Linux) N u b n c n
ch y DB2 trên m t n n khác (nh UNIX), b n nên mua m t trong nh ng n b n máy ch
d li u khác ã c gi i thi u ph n tr c trong quy n sách này Các yêu c u v h
i u hành cho t t c các n b n DB2 c6ng c mô t trong tài li u này:
http://www.ibm.com/software/data/db2/udb/sysreqs.html
V gi i h n tài nguyên ph n c ng, DB2 Express-C có th c cài $t trên h th ng v i
b t k4 s l ng nhân CPU và b nh nào, tuy nhiên, nó s) c t i u hóa i v i h
th ng lên t i 2 CPU v t lý và 2GB c a b nh i v i các phiên b n mi n phí, i v i các phiên b n tr phí c a DB2 Express yêu c u h th ng lên t i 4 CPU và 4GB RAM H
V i Windows, tài kho n ng i s! d ng ph i thu c v nhóm Administrator trên máy n i
mà b n s) th c hi n cài $t M t l a ch n khác, trên Windows 2008, Windows Vista, ho$c