2. Đặt vấn đề về bài toán.
Các giải pháp truyền thống.
Các giải pháp về Data Warehouse (DW).
Giải pháp ICE.
Kết quả đạt được.
Đánh giá.
3. Yêu cầu:
◦ Dữ liệu cập nhật/tính toán nhanh.
◦ Có khả năng lưu trữ/tính toán dữ liệu lớn (hàng 100 tỷ
rows).
◦ Tối ưu chi phí tài nguyên hệ thống, maintains.
◦ Tính tương thích & ổn định.
4.
5. Trên thế giới có rất nhiều giải pháp DW, với nhiều
công nghệ đặc thù cho từng giải pháp.
6.
7.
8. ◦ Tốc độ load data vào table rất nhanh. 1 server thông
thường cho tốc độ khoảng 60->80GB/h.
◦ Data up to 50TB.
◦ Open source: cho phép install trên cả windows ,Linux,…
(32 & 64 bit).
◦ Chỉ cần setup lên 1 server là chạy tốt.
9. Ứng dụng cho bài toán của Admicro:
◦ Máy chủ 2U 2CPU Quad Cores, 32Gb RAM, HDD 6TB
RAID10.
◦ Dữ liệu log hàng ngày khoảng 500M rows ~
100GB raw data (Peak 1.6B rows ~400Gb/day).
◦ Dữ liệu hiện đang lưu trữ: 90 tỷ bản ghi, dữ liệu
>1TB (đã nén).
◦ Thời gian xử lý 2->5 phút.
10. Sử dụng ICE giúp giảm số servers… chi phí tối
thiểu. Thời điểm hiện tại ICE là phù hợp với
Admicro.
Nhưng ICE chưa phải là giải pháp lâu dài. (chưa
hỗ trợ distributed, HA, giới hạn data size,… ).
Trong tương lai với data hàng PB thì sẽ chuyển
sang các nền tảng phân tán như Hbase,
HyperTable, Cassandra…
-Nhanh: Số liệu tính toán phải nhanh để quyết định treo/hạ kịp thời các banners đặt quota (clicks/impressions) theo thời gian.
Cung giong nhu cac he thong Q/C lon tren TG, la cho phep KH dat ngan sach theo ngay. Neu he thong ra quet dinh cham tre se gay vuot ngan sach cua KH, kem theo ton tai nguyen QC (ma dang le phai nhuong cho cho banners khac)
-Phân tích dữ liệu quảng cáo từ 2->5k active banners. 500 triệu -> 1 tỷ bản ghi/ngày (~100->200GB raw data/ngày).
Visitor, Click, impression, location, OS,…?
Click fraud, loyalty…
Neu 1 node thi chet, config nhieu nodes thi:
Row –oriented:tỷ lệ nén thấp do mix nhiều data type -> Disk I/O cao -> giảm performance. Chưa kể phải thường xuyên nâng cấp dung lượng HDD
Khi table lớn: thì index cũng lớn theo -> việc sử dụng index ko còn hiệu quả nữa.
Do sử dụng index.
Document – Oriented: MongoDB, Terastore,…
Key - value model: SimpleDB, Redis…
D-O: phù với những bài toán mà dữ liệu lưu có cấu trúc như JSON, XML.
More: MongoDB high performance, high concurrency. Poor query, ko load from file=> kho khan khi load vao (giam performance neu custom code)…
K-V: Thông thường support get, put & delete. Tỷ lệ nén dữ liệu thấp, ko hỗ trợ những phép tính phức tạp (sum, count, where…)
Đặt tiêu chí: high performance, open source, yêu cầu cấu hình phần cứng ko cao – chi phí tối thiểu. Nếu áp dụng các điều kiện này có thể thấy BigTable, Cassandra, … đòi hỏi trên hệ thống nhiều nodes mới có hiệu quả => đắt …
Column –Oriented:
Cấu trúc dữ liệu theo dạng grid, dữ liệu được lưu trong các data node.
Advance optimizer .
MySQL server layer.
Yêu cầu phần cứng thấp.
Với ý tưởng là giảm tối thiểu disk I/O, chỉ truy xuất vào vùng data cần cho mỗi query, performance ko bị giảm kể cả khi table lên hàng trăm tỷ rows.
Ưu điểm của Model này là cho phép tỷ lệ nén data lên rất cao, vì tối ưu thuật toán nén cho từng data type.
Chạy trên 1 server đơn lẻ, ko cần setup 1 cluster với nhiều nodes.
- Kế thừa MySQL server layer nên tương thích với các client/API hỗ trợ MySQL.
- Sử dụng ngôn ngữ chuẩn SQL đơn giản.
- Tỷ lệ nén rất cao: 10->40 lần điều này rất có ích khi lượng data log lớn, tiết kiệm HDD, giảm I/O -> tăng performance.
-Nếu áp dụng giải pháp distributed cần 8->12 nodes.
-Maintains + hosting… tăng.
-Vấn đề HA mình cũng đã tự implement = cách load đồng thời lên 2 nodes.
Adtech: nghien cuu dua ra giai phap phu hop voi bai toan Admicro.
-: la high performance, Minimize cost.
-Master duoc cong nghe minh su dung.
-Nếu áp dụng giải pháp distributed cần 8->12 nodes.
-Maintains + hosting… tăng.
-Vấn đề HA mình cũng đã tự implement = cách load đồng thời lên 2 nodes.