CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Lý do chọn đề tài Sự phát triển của xã hội và nhu cầu của con người ngày một tăng đã dẫn đến thông tin và dữ liệu trở nên cực lớn, chúng được phát sinh tro
Trang 1ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC KINH TẾ LUẬT
KHOA HỆ THỐNG THÔNG TIN
THỰC TẬP TỐT NGHIỆP CHUYÊN NGÀNH HỆ THỐNG THÔNG TIN QUẢN LÝ
TÌM HIỂU NỀN TẢNG SAP HANA VÀ PHÁT TRIỂN ỨNG DỤNG MINH HỌA
Đơn vị thực tập:
Công ty TNHH SAP Asia (Vietnam)
Giáo viên hướng dẫn:
ThS Trương Hoài Phan
Trang 2Trong quá trình thực tập tại công ty, em đã được tạo điều kiện thực tập rất tốt, được hòa mình vào một môi trường làm việc năng động và chuyên nghiệp Đây là môi trường không những để em có thể học hỏi mà còn cải thiện được nhưng kỹ năng, trau dồi kinh nghiệm và tiếp nhận những giá trị thực của con đường mà em đã chọn Bên cạnh đó em còn nhận được sự hỗ trợ nhiệt tình từ các anh chị trong công ty Em xin gửi lời cảm ơn chân thành đến anh Nguyễn Hữu Dũng – giám đốc công ty, anh đã hướng dẫn em từ những bước đầu làm thủ tục thực tập cho đến nay Em cũng xin được gửi lời cảm ơn đến anh Hàn Minh Thuấn và chị Thủy Lê đã tận tình giúp đỡ em từ những ngày đầu còn bỡ ngỡ khi hòa nhập vào công ty Em xin chân thành cảm ơn các anh, chị đã mang đến cho
em những buổi traning rất ý nghĩa và giúp em giải quyết được những vấn đề khó khăn trong quá trình thực hành Đồng thời em xin cám ơn toàn thể các anh chị trong công ty
đã chia sẽ và góp ý cho em trong suốt thời gian em tìm hiểu và làm ứng dụng cho báo cáo
Để có được một nơi thực tập tốt, môi trường làm việc hiệu quả và hoàn thành tốt báo cáo, em xin chân thành gửi lời cám ơn đến Thầy chủ nhiệm – ThS Nguyễn Duy Nhất đã
Trang 3tạo cơ hội, và truyền đạt những kinh nghiệm thực tập bổ ích cho cúng em Đồng thời em cũng xin được gửi lời cám ơn trân trọng nhất đến Thạc sỹ Trương Hoài Phan – Giảng viên hướng dẫn, là người tư vấn, định hướng cho em trong suốt quá trình thực tập, theo dõi và cho em những lời khuyên thiết thực nhất Cuối cùng, em muốn gửi lời cảm ơn đến các thầy cô trong khoa đã tận tình giảng dạy và tạo điều kiện học tập tốt nhất cho chúng
em tại Khoa Hệ thống Thông tin
Tp Hồ Chí Minh, ngày 30 tháng 03 năm 2014
Sinh viên
VÕ ĐỨC HUY
Trang 4MỤC LỤC
DANH MỤC HÌNH ẢNH 6
DANH MỤC TỪ VIẾT TẮT 7
CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 8
1.1 Lý do chọn đề tài 8
1.2 Mục tiêu đề tài 10
1.3 Đối tượng và phạm vi nghiên cứu 10
1.4 Phương pháp nghiên cứu 10
1.4.1 Đối chiếu – so sánh 10
1.4.2 Chuyên gia 10
1.4.3 Khảo sát thực tế 11
1.5 Công cụ nghiên cứu 11
1.6 Thuận lợi và khó khăn 11
1.7 Cấu trúc báo cáo 12
CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG 13
2.1 Giới thiệu tổ chức 13
2.2 Mô tả quá trình thực tập 14
CHƯƠNG 3: CƠ SỞ LÝ LUẬN 15
3.1 In-Memory Computing 15
3.2 SAP UI5 15
CHƯƠNG 4 SAP HANA PLATFORM 16
4.1 SAP HANA In-Memory Database 17
4.1.1 Columnar Data Storage 18
4.1.2 Parallel Processing 20
4.2 SAP HANA Extended Application Services 21
4.3 SAP HANA-Based Applications 24
4.4 Developer Scenarios 26
CHƯƠNG 5: ỨNG DỤNG MINH HỌA 28
5.1 Lý do chọn đề tài 28
Trang 55.2 Yêu cầu đặt ra 28
5.3 Luật chơi Sudoku 29
5.4 Giải thuật Sudoku 29
5.4.1 Backtracking – Thuật toán quay lui 29
5.4.2 Suy luận 30
5.4.3 Kỹ thuật xáo trộn trong bảng Sudoku 30
5.4.4 Tạo ô Sudoku 31
5.5 Phân tích thiết kế hệ thống 32
5.5.1 Kịch bản ứng dụng 32
5.5.2 đối tượng User 34
5.5.3 User quản trị 37
5.6 Xây dựng ứng dụng 39
5.6.1 Xây dựng database 39
5.6.2 Thiết kế giao diện 42
CHƯƠNG 6: KẾ LUẬN 48
6.1 Kết quả đạt được 48
6.2 Những hạn chế 48
6.3 Hướng phát triển 49
6.4 Tổng kết quá trình thực hiện 49
Trang 6DANH MỤC HÌNH ẢNH
1 Hình 1.1 Tình trạng dữ liệu phát sinh trong doanh nghiệp 8
2 Hình 3.1 SAPUI5 trên máy tính và các thiết bị di động 15
8 Hình 4.6 Mô hình MVC ở những ứng dụng thông thường 22
9 Hình 4.7 Mô hình MVC ở những ứng dụng trên nền tảng SAP
HANA
23
11 Hình 4.9 Native SAP HANA Application development 15
12 Hình 4.10 Native SAP HANA application development with SAP
16 Hình 5.2 Quy ước đặt các khối trong bảng Sudoku 31
21 Hình 5.7 Sơ đồ trình tự của quản trị ứng dụng 40
33 Hình 5.19 Giao diện quản lý thông tin cá nhân 48
35 Hình 5.21 Giao diện trang quản lý users của quản trị viên 49
36 Hình 5.22 Giao diện quản lý lịch sử chơi game của quản trị viên 50
Trang 7DANH MỤC TỪ VIẾT TẮT
1 ADBC Acrobat Database Connectivity
10 RIA Rich Internet Applications
11 SAP HANA XS SAP HANA Extended Application Services
Trang 8CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Lý do chọn đề tài
Sự phát triển của xã hội và nhu cầu của con người ngày một tăng đã dẫn đến thông tin
và dữ liệu trở nên cực lớn, chúng được phát sinh trong quá trình hoạt động của doanh nghiệp để đáp ứng các nhu cầu xã hội và nhu cầu con người Với các hệ thống ứng dụng truyền thống trong doanh nghiệp không còn đáp ứng đủ nhu cầu lưu trữ và xử lý khối lượng dữ liệu rất lớn Thêm vào đó, sự đa dạng của dữ liệu làm xuất hiện các loại dữ liệu
có cấu trúc và không có cấu trúc dẫn đến giảm quá trình xử lý và tổng hợp dữ liệu của các DBMS truyền thống Đồng thời, nhịp sống của xã hội ngày một tăng khiến các nhà quản lý, các nhà hoạch định chiến lược đặt ra các yêu cầu về nắm bắt thông tin, tình hình hoạt động doanh nghiệp hay các hoạt động kinh doanh một cách nhanh chóng và chính xác, điều đó đã làm xuất hiện nhu cầu xử lý dữ liệu trong thời gian thực Như vậy, các doanh nghiệp đang gặp phải những thách thức lớn và cần có những hoạt động hiệu để giải quyết các vấn đề này, nhằm duy trì uy tín và sự tồn tại của mình trên thương trường đầy cạnh tranh
Trang 9Hình 1.1 Tình trạng dữ liệu phát sinh trong doanh nghiệp
Nắm bắt được những vấn đề lớn này của doanh nghiệp, các công ty công nghệ đã nghiên cứu và phát triển rất nhiều giải pháp có những đặc tính giải quyết vấn đề cao nhưng vẫn còn những gặp nhiều vấn đề phát sinh Cũng như các doanh nghiệp công nghệ khác, SAP
đã nghiên cứu và dựa vào sự phát triển vượt bậc của công nghệ phần cứng cũng như những bước tiến mới của công nghệ điện toán, họ đã tính toán và cho ra đời một nền tảng hoàn toàn mới đó là SAP HANA Với những tính năng vượt trội có thể giải quyết được các yêu cầu lớn mà doanh nghiệp đang gặp phải thì SAP HANA là một lựa chọn
mà các nhà phát triển ứng dụng lớn đang nhắm tới Điều này, đã làm cho SAP HANA
có được nhiều sự quan tâm, đáng để trở thành một đề tài để nghiên cứu và ứng dụng Với những kiến thức căn bản được trang bị cùng với mong muốn được làm việc trong lĩnh vực phát triển phần mềm và có một môi trường thử thách để hoàn thiện nên tôi lấy SAP HANA làm một đối tượng nghiên cứu và từng bước tiếp cận nền tảng tiên tiến này
Trang 10Bằng việc đi từ những khái niệm cơ bản và phát triển những ứng dụng đơn giản, tôi có thể tìm hiểu sâu hơn và có thể ứng dụng vào các mục đích phát triển thật sự mang lại hiệu quả cao cho các doanh nghiệp mong muốn
xu hướng phát triển ứng dụng hiện nay
1.3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của đề tài là nền tảng SAP HANA Sử dụng các kiến thức cơ bản
về XS Engine và SAP UI5 để phát triển một ứng dụng đơn giản
Phạm vi nghiên cứu và xây dựng ứng dụng là chỉ dừng lại ở native SAP HANA Application
1.4 Phương pháp nghiên cứu
1.4.1 Đối chiếu – so sánh
Tìm hiểu một cấu trúc nền tảng mới, một công nghệ hiện đại Cần có sự đối chiếu giữ các tính năng, công dụng, của các thành phần trong hệ thống với các hệ thống tương tự Đồng thời cần có sự so sánh để thấy được lợi ích và hạn chế của hệ thống đang nghiên cứu với các hệ thống, công cụ khác
Về phát triển ứng dụng minh họa cần có sự so sánh với ứng dụng đã có trong thực tế để
từ đó rút ra được các cải tiến cần có hay phát triển và duy trì các tính năng đã làm tốt hơn
1.4.2 Chuyên gia
Quá trình tìm hiểu và thực hiện ứng dụng minh họa với kiến thức mới và kinh nghiệm chưa cao thì cần có sự hỗ trợ từ các chuyên gia, các kỹ sư có kinh nghiệm từ doanh
Trang 11nghiệp để từ đó giải quyết được các khó khăn, cải thiện kỹ năng, kỹ thuật đồng thời rèn tính chuyên nghiệp trong sản phẩm ứng dụng
1.4.3 Khảo sát thực tế
Đề tài thực hiện một ứng dụng minh họa nhằm phục vụ cho công tác nghiên cứu hệ thống, nền tảng mới đồng thời phục vụ người dùng ứng dụng giải trí nên cần có sự tìm hiểu các ứng dụng đã có trong thực tế và tìm hiểu như cầu của người dùng để từ đó đáp ứng được xu thế và mong muốn của người dùng
1.5 Công cụ nghiên cứu
Nhập môn cơ sở dữ liệu và hệ quản trị cơ sở dữ liệu Oracle:
Sử dụng các kiến thức cơ bản của một DBMS để có thể dễ dàng tiếp cận và thấu hiểu các kiến thức mới về cấu trúc của một DBMS mới
Vận dụng để thực hiện các xử lý, truy xuất và quản trị cơ sở dữ liệu cho ứng dụng
minh họa
Phân tích thiết kế hệ thống thông tin:
Vận dụng vào việc phân tích và thiết kế hệ thống cho ứng dụng minh họa
Kỹ thuật lập trình
Sử dụng các kiến thức lập trình và kinh nghiệm thực hiện các đồ án môn học vào việc nắm những kiến thức lập trình mới
Làm nền tảng để tiếp thu ngôn ngữ và mô hình lập trình mới
Lập trình Web kinh doanh
Làm nền tảng để tiếp phát triển ứng dụng minh họa
Nắm được cấu trúc và kiến trúc của ứng dụng web
Có kiến thức về HTML, CSS, JavaScript, Jquery để thực hiện ứng dụng minh họa
1.6 Thuận lợi và khó khăn
Thuận lợi: Đã nắm được các kiến thức từ các môn học và có thể vận dụng vào việc tìm
hiểu chuyên sâu một cách nhanh chóng Có thể dễ dàng hiểu các tài liệu chuyên ngành
Trang 12và tiếp cận tốt với các ví dụ/demo Có kiến thức để giao tiếp và trao đổi với các chuyên gia, người hướng dẫn để nhờ sự giúp đỡ và tiếp thu từ sự giúp đỡ
Khó khăn:
Các kiến thức được học chỉ mang tính tổng quát và dàn trải Để áp dụng vào thực
tế cần mất thời gian nâng cao kiến thức
Ngoại ngữ về vốn từ chuyên ngành còn nhiều thiết sót Khó khăn trong việc dịch thuật và hiểu sai nghĩa các từ ngữ chuyên ngành
1.7 Cấu trúc báo cáo
Chương 1 Tổng quan đề tài
Trình bày lý do chọn đề tài và mục tiêu đặt ra Xác định đối tượng nghiên cứu và phạm
vi nghiên cứu Các phương pháp được sử dụng để nghiên cứu và thực hiện đề tài Những thuận lợi và khó khăn trong quá trình vận dụng các công cụ nghiên cứu
Chương 2 Khảo sát hiện trạng
Giới thiệu về công ty SAP và SAP Asia (Vietnam) Đồng thời mô tả về vị trí thực tập
Chương 3 Cơ sở lý luận
Trình bày về công nghệ tính toán bộ nhớ trong in-memory computing
Trình bày về SAPUI5 là thư viện do SAP phát triển để xây dựng giao diện ở client
Chương 4 SAP HANA Platform
Giới thiệu về nền tảng mới Và trình bày tổng quát về kiến trức và các thành phần của SAP HANA như:
SAP HANA In-Memory Database: về kỹ thuật lưu trữ và xử lý song song
SAP HANA Extended Application Services: Dịch vụ tích hợp trong SAP HANA
là dịch vụ đóng vai trò như một máy chủ tích hợp
SAP HANA-Based Applications
Developer Scenarios: gồm có Native Application Development và Non- native Application Development
Chương 5 Ứng dụng minh họa
Lý do chọn đề tài làm minh họa và các thuật toán để giải quyết bài toán
Trang 13Bước phân tích ứng dụng và xây dựng database
Xây dựng giao diện và lập trình ứng dụng
SAP Asia (Vietnam) được thành lập vào tháng 11/2011 Đây là nơi làm việc của hơn 30 nhân viên với trình độ và kinh nghiệm cao Đội ngũ nhân SAP Asia (Vietnam) làm việc trong môi trường chuyên nghiệp và được tổ chức làm việc theo từng team phụ trách các
dự án khác nhau và các team này cùng làm việc và trao đổi trực tiếp với các team nước ngoài ở những quốc gia khác Môi trường làm việc trong SAP được gắn kết với toàn bộ
hệ thống SAP trên thế giới thông qua những phương tiện và công nghệ hiện đại Công
ty luôn tạo những điều kiện và mội trường làm việc thoải mái cho nhân viên để có thể phát huy hết khả năng
Sự thành lập văn phòng của SAP tại thành phố Hồ Chí Minh cũng nhằm đánh dấu bước ngoặc phát triển của SAP tại Việt Nam sau 4 năm với hơn 120 khách hàng ở tất cả các ngành
Thông tin chi tiết về công ty SAP Asia (Vietnam):
Trang 14 Tên giao dịch: SAP ASIA (VIETNAM) CO., LTD
Địa chỉ: 24C Phan Đăng Lưu P.06, Phường 6, Quận Bình Thạnh, Thành Phố
Hồ Chí Minh
Giám đốc: (Ông) Nguyễn Hữu Dũng
Giấy phép kinh doanh: 411043001686 | Ngày cấp: 15/08/2011
Trong quá trình phát triển ứng dụng minh họa được làm việc nhóm Nhóm gồm 2 thành viên đều là thực tập sinh Nhiệm vụ trong nhóm:
Viết mã lệnh giải ô Sudoku bằng thuật toán sudoku Backtracking
Viết các hàm xáo trộn để tạo ra một o sudoku ngẫu nhiên
Xây dựng cơ sở dữ liệu, phân quyền
Xây dựng trang dành cho quản trị viên gồm trang quản lý User và trang quản lý lịch sử người chơi
Chức năng đăng ký
Chức năng cập nhật thông tin cá nhân
Chức năng đổi mật khẩu
Trang 15CHƯƠNG 3: CƠ SỞ LÝ LUẬN 3.1 In-Memory Computing
SAP In-memory computing là một công nghệ mang tính đột phá cho phép thực hiện các phân tích rất lớn, dữ liệu không tổng hợp với tốc độ chưa từng có trong bộ nhớ cục bộ (so với cơ sở dữ liệu trên đĩa – disk-based database) Các khả năng chính của công nghệ này là lưu trữ thông tin chủ yếu dưới định dạng cột (vẫn có khả năng lưu trữ dữ liệu theo dòng (Row store) cho một số kiểu dữ liệu nhất định), điều này giúp nó có thể nén và lưu trữ một lượng lớn thông tin trong bộ nhớ chính (in main memory), sử dụng kỹ thuật xử
lý song song đa lõi trên kiến trúc của Intel và chuyển các dữ liệu tính toán phức tạp từ lớp ứng dụng (application layer) vào lớp cơ sở dữ liệu (database layer) để xử lý được nhanh hơn Vì tất cả các dữ liệu đã có sẵn trong bộ nhớ chính và đã được xử xý, không cần phải có các thông tin tổng hợp Về cơ bản công nghệ ngày đã làm đơn giản hóa kiến trúc, giảm độ trễ, giảm độ phức tạp từ đó giúp cho chi phí được giảm xuống
3.2 SAP UI5
SAPUI5 là bộ công cụ giao diện người dùng cho HTML5 Bộ công cụ dùng để xây dựng
và thích ứng với các ứng dụng client SAPUI5 vận hành như một thư viện HTML5 ở phía client với một tập hợp phong phú các điều khiển thông thường và kế thừa Nó là một mô hình lập trình lightweight Và được phát triển các thư viện để có thể tương thích với các thiết bị di động như smart phone và tablet
Trang 16Hình 3.1 SAPUI5 trên máy tính và các thiết bị di động
SAPUI5 cung cấp nhiều tính năng cho phép bạn dễ dàng tạo và mở rộng state-of-the-art cho giao diện người dùng:
Hỗ trợ RIA dựa trên nền JavaScript
Hỗ trợ CSS3 với việc cho phép điều chỉnh các chủ đề cho việc xây dựng thương hiệu hiệu quả cho doanh nghiệp
Nó dựa trên một khái niệm mở rộng về tùy chỉnh các điều khiển
Nó sử dụng nền tảng là Jquery
Hỗ trợ các sản phẩm tiêu chuẩn SAP
Nó phù hợp với OpenAjax và sử dụng cùng với các thư viện JavaScript khác
CHƯƠNG 4 SAP HANA PLATFORM
SAP HANA là một nền tảng công nghệ mới có các tính năng vượt trội đủ để đáp ứng nhu cầu cho mọi hoạt động của doanh nghiệp Nền tảng này được biết đến như một nền tảng phát triển dựa trên sự hỗ trợ phân tích thời gian thực do SAP AG phát triển, giúp các doanh nghiệp phân tích các hoạt động kinh doanh trên khối lượng dữ liệu khổng lồ theo thời gian thực Nền tảng mới này có thể được triển khai theo phương thức truyền thống (server) hoặc được lưu trữ bằng công nghệ điện đoán đám mây (cloud-computing) đang trở thành xu thế trong vài năm gần đây
Để tạo nên sự khác biệt so với các công cụ lớn đã có trước thì SAP HANA được thiết kế dựa trên công nghệ tính toán bộ nhớ trong (in-memory computing) – là công nghệ được đánh giá có tốc độ tính toán cực kì ấn tượng, nhanh hơn các công nghệ hiện hành khác khoảng 1000 lần Đây được xem là một bước đột phá trong khoa học điện toán trong thời gian gần đây sau khi có những bước đột phá về phần cứng
Và những điểm khác biệt mà SAP HANA mang lại đó là:
Những câu trả lời ngay lập tức cho các câu hỏi tình huống (ad-hoc)
Khả năng truy cập thời gian thực Có thể nhận biết được những việc gì xảy ra ngay khi nó xảy ra
Trang 17 Mang đến những cái nhìn nhiều chiều về hoạt động, trình trạng doanh nghiệp khi tích hợp nhanh chóng các nguồn dữ liệu phân tán
Cách thức vận hành đơn giản và chi phí dành cho việc bảo trì thấp hơn
Để làm được những điều đó SAP HANA phải là sự kết hợp giữ phần mềm và phần cứng nên SAP đã làm việc với các đối tác lớn như HP, IBM, Fujitsu, Cisco và Dell để đảm bảo cho sự tương thích hoàn toàn và tối ưu trong các điện toán tính toán
Phù hợp với xu thế về các thiết bị di động (mobile device), như điện thoại thông minh (smart phone), máy tính bảng (tablet) SAP HANA đều hỗ trợ rất tốt
4.1 SAP HANA In-Memory Database
SAP HANA được thiết kế để vận hành trên một nền tảng hiện đại Với các máy tính được trang bị CPU đa lõi các thông tin giao tiếp nhanh chóng giữa các lõi xử lý và bộ nhớ chính chứa hàng tetrabyte Với SAP HANA, tất cả dữ liệu sẵn có trong bộ nhớ chính, điều này giúp hoàn toàn tránh được các vi phạm về hiệu suất từ việc truy xuất từ đĩa cứng Nhưng các thiết bị như đĩa cứng, hoặc các đĩa ở trạng thái rắn vẫn được yêu cầu cho việc đảm bảo duy trì dữ liệu lâu dài trong các trường hợp mất điện hay các thiên tai có thể xảy ra khác Việc này không làm giảm hiệu xuất hoạt động của quá trình xử
lý Tuy nhiên, hoạt động sao lưu cần thiết có thể diễn ra không đồng bộ như một công việc nền
Trong DBMS truyền thống tồn tại một vấn đề làm chậm hiệu xuất hoạt động đó là khóa
dữ liệu (locking data) khi quá trình cập nhật dữ liệu đang thực hiện Trong SAP HANA Database đã tránh được vấn đề này và cho phép xử lý song song bằng cách sử dụng các record chỉ đọc (read-only) Thay vì tạo ra một record mới thì chèn một chỉ số (delta) như một đối tượng mới trong record hiện có được lưu trữ theo cột
Một nền tản tốt không chỉ tối ưu các xử lý trong các hoạt động truy xuất dữ liệu mà còn phụ thuộc khá nhiều vào kỹ thuật lưu trữ Kỹ thuật lưu trữ thể hiện cách tổ chức lưu trữ
và nén dữ liệu như thế nào là tốt nhất Và điều này trong SAP HANA
In-Memory Database như là trung tâm các dịch vụ của SAP giúp cho các khách hàng có thể cải thiện được hiệu quả hoạt động, nhanh chóng và linh hoạt hơn
Trang 18Hình 4.1 SAP HANA In-memory database
4.1.1 Columnar Data Storage
Một cơ sở dữ liệu bảng là một khái niệm dữ liệu cấu trúc hai chiều được tổ chức theo dòng và cột Nhưng trong bộ nhớ máy tình, nó được tổ chức theo cấu trúc tuyến tính Một bảng có thể được thể hiện thứ tự theo dòng hay cột Với lưu trữ theo dòng, các thông tin của một record được lưu trữ cùng nhau Đối với lưu trữ theo cột, các thuộc tính của một record được lưu trữ cùng nhau Và SAP HANA hỗ trợ cả hai kiểu lưu trữ nhưng lưu trữ theo cột được đánh giá tối ưu hơn
Ví dụ:
Bảng dữ liệu:
Trang 20Hình 4.4 Lưu trữ theo dòng
Lưu trữ dữ liệu dạng cột cho phép dữ liệu lưu trữ được nén hiệu quả cao hơn Vì các dữ liệu có cùng độ dài và cùng kiểu dữ liệu được lưu trữ cùng nhau nên quá trình nén được thực hiện tối ưu hơn Đồng thời trong quá trình duyệt dữ liệu với các dữ liệu có cùng kiểu dữ liệu lưu trữ liền kề nhau nên quá trình này được diễn ra nhanh hơn và chính xác hơn
4.1.2 Parallel Processing
SAP HANA được thiết kế để thực hiện các tính toán cơ bản như phân tích, duyệt và tổng hợp dữ liệu một cách song song Nó thường làm việc với tình trạng sử dụng hàng trăm nhân cùng lúc và tận dụng đầy đủ các nguồn lực trong hệ thống
Lưu trữ cột cho phép thực thi các hoạt động một cách song song bằng việc sử dụng xử
lý đa nhân Trong hình thức lưu trữ này thì dữ liệu đã được phân vùng theo chiều dọc Điều này có nghĩa là với các thao tác trên các cột khác nhau có thể dễ dàng được xử lý song song với nhau Nếu nhiều cột cần được thực hiện tìm kiếm hoặc tổng hợp thì mỗi thao tác có thể được chỉ định cho một nhân xử lý khác nhau Thêm vào đó, các hoạt động
Trang 21trên cùng một cột có thể được xử lý song song bằng cách chia cột đó ra thành nhiều vùng khác nhau và chỉ định cho các nhân xử lý khác nhau cho mỗi vùng được chia
Hình 4.5 Xử lý song song
4.2 SAP HANA Extended Application Services
Những ứng dụng sử dụng cơ sở dữ liệu truyền thống thường giao tiếp với DBMS như ODBC, JDBC,… có chức năng giống như một Data source và thông thường được thực hiện qua một kết nối mạng Những ứng dụng này sử dụng Structured Query Language (SQL) để quản lý và truy vấn dữ liệu được lưu trữ trong cơ sở dữ liệu Và các ứng dụng này được phát triển dựa trên mô hình thông dụng Model-View-Controller (MVC) như hình sau:
Trang 22Hình 4.6 Mô hình MVC ở những ứng dụng thông thường
Với SAP HANA các ứng dụng không làm như cách trên Mà SAP HANA được mở rộng hơn so với một database truyền thống Các chức năng của nó như một nền tảng toàn diện cho sự phát triển và thực hiện các ứng dụng với dữ liệu chuyên sâu (data-intensive) nhờ vào việc tận dụng kiến trúc bộ nhớ trong và khả năng xử lý song song
Nếu ứng dụng được tái cấu trúc theo cách này, không chỉ làm tăng quá trình thực hiện
do sự tích hợp với Data source mà còn hiệu quả từ việc có thể loại bỏ được các thành phần trung gian để truyền dữ liệu đến giao diện người dùng (user interface) dẫn đến việc giảm một lượng chi phí đáng kể
Trang 23Hình 4.7 Mô hình MVC ở những ứng dụng trên nền tảng SAP HANA
Trong mô hình ứng dụng tích hợp này, SAP HANA Extended Application Services cung cấp đầy đủ các dịch vụ hỗ trợ phát triển ứng dụng trên nền Web Nó bao gồm một máy chủ web (lightweight web server), hỗ trợ cấu hình Odata, Server-side JS, và tất nhiên là bao gồm SQL và SQLScript
Những SAP HANA Extended Application Services này được cung cấp bởi SAP HANA
XS server và đã được tích hợp đầy đủ vào SAP HANA Nó cho phép client có thể truy cập vào hệ thống SAP HANA thông qua HTTP Các Controller Application có thể chạy trực tiếp trên SAP HANA mà không cần có một application server nào nữa Điều này cho thấy SAP HANA XS Server như là một phần của hệ thống SAP HANA
Trang 24Hình 4.8 Hệ thống SAP HANA
4.3 SAP HANA-Based Applications
Về khả năng chạy các ứng dụng cụ thể trong SAP HANA đặt ra câu hỏi: Các xử lý logic thì nên được chạy ở đâu? Và rõ ràng là data-intensive và các tính toán model-based phải được đặt cùng với các dữ liệu để quá trình xử lý được tối ưu hơn Vì thế cần thực hiện các xử lý này ngay trong index server Về mặt trình diễn các phân tích này được thực hiện ở client như một ứng dụng HTML5 trong trình duyệt hay trên các thiết bị di động
Trang 25Hình 4.9 Native SAP HANA Application development
Native application-specific code đã được hỗ trợ bởi SAP HANA Extended Application Services, nó có thể được sử dụng để cung cấp một “thin layer” giữa các client trên side với các view, bảng và các proceduer trong index server Ví dụ như quản lý các xử lý logic dựa trên yêu cầu bằng các tham số nhận vào và gọi các view, stored procedure trong index server và kết quả trả về được gửi đi theo một định dạng mà client mong đợi
Hình 4.10 Native SAP HANA application development with SAP HANA XS