- Big data là thuật ngữ để nói đến tập hợp lượng dữ liệu lớn vượt qua mức đảm đương của các ứng dụng và công cụ truyền thống.
- Vì sao Big Data? Chứa nhiều thông tin quý giá nếu trích xuất thông tin thành công giúp cho việc ra quyết định kinh doanh, nghiên cứu khoa học, …
- Data team của một startup phải xây dựng infrastructure dùng cho việc report (realtime & statistics)
- Handle fast growing data
- Fault-tolerance (đảm bảo hệ thống không bị gián đoạn khi có lỗi xãy ra)
- Scalable system
- Thu thập Log data (scribe, go or whatever) & lưu trữ dữ liệu xuống tập tin hệ thống
- Lưu dữ liệu ở MySQL dùng cho dữ liệu thống kê
- Lưu dữ liệu ở Postgres dùng cho dữ liệu báo cáo
- Implement đơn giản và nhanh
- Hợp khi cần xử lý lượng dữ liệu nhỏ
- Dùng các công nghệ thông dùng
- Cần nhiều tài nguyên & thời gian để xử lý dữ liệu lớn
- Khó scale
- Not fault tolerant
- Kafka là hệ thống message publish/subscribe phân tán & có khả năng scale rất tốt
- Log aggregation
- Tracking hành động người dùng: publish vào defined topic
- Use as a message queue
- Fault tolerant (when something wrong happen, we can rollback to last fail state, message will not be drop)
- It is a stream so it is speed-dependence-free (các service khác consume ở tốc độ khác nhau)
- A tool designed for efficiently transferring bulk data between Apache Hadoop and structured datastores
- Transfer data to file system
- Not reinvent the wheel
- Support distributed process (scalable)
- Upsert
- File system
- HDFS
- Cost-effective scale to rapidly growing data demands
- Faster map reduce (data mostly store on ram when process)
- Compute on big data
- Process raw data
- Support many data file system
- Distributed processing (scalable)
- Visualize data
- Easy to use
- Just set input source & write query
- Sơ đồ tổng quan => Sơ đồ chi tiết
- Đi lược qua lại các thành phần đã áp dụng (trên sơ đồ chi tiết)
- Data scientist: machine learning
- Data analyst: business aspect