Lĩnh vực kinh doanh  »  ERP - quản trị nguồn lực DN  »  Giải pháp

Giới Thiệu SAP HANA Với In-memory và Column-based RDBMS

SAP HANA là viết tắt của “High-Performance Analytic Appliance”, là một hệ quản trị cơ sở dữ liệu native in-memory được phát triển bởi SAP, hỗ trợ cả OLTP và OLAP. Ngoài việc là một RDBMS, SAP HANA còn là một platform bởi việc hỗ trợ thêm nhiều tính năng như xử lý (text, spatial, graphic…), Big Data store, IoT… Nội dung bài viết này chỉ tập trung vào hai kĩ thuật chính của lưu trữ data trên memory của SAP HANA: row store và column store.

Figure 1: Database truyền thống và in-memory HANA

Với SAP HANA, dữ liệu được load gần như toàn bộ lên memory, điều này có nghĩa MEM ~ DB SIZE.

Hiện nay, hầu hết các bảng trong các hệ cơ sở dữ liệu đều sử dụng kĩ thuật row store, vì kĩ thuật này được tối ưu cho các hệ thống “transaction”. Tuy nhiên SAP HANA ngoài hỗ trợ row store còn hỗ trợ thêm column store, giúp ích cho việc tăng performance của các hệ thống dùng cho analytics. Developer có thể tùy biến bảng nào dùng row store, bảng nào dùng column store tùy theo thiết kế application ban đầu và tùy theo nhu cầu. Chính vì vậy SAP HANA tối ưu cùng một lúc trên cùng một database cho cả các system “transactional” và “analytics”.

Figure 2 thể hiện cách lưu trữ của hai kĩ thuật row store và column store

Figure 2: Column store và row store table

Có thể nói row store và column store khác nhau ở cách mà data được tổ chức. Các bảng sử dụng column store có performance cao ở những data set rời rạc, ngẫu nhiên. Các query tới các bảng này thường chỉ request một phần nhỏ trong table với một số cột nhất định. Với column store, chỉ những cột cần thiết mới được load lên memory, vì vậy hạn chế việc hao phí tài nguyên. Mặt khác, các giá trị của một cột được sắp xếp liên tiếp nhau, điều này làm tăng đáng kể performance của CPU qua việc skip thao tác scan row-by-row để đến được giá trị cần thiết.

Thậm chí với column store, SAP HANA scan các cột của data nhanh đến mức index không còn cần thiết nữa. Điều này giúp giảm bớt thao tác create, drop và rebuilding index.

Figure 3 sẽ giải thích cụ thể hơn tại sao column store sẽ nhanh hơn với các ứng dụng “analytics”

Figure 3: Row/Column Store trên memory

Trong figure 3, ta có một bảng với 4 row và 3 column, bảng này sẽ được lưu trữ trong memory bằng một trong hai cách.

Đối với row store, các giá trị sẽ được load lên memory theo từng hàng (row 1 row 2 row 3 row 4 = India, Chocolate, 1000, India, Ice-cream, 2000, Germany, Chocolate, 4000, US, Noodle, 500).

Đối với colum store, các giá trị sẽ được load lên memory theo từng cột (col 1 col2 col 3 col 4 = India, India, Germany, US, Chocolate, Ice-cream, Chocolate, Noodle, 1000, 2000, 4000, 500)

Qua đó có thể thấy được với ứng dụng analytics, với câu query tổng số lượng sale, SAP HANA với column store sẽ cho performance tốt hơn row store.

Nhược điểm của column store ngoài việc không cho performance cao với các ứng dụng transactional, thì việc update thêm một record trong bảng có cost cao khi phải chèn giá trị của các cột vào memory tương ứng một cách đứt quãng.

Giảm data footprint

Data trong SAP HANA column store được tự động nén bằng cách loại bỏ cách giá trị lặp lại và chỉ lưu các giá trị unique trong dictionary store. SAP HANA sử dụng integer để đại diện cho giá trị business trong bảng original, làm giảm dung lượng lưu trữ và performance rất cao khi scan.

Figure 4: Giảm data footprint

Việc giảm data foot print mang lại một số lợi ích sau:

- Có thể chứa nhiều data hơn trong CPU cache, làm tăng cache hit và giảm việc truy cập vào main memory, dẫn đến tăng performance.

- Có thể chứa toàn bộ database vào trong memory với tốc độ nhanh gấp nhiều lần disk

- Backup, restore nhanh hơn do data size giảm, giảm downtime.

Sử dụng column store còn giúp ích cho việc xử lý song song khi CPU có khả năng phân chia các core vào các cột tương ứng và xử lý độc lập.

SAP HANA tự động phân chia workload lên tất cả các core và bảo đảm tất cả resource đều tham gia tính toán. SAP HANA còn hỗ trợ partition bảng, chỉ những cột cần mới được load lên memory. Ví dụ với ứng dụng analytic trong một năm, chỉ cần load data của năm đó lên memory. Bằng cách tận dụng column store, xử lý song song cùng với thiết kế partition đúng, SAP HANA có thể giúp các ứng dụng phân tích xử lý dữ liệu gần real-time và hỗ trợ decision making cho doanh nghiệp.

Dịch vụ

Dịch vụ Tư vấn triển khai SAP
Triển khai và nâng cấp hệ thống hoạch địch nguồn lực doanh nghiệp ERP như SAP là một sự đầu tư và nỗ lực khởi đầu với việc hoạch định chiến lược và mở rộng tới hoạt động triển khai và các giai đoạn tiếp theo.
Xem chi tiết
Dịch vụ Nâng cấp hệ thống SAP
-       Nâng cấp theo các phiên bản mới (New version – functionalities)

-       Tư vấn và thống nhất quy trình theo phiên bản mới

-       Xây dựng hệ thống theo quy trình mới

-       Chuyển đổi dữ liệu theo quy trình mới

-       Đào tạo đưa hệ thống vào vận hành 

Xem chi tiết
Dịch vụ bảo trì vận hành hệ thống SAP
Dịch vụ bảo trì phần mềm không chỉ bao gồm dịch vụ hỗ trợ khách hàng như chăm sóc, hỗ trợ, hướng dẫn sử dụng phần mềm trong suốt quá trình kể từ khi bắt đầu triển khai tới kết thúc nghiệm thu, mà còn liên tục nâng cấp tính năng, cải tiến chất lượng, vá lỗi phần mềm để đảm bảo sản phẩm cung cấp cho khách hàng có chất lượng tốt nhất, đáp ứng tối đa nhu cầu khách hàng
Xem chi tiết
Dịch vụ Cho thuê nguồn lực
Dịch vụ cho thuê nhân lực – Bản thân khách hàng đôi lúc vẫn cảm thấy thiếu hụt về chuyên môn hay kinh nghiệm trong một lĩnh vực hoạt động nào đó. Chính vì thế, NGS đã đưa ra dịch vụ cho thuê nhân lực nhằm mục đích hỗ trợ khách hàng trong tất cả khâu thuộc quy trình sản xuất kinh doanh.
Xem chi tiết
Dịch vụ đào tạo SAP

- Đào tạo Basis

- Đào tạo ABAP

- Đào tạo Functional

- Đào tạo vận hành hệ thống ERP SAP

- Đào tạo và hướng dẫn kiểm soát hệ thống ERP SAP

- Đào tạo theo nhu cầu của Doanh nghiệp từ cơ bản đến nâng cao

- Thiết kế và thực hiện các khóa đào tạo ERP SAP theo yêu cầu của Doanh nghiệp (từ cơ bản đến nâng cao)

Xem chi tiết