intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Những điểm mới và lý thú trong sản phẩm Data Studio Developer 2.1 của IBM

Chia sẻ: Nguyen Nhi | Ngày: | Loại File: PDF | Số trang:40

69
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Thấu hiểu ứng dụng hơn và tăng năng suất Sonali Surange, Trưởng nhóm Các công cụ pureQuery của Data Studio, IBM Zeus Courtois, Kỹ sư phần mềm, IBM Tóm tắt: Khám phá sản phẩm IBM® Data Studio Developer 2.1 sẽ giúp đỡ bạn hiểu tốt hơn các ứng dụng cơ sở dữ liệu của mình như thế nào. Thấy được cách triển khai mới của Data Studio Developer có thể cải thiện năng suất của bạn và tăng cường sự hợp tác giữa các chuyên viên phát triển và các quản trị viên cơ sở dữ liệu như thế nào....

Chủ đề:
Lưu

Nội dung Text: Những điểm mới và lý thú trong sản phẩm Data Studio Developer 2.1 của IBM

  1. Những điểm mới và lý thú trong sản phẩm Data Studio Developer 2.1 của IBM Thấu hiểu ứng dụng hơn và tăng năng suất Sonali Surange, Trưởng nhóm Các công cụ pureQuery của Data Studio, IBM Zeus Courtois, Kỹ sư phần mềm, IBM Tóm tắt: Khám phá sản phẩm IBM® Data Studio Developer 2.1 sẽ giúp đỡ bạn hiểu tốt hơn các ứng dụng cơ sở dữ liệu của mình như thế nào. Thấy được cách triển khai mới của Data Studio Developer có thể cải thiện năng suất của bạn và tăng cường sự hợp tác giữa các chuyên viên phát triển và các quản trị viên cơ sở dữ liệu như thế nào. Hãy theo các kịch bản trong bài báo này và trải nghiệm cách sử dụng Data Studio Developer 2.1 để làm được nhiều hơn, dễ dàng hơn và hiểu thấu công việc hơn. . Giới thiệu Một số lợi ích chủ yếu của bản phát hành mới của Data Studio Developer gồm: Cho bạn nhiều thông tin hơn để tập trung vào các nỗ lực tinh chỉnh SQL  của mình. Cải thiện chất lượng dịch vụ cho OpenJPA và cho các ứng dụng . NET.  Có cái nhìn thấu hiểu hơn vào bên trong những ứng dụng Java có sử dụng  SQL. Giúp bạn cải thiện năng suất và sự hợp tác giữa các chuyên viên phát triển  và các quản trị viên cơ sở dữ liệu. Bạn sẽ có khả năng để giảm bớt hay loại trừ nguy cơ “mũi tiêm SQL” (SQL  injection) cho các ứng dụng cơ sở dữ liệu với Java. Một số điều kiện cần có trước để chạy các kịch bản thực hành Bạn cần phải cài đặt các sản phẩm sau để thử các kịch bản bên dưới :
  2. Data Studio Developer 2.1  DB2® cho Linux®, UNIX® và Windows® -– DB2 Express-C làm việc rất  tốt Cơ sở dữ liệu mẫu của DB2 đi cùng với sản phẩm này.  Cung cấp cho các chuyên viên phát triển nhiều thông tin hơn để tập trung vào các nỗ lực tinh chỉnh SQL. Nhận diện các câu lệnh SQL và tần số thực thi của chúng Các công cụ định hình hiện tại giúp cho bạn nhận diện phương thức Java™ nào trong ứng dụng cần nhiều thời gian nhất để chạy. Với Data Studio Developer 2.1 bạn có thể thâm nhập xuống sâu hơn, thậm chí thấy được các số đo hiệu năng của các phương thức Java mà có chứa lệnh gọi tới cơ sở dữ liệu. Dù bạn sử dụng pureQuery, JDBC hay khung công tác khác, bạn cũng có thể xác định được thời gian chạy của từng câu lệnh SQL trong ứng dụng của bạn, chúng chạy bao nhiêu lần và thời gian chạy tối đa, tối thiểu và trung bình là bao nhiêu. Hãy thử các bước đơn giản sau trên Data Studio : Hiểu các số đo về thực thi câu lệnh SQL trong pureQuery Cửa sổ chính pureQuery cho thấy thông tin sau về mỗi câu lệnh SQL mà ứng dụng đã chạy : Số lần mà SQL đã chạy - Số lần chạy  Tổng cộng các thời gian chạy mỗi lần của lệnh SQL - Thời gian tổng cộng  Thời gian dài nhất mà lệnh SQL đã một lần từng chạy - Thời gian tối đa  Trung bình các thời gian mà lệnh SQL chạy mỗi lần - Thời gian trung bình  Thời gian ngắn nhất mà lệnh SQL đã một lần từng chạy - Thời gian tối  thiểu Bạn có thể sử dụng thông tin này để xác định những câu lệnh SQL nào sẽ được lợi từ tối ưu hóa và xác định các vấn đề của lệnh SQL. Bạn cũng có thể sử dụng thông
  3. tin đó để xác định những câu lệnh SQL được thực hiện thường xuyên đến mức độ nào. 1. Tại cửa sổ, bạn nhấn Data Management > Data Source Explorer (tr ước đây là Database Explorer). Tạo một kết nối tới cơ sở dữ liệu mẫu và đặt tên kết nối là SAMPLE. 2. Tạo ra một dự án Java và đặt tên là myDSDPrj. 3. Tải và sao chép các tệp TutMod.java và Util.java vào gói db2jcc.example. Tệp tin này là ứng dụng JDBC đơn giản hiện có mà bạn sẽ sử dụng để chạy nhiều kịch bản. 4. Để thêm sự hỗ trợ pureQuery vào dự án : 1. Nhấn phím phải chuột trên dự án và chọn pureQuery -> Add pureQuery support. 2. Chọn SAMPLE và thêm lược đồ thích hợp để cấp tên đủ phân biệt cho bảng STAFF của bạn. 3. Tại hình ở dưới, lược đồ là SSURANGE. 4. Đánh dấu chọn hộp Enable SQL capturing and binding for JDBC applications
  4. Hình 1. Thêm hỗ trợ pureQuery Lưu ý bây giờ bạn có khả năng mạnh hơn nhiều khi xác định một lược đồ mặc định để cấp tên đủ phân biệt cho các bảng và khung nhìn. Sử dụng widget đường dẫn mặc định mới để cấp tên đủ phân biệt cho các thủ tục thường lệ (routine) có tên chưa đủ phân biệt của bạn. 5. Để thu thập các số đo hiệu năng, hãy chạy ứng dụng bằng cách sử dụng cấu hình pureQuery : 1. Đặt lược đồ để cấp tên đủ phân biệt cho bảng STAFF trước khi chạy ứng dụng. Để làm điều này, bạn mở TutMod.Java, tìm tới dòng 66 và thay đổi giá trị SSURANGE thành tên lược đồ của bạn và lưu tệp stmt.execute("set current schema SSURANGE"); 2. . Sử dụng cấu hình pureQuery để chạy ứng dụng bằng cách mở tệp TutMod.java, rồi nhấn phím phải chuột trên tệp và chọn Run -> Run Configurations.
  5. 3. Chọn pureQuery và cung cấp các thông tin cho tên cơ sở dữ liệu, máy chủ, cổng , ID người dùng và mật khẩu (Hình 2) và nhấn Run. 4. SQL được thực hiện và thông tin hiệu năng được thu thập lại.
  6. Hình 2. Chạy ứng dụng để thu thập các số đo của SQL 6. Để xem các thông tin hiệu năng:
  7. 1. Nhấn chuột phải trên tệp myDSDPrj và chọn Show pureQuery outline 2. Trong cửa sổ chính pureQuery, nhấn vào nút Toggle Profile 3. Mở rộng dự án myDSDPrj và bạn có thể nhìn thấy thông tin hiệu năng của mỗi câu lệnh SQL. Ví dụ, hình ở dưới cho thấy câu lệnh SELECT được chạy 2 lần với tổng thời gian là 270 ms. Hình 3. Các số đo thời gian thực hiện của SQL Câu lệnh SELECT được chạy thường xuyên hơn và ứng dụng có lẽ đã được lợi bởi việc tối ưu hóa câu lệnh SQL này. Tinh chỉnh và tối ưu hóa ứng dụng của bạn mà không thay đổi mã Nếu bạn đang chạy trên DB2 cho z/OS Optimization Expert của DB2 cho z/OS có thể cung cấp lời khuyên để cải thiện hiệu năng một câu lệnh SQL như thế nào. Với phiên bản sắp tới của Optimization Expert, bạn có thể thật sự chia sẻ với Data Studio Developer, vì vậy bạn sẽ có khả năng sao chép câu lệnh SQL từ bộ biên tập XML của pureQuery đến Optimization Expert và sau đó sao chép câu lệnh tương đương đã được tối ưu hóa vào lại bộ biên tập.
  8. Một khi bạn nhận diện được lệnh SQL có vấn đề, bạn cần tối ưu hóa nó. Đối với các ứng dụng đang sử dụng thực tế hay các ứng dụng được đóng gói bạn có thể không có khả năng để thay đổi mã nguồn ứng dụng, nhưng bạn vẫn muốn có khả năng thay đổi câu lệnh SQL được sinh ra. Ví dụ, bạn muốn thay đổi các SQL để tận dụng một chỉ mục mới bổ sung, để giới hạn số hàng được trả về, hay để thêm một mệnh đề ORDER BY rất cần thiết. Data Studio Developer 2.1 cung cấp một bộ biên tập được kiểm soát để cho bạn thay thế câu lệnh SQL hiện hữu được phát sinh từ ứng dụng bằng một câu lệnh tương đương và hy vọng là tốt hơn. Bộ biên tập tự động làm cho có hiệu lực sự tương đương câu lệnh và không công nhận các câu lệnh không tương đương. Thực hiện các bước đơn giản sau tại nơi cài đặt Data Studio Developer của bạn : Soạn tệp XML pureQuery bằng cách sử dụng bộ biên tập XML pureQuery Khi bạn thay thế một câu lệnh SQL hiện hữu, thì câu lệnh thay thế đó phải tương thích với câu lệnh hiện hữu, nghĩa là phải có cùng số lượng tham số, cùng các kiểu tham số và cùng dạng tập hợp kết quả, nếu có. Nếu SQL được thay thế không tương thích hay có những lỗi không hợp thức (cú pháp hay ngữ nghĩa), bộ biên tập sẽ cho thấy các lỗi và bạn không thể ghi lưu tệp cho đến khi bạn sửa được lỗi. Nếu muốn quay lại câu lệnh ban đầu được phát sinh từ ứng dụng, bạn sử dụng trình đơn Reset to capture statement. Hãy xóa câu lệnh SQL nếu bạn không muốn liên kết nó. 1. Tại myDSDPrj, mở rộng pureQueryFolder. Nhấn đúp trên tệp capture.pdqxml 2. Nhấn phím phải chuột trên câu lệnh SELECT ( SELECT id, name, dept, job, years, salary, comm FROM staff WHERE id = ?)và chọn Edit. Đây là câu lệnh SELECT mà bạn thấy ở Hình 3 phía trên. Chọn lược đồ mặc định để cấp tên đủ phân biệt cho bảng của bạn. Hình 4. Câu lệnh SQL hiện hữu để giảm bớt số lượng hàng được trả về
  9. 3. Bây giờ bạn có thể soạn thảo câu lệnh với SQL sau, nó tương đương nhưng trả về ít hàng hơn: SELECT id, name, dept, job, years, salary, comm FROM staff WHERE id = ? fetch first 2 rows only 4. Nhấn Save.
  10. Hình 5. Thay thế bằng câu lệnh SQL tối ưu Bây giờ khi bạn đã thay đổi SQL để trả về ít hàng hơn, chạy lại câu lệnh lần nữa và xem nó có làm nên bất kỳ sự khác biệt nào về các số đo hiệu năng chưa. 1. Chạy ứng dụng lần nữa : 1. Mở pdq.properties và tắt captureMode và thêm enableDynamicSQLReplacement as true pdq.captureMode=OFF pdq.executionMode=DYNAMIC pdq.enableDynamicSQLReplacement=TRUE . 2. Chạy ứng dụng sử dụng cấu hình pureQuery. 2. Để xem các số đo hiệu năng lần nữa, nhấn chuột phải vào myDSDPrj và chọn Show pureQuery outline 3. Hình ở dưới cho thấy câu lệnh SELECT chạy hai lần (như trước đây) nhưng với một thời gian tổng cộng là 126 ms. Bạn lưu ý rằng câu lệnh SQL mất ít thời gian hơn so với trước đây. Hình 6. Hiệu năng SQL tốt hơn sau khi thay thế bằng câu lệnh SQL tối
  11. ưu Cải thiện chất lượng dịch vụ cho OpenJPA và cho các ứng dụng .NET Xác định vấn đề và chất lượng dịch vụ trở nên dễ dàng với JPA Bây giờ bạn có thể có được kiến thức về bất kỳ SQL và JPAQL nào tạo ra bởi các ứng dụng truy nhập dữ liệu DB2 dạng JPA hiện hữu hay mới. Bạn cũng có thể sử dụng ngay SQL tĩnh mà không phải thay đổi bất kỳ mã ứng dụng nào. Nếu ứng dụng của bạn sử dụng DB2, bạn hãy sử dụng bộ phát tĩnh (wsdb2gen) trong WebSphere® Application phiên bản 7 để thu thập SQL. Đa số các lợi ích đã sẵn có mà không phải chạy các ứng dụng. Đối với các trường hợp còn lại, hãy kết hợp với tối ưu hóa phía khách. Data Studio Developer 2.1 bao gồm các hỗ trợ về công cụ để làm cho quá trình sinh gói tĩnh dễ dàng hơn. Bạn cần phải có WebSphere 7 fixpack 3. Hãy theo các bước đơn giản sau tại nơi cài đặt Data Studio Developer của bạn: 1. Thêm hỗ trợ pureQuery vào dự án JPA của bạn. 2. Thêm com.ibm.ws.jpa.jar từ nơi cài đặt WebSphere của bạn vào đường dẫn xây dựng (build path). 3. Nhấn phím phải chuột trên persistence.xml và chọn pureQuery > Generate pureQueryXml file. 4. Nhấn phím phải chuột trên project và chọn pureQuery->Show pureQuery outline.
  12. 5. Xem tất cả các CRUDs có thể phát sinh từ các thực thể, các namedQueries và namedNativeQueries từ các thực thể cũng như các tệp ánh xạ. 6. Nhấn đúp trên bất kỳ SQL nào để đi sâu vào trong mã nguồn JPA đã khởi sự truy vấn SQL. 7. Như một bước tùy chọn, bạn có thể sử dụng sự tối ưu hóa phía khách để bắt giữ các lệnh SQL mà chỉ có sẵn trong chế độ chạy thực (ví dụ các câu lệnh JPAQL động). Chạy ứng dụng của bạn với pdq.Properties captureMode được bật ON và thu thập bất kỳ JPAQL và SQL nào lưu lại từ ứng dụng của bạn. Dù ứng dụng của bạn đang sử dụng DB2 hay không, hãy tối ưu hóa ứng dụng JPA không-DB2 hiện hữu mà không thay đổi một dòng mã nào. Để thay thế SQL hiện hữu bằng một SQL tối ưu, bạn tham khảo mục Tinh chỉnh và tối ưu hóa ứng dụng của bạn mà không thay đổi mã. Tham khảo thêm hướng dẫn thực hành chuyên sâu về sự hỗ trợ của Data Studio Developer 2.1 cho JPA. Cải thiện chất lượng dịch vụ cho các ứng dụng .NET đang sử dụng SQL tĩnh Data Studio pureQuery Runtime 2.1 cung cấp hỗ trợ để cải thiện tính ổn định, tính an toàn và tính dễ điều khiển của các ứng dụng .NET, bao gồm cả những ứng dụng được viết trong bất kỳ ngôn ngữ dựa trên .Net nào ví dụ như C# và VB.Net. Bạn hãy nâng cấp ứng dụng .Net hiện hữu với những điểm nối bật về SQL này. 1. Bật chế độ bắt giữ (thành ON) trong xâu kết nối .Net captureMode = on;pureQueryXML=path/filename:collection=collName;rootpackage=pkgN ame 2. Thực hiện tất cả các kiểm thử 3. Sử dụng tiện ích DB2cap để liên kết và tạo ra các gói tĩnh từ SQL đã thu thập được 4. Cấp các quyền thực thi 5. Tắt chế độ bắt giữ (thành OFF) và đặt chế độ thực thi (executionMode) ở trạng thái STATIC trong xâu kết nối executionMode=STATIC:captureMode=OFF 6. Thực hiện tất cả các kiểm thử để kiểm tra các kết quả là đúng.
  13. Chương trình C# hay VB.Net hiện hữu của bạn bây giờ được chạy với SQL tĩnh! Thấu hiểu hơn các ứng dụng Java sử dụng SQL Hãy xem SQL nào sẽ được tạo ra mà không cần chạy ứng dụng của bạn Để sử dụng Data Studio Developer 1.2 cho các ứng dụng hiện hữu ở cửa sổ chính pureQuery, bạn đã phải chạy ứng dụng để nhìn thấy SQL đã được tạo ra và để xem nó ở chỗ nào trong mã nguồn. Với Data Studio Developer 2.1, bạn có thể tự động xem nhanh SQL trong ứng dụng của bạn mà không phải chạy ứng dụng. Bạn sẽ có khả năng nhìn thấy bất kỳ SQL được viết thành mã lệnh trong ứng dụng. Bạn có thể chạy ứng dụng để thu thập bất kỳ SQL nào còn lại. Hãy theo các bước sau tại nơi cài đặt Data Studio Developer của bạn: 1. Nhấn phím phải chuột trên myDSDPrj và chọn Show pureQuery outline. 2. Tại cửa sổ chính pureQuery, nhấn vào nút Toggle Profile 3. Chọn phiếu Database. Lưu ý rằng các câu lệnh Cập nhật và Xóa mà chưa được thực hiện, sẽ hiện ra tại cửa sổ chính. Nhấp đúp chuột vào DELETE statement để tới vị trí của nó trong tệp Java. Trong hình ở dưới, bạn có thể thấy rằng nguồn Java phát sinh lệnh DELETE là câu lệnh executeUpdate. Hình 7. Xem nhanh tự động vào trong câu lệnh SQL – Phiếu Cơ sở dữ
  14. liệu
  15. 4. Nhấn chuột vào phiếu Java. Mở rộng myDSDPrj và gói có tên là db2jcc.example. Lưu ý rằng các câu lệnh DELETE và UPDATE mà chưa được thực hiện, sẽ hiện ra trong cửa sổ chính. Lần này, bạn nhấn đúp lên câu lệnh Update và tới vị trí của nó trong tệp Java (trường hợp này sẽ tới câu lệnh JDBC được chuẩn bị sẵn). Bạn lưu ý rằng vị trí thực thi cho câu lệnh được chuẩn bị sẵn cũng được hiện ra tại lệnh executeUpdate của JDBC.
  16. Hình 8. Nhìn nhanh tự động vào trong câu lệnh SQL – Phiếu Java
  17. Nếu bạn thật sự đang chạy ứng dụng, độ chính xác của vị trí của SQL đ ược cải thiện. Hơn nũa, nó bao gồm bất kỳ SQL nào được xây dựng động. Bạn theo các bước sau tại Data Studio Developer : 1. Mở TutMod.java và xóa dấu chú thích trước lệnh gọi basicUpdate trong phương thức main. 2. Để chạy ứng dụng : 1. Mở pdq.properties đặt captureMode thành ON và thêm enableDynamicSQLReplacement thành false pdq.captureMode=ON pdq.executionMode=DYNAMIC pdq.enableDynamicSQLReplacement=false 2. Chạy ứng dụng 3. Nhấn phím phải chuột trên myDSDPrj và chọn Show pureQuery outline. 4. Nhấn vào phiếu Java. Mở rộng myDSDPrj và gói có tên db2jcc.example. Lưu ý rằng gợi ý executeUpdate, hiện ra trước đó, bây giờ được thay thế bằng câu lệnh SQL UPDATE thực tế.
  18. Hình 9. Chạy ứng dụng để có độ chính xác cao hơn – Phiếu Java Xác định SQL nào sẽ được tạo ra và được tạo ra từ đâu Trước đây, cửa sổ chính pureQuery bị hạn chế ở từng dự án riêng lẻ, vì vậy bạn có thể chỉ nhìn thấy thông tin về SQL được tạo ra từ ứng dụng của bạn ở mức từng dự án. Đối với các ứng dụng trải trên nhiều dự án bạn khó có thể có một bức tranh đầy đủ. Đóng tất cả các dự án trong không gian làm việc mà không thuộc về ứng dụng của bạn. Data Studio Developer 2.1 cung cấp cho bạn tất cả thông tin bạn cần về SQL mà ứng dụng của bạn sẽ tạo ra đối với cơ sở dữ liệu. Trước khi bạn tiếp tục, chúng ta sẽ thêm một số dự án vào ứng dụng của bạn. Data Studio Developer bây giờ cho phép bạn tạo ra mã pureQuery theo khối lớn cho nhiều bảng. Sinh mã từ dưới lên theo khối lớn
  19. Tại Data Studio Developer phiên bản 1.2, bạn chỉ có thể sinh mã cho một bảng đơn. Tại phiên bản 2.1, bạn có thể sinh mã từ dưới lên nhanh chóng hơn hơn cho nhiều bảng. 1. Tạo một dự án Java với tên là pdqBulkBottomUp. 2. Chọn bảng DEPARTMENT và EMPLOYEE, nhấn phím phải chuột và chọn Generate pureQuery code. 3. Đặt tên gói và chọn Generate annotated style . Nhấn Next.
  20. Hình 10. Sinh mã pureQuery từ hai bảng 4. Đối với bảng DEPARTMENT, chọn phiếu SQL Statements. Chọn Create row by parameters, và Create row by object như hình ở dưới. Nhấn Finish.
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2