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

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.

pdf17 trang | Chia sẻ: lylyngoc | Lượt xem: 1496 | Lượt tải: 1download
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