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 ppt

17 471 0
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 ppt

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Di chuyển ứng dụng PHP từ MySQL sang DB2 Phần 2: Di trú liệu bạn Giới thiệu loạt MySQL máy chủ sở liệu phổ biến sử dụng với ngơn ngữ lập trình PHP để xây dựng ứng dụng web động Tuy nhiên, DB2 sở liệu phổ biến khác PHP hỗ trợ đầy đủ cung cấp lợi hấp dẫn so với MySQL, làm cho trở thành lựa chọn lý tưởng cho nhiều ứng dụng Loạt mô tả việc di chuyển ứ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 nó, cách hỗ trợ cách xử lý rủi ro tiềm dựa kinh nghiệm tác giả với di trú Nhiều mẫu mã mẫu cấu hình cung cấp, dẫn tài nguyên để giúp cho dự án chạy trơn tru Với ví dụ học thu từ chuyển đổi thực tế thành công, bạn thấy dự án đơn giản, có đủ tài liệu cung cấp lợi ích hấp dẫn Loạt bốn phần chia sẻ học nhận từ di trú MySQL-sang-DB2 thành công cho ứng dụng mạng nội PHP chủ yếu, cấp độ sản xuất, 4.000 người dùng toàn cầu IBM sử dụng để hỗ trợ sản xuất nội dung cho ibm.com     Phần mô tả bước cần thực để chuẩn bị cho việc di trú Phần mô tả bước cần thực để di trú sở liệu Phần mô tả bước cần thực để chuyển đổi mã PHP Phần mô tả bước cần thực để triển khai hỗ trợ ứng dụng Bạn học điều Mục đích loạt cho bạn hiểu cần thiết nói chung để di trú ứng dụng PHP từ MySQL sang DB2, tài nguyên có sẵn để trợ giúp bạn nhóm dự án IBM thực nhiệm vụ vào đầu năm 2010 Nếu bạn nghiên cứu di trú từ MySQL sang DB2, bạn thấy giá trị mà DB2 cung cấp dựa tài liệu sản phẩm, đánh giá tiêu chuẩn hiệu năng, tính mà bạn đọc tài liệu DB2 so sánh Sách Đỏ 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ẽ biết DB2 Express-C máy chủ liệu quan hệ chức đầy đủ, miễn phí dễ dàng cài đặt đánh giá cách sử dụng IBM Smart Business Development and Test on the Cloud (Phát triển nghiệp vụ thông minh Thử nghiệm Đám mây IBM Amazon EC2) Các liên kết đến tài nguyên có sẵn phần Tài nguyên Loạt cung cấp cho bạn ví dụ cụ thể di trú thực tế thực thành công năm 2010 cho ứng dụng mạng nội PHP sử dụng nhiều IBM để hỗ trợ quản lý nội dung hàng ngày công bố nhiều phần trang Web ibm.com Sau bạn đọc xong loạt này, bạn tạo trường hợp di trú tương tự, hiểu thời hạn phụ thuộc mục công việc cần thực hiện, dự kiến rủi ro tiềm biết nơi để tìm kiếm hỗ trợ cho bước đường Tất điều cho bạn tự tin để lựa chọn DB2 sử dụng cách tốt cho ứng dụng PHP bạn phát triển MySQL Những khơng trình bày Loạt nhằm chia sẻ học thu từ di trú nội IBM từ MySQL sang DB2 cung cấp cho bạn thông tin tài nguyên có sẵn để thực công tương tự Loạt hướng dẫn tồn diện di trú để áp dụng cho tất kịch Để xác định cách tiếp cận phù hợp với bạn, tham khảo Hướng dẫn chuyển đổi MySQL sang DB2 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 cung cấp phần Tài nguyên Về đầu trang Giới thiệu việc di trú sở liệu Bài viết trình bày bốn bước để di trú sở liệu từ MySQL sang DB2 Nếu cần thiết, tham khảo Phần loạt để xem lịch trình bước tồn q trình di trú trước bắt đầu di trú Bước 1: Chuyển đổi cấu trúc sở liệu MySQL sang định dạng DB2      Tạo sở liệu DB2 Trích xuất cấu trúc sở liệu MySQL nguồn Kỹ thuật dịch ngược sở liệu để nhận sơ đồ quan hệ-thực thể Cải tiến sửa đổi cấu trúc mơ hình liệu Chuyển đổi đối tượng sở liệu khác Bước 2: Di chuyển liệu MySQL vào sở liệu DB2      Loại bỏ bảng liệu không cần thiết Chuyển đổi liệu sở liệu nguồn khơng phù hợp với kiểu liệu DB2 đích Trích xuất liệu từ MySQL Nạp liệu vào DB2 Thiết lập lại gia số cột mã định danh (ID) tạo Bước 3: Tạo lại quyền hạn người dùng cấu hình quản trị sở liệu    Thiết lập tài khoản người dùng cần thiết gán cho họ các quyền hạn thích hợp Triển khai lưu sở liệu kế hoạch khắc phục thảm họa Cấu hình chép để tạo hệ thống ảnh gương mà chế báo cáo Cognos sử dụng Bước 4: Kiểm lại bước khởi đầu di trú sở liệu    Đảm bảo việc di trú sở liệu xong Nếu không, thực lại Bước 1-3 việc di trú hoàn thành, cho thấy Hình Phần 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í dụ sở liệu MySQL PTT có Nhắc nhở Nếu cần thiết, tự tìm hiểu phần Tài ngun giúp ích việc di trú bạn Các tài ngun sau đặc biệt có ích cho bước này:    Chương 6, Sách Đỏ IBM miễn phí (IBM Redbook®) Hướng dẫn chuyển đổi MySQL sang DB2 Bài viết developerWorks "Danh sách khuyến khích đọc: Quản trị sở liệu DB2 cho Linux, UNIX Windows" Loạt viết developerWorks "Sử dụng kỹ MySQL để tìm hiểu DB2 Express" Tất nhiên, tài liệu sản phẩm cho công cụ thường dùng để di trú sở liệu IBM Data Movement Tool (Công cụ di chuyển liệu IBM) Rational Software Architect (Kiến trúc sư phần mềm Rational) quan trọng Một lựa chọn khác sử dụng đám mây cho trình di trú Bạn sử dụng Amazon EC2 Linux AMI DB2, đăng ký dùng IBM Development and Test on the IBM Cloud (Phát triển thử nghiệm IBM đám mây IBM) (xem phần Tài nguyên) Để làm sở liệu ví dụ cho viết này, chúng tơi sử dụng sở liệu MySQL nguồn cho PTT (Công cụ theo dõi dự án) chứa 150 bảng, trung bình bảng có cột lưu trữ tổng cộng khoảng 10 GB liệu văn PTT ban đầu xây dựng dựa MySQL phiên 3.23 di trú đến phiên 5.0 trình bảy năm Tất bảng sử dụng kiểu máy MyISAM mặc định Cơ sở liệu PTT dùng cho nhiều chức khác để hỗ trợ dòng công việc công bố thông tin ibm.com Ứng dụng xử lý tệp nhị phân, ảnh sản phẩm tài liệu chào bán sản phẩm, tệp lưu hệ thống tệp với liên kết logic chứa cột sở liệu khơng phải lưu trữ tệp sở liệu liệu nhị phân Hơn 4.000 người dùng toàn giới truy cập sửa đổi sở liệu thông qua xử lý trước web PHP Tại thời điểm có vài trăm người dùng hoạt động đồng thời hệ thống Dữ liệu cung cấp từ máy chủ MySQL chính, sử dụng cho đọc viết Một sở liệu trì đồng sử dụng để tạo báo cáo đọc truy vấn khơng dự tính trước Dữ liệu lưu lưu trữ hàng đêm Bài mô tả cách tạo cấu hình tương tự hệ thống DB2 Bạn tối ưu hóa thiết kế sở liệu bạn, cải thiện tính tồn vẹn chất lượng liệu loại bỏ cấu trúc không sử dụng lỗi thời Điều giúp bạn đơn giản hóa việc di trú cách giảm số lượng đối tượng di chuyển, tiết kiệm không gian lưu trữ cách giảm kích thước liệu di trú làm giảm khả nhầm lẫn phát sinh từ tồn 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ú sở liệu ví dụ, cài đặt thành phần sau máy trạm Windows dùng để thực bước di trú Một phiên MySQL sở liệu nguồn Việc di trú sở liệu trình lặp lại, cài đặt sở liệu MySQL nguồn máy trạm để truy cập dễ dàng Điều cho phép hiệu trình di trú tốt so với cài đặt hệ thống từ xa cho phép tự sửa đổi sở liệu nguồn cần thiết bạn thực bước di trú Một phiên DB2 Cài đặt DB2 để tạo sở liệu đích máy trạm Nói chung, cài đặt khơng thiết phải ấn sở liệu sử dụng sản xuất, để tương thích tính đầy đủ, chọn ấn ý tưởng tốt Để làm theo ví dụ viết này, cài đặt DB2 Enterprise Server Edition (Ấn máy chủ doanh nghiệp DB2) Phiên 9.7.2 Công cụ di chuyển liệu IBM Tải giải nén phiên IBM Data Movement Tool (Công cụ di chuyển liệu IBM) (xem phần Tài nguyên), mà bạn sử dụng để trích xuất sở liệu từ MySQL nhập vào DB2 Một mơi trường phát triển tích hợp (IDE) dựa Eclipse IBM với phối cảnh liệu (tùy chọn) Bạn sử dụng phân phối Rational® Software Architect có, cơng cụ phát triển tất cả-trong-một sử dụng để hiển thị trực quan chỉnh sửa mơ hình sở liệu Bạn tìm thấy liên kết đến Rational Software Architect công cụ tương tự InfoSphere™ Data Architect Optim™ Development Studio phần Tài nguyên Hãy chắn ghi lại chi tiết định cấu hình bạn học thu cách cẩn thận để bạn lặp lại bước triển khai Xem xét việc lưu trữ chụp hệ điều hành Windows với ảnh ảo cột mốc chủ yếu đạt mục tiêu quan trọng để dùng lưu cấu hình vạch khởi đầu để so sánh cải thiện sở liệu thêm Nếu bạn muốn chụp ảnh cấu hình máy vật lý, bạn làm với VMware vCenter Converter miễn phí Một cách thay khác xem xét dùng đám mây để làm thay đổi động Bạn sử dụng AMI DB2 Amazon EC2, bạn đăng ký dùng Phát triển IBM thử nghiệm đám mây IBM (IBM Development and Test on the IBM Cloud) Với máy tính ảo, bạn tránh cố gắng ban đầu để mua phần cứng máy chủ cài đặt hệ điều hành DB2 Nó tiết kiệm thời gian, tăng tốc độ di trú cung cấp cho bạn tự tin để thí nghiệm với cấu hình phù hợp với nhu cầu bạn Có thể tìm thấy liên kết đến tất sản phẩm phần Tài nguyên Về đầu trang Bước Chuyển đổi cấu trúc sở liệu MySQL sang định dạng DB2 Một bạn thiết lập phần mềm cần phải có trước máy trạm, bước quan trọng trích xuất bảng từ sở liệu MySQL tạo lại chúng sở liệu DB2 Bước liên quan đến việc hoàn thành bước sau đây:      Tạo sở liệu DB2 Trích xuất cấu trúc sở liệu MySQL nguồn Kỹ thuật dịch ngược sở liệu để nhận sơ đồ quan hệ-thực thể Cải tiến sửa đổi cấu trúc mơ hình liệu Chuyển đổi đối tượng sở liệu khác Tạo sở liệu DB2 Ứng dụng PTT hỗ trợ người dùng tồn cầu, từ đầu điều quan trọng đảm bảo sở liệu DB2 hỗ trợ số ngơn ngữ ký tự khác Để hỗ trợ yêu cầu này, tạo sở liệu với mã UTF-8 Cùng với việc lựa chọn mã, đánh giá thuật toán thứ tự chữ thích hợp cho mục đích bạn Việc thiết lập thứ tự chữ xác định cách DB2 xếp tính tốn liệu văn sở liệu bạn, ảnh hưởng đến hiệu so sánh chuỗi ký tự Để bảo tồn hành vi khơng phân biệt liệu chữ hoa chữ thường hệ thống dựa MySQL bạn xử lý liệu, chọn thuật toán thứ tự chữ Unicode UCA500R1_S1 (UCA500R1_S1 Unicode Collation Algorithm), xử lý chữ hoa chữ thường xếp ngang Với cấu hình này, chuỗi ký tự role, Role, rôle xếp so sánh Sau bạn chọn yêu cầu mã ký tự thứ tự chữ cái, lệnh để tạo sở liệu DB2 hiển thị Liệt kê Bạn chạy lệnh xử lý dòng lệnh kèm với DB2 Các ngắt dòng thêm vào cho dễ đọc Liệt kê Lệnh sử dụng để tạo sở liệu DB2 CREATE DATABASE PTT USING CODESET UTF-8 TERRITORY US COLLATE USING UCA500R1_S1 PAGESIZE 4096; Bạn chấp nhận số giá trị mặc định tạo sở liệu, cho phép DB2 tự lo số nhiệm vụ bảo trì tự động cách sử dụng tính tự trị dựng sẵn Ví dụ, lưu trữ tự động theo mặc định kích hoạt trình quản lý nhớ tự điều chỉnh Có nhiều tùy chọn khác mà bạn quy định vào lúc tạo sở liệu Thật hợp lý để nghiên cứu giá trị thiết lập, cấu hình sở liệu bạn từ đầu sáng suốt áp dụng thiết lập sau Mục 6.2.1 Hướng dẫn chuyển đổi MySQL sang DB2 (xem phần Tài nguyên) trình bày chi tiết nhiều tùy chọn Trích xuất cấu trúc sở liệu MySQL nguồn Nhiệm vụ trích xuất cấu trúc sở liệu từ MySQL nạp vào DB2 Nếu bạn có sở liệu nhỏ, bạn sử dụng tiện ích mysqldump để trích xuất DDL nguồn bạn từ MySQL sửa đổi thủ cơng để phù hợp với cú pháp DB2 tương đương Phần 6.1 Hướng dẫn chuyển đổi MySQL sang DB2 (xem phần Tài nguyên) cung cấp mô tả kiểu liệu bảng cho thấy cách chúng ánh xạ với Với sở liệu lớn hơn, ví dụ cho có chứa 150 bảng, xem xét việc tự động hoá trích xuất cấu trúc sở liệu cách sử dụng Data Movement Tool IBM Data Movement Tool IBM cung cấp giao diện người dùng đơn giản cấu hình để kết nối với hai sở liệu MySQL cục sở liệu DB2 tạo Xem phần Tài nguyên để biết hướng dẫn chi tiết cách sử dụng Data Movement Tool IBM để trích xuất cấu trúc sở liệu bước Với ví dụ này, đánh dấu chọn hộp kiểm tra Data nhấn vào Extract DDL/Data, hiển thị Hình Trích xuất DDL Sau Data Movement Tool IBM trích xuất cấu trúc sở liệu, bạn có danh sách tệp DDL thư mục migr Một số tệp rỗng Ví dụ, khơng có hàm người dùng định nghĩa sở liệu MySQL nguồn ví dụ, nên tệp db2udf.sql khơng có nội dung Nạp DDL vào sở liệu DB2 cục cách thi hành tệp bó db2ddl.cmd nằm thư mục với tệp DDL Kỹ thuật dịch ngược sở liệu để nhận sơ đồ quan hệ-thực thể Một DDL nạp vào DB2, sử dụng RSA để dịch ngược cấu trúc sở liệu tồn DB2 Kết nối đến sở liệu DB2 tạo trích xuất mơ hình trực quan cách sử dụng Rational Software Architect Quá trình này, gọi kỹ thuật dịch ngược, biến đổi sở liệu thành sơ đồ quan hệ-thực thể (ER), cho thấy bảng, cột chúng, liên kết chúng Bước loại bỏ bảng không sử dụng nào, làm thay đổi kiểu liệu số cột định, thêm khóa khóa ngoại Đây nhiệm vụ tùy chọn, mang lại hội tốt để tổ chức lại cấu trúc liệu bạn cho phù hợp tốt với nhu cầu bạn Một lần nữa, bạn định thay đổi mơ hình liệu bạn cách chỉnh sửa thủ công DDL cho phù hợp với cú pháp DB2, việc tạo mơ hình trực quan dạng sơ đồ ER có ích để xem, ghi lại trì cấu trúc liệu bạn Sơ đồ ER dùng làm tài liệu hướng dẫn cho nhóm kỹ thuật bên liên quan doanh nghiệp Bạn tạo sơ đồ thực nhiệm vụ liên quan sau để đạt lợi ích liệt kê Xây dựng mối quan hệ bảng khung nhìn Điều giúp ích để hiểu cách bảng sở liệu quan hệ làm việc với Tô màu bảng dùng cho chức chung Trong ví dụ này, bảng USER, ACL ROLE làm việc với để xử lý xác thực ủy quyền, bạn gắn kết lô gic bảng cách áp dụng cho chúng màu chung mơ hình Làm bật cột sửa đổi trình di trú cấu trúc liệu thêm thích giải thích chúng thay đổi Điều có ích để theo dõi cột bảng sửa đổi trình thực Bạn tìm hiểu thêm kỹ thuật dịch ngược sở liệu có thành mơ hình liệu cách đọc xem việc thực InfoSphere Data Architect (xem phần Tài nguyên) Các dẫn giống thực IDE dựa Eclipse IBM xây dựng tảng công cụ liệu Eclipse (Eclipse Data Tools Platform) Thay sử dụng sở liệu Derby Apache dùng ví dụ hướng dẫn, bạn cần kết nối đến sở liệu DB2 bạn Cải tiến sửa đổi cấu trúc mơ hình liệu Bất kể bạn tạo sơ đồ ER hay chưa, bạn bắt đầu cải tiến cấu trúc liệu thời điểm Xem xét việc thực thay đổi với cấu trúc sử dụng ví dụ Hãy chắn kiểu liệu qn khóa khóa ngoại dựa vào chúng Ví dụ, kiểu liệu khóa SMALLINT bảng USER, khóa ngoại USER_ID, tham chiếu logic đến khóa bảng khác, lại kiểu liệu số INTEGER lớn Bạn thường xuyên thấy điều cấu trúc sở liệu MySQL bạn, kiểu liệu ban đầu tạo phiên MySQL không hỗ trợ việc bắt buộc khóa ngoại, địi hỏi hai kiểu liệu phải quán Tăng thêm kích thước tối đa cột mã định danh (ID) cần Nếu ứng dụng bạn chạy thời gian dài, giá trị cột mã định danh (ID) bắt đầu tiến gần đến giới hạn tối đa quy định chúng Việc di trú cung cấp cho bạn hội tốt để giải vấn đề tiềm Ví dụ, ID bảng USER quy định SMALLINT số lượng người dùng vượt 32.767 tương lai, bạn nên mở rộng ID thành kiểu INTEGER lớn để hỗ trợ lên đến tỷ người dùng tương lai Thay đổi trường TEXT MySQL từ kiểu đối tượng văn CLOB DB2 thành kiểu ký tự VARCHAR Có số hạn chế CLOB DB2 Các CLOB dùng để tìm giá trị DISTINCT chúng khơng thể nạp vào nhóm đệm Vì vậy, CLOB khơng làm việc chúng khơng thể lợi dụng việc nhớ sẵn trang (page cache) Nếu có thể, bạn nên xem xét thay đổi trường TEXT thành trường VARCHAR Vì vùng bảng nằm bên xác định kích thước tối đa cột VARCHAR, lưu văn lên đến 32KB Xố cột lỗi thời khơng sử dụng Ví dụ, số ứng dụng có cách tiếp cận khác để lưu trữ báo cáo, bạn có số bảng di sản lớn nắm giữ khối lượng liệu lớn khơng cịn giá trị thường gây nhầm lẫn cho người phát triển nhóm Hãy lợi dụng hội để lưu trữ liệu loại bỏ khỏi sở liệu hoạt động Thêm khóa ràng buộc cần thiết Ngồi tính tồn vẹn liệu mà ràng buộc khóa mang lại, việc quan trọng để tạo DB2 Mỗi bảng đòi hỏi khóa khóa để chuyển giao giá trị tới sở liệu lưu Định nghĩa áp đặt khóa ngoại Trong sở liệu MySQL ví dụ, khơng có khóa ngoại ứng dụng ban đầu tạo với máy lưu trữ MyISAM mặc định không hỗ trợ chúng Trong giai đoạn chuyển đổi liệu, thêm khóa ngoại cần thiết để cải thiện tính quán liệu, ví dụ trì bảng USER liên kết với bảng TASK_HISTORY, đảm bảo ghi kiểm tốn liên kết thay đổi với người dùng không bị ngắt Chuyển đổi thêm đối tượng khác, mục, khung nhìn, thủ tục lưu hàm Việc hiển thị trực quan cấu trúc liệu bạn giúp ích cho việc hiểu mối quan hệ bảng, tầm quan trọng tương đối chúng tần số truy cập chúng, ảnh hưởng đến hiệu Điều giúp bạn hiểu rõ ràng buộc nên áp đặt đâu hành động liên quan nên nhóm lại với đâu để cải thiện chất lượng tốc độ đọc liệu Nếu bạn có mơ hình cấu trúc liệu định nghĩa RSA, bạn xuất tệp DDL đơn lẻ để từ xây dựng sở liệu DB2 bạn Tùy thuộc vào phức tạp cấu trúc sở liệu bạn, bạn xem xét việc tạo tệp DDL riêng cho kiểu đối tượng khác để giữ thứ tổ chức hợp lý Ví dụ, cách tiếp cận khuyến cáo để di trú lặp lại tạo DDL cho bảng tệp, tạo DDL cho mục riêng tạo DDL cho khóa ngoại riêng Cách tiếp cận giúp phân chia cách logic cấu trúc liệu thành mảnh có liên quan cách logic Cách tiếp cận cung cấp tài liệu tham khảo bạn muốn xem danh sách mục (thay đổi theo thời gian) tìm kiếm chúng tệp DDL với định nghĩa đối tượng khác, cố định ví dụ bảng khung nhìn Cũng giống nhiệm vụ kỹ thuật dịch ngược trước đó, bạn xem phần Tài ngun để tìm hiểu cách chỉnh sửa xuất mơ hình liệu công cụ dựa Eclipse IBM cách đọc hướng dẫn cách chuyển đổi mơ hình liệu vật lý thành DDL tài liệu InfoSphere Chuyển đổi đối tượng sở liệu khác Data Movement Tool IBM tự động chuyển đổi hầu hết đối tượng sở liệu, ví dụ bảng, khóa, mục vùng bảng, có đối tượng khác bạn cần chuyển đổi thủ công chúng có mặt sở liệu MySQL nguồn bạn Chúng gồm khung nhìn, thủ tục lưu, hàm người dùng định nghĩa (UDF) tri gơ Các đối tượng không khó để di trú thủ cơng, MySQL lẫn DB2 tuân thủ cú pháp thủ tục lưu trữ SQL:2003 Và chức tri gơ DB2 cung cấp nhiều có sẵn MySQL, bạn dễ dàng tạo lại tri gơ Chương Sách Đỏ IBM Phát triển ứng dụng PHP cho Các máy chủ liệu IBM (Developing PHP Applications for IBM Data Servers) mô tả chi tiết khác biệt mà bạn cần hiểu rõ Như lựa chọn, để tránh lỗi lúc di trú liệu bước 2, bạn lui lại nhiệm vụ lại liệu nạp vào DB2 quay lại với lần lặp khác giai đoạn di trú bạn tinh chỉnh sở liệu bạn Về đầu trang Bước Di chuyển liệu MySQL vào sở liệu DB2 Trong bước này, bạn trích xuất liệu từ sở liệu MySQL tải vào DB2 Q trình cho bạn hội để cải thiện chất lượng liệu bạn Bước liên quan đến việc hoàn thành bước sau đây:      Loại bỏ bảng liệu không cần thiết Chuyển đổi liệu MySQL không hợp với DB2 Trích xuất liệu từ MySQL Nạp liệu vào DB2 Thiết lập lại gia số cột mã định danh (ID) tạo Loại bỏ bảng liệu không cần thiết Data Movement Tool (Công cụ di chuyển liệu) IBM tạo tệp tên bảng.tables nói rõ liệu cần trích xuất từ sở liệu nguồn cách rõ truy vấn SELECT cho bảng sở liệu Ví dụ, bao gồm nhiệm vụ bốn năm tuổi Nói chung bạn cần phải loại bỏ số dòng xác định dịng khác có đủ điều kiện câu lệnh WHERE để lọc số lượng liệu di chuyển Nếu bạn không muốn di chuyển bảng từ MySQL sang DB2, bạn nên loại bỏ hồn tồn khỏi tệp Nếu bạn muốn di chuyển tập liệu, bạn nên sửa đổi mệnh đề SELECT cho phù hợp Ví dụ, ngăn khơng cho bảng WORK_TMP di trú sang DB2 cách xóa dịng hiển thị Liệt kê Một dòng bị xóa khỏi tệp timetrac.tables "timetrac"."work_tmp":SELECT * FROM "timetrac"."work_tmp" Trong trường hợp khác, bạn cần giữ lại liệu bảng WORK tạo kể từ năm 2008 Ví dụ, thêm mệnh đề WHERE hiển thị Liệt kê Một dòng chỉnh sửa để lọc liệu để di trú theo ngày tháng "timetrac"."work":SELECT * FROM "timetrac"."work" WHERE ts >= '2008-01-01' Chuyển đổi liệu MySQL không hợp với DB2 Một nhiệm vụ quan trọng khác xác định tính tương thích kiểu liệu sở liệu nguồn sở liệu Vì bạn chỉnh sửa sở liệu DB2 Bước tổ chức lại mơ hình liệu bạn, đảm bảo liệu nhập từ MySQL tương thích với kiểu liệu định nghĩa DB2 Ví dụ, kiểu liệu TIME tồn MySQL lẫn DB2, có phạm vi khác Trong MySQL, TIME biểu diễn đồng hồ có phạm vi, từ -838:59:59 đến 838:59:59 Tuy nhiên, DB2, TIME biểu diễn đồng hồ 24 giờ, có phạm vi từ 00:00:00 đến 24:00:00 Trong trường hợp mà liệu với kiểu liệu TIME không phù hợp với đồng hồ 24 giờ, chuẩn hóa liệu để tương thích với kiểu liệu DB2 MySQL trước di trú cho thấy câu lệnh SQL mà bạn sử dụng để thực việc chuyển đổi Liệt kê Chuyển đổi liệu TIME MySQL để phù hợp với liệu TIME DB2 công nhận mysql> UPDATE WORK W SET W.HOUR = SUBTIME(W.HOUR, '24:00:00') WHERE W.HOUR >= '24:00:00'; Có thể có kiểu liệu khác yêu cầu phải thay đổi sở liệu nguồn bạn trước chúng di trú Phần 6.1 Hướng dẫn chuyển đổi MySQL sang DB2 (xem phần Tài nguyên) cung cấp mô tả loại liệu bảng hiển thị tính tương thích liệu Trích xuất liệu từ MySQL Với liệu MySQL chuẩn bị để di trú, mở lại Data Movement Tool IBM đánh dấu chọn hộp kiểm tra Data nhấn vào Extract DDL/Data (Trích xuất DDL/dữ liệu), hiển thị Hình Tạo kịch lệnh trích xuất Khi hoàn thành, bạn thấy bốn tệp thư mục migr: geninput, rowcount, timetrac.tables (ở timetrac tên sở liệu), unload Thay tệp timetrac.tables tệp mà bạn chỉnh sửa sau bước trích xuất sở liệu để hạn chế liệu tập hợp Chạy unload để trích xuất liệu từ MySQL Sau di trú hồn tất, kiểm tra thơng báo lỗi tệp IBMDataMovementTool.log Sau unload thành cơng, nhiều tệp tạo ra, bao gồm tệp db2load.cmd thư mục data Nạp liệu vào DB2 Chuyển tới thư mục migr chạy kịch lệnh bó db2load.cmd để thực di trú liệu thực vào DB2 Kiểm tra db2load.log để xem liệu tất liệu tải vào DB2 thành công chưa Data Movement Tool IBM cung cấp kịch lệnh để xác minh xem số lượng hàng sở liệu MySQL nguồn có số lượng hàng bảng DB2 khơng Bạn chạy lệnh rowcount (đếm hàng) để xác nhận xem số lượng có khớp khơng Ngồi điều này, bạn muốn xác minh liệu DB2 cách cẩn thận cách sử dụng phương pháp khác, ví dụ so sánh đầu truy vấn quan trọng Mục 7.2.7 Hướng dẫn chuyển đổi MySQL sang DB2 (xem phần Tài nguyên) trình bày vài chiến lược để kiểm tra liệu di trú Thiết lập lại gia số cột mã định danh (ID) tạo Một bạn di chuyển liệu, bạn cần cập nhật sở liệu bạn để bắt đầu đánh số cột mã định danh (ID) tạo tự động, số lớn tất giá trị có liệu di trú Ví dụ, bạn có 3.000 hàng liệu mà bạn di trú, bạn muốn thay đổi sở liệu để bắt đầu tạo mã định danh cho ghi mà bạn chèn vào số an tồn 3.000, chẳng hạn 5.000, thay gán cho mã định danh bắt đầu gây xung đột cho thấy việc sửa đổi định nghĩa cột bạn để thiết lập lại việc đánh số cột mã định danh tạo Liệt kê Lệnh thiết lập lại cột mã định danh tạo ALTER TABLE WORK ALTER COLUMN ID RESTART WITH 5000; Về đầu trang Bước 3.Tạo lại quyền hạn người dùng cấu hình quản trị sở liệu Với cấu trúc sở liệu liệu nhập vào DB2, bước quan trọng thứ ba đảm bảo việc truy cập vào (và quản trị) liệu đắn Bạn cần thiết lập tài khoản người dùng cần thiết gán cho chúng quyền hạn thích hợp Sau đó, bạn thực cấu hình lưu dự phòng phục hồi sau thảm họa sở liệu bạn dựa hệ thống có mà bạn xác định cách thiết lập DB2 từ việc nghiên cứu tham khảo ý kiến chuyên gia DB2 Cuối cùng, bạn cấu hình tạo để tạo hệ thống ảnh gương hệ thống tinh thông nghiệp vụ Cognos® sử dụng để tạo báo cáo Bước liên quan đến việc hoàn thành bước sau đây:    Chuyển đổi mơ hình quyền hạn Chuyển đổi thủ tục lưu khơi phục lại Chuyển đổi mơ hình chép tạo báo cáo Chuyển đổi mơ hình quyền hạn Khi bạn cài đặt DB2, bạn tạo ID người dùng db2inst1 chủ sở hữu cá thể mặc định Trong sở liệu MySQL, có người dùng quản trị tương tự root Vì vậy, rõ ràng lúc bạn cần thực chức thường người dùng root chạy, bạn sử dụng db2inst1 để thay Bạn cần tạo hai tài khoản người dùng khác Người dùng pttuser thực hoạt động đọc viết theo yêu cầu ứng dụng Người dùng read cần thiết với hai sở liệu sản xuất Tài khoản cần thiết để thực truy vấn đọc sở liệu sản xuất Cơ chế tạo báo cáo Cognos sở liệu sử dụng tài khoản read Các tài khoản thể Bảng Danh sách người dùng Người dùng Quản trị (db2inst1) Ứng dụng (pttuser) Tạo báo cáo (read) Mô tả Một tài khoản người dùng với đặc quyền SYSADM Cơ sở liệu Sản xuất tạo báo cáo Một người dùng có quyền truy cập đọc viết vào sở Sản xuất liệu sản xuất Một người có quyền truy cập đọc vào sở liệu sản Sản xuất tạo xuất tạo báo cáo báo cáo Có thể tạo tài khoản người dùng hệ điều hành Linux câu lệnh GRANT (cấp) dùng để gán cho chúng đặc quyền sở liệu đắn Điều thường thực hoạt động riêng rẽ sau bạn tạo sở liệu DB2 di trú liệu từ MySQL vào Tuy nhiên, bạn triển khai vào sản xuất, bạn bao gồm câu lệnh GRANT vào DDL bạn sử dụng để tạo cấu trúc sở liệu Với MySQL, việc cung cấp quyền truy cập thường mức thơ, bạn cấp phép cho người dùng (được xác định đủ điều kiện tên máy tính chủ (hostname) mà từ người dùng kết nối) quyền hạn truy cập đọc, viết quản lý khác toàn sở liệu Trong ví dụ này, người dùng pttuser có quyền truy cập đọc viết vào sở liệu (chỉ từ tên máy tính chủ (hostname) máy chủ web) truy cập chỉnh sửa bảng Với DB2, bạn cấp phép truy cập cho người dùng, bạn khơng tên máy tính chủ mà từ người dùng kết nối Ngồi với DB2, bạn rõ quyền truy cập để truy vấn, thêm, cập nhật liệu bạn làm MySQL Tuy nhiên, bạn phải cấp phép truy cập cho người dùng với bảng sở liệu, khơng có câu lệnh đơn lẻ để cấp phép truy cập toàn sở liệu (trừ bạn tạo sở liệu bảng với tư cách người dùng đó, mà điều khuyến cáo khơng nên làm) Vì vậy, lệnh GRANT thường bao gồm DDL sau đối tượng, bảng, tạo cho thấy quyền hạn để cấp cho bảng WORK ví dụ Người dùng application nhận đầy đủ quyền truy cập đọc viết, người dùng reporting đọc liệu Liệt kê Các câu lệnh GRANT mẫu GRANT statements to provide read/write access to the application user account GRANT DELETE ON TABLE "TIMETRAC"."WORK" TO USER "PTTUSER"; GRANT INSERT ON TABLE "TIMETRAC"."WORK" TO USER "PTTUSER"; GRANT SELECT ON TABLE "TIMETRAC"."WORK" TO USER "PTTUSER"; GRANT UPDATE ON TABLE "TIMETRAC"."WORK" TO USER "PTTUSER"; GRANT statement to provide read only access to the reporting/ad hoc user account GRANT SELECT ON TABLE "TIMETRAC"."WORK" TO USER "READ"; Mục 7.1.3 Hướng dẫn chuyển đổi MySQL sang DB2 (xem phần Tài nguyên) cung cấp thông tin chi tiết khác biệt việc quản lý tài khoản người dùng tùy chọn mức chi tiết DB2 cung cấp Chuyển đổi thủ tục lưu khôi phục lại Bạn sẵn sàng thực kế hoạch khắc phục thảm họa, cân yêu cầu sẵn sàng cao ứng dụng với yêu cầu lưu trữ cẩn thận liệu bạn Trong MySQL, bạn sử dụng lệnh mysqldump để lưu liệu bạn chạy thi hành SQL để khôi phục lại liệu Trong hệ thống ví dụ, bạn muốn dựa vào lưu hàng đêm cách sử dụng mysqldump bạn muốn chạy sở liệu đồng hóa cho mục đích tạo báo cáo đọc phục vụ cho nhiệm vụ kép hệ thống dự phòng sống Đối với sở liệu mới, lập lịch biểu lệnh lưu phục hồi cách sử dụng công cụ cung cấp kèm DB2 Bạn có số lựa chọn cho lệnh phép bạn thực lưu đầy đủ lưu gia tăng, trực tuyến khơng trực tuyến Ví dụ, bạn muốn thực lưu gia tăng trực tuyến lần ngày, thực lưu đầy đủ, không trực tuyến lần cho tuần cửa sổ bảo trì cho thấy ví dụ sách lập lịch biểu lưu khôi phục Bảng Kế hoạch lưu khắc phục thảm họa Nhiệm vụ Mô tả Thực lưu trực tuyến sở liệu DB2 đêm lưu trữ máy chủ DB2 Việc lưu cung cấp khả khôi phục lại nhanh chóng Sao lưu trực dễ dàng khỏi vấn đề sở liệu đơn giản Nó khơng địi hỏi bạn phải tuyến hàng dừng ứng dụng Tuy nhiên, khơng cung cấp khả sử dụng ghi nhật ký để khôi phục lại giao dịch kể từ lúc lưu, có nghĩa liệu đêm tạo thời gian từ lúc thực lưu đến lúc có lỗi sở liệu khơng cịn Thực lưu không trực tuyến sở liệu DB2, cuối tuần lưu trữ máy chủ khác, tốt vị trí khác Việc lưu tạo khả khôi Sao lưu hàng phục lại tin cậy khỏi vấn đề lớn máy chủ Việc lưu đòi hỏi tuần khơng bạn dừng ứng dụng Tuy nhiên, cung cấp khả khôi phục lại giao trực tuyến dịch từ lúc lưu cách sử dụng ghi nhật ký, có nghĩa liệu khơi phục lại đầy đủ cách sử dụng lưu hoạt động ghi lại kể từ lúc lưu cách cho chạy lại dựa theo nhật ký Chương Hướng dẫn chuyển đổi MySQL sang DB2 (xem phần Tài ngun) chìa khóa để xác định triển khai q trình lưu khơi phục lại Nó cung cấp lệnh lưu mẫu gợi ý cách lập lịch biểu lần chạy lưu cách sử dụng DB2 Control Center hay Optim™ Development Studio Chuyển đổi mơ hình chép tạo báo cáo Như nói Phần 1, việc cải thiện tinh thông nghiệp vụ bạn qua việc chọn dùng công cụ Cognos yếu tố quan trọng dẫn dắt bạn di trú sang DB2 Như vậy, cấu hình sở liệu để chạy truy vấn trích xuất báo cáo phải phần trọng yếu nỗ lực di trú sở liệu bạn Nếu bạn cần chạy báo cáo dựa vào liệu bạn, nhiều khả bạn có sở liệu đọc để giảm tải sở liệu sản xuất bạn Cơ sở liệu sao xác sở liệu vận hành Bạn chạy ứng dụng để truy cập sửa đổi thông tin cá thể sở liệu, chép tất liệu vào sở liệu sao, chạy tất báo cáo bạn dựa vào cá thể đọc sở liệu Một lần nữa, MySQL DB2 xử lý khác Với MySQL, bạn thay đổi vài tham số cấu hình chép toàn sở liệu từ máy chủ sang máy chủ khác thời gian thực Hoặc bạn thực lần lưu hồi phục không đồng lưu vào thời gian sau vào sở liệu khác Với DB2, bạn có sẵn tùy chọn tương tự, bao gồm chép SQL chép Q Ví dụ, sử dụng chép SQL để tránh phức tạp tăng thêm trình quản lý hàng đợi thơng báo dựa kênh, cần phải có để xử lý chép Q Với chép SQL, bạn tạo cấu hình rõ bảng sở liệu mà bạn muốn chép Bạn cần chắn cập nhật cấu hình lúc bạn thực thay đổi cho cấu trúc sở liệu bạn Ngoài ra, trước thiết lập chép DB2, bạn cần đảm bảo tất bảng sở liệu có khóa mục Trong cách thực hành tốt, số sở liệu thiếu điều Hãy nhớ bảng MySQL ví dụ thiếu giá trị chúng tạo máy lưu trữ MyISAM Bản MySQL làm việc mà khơng cần khóa mục Tuy nhiên, việc chép DB2 địi hỏi có khóa mục để định danh hàng bảng Nếu bảng khơng có khóa mục nào, ghi cập nhật sở liệu vận hành xem ghi tạo ghi có cập nhật, khơng có khóa để sử dụng để tìm ghi cập nhật Chương Hướng dẫn chuyển đổi MySQL sang DB2 (xem phần Tài nguyên) trung tâm chiến lược cấu hình tạo bạn DB2 cung cấp cơng cụ sử dụng để quản lý thiết lập chép, bạn thực giải pháp tùy chỉnh dựa việc chuyển đổi ghi nhật ký Về đầu trang Bước Kiểm lại bước khởi đầu di trú sở liệu Tại thời điểm sau lần lặp lại trọn vẹn bước 1-3, mà thân chúng lại bao gồm số bước, bạn phải có hệ thống sở liệu hoạt động máy trạm Windows số ghi chép bạn thay đổi có vấn đề Nếu bạn sử dụng máy ảo, bạn lấy ảnh hệ thống Windows làm ảnh chụp, vừa để lưu trữ điểm lưu làm việc vừa để sử dụng vạch khởi đầu để so sánh thay đổi hiệu tương lai Một lựa chọn khác, tất nhiên, sử dụng ảnh ảo Đám mây IBM hay Amazon sử dụng ảnh theo cách Bạn muốn thí nghiệm số cách thực di trú khác để xem cách làm việc tốt cho môi trường bạn Một bạn hài lòng với hệ thống máy trạm Windows sử dụng bước 1-3, bạn di chuyển sở liệu đến máy chủ dành riêng, bạn thử nghiệm cập nhật cho ứng dụng PHP Phần loạt Về đầu trang Kết luận Mục đích loạt cung cấp cho bạn hiểu biết cần thiết nói chung để di trú ứng dụng PHP từ MySQL sang DB2, tài nguyên có sẵn để giúp bạn, ví dụ di trú thành công Trong phần thứ hai loạt bài, bạn:     Đã tìm hiểu sở liệu MySQL nguồn bạn chuyển đổi Đã tìm hiểu cách chuyển đổi cấu trúc sở liệu sang DB2 Đã tìm hiểu cách di trú liệu sang DB2 Đã tìm hiểu cách thiết lập quản trị sở liệu bạn Trong phần loạt này, bạn tìm hiểu cách chuyển đổi mã PHP Lời cảm ơn Các tác giả cảm ơn Leons Petrazickis Ambrish Bhargava việc xem xét góp ý kiến cho ... chung để di trú ứng dụng PHP từ MySQL sang DB2, tài nguyên có sẵn để giúp bạn, ví dụ di trú thành công Trong phần thứ hai loạt bài, bạn:     Đã tìm hiểu sở liệu MySQL nguồn bạn chuyển đổi... khảo Phần loạt để xem lịch trình bước tồn q trình di trú trước bắt đầu di trú Bước 1: Chuyển đổi cấu trúc sở liệu MySQL sang định dạng DB2      Tạo sở liệu DB2 Trích xuất cấu trúc sở liệu MySQL. .. câu lệnh WHERE để lọc số lượng liệu di chuyển Nếu bạn không muốn di chuyển bảng từ MySQL sang DB2, bạn nên loại bỏ hồn tồn khỏi tệp Nếu bạn muốn di chuyển tập liệu, bạn nên sửa đổi mệnh đề SELECT

Ngày đăng: 24/03/2014, 06:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan