Di chuyểnmộtứngdụngPHP từ MySQLsangDB2
Phần 1: Chuẩn bịchoviệcditrúcủabạ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 ứngdụ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 trên 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 để di chuyểnmộtứngdụngPHP sang DB2 lại có ý nghĩa, cách chuẩn
bị choviệcdi 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 mộtditrú 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 con trỏ đế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 sự 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ừmộtditrú MySQL-sang-DB2 thành công
cho mộtứngdụng mạng nội bộ PHP thiết 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 dungcho ibm.com.
Phần 1 mô tả các bước cần thực hiện để chuẩn bịchoviệcdi trú.
Phần 2 mô tả các bước cần thực hiện để ditrú 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à cung cấp chobạn sự hiểu biết về điều nói chung cần thiết để ditrú
một ứngdụngPHPtừMySQLsang DB2, tài nguyên nào có sẵn để 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 đã thẩm tra một sự ditrútừMySQLsang DB2, bạn có thể đã thấy giá trị mà DB2 cung
cấp dựa trên tài liệu sản phẩm, các đánh giá 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 Hướng dẫn chuyển đổi MySQLsangDB2 (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 (Phát triển nghiệp vụ thông minh) và Test on the Cloud (Thử nghiệm trên Đám
mây) của IBM hoặc Amazon EC2. Các liên kết đến các bản phát hành này có sẵn trong phần Tài
nguyên.
Loạt bài này cung cấp chobạnmột ví dụ cụ thể về cách thực hiện ditrú thực tế thành công trong
năm 2010 chomộtứngdụng mạng nội bộ PHP được sử dụng rộng rãi trong IBM để hỗ trợ quản
lý hàng ngày về nội dung được công bố trên nhiều phầncủa trang Web ibm.com.
Sau khi bạn đọc xong loạt bài này, bạn sẽ có thể tạo trường hợp chomột sự ditrú tương tự, hiểu
về việc định giờ 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ợ từng bước trên đường đi. Tất cả điều này sẽ chobạn
sự tự tin hơn để lựa chọn DB2 và làm choviệc sử dụng nó tốt nhất cho các ứngdụngPHPcủa
bạn hiện đang được phát triển trên MySQL.
Những điều không trình bày
Loạt bài này dự định chia sẻ các bài học thu được từmộtditrú nội bộ của IBM từMySQLsang
DB2 và cung cấp chobạn thông tin về tài nguyên có sẵn để thực hiện một cam kết 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ề ditrú để 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 ditrú
phần mềm) để đánh giá ditrú 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ề một nghiên cứu sâu
Nhóm ibm.com vẫn đang sử dụng PTT (Project Tracking Tool - Công cụ theo dõi dự án) hơn
bảy năm qua để hỗ trợ vòng đời thông tin mà các nhóm trong bộ phậnBán hàng và Phân phối
công bố trên ibm.com. Đây là ứngdụng mà chúng tôi đã ditrú trong một nghiên cứu sâu.
PTT đã tăng trưởng hữu cơ như một công cụ bộ phận được hỗ trợ trước hết chomột tổ chức nhỏ
trong mộtứngdụng quản lý dự án và theo dõi thời gian trên toàn cầu, phục vụ hơn 4.000 người
dùng trên toàn thế giới.
Về nhiều mặt, PTT tương tự như các công cụ mạng nội bộ khác được xây dựng trên nền tảng
LAMP (Linux, Apache, MySQL, PHP): ứngdụng web được phát triển vào một ngày cuối tuần
bởi một nhà phát triển nhiệt tình, người đã thấy một nhu cầu nghiệp vụ cấp thiết cho giải pháp đã
được chấp nhận và được phát triển nhanh chóng để hỗ trợ nhiều yêu cầu mới khi cộng đồng
người dùngcủa nó đã phát triển. Tuy nhiên, nhiều đặc tính, làm cho nó trở nên phổ biến và rất có
ích lúc ban đầu, đã đặt ra các thách thức sau này.
Động lực để ditrú
Trong khi ứngdụng đã phục vụ rất tốt cho các bên liên quan của nó về hiệu năng và sự đáp ứng
với việc thay đổi các nhu cầu, thì nghiệp vụ lõi bắt đầu củng cố thành một quá trình đầu cuối đến
đầu cuối chiến lược, mạnh mẽ và hoàn thiện. Với mốc này, chính ứngdụng đã có một tập các
yêu cầu rõ ràng, các cách thực hành tốt nhất đã qua thử thách về quản lý dòng công việc, và dữ
liệu mà nó đã chứa đã phát triển về cả khối lượng lẫn giá trị. Tóm lại, PTT đã đạt đến một khối
lượng tới hạn mà ở đó nó không chỉ còn là mộtứngdụng tình huống tiện lợi, mà nó là mộttrụ
cột để xây dựng nghiệp vụ lõi của tổ chức của chúng ta.
Ngoài ra để làm cho PTT có ích hơn và mạnh mẽ hơn cho các hoạt động hàng ngày của tổ chức,
đã cần có một sự thay đổi kiến trúc lớn hơn để tích hợp tốt hơn PTT với hệ sinh thái các dịch vụ
và các nguồn dữ liệu web mà nó đã tương tác. Để hỗ trợ cho thiết kế hệ thống nâng cấp này, một
SOA (kiến trúc định hướng dịch vụ) toàn diện đã được xây dựng xung quanh PTT và một công
cụ thông minh nghiệp vụ mới đã được chọn để trợ giúp sử dụng dữ liệu trong PTT nhằm nâng
cao hơn nữa hiệu quả hoạt động.
Động lực chính của chúng ta để ditrútừMySQLsangDB2 được thể hiện trong Bảng 1. Thứ tự
của các động lực này được đặt theo tầm quan trọng tương đối của chúng với các bên liên quan
của chúng ta.
Bảng 1. Danh sách các lợi ích và các động lực dự kiến
Lợi ích Giải thích
Tầm
quan
trọng
Hiệu năng và
khả năng tương
thích của công
cụ đo
Khối lượng dữ liệu của chúng ta đã tràn ngập công cụ đo của máy tính
để bàn Hyperion Brio của mình. Sự thay thế mà chúng ta xác định để
giải quyết vấn đề, Cognos®, đã chỉ tương thích với DB2 trên Linux
(MySQL chỉ được hỗ trợ trên Windows b
ằng cách sử dụng ODBC). Để
đưa ra các quyết định thông minh hơn đúng lúc, chúng ta cần di trú.
Quan
trọng
Khả năng tương
thích củaphần
mềm trung gian
của IBM
Để hỗ trợ một SOA, chúng ta cũng đã xem xét khả năng tương thích
tiềm năng với các công cụ và các ứngdụng khác trong danh mục đầu t
ư
của IBM, ví dụ như FileNet® để quản lý sản xuất nội dung và ILOG
JRules sắp đặt cẩn thận quy trình nghiệp vụ của chúng ta.
Cao
Chuyên gia DB2
có sẵn
Trong khi nhóm làm việc đã gom lại được rất nhiều kinh nghiệm về
MySQL, thì tài liệu, kinh nghiệm, và sự h
ỗ trợ củaDB2 cũng rất phong
phú trong IBM. Chúng ta cũng bắt đầu thấy có nhiều kinh nghiệm hơn
về DB2 trong cộng đồng học thuật, những người đã tăng cường nguồn
nhân viên hỗ trợ ứng dụng.
Cao
Toàn vẹn dữ liệu
Các bảng cơ sở dữ liệu MySQLcủa chúng ta thường dựa trên máy
MyISAM không giao tác. Dựa vào giá trị gia tăng và khối lượng giao
dịch hàng ngày, sự dichuyển theo hướng các giao dịch, các thủ tục đã
lưu và các tri gơ là rất quan trọng để cải thiện tính toàn vẹn và quản trị
dữ liệu. Trong khi MySQL cung cấp nhiều tính năng n
ày trong các máy
lưu trữ thay thế, các tính năng củaDB2 đã hoàn thiện hơn.
Cao
Lưu trữ các tùy
chọn trên máy
chủ và chi phí
Chúng ta hiện lưu trữ trên máy chủ ứngdụngcủa mình bên trong trung
tâm dữ liệu của riêng của chúng ta. Trong trường hợp chúng ta quyết
định ditrúsangmột nhà cung cấp dịch vụ lưu trữ trên máy chủ IBM
thay thế, hoặc sử dụng các hình ảnh máy chủ Đám mây của IBM đã
cấu hình sẵn, chúng ta sẽ cần phối hợp với một lư
ợc tả qua thử nghiệm,
phổ biến để giữ cho các chi phí hỗ trợ của chúng ta thấp.
Trung
bình
Chi phí cấp giấy
phép
Bản hỗ trợ doanh nghiệp củaMySQL có giá 600 đến 5.000 Đô la Mỹ
mỗi năm từ Oracle. Là nhân viên của IBM, chi phí cấp giấy phép của
DB2 không thành vấn đề. Các khách hàng bên ngoài có thể nhận được
một giấy phép hỗ trợ DB2 Express thấp hơn so với những gì Oracle đề
xuất. Chi phí giấy phép có thời hạn cố định củaDB2 khoảng 2.000 Đô
la Mỹ.
Thấp
Tất nhiên có những lợi ích khác cần xem xét, thường rất hấp dẫn để ditrú DB2, bao gồm những
điều sau đây:
Tự điều chỉnh và cấu hình
Khả năng mở rộng rất lớn
An toàn rất cao
Lưu trữ XML nguyên gốc
Nén dữ liệu
Những xem xét này thường không phải là quan trọng nhất cho các mục tiêu nghiệp vụ của chúng
ta về thời gian di trú.
Đánh giá phân tích chi phí-lợi ích
Trong đánh giá ditrúcủa chúng ta, chúng ta đã xác định được một số ít các rủi ro đòi hỏi các
chiến lược ditrú để thực hiện mộtditrú thành công. Trong tất cả các kế hoạch di trú, cần phải
phân tích hiện trạng khách quan như là một giải pháp khả thi cho câu hỏi về có ditrú hay không.
Những lợi ích mà bạn theo đuổi còn quan trọng hơn những tác động rủi ro tiềm năng mà bạn xác
định trong ngữ cảnh củaứngdụng hay trang web riêng của bạn.
Bảng 2 mô tả một số rủi ro có xác suất cao nhất và có tác động cao nhất mà chúng ta đã xác định
trong việc thực hiện di trú, cùng với một chiến lược giảm nhẹ.
Bảng 2. Danh sách các rủi ro chống lại việcditrú và các chiến lược giảm nhẹ
Rủi ro Mô tả Giảm nhẹ
Đưa vào các lỗi
cho một cơ sở m
ã
và cấu trúc cơ sở
dữ liệu ổn định
Chúng ta đã sản xuất mộtứngdụng ổn định và
tùy chỉnh rất cao qua gần tám năm thay đổi các
yêu cầu. Trong khi ứngdụng này chưa hoàn hảo
và thụt lùi thì các lỗi đôi khi vẫn xảy ra khi th
êm
vào các tính năng mới, ứngdụng khá ổn định và
được các bên liên quan của chúng ta hỗ trợ khá
tốt.
Ghi lại cẩn thận chức năng
quan trọng và sử dụng nó để
chuẩn bị thử nghiệm đơn vị,
thành phần và thử nghiệm
được người dùng chấp nhận.
Thay đổi cơ s
ở hạ
tầng phần cứng
và phần mềm
trung gian hiện
có
Việc ditrú sẽ là một sự thay đổi đáng kể đối với
việc sao lưu hiện tại và kiến trúc sao chép.
Hiểu biết về khả năng mà n
ền
tảng mới cần và tạo ra một c
ơ
sở hạ tầng mới để phối hợp
hoặc vượt quá nó.
Chuyển hướng t
ài
Với nhiều tài nguyên đang tiếp tục tác động tới Thực hiện việcditrú vào m
ột
nguyên từ phát
triển tính năng
mới sangditrú
cơ sở hạ tầng
sự đầu tư cơ sở hạ tầng này, chúng ta sẽ có ít
thời gian hơn để dành cho các tính năng mới.
Với sự hoàn thiện củaứngdụng theo quan điểm
chức năng, điều này không phải là m
ột mối quan
tâm chính.
thời điểm trong năm khi
doanh nghiệp không sử dụng
hệ thống như mọi khi hoặc
không cần phát triển các tính
năng quan trọng mới.
Bảng 3 cho thấy một danh sách các rủi ro với tác động có thể xảy ra cao, mà chúng ta thường đã
phải giảm nhẹ, khi chúng ta vẫn ở lại MySQL.
Bảng 3. Danh sách các rủi ro chống lại việcditrú
Rủi ro Mô tả
Không có khả
năng tối đa hóa
tính linh hoạt
nghiệp vụ
Không có một công cụ đo hiệu năng cao để điều khiển khả năng hiểu biết
nghiệp vụ và hiệu quả hoạt động của mình, chúng ta sẽ giảm ngày càng nhiều
hơn ở phía sau khi quá trình ra quyết định và tạo báo cáo của chúng ta đã tăng
thêm mỗi ngày với việc tăng các khối lượng dữ liệu.
Mối đe dọa ngày
càng tăng đối với
tính toàn vẹn dữ
liệu
Trong khi MySQL không cung cấp một máy lưu trữ giao tác, thì
ứng dụngcủa
chúng ta được xây dựng trên kiểu bảng MyISAM trọng số-nhẹ hơn. Một sự di
trú đến máy lưu trữ giao tác hoặc đến một nhà cung cấp máy chủ dữ liệu khác
nhau là rất quan trọng để cải thiện tính toàn vẹn và quản trị dữ liệu.
Độ tin cậy hỗ trợ
của Oracle
Với việc mua lại Sun của Oracle trong năm 2009, sự hỗ trợ choMySQL trong
tương lai đã phát triển không chắc chắn. Ngoài ra, Oracle đã mua công cụ đo
Hyperion Brio vào năm 2007.
Bằng cách xác định cẩn thận các rủi ro, đánh giá các lợi ích và sử dụng có hiệu quả tài nguyên,
như các công cụ và tài liệu có sẵn dành cho chúng ta, chúng ta đã tin chắc rằng đây là một sự đầu
tư đáng giá về thời gian và tài nguyên của chúng ta.
Về đầu trang
Dựa vào kiến thức của thành viên trong nhóm
Khi chúng ta quyết định di trú, chúng ta bắt đầu lên kế hoạch các mục công việc, hiểu các phụ
thuộc và lịch trình của chúng và phân bổ tài nguyên. Chìa khóa cho nỗ lực này là thu thập kiến
thức của thành viên trong nhóm về DB2, tạo danh mục các tài liệu tham khảo ditrú và hợp nhất
các bài học từ công việcditrú trước đây. Chúng ta cũng đã đánh giá các công cụ ditrútự động
hoặc các môi trường phát triển khác có thể giúp tăng tốc các nỗ lực ditrúcủa chúng ta.
Ngoài việcditrúứng dụng, chúng ta đã lập kế hoạch thay đổi cơ sở hạ tầng phần mềm và phần
cứng cần thiết và chúng ta đã xác định liệu chúng ta có thực hiện bất kỳ các cải tiến khác vào cơ
sở hạ tầng PHPcủa chúng ta nằm ngoài thay đổi tầng dữ liệu không.
Với những nỗ lực ban đầu này đang thực hiện, chúng ta đã có thể đưa ra một kế hoạch dự án khá
chính xác.
Dựa vào kiến thức của thành viên trong nhóm về DB2
Vì nhóm của chúng ta hỗ trợ các ứngdụng khác với PTT, nên nhiều thành viên trong nhóm đã có
kiến thức cơ bản về DB2, là nền tảng cơ sở dữ liệu được sử dụng phổ biến nhất của chúng ta so
với các công cụ khác. Đối với những người mới dùng DB2, các tài liệu giới thiệu sau là các điểm
bắt đầu có ích để tìm hiểu sản phẩm, như được chỉ ra trong phần Tài nguyên.
Danh sách khuyến nghị đọc: DB2choviệc phát triển ứngdụng Linux, UNIX, và
Windows trên developerWorks.
Danh sách khuyến nghị đọc: DB2choviệc quản trị cơ sở dữ liệu Linux, UNIX, và
Windows trên developerWorks.
Tìm hiểu về DB2, Học trực quan với Các ví dụ, do IBM Press xuất bản.
Bộ dụng cụ điện tửDB2của IBM dành cho các chuyên gia cơ sở dữ liệu từ
developerWorks
Bạn có thể thấy rằng càng học chính quy, ví dụ như các lớp có người hướng dẫn, càng có ích
hơn. Xem Tài nguyên để biết thêm chi tiết.
Dựa vào kiến thức của thành viên trong nhóm về ditrú
Có rất nhiều thông tin về ditrú với phần mềm IBM từ các máy chủ ứng dụng, máy chủ dữ liệu
và các hệ điều hành khác. Đặc biệt, các Sách Đỏ IBM cung cấp một loạt các hướng dẫn di trú.
Nguồn thông tin chính của chúng ta là Hướng dẫn chuyển đổi MySQLsangDB2 mới được sửa
lại (xem Tài nguyên). Hướng dẫn miễn phí này đã được làm mới vào tháng 12 năm 2009 khi
chúng ta bước đầu lập kế hoạch ditrúcủa mình. Hướng dẫn này được dùng làm nguồn thông tin
di trú MySQL-sang-DB2 chính của chúng ta.
Để thu thập thông tin ditrú cụ thể của PHP, chúng ta xem Sách Đỏ IBM khác, Phát triển ứng
dụng PHPcho các máy chủ dữ liệu IBM và những kinh nghiệm mà một trong các tác giả đã học
được trong quá trình ditrúchomộtứngdụng tốt nhất củamột nhà cung cấp phần mềm độc lập.
Các quan sát của Daniel Krook được đăng trong bài viết trên blog của ông có tên là Viết SQL cho
cả hai MySQL và DB2 (xem phần Tài nguyên). Chúng ta cũng đã đề cập đến danh sách khuyến
khích đọc và tài liệu hướng dẫn sản phẩm DB2 khác.
Dựa vào vào kinh nghiệm của mình với DB2từ các dự án khác, chúng ta đã không tham gia Văn
phòng dự án ditrúphần mềm-SMPO (xem phần Tài nguyên), mặc dù đây có thể là một tùy chọn
thích hợp cho các dự án ditrú khác. Họ có thể thực hiện đánh giá kịch bảnditrúcủabạn miễn
phí.
Về đầu trang
Đánh giá các công cụ ditrú
Tìm hiểu, thí nghiệm, phát triển và thử nghiệm trên Đám
mây của IBM
Vào thời điểm ditrúcủa chúng ta, nền tảng IBM Smart Business Development and Test on the
IBM Cloud (Phát triển nghiệp vụ thông minh của IBM và Thử nghiệm trên Đám mây của IBM)
vẫn còn là một phiên bản beta công cộng miễn phí. Chúng ta đã có thể tìm hiểu thực hành DB2
và thí nghiệm với các hình ảnh máy chủ DB2 có cấu hình sẵn không có nguy cơ trên đám mây
này. Bây giờ IBM Smart Business Development và Test on the IBM Cloud là một nền tảng mức
doanh nghiệp để rút ngắn thời hạn ditrúứngdụng và nó cũng có thể được sử dụng để nhanh
chóng thu được kinh nghiệm với DB2. Nếu hiện nay chúng ta vẫn cố gắng di trú, đám mây này
vẫn sẽ là mộtphần chủ yếu của cơ sở dữ liệu và chiến lược ditrúứngdụngcủa chúng ta.
Bạn có thể tìm hiểu thêm về các gói phần mềm và các khả năng kỹ thuật của đám mây này trên
các tùy chọn dịch vụ.
Sau khi chúng ta đã hiểu rõ các nhiệm vụ chung liên quan đến một sự di trú, đây là lúc đánh giá
một số công cụ tự động thường làm tăng tốc độ ditrúcủa chúng ta. Có một số đường dẫn đến
một ditrú MySQL-sang-DB2 thành công và chúng ta đã xác định đường dẫn nào sẽ làm việc tốt
nhất cho chúng ta. Chúng ta quyết định sử dụng DMT (Data Movement Tool - Công cụ di
chuyển dữ liệu) và RSA (Rational® Software Architect-Kiến trúc sư phần mềm Rational) của
IBM. Có thể sử dụng các công cụ khác, gồm InfoSphere™ Data Architect (Kiến trúc sư dữ liệu
InfoSphere) và Optim™ Development Studio (Xưởng phát triển Optim), để mô hình hóa dữ liệu
và để phát triển thủ tục. Nhưng chúng ta chọn các công cụ của chúng ta dựa trên sự đơn giản của
chúng và dựa trên sự hiểu biết của chúng ta với các công cụ Rational.
Data Movement Tool của IBM
Tự động xuất khẩu DDL, chuyển dịch đối tượng cơ sở dữ liệu, và dichuyển dữ liệu.
Công cụ này thay thế Bộ công cụ ditrú cũ hơn với một dòng công việc đơn giản hơn.
Rational Software Architect
Trình bày chi tiết mô hình hóa dữ liệu trực quan, kỹ thuật dịch ngược và chỉnh sửa. Công
cụ này cũng có thể được sử dụng để tạo các khung nhìn, các thủ tục đã lưu, các hàm do
người dùng định nghĩa và các tri gơ.
Về đầu trang
Đánh giá phần cứng, phần mềm trung gian và ditrúứngdụng
Ngoài những lý do ditrúphần mềm ứng dụng, chúng ta cũng đã lợi dụng cơ hội để thực hiện
nâng cấp phần cứng và chính thức hóa các môi trường phát triển và sản xuất PHPcủa chúng ta.
Chúng ta đã sử dụngtừ trước phần cứng dựng sẵn và được cấu hình tùy chỉnh và muốn chuyển
sang phân phối mã PHP nhị phân đóng gói sẵn và có hỗ trợ với một giao diện người dùng đồ
họa. Zend Server (Máy chủ Zend) cung cấp cho chúng ta các khả năng lưu trữ trong bộ nhớ
nhanh, giám sát và các khả năng cấu hình khác, ngoài việc đơn giản hóa các nâng cấp mở rộng
PHP của chúng ta. Zend Server cũng thực hiện một bước theo hướng đến một mô hình hướng-
đối tượng, khung nhìn và kiến trúc của bộ điều khiển (MVC), sử dụng các thư viện PHP đã qua
thử nghiệm do nó có Khung công tác Zend (Zend Framework) mạnh mẽ.
Về đầu trang
Đề ra một kế hoạch dự án
Sau khi thu thập các tài liệu, xác định các mục công việc cần thực hiện, định thời gian cho
chúng, và xác định các phụ thuộc của chúng, chúng ta đã tạo ra một kế hoạch dự án để xác định
thời gian và tài nguyên cần thiết. Bảng 4 cho thấy kế hoạch mức cao của chúng ta.
Chúng ta đã đánh giá rằng khoảng thời hạn của dự án khi được thực hiện bởi một nhóm gồm 1
kiến trúc sư, 2 nhà phát triển và một nhà quản lý dự án sẽ mất khoảng 3 tháng để ditrú 150 bảng,
10 GB dữ liệu và hàng trăm các tệp PHP.
Bảng 4. Kế hoạch dự án mức cao về ditrúMySQLsangDB2
Giai đoạn Nhiệm vụ Giờ
Chuẩn bị
Tạo một danh sách các nhiệm vụ và các đánh giá 16
Lập kế hoạch, thu thập và thực hiện các yêu cầu kiến thức 48
Thực hiện đánh giá ứngdụng và lập kế hoạch hệ thống 64
Chuyển đổi cấu
trúc cơ s
ở dữ liệu
Đánh giá các tính năng DB2 mới để thông qua 16
Xác định phạm vi cấu trúc dữ liệu để ditrú 16
Chuyển đổi DDL cơ sở dữ liệu từMySQLsangDB2 40
Tạo cơ sở dữ liệu và các đối tượng DB2 24
Di trú dữ liệu
Xem lại phạm vi dữ liệu cần di trú. 8
Di trú dữ liệu 40
Di trú các quyền hạn 8
Cập nhật ứng
dụng
Chuyển dịch các câu lệnh SQL 32
Thực hiện các tùy chọn đồng thời và con trỏ mới 16
Thực hiện các giao dịch, các hàm do người dùng định nghĩa, các thủ tục
đã lưu
16
Chuyển đổi các tên và các tham số hàm cơ sở dữ liệu 40
Xác định các phần mã ở đó các tính năng không sắp đặt chính xác và đề
ra các cách giải quyết khác
32
Thi
ết lập quản trị
cơ sở dữ liệu
Xác nhận các công cụ ưa thích, dù là dòng lệnh hay giao diện người
dùng đồ họa
8
Sắp xếp và chuyển dịch các thủ tục sao lưu 16
Sắp xếp và chuyển dịch các thủ tục sao chép 16
Thực hiện bất kỳ các quy tắc duy trì dữ liệu tự động nào 16
Thử nghiệm và
điều chỉnh
Tạo các bài thử nghiệm được người dùng chấp nhận dựa trên chức năng
hiện có
16
Xác định vị trí nghẽn cổ chai hiệu năng và thực hiện bất kỳ thay đổi
logic nào trong ứngdụng
24
Làm việc với Cố vấn thiết kế (Design Advisor), Trình giám sát hiệu
năng (Performance Monitor) và C
ố vấn chỉ mục (Index Advisor) để điều
32
chỉnh cơ sở dữ liệu
Triển khai
Xác nhận rằng mô đun PHP và các môi trường lưu trữ trên máy chủ
được cấu hình đúng
24
Hoàn thành thử nghiệm tích hợp và sự chấp nhận của người dùng 40
Đang thực hiện
hỗ trợ
Xác nhận chức năng đang thực hiện như dự kiến 16
Đáp ứng với các cảnh báo sức khỏe của cơ sở dữ liệu 16
Giải quyết các vấn đề hiệu năng do những người dùng ghi lại 24
Về đầu trang
Đặt tất cả lại với nhau
Một khi chúng ta đã hiểu công việc cần được thực hiện và thời hạn cho dự án của mình, chúng ta
đã phối hợp tài nguyên có sẵn cho chúng ta tùy ý sử dụng theo bốn giai đoạn trong dự án của
mình. Bảng 5 nối từng giai đoạn tuần tự đã được thực hiện lặp lại với các ấn phẩm, các công cụ
và các cơ sở hạ tầng có sẵn cho chúng ta. Bốn giai đoạn này cũng tương ứng với bốn phầncủa
loạt bài này.
Bảng 5. Các giai đoạn và tài nguyên choviệcditrú
Giai đoạn Tài nguyên
Preparation
Các sách của nhà xuất bản IBM
SMPO
Bộ dụng cụ điện tửcho các chuyên gia DB2
Các danh sách khuyến khích đọc
Phát triển nghiệp vụ thông minh của IBM và Thử nghiệm trên Đám mây
của IBM
Di trú dữ
liệu
Công cụ ditrú dữ liệu
Rational Software Architect
Bộ dụng cụ điện tửcho các chuyên gia DB2
Các danh sách khuyến khích đọc
Phát triển nghiệp vụ thông minh của IBM và Thử nghiệm trên Đám mây
của IBM
Di trú mã
Các tài liệu về mở rộng PHP
Sách Đỏ PHP
Kinh nghiệm của ISV
Các danh sách khuyến khích đọc
Phát triển nghiệp vụ thông minh của IBM và Thử nghiệm trên Đám mây
của IBM
Triển khai
Các chiến lược giảm chi phí
Loạt bài cải thiện trên developerWorks
Các danh sách đọc
Các danh sách khuyến khích đọc
Phát triển nghiệp vụ thông minh của IBM và Thử nghiệm trên Đám mây
của IBM
Hình 1 minh họa Bảng 5.
Hình 1. Sắp đặt các giai đoạn và tài nguyên choditrúMySQLsangDB2của chúng ta
. Di chuyển một ứng dụng PHP từ MySQL sang DB2
Phần 1: Chuẩn bị cho việc di trú của bạn
Giới thiệu về loạt bài này
MySQL hiện là máy. dẫn trên 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 để di chuyển một ứng dụng PHP sang DB2 lại