MySQL hiện là máy chủ cơ sở dữ liệu phổ biến nhất được sử dụng với ngôn ngữ lập trình PHP
để xây dựng các ứng dụng web động. Tuy nhiên, DB2 là một cơ sở dữ liệu phổ biến khác được
PHP hỗ trợ đầy đủ và cung cấp các lợi thế hấp dẫn hơn so với MySQL, làm cho nó trở thành một
sự lựa chọn lý tưởng cho nhiều ứng dụng.
Loạt bài này mô tả tại sao việc di chuyển một ứng dụng PHP sang DB2 lại có ý nghĩa, cách
chuẩn bị cho việc di trú, cách thực hiện nó, cách hỗ trợ nó và cách xử lý các rủi ro tiềm năng dựa
trên kinh nghiệm của các tác giả với cuộc di trú mới nhất. Nhiều mẫu mã và mẫu cấu hình được
cung cấp, cũng như các chỉ dẫn tài nguyên để giúp cho dự án chạy trơn tru.
17 trang |
Chia sẻ: lylyngoc | Lượt xem: 1478 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Di chuyển một ứng dụng PHP từ MySQL sang DB2 Phần 2: Di trú dữ liệu của bạn, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Di chuyển một ứng dụng PHP từ MySQL sang DB2
Phần 2: Di trú dữ liệu của bạn
Giới thiệu về loạt bài này
MySQL hiện là máy chủ cơ sở dữ liệu phổ biến nhất được sử dụng với ngôn ngữ lập trình PHP
để xây dựng các ứng dụng web động. Tuy nhiên, DB2 là một cơ sở dữ liệu phổ biến khác được
PHP hỗ trợ đầy đủ và cung cấp các lợi thế hấp dẫn hơn so với MySQL, làm cho nó trở thành một
sự lựa chọn lý tưởng cho nhiều ứng dụng.
Loạt bài này mô tả tại sao việc di chuyển một ứng dụng PHP sang DB2 lại có ý nghĩa, cách
chuẩn bị cho việc di trú, cách thực hiện nó, cách hỗ trợ nó và cách xử lý các rủi ro tiềm năng dựa
trên kinh nghiệm của các tác giả với cuộc di trú mới nhất. Nhiều mẫu mã và mẫu cấu hình được
cung cấp, cũng như các chỉ dẫn tài nguyên để giúp cho dự án chạy trơn tru.
Với các ví dụ và các bài học thu được từ một cuộc chuyển đổi thực tế thành công, bạn sẽ thấy
đây có thể là một dự án đơn giản, có đủ tài liệu và cung cấp các lợi ích hấp dẫn.
Loạt bài bốn phần này chia sẻ các bài học nhận được từ cuộc di trú MySQL-sang-DB2 thành
công cho một ứng dụng mạng nội bộ PHP chủ yếu, cấp độ sản xuất, được 4.000 người dùng toàn
cầu trong IBM sử dụng để hỗ trợ sản xuất nội dung cho ibm.com.
Phần 1 mô tả các bước cần thực hiện để chuẩn bị cho việc di trú.
Phần 2 mô tả các bước cần thực hiện để di trú cơ sở dữ liệu.
Phần 3 mô tả các bước cần thực hiện để chuyển đổi mã PHP.
Phần 4 mô tả các bước cần thực hiện để triển khai và hỗ trợ ứng dụng.
Bạn sẽ học được điều gì
Mục đích của loạt bài này là cho bạn hiểu những gì cần thiết nói chung để di trú một ứng dụng
PHP từ MySQL sang DB2, những tài nguyên nào có sẵn để trợ giúp bạn và một nhóm dự án của
IBM đã thực hiện nhiệm vụ này vào đầu năm 2010 như thế nào.
Nếu bạn đã nghiên cứu một cuộc di trú từ MySQL sang DB2, bạn có thể đã thấy những giá trị
mà DB2 cung cấp dựa trên tài liệu sản phẩm, các đánh giá tiêu chuẩn về hiệu năng, các tính năng
mà bạn đã đọc trong tài liệu DB2 hoặc các so sánh trong các Sách Đỏ của IBM (IBM
Redbooks®) dành riêng cho nhiệm vụ này, bao gồm sách Hướng dẫn chuyển đổi MySQL sang
DB2 (xem phần Tài nguyên).
Bạn có lẽ cũng biết rằng DB2 Express-C là một máy chủ dữ liệu quan hệ chức năng đầy đủ, miễn
phí có thể dễ dàng được cài đặt hoặc được đánh giá bằng cách sử dụng IBM Smart Business
Development and Test on the Cloud (Phát triển nghiệp vụ thông minh và Thử nghiệm trên Đám
mây của IBM hoặc Amazon EC2). Các liên kết đến các tài nguyên này có sẵn trong phần Tài
nguyên.
Loạt bài này cung cấp cho bạn một ví dụ cụ thể về cuộc di trú thực tế đã được thực hiện thành
công như thế nào trong năm 2010 cho một ứng dụng mạng nội bộ PHP được sử dụng rất nhiều
trong IBM để hỗ trợ quản lý nội dung hàng ngày được công bố trên nhiều phần của trang Web
ibm.com.
Sau khi bạn đọc xong loạt bài này, bạn sẽ có thể tạo một trường hợp di trú tương tự, hiểu được
thời hạn và các phụ thuộc của các mục công việc cần được thực hiện, dự kiến các rủi ro tiềm
năng và biết nơi để tìm kiếm sự hỗ trợ cho từng bước trên đường đi. Tất cả điều này sẽ cho bạn
sự tự tin hơn để lựa chọn DB2 và sử dụng nó một cách tốt nhất cho các ứng dụng PHP của bạn
hiện đang được phát triển trên MySQL.
Những gì không được trình bày
Loạt bài này nhằm chia sẻ các bài học thu được từ một cuộc di trú nội bộ IBM từ MySQL sang
DB2 và cung cấp cho bạn thông tin về tài nguyên có sẵn để thực hiện một công cuộc tương tự.
Loạt bài này không phải là một hướng dẫn toàn diện về di trú để có thể áp dụng được cho tất cả
các kịch bản.
Để xác định một cách tiếp cận phù hợp với bạn, hãy tham khảo Hướng dẫn chuyển đổi MySQL
sang DB2 hoặc liên hệ với SMPO (Software Migration Project Office - Văn phòng dự án di trú
phần mềm) để đánh giá di trú miễn phí. Các liên kết này được cung cấp trong phần Tài nguyên.
Về đầu trang
Giới thiệu về việc di trú cơ sở dữ liệu
Bài viết này trình bày bốn bước chính để di trú cơ sở dữ liệu từ MySQL sang DB2. Nếu cần
thiết, hãy tham khảo Phần 1 của loạt bài này để xem lịch trình của các bước này trong toàn bộ
quá trình di trú trước khi bắt đầu di trú.
Bước 1: Chuyển đổi cấu trúc cơ sở dữ liệu MySQL sang định dạng DB2
Tạo một cơ sở dữ liệu mới trong DB2.
Trích xuất cấu trúc cơ sở dữ liệu MySQL nguồn.
Kỹ thuật dịch ngược cơ sở dữ liệu để nhận được một sơ đồ quan hệ-thực thể.
Cải tiến và sửa đổi cấu trúc mô hình dữ liệu.
Chuyển đổi các đối tượng cơ sở dữ liệu khác.
Bước 2: Di chuyển dữ liệu MySQL vào cơ sở dữ liệu DB2
Loại bỏ các bảng và dữ liệu không cần thiết.
Chuyển đổi bất kỳ dữ liệu nào trong cơ sở dữ liệu nguồn có thể không phù hợp
với các kiểu dữ liệu DB2 đích.
Trích xuất dữ liệu từ MySQL.
Nạp dữ liệu vào DB2.
Thiết lập lại các gia số cột mã định danh (ID) đã tạo ra.
Bước 3: Tạo lại các quyền hạn người dùng và cấu hình quản trị cơ sở dữ liệu
Thiết lập các tài khoản người dùng cần thiết và gán cho họ các các quyền hạn
thích hợp.
Triển khai sao lưu cơ sở dữ liệu và kế hoạch khắc phục thảm họa.
Cấu hình sao chép để tạo ra một hệ thống ảnh gương mà cơ chế báo cáo Cognos
có thể sử dụng.
Bước 4: Kiểm lại bước khởi đầu di trú cơ sở dữ liệu
Đảm bảo rằng việc di trú cơ sở dữ liệu đã xong. Nếu không, thực hiện lại các
Bước 1-3 cho đến khi việc di trú hoàn thành, như cho thấy trong Hình 1 của Phần
1.
Sao lưu hệ thống.
Chuẩn bị chuyển đổi ứng dụng.
Về đầu trang
Tìm hiểu nghiên cứu sâu về ví dụ cơ sở dữ liệu MySQL PTT hiện có
Nhắc nhở
Nếu cần thiết, hãy tự mình tìm hiểu phần Tài nguyên có thể giúp ích trong việc di trú của bạn.
Các tài nguyên sau có thể đặc biệt có ích cho bước này:
Chương 6, 7 và 9 trong Sách Đỏ của IBM miễn phí (IBM Redbook®) Hướng dẫn chuyển
đổi MySQL sang DB2.
Bài viết trên developerWorks "Danh sách khuyến khích đọc: Quản trị cơ sở dữ liệu DB2
cho Linux, UNIX và Windows".
Loạt bài viết trên developerWorks "Sử dụng các kỹ năng MySQL để tìm hiểu DB2
Express".
Tất nhiên, tài liệu sản phẩm cho các công cụ thường dùng để di trú cơ sở dữ liệu là IBM Data
Movement Tool (Công cụ di chuyển dữ liệu của IBM) và Rational Software Architect (Kiến trúc
sư phần mềm Rational) cũng rất quan trọng.
Một lựa chọn khác là sử dụng đám mây cho quá trình di trú. Bạn có thể sử dụng Amazon EC2
Linux và các AMI của DB2, hoặc đăng ký dùng IBM Development and Test on the IBM Cloud
(Phát triển và thử nghiệm của IBM trên đám mây của IBM) (xem phần Tài nguyên).
Để làm cơ sở dữ liệu ví dụ cho bài viết này, chúng tôi sử dụng cơ sở dữ liệu MySQL nguồn cho
PTT (Công cụ theo dõi dự án) chứa 150 bảng, trung bình mỗi bảng có 6 cột và lưu trữ tổng cộng
khoảng 10 GB dữ liệu văn bản. PTT ban đầu được xây dựng dựa trên MySQL phiên bản 3.23 và
đã di trú đến phiên bản 5.0 trong quá trình bảy năm. Tất cả các bảng đã sử dụng kiểu máy
MyISAM mặc định.
Cơ sở dữ liệu PTT được dùng cho nhiều chức năng khác nhau để hỗ trợ dòng công việc công bố
thông tin trên ibm.com. Ứng dụng này xử lý các tệp nhị phân, như các ảnh sản phẩm và tài liệu
chào bán sản phẩm, nhưng các tệp được lưu trên hệ thống tệp với một liên kết logic chứa trong
một cột trong cơ sở dữ liệu chứ không phải lưu trữ tệp trong chính cơ sở dữ liệu đó như là dữ
liệu nhị phân.
Hơn 4.000 người dùng trên toàn thế giới truy cập và sửa đổi cơ sở dữ liệu này thông qua xử lý
trước web PHP. Tại bất kỳ thời điểm nào đều có vài trăm người dùng đang hoạt động đồng thời
trên hệ thống.
Dữ liệu được cung cấp từ chỉ một máy chủ MySQL chính, được sử dụng cho cả đọc và viết. Một
cơ sở dữ liệu bản sao được duy trì đồng bộ và được sử dụng để tạo báo cáo chỉ đọc và các truy
vấn không dự tính trước. Dữ liệu được sao lưu và lưu trữ hàng đêm.
Bài này mô tả cách tạo một cấu hình tương tự trên một hệ thống DB2 mới. Bạn cũng sẽ tối ưu
hóa thiết kế cơ sở dữ liệu của bạn, cải thiện tính toàn vẹn và chất lượng dữ liệu của nó và loại bỏ
các cấu trúc không sử dụng hoặc đã lỗi thời. Điều này sẽ giúp bạn đơn giản hóa việc di trú bằng
cách giảm số lượng các đối tượng được di chuyển, tiết kiệm không gian lưu trữ bằng cách giảm
kích thước của dữ liệu được di trú và làm giảm khả năng nhầm lẫn phát sinh từ sự tồn tại của dữ
liệu không sử dụng.
Về đầu trang
Cài đặt phần mềm di trú
Để chuẩn bị cho việc di trú cơ sở dữ liệu ví dụ, hãy cài đặt các thành phần sau đây trên một máy
trạm Windows được dùng để thực hiện các bước di trú.
Một phiên bản của bản sao MySQL của cơ sở dữ liệu nguồn
Việc di trú cơ sở dữ liệu là một quá trình lặp lại, vì vậy cài đặt một bản sao của cơ sở dữ
liệu MySQL nguồn trên máy trạm để truy cập dễ dàng. Điều này cho phép hiệu năng
trong quá trình di trú tốt hơn so với nếu cài đặt nó trên một hệ thống từ xa và nó cho phép
tự do sửa đổi cơ sở dữ liệu nguồn nếu cần thiết khi bạn thực hiện các bước di trú.
Một phiên bản của DB2
Cài đặt DB2 để tạo ra cơ sở dữ liệu đích mới trên máy trạm. Nói chung, bản cài đặt này
không nhất thiết phải là cùng ấn bản như cơ sở dữ liệu được sử dụng trong sản xuất,
nhưng để tương thích tính năng đầy đủ, chọn cùng ấn bản là một ý tưởng tốt. Để làm theo
các ví dụ trong bài viết này, hãy cài đặt DB2 Enterprise Server Edition (Ấn bản máy chủ
doanh nghiệp DB2) Phiên bản 9.7.2.
Công cụ di chuyển dữ liệu của IBM
Tải về và giải nén phiên bản mới nhất của IBM Data Movement Tool (Công cụ di chuyển
dữ liệu của IBM) (xem phần Tài nguyên), mà bạn có thể sử dụng để trích xuất cơ sở dữ
liệu từ MySQL và nhập khẩu nó vào DB2.
Một môi trường phát triển tích hợp (IDE) dựa trên Eclipse của IBM với một phối cảnh dữ
liệu (tùy chọn)
Bạn có thể sử dụng một bản phân phối Rational® Software Architect hiện có, vì nó là
một công cụ phát triển tất cả-trong-một có thể được sử dụng để hiển thị trực quan và
chỉnh sửa các mô hình cơ sở dữ liệu. Bạn có thể tìm thấy một liên kết đến Rational
Software Architect và các công cụ tương tự như InfoSphere™ Data Architect và Optim™
Development Studio trong phần Tài nguyên.
Hãy chắc chắn ghi lại chi tiết các quyết định cấu hình của bạn và các bài học thu được một cách
cẩn thận để bạn có thể lặp lại các bước khi triển khai. Xem xét việc lưu trữ một bản chụp của hệ
điều hành Windows với một ảnh ảo tại các cột mốc chủ yếu khi đạt được các mục tiêu quan
trọng để dùng như các bản sao lưu cấu hình và các vạch khởi đầu để so sánh cải thiện cơ sở dữ
liệu thêm nữa.
Nếu bạn muốn chụp một ảnh của một cấu hình máy vật lý, bạn có thể làm như vậy với VMware
vCenter Converter miễn phí. Một cách thay thế khác là xem xét dùng đám mây để làm các thay
đổi năng động này. Bạn có thể sử dụng các AMI DB2 của Amazon EC2, hoặc bạn có thể đăng
ký dùng Phát triển của IBM và thử nghiệm trên đám mây của IBM (IBM Development and Test
on the IBM Cloud). Với các máy tính ảo, bạn sẽ có thể tránh được các cố gắng ban đầu để mua
phần cứng máy chủ và cài đặt một hệ điều hành và DB2. Nó cũng sẽ tiết kiệm thời gian, tăng tốc
độ di trú và cung cấp cho bạn sự tự tin để thí nghiệm với cấu hình phù hợp nhất với các nhu cầu
của bạn. Có thể tìm thấy các liên kết đến tất cả các sản phẩm này trong phần Tài nguyên.
Về đầu trang
Bước 1. Chuyển đổi cấu trúc cơ sở dữ liệu MySQL sang định dạng DB2
Một khi bạn thiết lập phần mềm cần phải có trước trên máy trạm, bước quan trọng đầu tiên là
trích xuất các bảng từ cơ sở dữ liệu MySQL của chúng ta và tạo lại chúng trong cơ sở dữ liệu
DB2 mới. Bước này liên quan đến việc hoàn thành các bước con sau đây:
Tạo một cơ sở dữ liệu mới trong DB2
Trích xuất cấu trúc cơ sở dữ liệu MySQL nguồn
Kỹ thuật dịch ngược cơ sở dữ liệu để nhận được một sơ đồ quan hệ-thực thể
Cải tiến và sửa đổi cấu trúc mô hình dữ liệu
Chuyển đổi các đối tượng cơ sở dữ liệu khác
Tạo một cơ sở dữ liệu mới trong DB2
Ứng dụng PTT hỗ trợ những người dùng trên toàn cầu, vì vậy ngay từ đầu điều quan trọng là
đảm bảo rằng cơ sở dữ liệu DB2 mới có thể hỗ trợ một số ngôn ngữ và các bộ ký tự khác nhau.
Để hỗ trợ yêu cầu này, tạo một cơ sở dữ liệu với bộ mã UTF-8.
Cùng với việc lựa chọn một bộ mã, hãy đánh giá thuật toán thứ tự chữ cái nào sẽ thích hợp cho
các mục đích của bạn. Việc thiết lập thứ tự chữ cái xác định cách DB2 sắp xếp và tính toán dữ
liệu văn bản trong cơ sở dữ liệu của bạn, và nó có thể ảnh hưởng đến hiệu năng so sánh chuỗi ký
tự.
Để bảo toàn hành vi không phân biệt dữ liệu chữ hoa chữ thường khi hệ thống dựa trên MySQL
của bạn xử lý dữ liệu, hãy chọn thuật toán thứ tự chữ cái Unicode UCA500R1_S1
(UCA500R1_S1 Unicode Collation Algorithm), xử lý chữ hoa chữ thường và sắp xếp ngang
nhau. Với cấu hình này, các chuỗi ký tự role, Role, và rôle được sắp xếp và so sánh bằng nhau.
Sau khi bạn chọn các yêu cầu bộ mã ký tự và thứ tự chữ cái, lệnh để tạo cơ sở dữ liệu DB2 mới
được hiển thị trong Liệt kê 1. Bạn có thể chạy lệnh này trong bộ xử lý dòng lệnh đi kèm với
DB2. Các ngắt dòng được thêm vào cho dễ đọc.
Liệt kê 1. Lệnh được sử dụng để tạo ra cơ sở dữ liệu DB2 mới
CREATE DATABASE PTT
USING CODESET UTF-8
TERRITORY US
COLLATE USING UCA500R1_S1
PAGESIZE 4096;
Bạn có thể chấp nhận một số giá trị mặc định khi tạo cơ sở dữ liệu, cho phép DB2 tự lo một số
nhiệm vụ bảo trì tự động bằng cách sử dụng các tính năng tự trị dựng sẵn. Ví dụ, lưu trữ tự động
theo mặc định và kích hoạt trình quản lý bộ nhớ tự điều chỉnh.
Có rất nhiều tùy chọn khác mà bạn có thể quy định vào lúc tạo cơ sở dữ liệu. Thật hợp lý để
nghiên cứu các giá trị thiết lập, vì cấu hình đúng cơ sở dữ liệu của bạn ngay từ đầu sẽ sáng suốt
hơn là áp dụng các thiết lập sau đó. Mục 6.2.1 trong Hướng dẫn chuyển đổi MySQL sang DB2
(xem phần Tài nguyên) trình bày chi tiết về nhiều tùy chọn này.
Trích xuất cấu trúc cơ sở dữ liệu MySQL nguồn
Nhiệm vụ tiếp theo là trích xuất cấu trúc cơ sở dữ liệu từ MySQL và nạp nó vào DB2. Nếu bạn
có một cơ sở dữ liệu nhỏ, bạn có thể sử dụng tiện ích mysqldump để trích xuất DDL nguồn của
bạn từ MySQL và sửa đổi nó thủ công để phù hợp với cú pháp DB2 tương đương. Phần 6.1 của
Hướng dẫn chuyển đổi MySQL sang DB2 (xem phần Tài nguyên) cung cấp một mô tả về từng
kiểu dữ liệu và một bảng cho thấy cách chúng có thể được ánh xạ với nhau.
Với cơ sở dữ liệu lớn hơn, như ví dụ cho bài này có chứa 150 bảng, hãy xem xét việc tự động
hoá trích xuất cấu trúc cơ sở dữ liệu bằng cách sử dụng Data Movement Tool của IBM. Data
Movement Tool của IBM cung cấp một giao diện người dùng đơn giản được cấu hình để kết nối
với cả hai cơ sở dữ liệu MySQL cục bộ và cơ sở dữ liệu DB2 mới được tạo ra. Xem phần Tài
nguyên để biết các hướng dẫn chi tiết về cách sử dụng Data Movement Tool của IBM để trích
xuất cấu trúc cơ sở dữ liệu trong bước này.
Với ví dụ này, chỉ đánh dấu chọn hộp kiểm tra Data và nhấn vào Extract DDL/Data, như hiển
thị trong .
Hình 1. Trích xuất DDL
Sau khi Data Movement Tool của IBM trích xuất cấu trúc cơ sở dữ liệu, bạn có một danh sách
các tệp DDL trong thư mục migr. Một số các tệp có thể rỗng. Ví dụ, vì không có hàm nào do
người dùng định nghĩa trong cơ sở dữ liệu MySQL nguồn ví dụ, nên tệp db2udf.sql không có nội
dung nào.
Nạp các DDL vào cơ sở dữ liệu DB2 cục bộ bằng cách thi hành tệp bó db2ddl.cmd nằm trong
cùng thư mục với các tệp DDL.
Kỹ thuật dịch ngược cơ sở dữ liệu để nhận được một sơ đồ quan hệ-thực thể
Một khi các DDL được nạp vào DB2, hãy sử dụng RSA để dịch ngược cấu trúc cơ sở dữ liệu khi
nó tồn tại trong DB2. Kết nối đến cơ sở dữ liệu DB2 mới được tạo ra và trích xuất một mô hình
trực quan của nó bằng cách sử dụng Rational Software Architect. Quá trình này, được gọi là kỹ
thuật dịch ngược, biến đổi cơ sở dữ liệu thành một sơ đồ quan hệ-thực thể (ER), cho thấy các
bảng, các cột của chúng, và các sự liên kết giữa chúng.
Bước này loại bỏ bất kỳ các bảng không sử dụng nào, làm thay đổi các kiểu dữ liệu của một số
cột nhất định, và thêm khóa chính và khóa ngoại. Đây là một nhiệm vụ tùy chọn, nhưng nó mang
lại một cơ hội tốt để tổ chức lại cấu trúc dữ liệu của bạn cho phù hợp tốt hơn với các nhu cầu
hiện tại của bạn.
Một lần nữa, bạn có thể quyết định thay đổi mô hình dữ liệu của bạn bằng cách chỉnh sửa thủ
công DDL cho phù hợp với cú pháp DB2, nhưng việc tạo một mô hình trực quan dưới dạng một
sơ đồ ER là có ích để xem, ghi lại và duy trì cấu trúc dữ liệu của bạn. Sơ đồ ER này có thể dùng
làm tài liệu hướng dẫn cho nhóm kỹ thuật cũng như các bên liên quan của doanh nghiệp.
Bạn có thể tạo sơ đồ và thực hiện các nhiệm vụ liên quan sau đây để đạt được những lợi ích được
liệt kê.
Xây dựng các mối quan hệ giữa các bảng hoặc các khung nhìn
Điều này giúp ích để hiểu cách các bảng trong cơ sở dữ liệu quan hệ làm việc với nhau.
Tô màu các bảng dùng cho một chức năng chung
Trong ví dụ này, các bảng USER, ACL và ROLE làm việc với nhau để xử lý xác thực và
ủy quyền, vì vậy bạn có thể gắn kết lô gic các bảng này bằng cách áp dụng cho chúng
một màu nền chung trong mô hình.
Làm nổi bật các cột đã được sửa đổi trong quá trình di trú cấu trúc dữ liệu và thêm các
chú thích giải thích tại sao chúng đã được thay đổi
Điều này có ích để theo dõi các cột và bảng nào đã được sửa đổi trong quá trình thực
hiện.
Bạn có thể tìm hiểu thêm về kỹ thuật dịch ngược một cơ sở dữ liệu hiện có thành một mô hình
dữ liệu bằng cách đọc xem việc này được thực hiện như thế nào trong InfoSphere Data Architect
(xem phần Tài nguyên). Các chỉ dẫn này là giống nhau khi thực hiện trên bất kỳ các IDE dựa
trên Eclipse nào của IBM được xây dựng trên nền tảng các công cụ dữ liệu của Eclipse (Eclipse
Data Tools Platform). Thay vì sử dụng cơ sở dữ liệu Derby của Apache đã dùng như một ví dụ
trong hướng dẫn, bạn sẽ cần kết nối đến cơ sở dữ liệu DB2 của bạn.
Cải tiến và sửa đổi cấu trúc mô hình dữ liệu
Bất kể bạn đã tạo ra một sơ đồ ER hay chưa, bạn có thể bắt đầu cải tiến cấu trúc dữ liệu tại thời
điểm này. Xem xét việc thực hiện các thay đổi này với cấu trúc được sử dụng trong ví dụ này.
Hãy chắc chắn rằng các kiểu dữ liệu là nhất quán giữa khóa chính và bất kỳ các khóa
ngoại dựa vào chúng
Ví dụ, kiểu dữ liệu của khóa chính là SMALLINT trong bảng USER, nhưng khóa ngoại
USER_ID, tham chiếu logic đến khóa chính này trong bảng khác, lại là một kiểu dữ liệu
số INTEGER lớn hơn. Bạn có thể thường xuyên thấy điều này trong cấu trúc cơ sở dữ
liệu MySQL của bạn, vì kiểu dữ liệu ban đầu đã được tạo ra trong một phiên bản của
MySQL không hỗ trợ việc bắt buộc các khóa ngoại, đòi hỏi hai kiểu dữ liệu phải nhất
quán.
Tăng thêm kích thước tối đa của các cột mã định danh (ID) nếu cần
Nếu ứng dụng của bạn đã chạy trong một thời gian dài, các giá trị trong cột mã định danh
(ID) có thể bắt đầu tiến gần đến giới hạn tối đa đã quy định của chúng. Việc di trú cung
cấp cho bạn một cơ hội tốt để giải quyết vấn đề tiềm năng này. Ví dụ, nếu ID của một
bảng USER được quy định là SMALLINT và số lượng người dùng có thể vượt quá
32.767 trong tương lai, thì bây giờ bạn nên mở rộng ID thành kiểu INTEGER lớn hơn để
hỗ trợ lên đến 2 tỷ người dùng trong tương lai.
Thay đổi các trường TEXT của MySQL từ các kiểu đối tượng văn bản CLOB của DB2
thành các kiểu ký tự VARCHAR mỗi khi có thể
Có một số hạn chế về các CLOB trong DB2. Các CLOB không thể được dùng để tìm các
giá trị DISTINCT và chúng không thể được nạp vào các nhóm bộ đệm. Vì vậy, các
CLOB có thể không làm việc được vì chúng không thể lợi dụng việc nhớ sẵn các trang
(page cache). Nếu có thể, bạn nên xem xét thay đổi các trường TEXT thành các trường
VARCHAR. Vì vùng bảng nằm bên dưới xác định kích thước tối đa của cột VARCHAR,
chỉ có thể lưu văn bản lên đến 32KB.
Xoá cột đã lỗi thời hoặc không sử dụng
Ví dụ, một số ứng dụng có cách tiếp cận khác nhau để lưu trữ các báo cáo, vì vậy bạn có
thể có một số các bảng di sản lớn nắm giữ một khối lượng dữ liệu lớn không còn giá trị
nữa và thường gây nhầm lẫn cho những người phát triển mới của nhóm. Hãy lợi dụng cơ
hội này để lưu