4. Data qua từng giai đoạn: Flat files
Ưu điểm
◦ Tiết kiệm chi phí lưu trữ
◦ Dễ tìm kiếm bằng cáchphân chia thư mục, đặt
tên file.
Khuyết điểm
◦ Ác mộng nếu quản lý không tốt.
◦ Khó tìm kiếm bên trong nội dung file.
◦ Chỉ dùng để đọc ghi dữ liệu, không phục vụ tính
toán.
5. Data qua từng giai đoạn: Spreadsheet
Ưu điểm
◦ Có thể thực hiện tính toán. Con người không
thể nào tính nhẩm hay tính tay được.
◦ Nhiều tính năng hữu ích đi kèm: biểu đồ, ghi
chú, làm việc nhóm, …
◦ Dễ sử dụng và quản lý.
Khuyết điểm
◦ Dữ liệu không được ràng buộc dễ bị sai sót.
◦ Thêm, xoá, sửa thông tin không nhất quán khi
các file/sheet có mối liên hệ với nhau.
6. Data qua từng giai đoạn: Relational DB
Ưu điểm
◦ Dữ liệu được mô hình hoá thành các thực thể
quan hệ.
◦ Dữ liệu được chuẩn hoá và ràng buộc nên ít bị
sai sót.
◦ Dễ tìm kiếm thông tin thông qua ngôn ngữ SQL.
◦ Thêm, xoá, sửa thông tin được nhất quán khi có
thay đổi.
Khuyết điểm
◦ Tổng hợp dữ liệu chậm khikết bảng quan hệ.
◦ Lưu dữ liệu transaction tỉ lệ lỗi cao hoặc bị mất
mát thông tin khi hệ thống bị quá tải.
7. Data qua từng giai đoạn: OLAP
Ưu điểm
◦ Xem nhanh dữ liệu đã tổng hợp theo nhiều
chiều cùng lúc.
◦ Hỗ trợ giám sát và ra quyết định.
Khuyết điểm
◦ Không real-time.
◦ Cần lên lịch cập nhật và lưu trữ thành Data
warehouse.
8. Data qua từng giai đoạn: NoSQL
Ưu điểm
◦ Giải quyết đọc ghi dữ liệu real-time.
◦ Biểu diễn dữ liệu đa dạng hơn.
◦ Dễ dàng phân tán/replicate dữ liệu trên nhiều
server.
Khuyết điểm
◦ Không đảm bảo toàn vẹn dữ liệu.
◦ Dữ liệu không phản ánh được mối quan hệ.
◦ Bảo mật không cao.
◦ Hệ thống dễ bị lỗi và cần nhiều thiết lập để tối
ưu.
9. Data qua từng giai đoạn: Distributed file
storage
Ưu điểm
◦ Lưu trữ dữ liệu phân tán.
◦ Thích hợp lưu trữ các tập tin dung lượng cao
như video, âm thanh, hình ảnh, …
◦ MapReduce giải quyết vấn đề tổng hợp dữ liệu
trên nhiều server.
Khuyết điểm
◦ Cơ chế MapReduce chậm, không đáp ứng được
tổng hợp dữ liệu real-time.
◦ Sử dụng nhiều third-party đi kèm để khắc phục
khuyết điểm.
10. Nguyên lý chung
Chia để trị bằng cách phân tán nguồn lực và tài nguyên ra nhiều server.
Loại bỏ các điều kiện ràng buộc về dữ liệu, kiểm tra bảo mật để tăng tốc đọc ghi dữ liệu.
Mini-batch thành các mẫu dữ liệu nhỏ hơn để tính toán nhanh hơn.
Sử dụngcấu trúc Hash để indexing phục vụ tác vụ tìm kiếm nhanh.
17. 02 - Vấn đề tính toán
Tốc độ tổng hợp dữ liệu đòi hỏi cao. Real-time
ở một số trường hợp.
Ví dụ: tracking quảngcáo, report doanh thu
theo giờ, phút, giây, mạng xã hội.
Streaming: Apache Storm, Spark Streaming,
Trident, Samza.
Computing: Apache Spark, Flink.
19. Tổng hợp dữ liệu
MB Analytics Backend/UI
Độ trễ tối đa: 2 giờ.
Nghĩa là, vào lúc 11:00 AM, người dùng phải
xem được report của 9:00 AM
Tổng hợp report Tích hợp dữ liệu nguồn khác
10:00 10:05 10:15
Tiền xử lý
10:40
Thời gian còn lại…
Tổng hợp dữ liệu của 9:00 AM
20. Thách thức
Nhiều tác vụ cần thực hiện trong vòng 1 giờ, không còn thời gian
cho các tác vụ tương lai
◦ Tiền xử lý dữ liệu.
◦ Tổng hợp dữ liệu.
◦ Bộ lọc Spiders và bots.
◦ Tích hợp dữ liệu từ nguồn khác: Facebook, ARENA, Google Analytics.
24. 03 - Vấn đề quản trị
Continuous Integration/Continuous
Development(CI/CD): tự động hoá tiến trình
building, testing, và deploying trơn tru ở nhiều
môi trườngkhác nhau (local, staging,
production).
Version control: Git, Docker
Task management: Jenkins, Mesos, Chronos,
Marathon.
Automation: Chef, Puppet, Ansible,
Capistrano, SaltStack.
Log management: Logstash, ElasticSearch,
Kibana.
27. Kỹ năng cần có
0
20
40
60
80
100
Coding (Python, Scala,
Java, Shell, NodeJS)
Database configurations
SQL optimizationServer management
Networking
Data engineer Data analyst Data scientist
Xây dựng hệ thống.
Monitor hệ thống.
Backup hệ thống.
Scaling hợp lý với kinh phí.
28. Kinh nghiệm bản thân
Cần môi trường cho mình cơ hội làm việc với các công nghệ Big Data.
Học thật kĩ kiến thức quản trị mạng và cơ sở dữ liệu để bắt kịp xu hướngdễ dàng hơn.
Viết document cho nhữngkiến trúc mình xâydựng(tại sao lựa chọn, mục đích hệ thống,
performance test, các điểm cần khắc phục).
Nên nghiên cứu thêm về độ phức tạp thuật toán để ứng dụngcho tính toán tối ưu (search, sort,
aggregation, streaming, organize database).
Nâng cao kĩ năng làm việc nhóm và cập nhật kiến thức công nghệ nhưGit, Dockerize, CI/CD,
Test Driven Development, Automation khi có thể.
Nên dành khoản tiền đầu tư cho các khoá học online chất lượng, đừng tiếc tiền cho việc học.
Nếu là Data Engineer/System admin thì nên đầu tư lấy chứng chỉ MCSA, CCNA, AWS.
29. Câu hỏi thường gặp
Bắt đầu học Big Data từ con số không nhưthế nào?
◦ Chọn một hệ quản trị cơ sở dữ liệu (MySQL, PostgreSQL, MongoDB).
◦ Thao tác với ngôn ngữ truy vấn SQL.
◦ Thiết kế cơ sở dữ liệu (ràng buộc toàn vẹn, đại số quan hệ, các dạng chuẩn dữ liệu).
◦ Mạng máy tính cơ bản (phân quyền, chia thư mục, SSH, address forwarding, tail –f, vim, nano).
◦ Tìm hiểu về Business Intelligent (OLAP, OLTP, Star/Snowflake schema).
◦ Tìm hiểu về Hadoop, MapReduce, Apache Spark.
Nên tự build hay sử dụng cloud service
◦ Tự build: ưu điểm bảo mật dữ liệu theo ý mình, khuyết điểm tốn kém về thời gian chi phí, hệ thống lỗi
thời nhanh.
◦ Cloud service: ưu điểm nhanh chóng tích hợp hệ thống, khuyết điểm phụ thuộc hãng cung cấp, chi phí
tăng caonếu không biết kiểm soát. (Amazon, Google, Microsoft)
30. Câu hỏi thường gặp
Thế nào thì được gọi là Big Data?
◦ Khi khả năng lưu trữ và tính toán không đáp ứng được nhu cầu của tổ chức.
Có cần phải họcthêm bằng cấp nào không?
◦ Không. Cần kinh nghiệm là chính. Một số công nghệ nên biết: Docker, PostgreSQL, MongoDB, Apache
Spark, Bash shell, AWS, Kafka, Jenkins,…
Học ở đâu?
◦ Đọc blog, document của công nghệ đang quan tâm.
◦ Học và lấy chứng chỉ tại Udacity hoặc Amazon certificate.
Tự nghiên cứu thì cơ hội việc làm nhưthế nào nếu không có bằng cấp Big Data?
◦ Big Data không có bằng cấp. Có thể chứng minh năng lực thông qua kinh nghiệm làm việc, chứng chỉ
hoặc các tutorial do bạn chia sẻ.
34. Project có thể start
Web mạng xã hội nhưFacebook, Twitter, Zalo.
Video nhưNetflix.
Nhạc như iTunes.
Transaction cao nhưStock exchange, Bitcoint exchange.
Sử dụngmockaroo để mô phỏngBig Data, thực hiện load test các công nghệ đang tìm hiểu.