Big data architecture

bigdata

(Vu Van Chung) #1

Chào mọi người, không biết trong nhóm có nhiều bạn làm về mảng AI kết hợp BigData không?
Các bạn thường xây dựng ứng dụng theo kiến trúc gì và sử dụng những mã nguồn nào?
Ai đã từng làm đi cafe khai sáng mình với. Mình muốn tối ưu hệ thống hơn chút nữa! :))


(Nguyễn Quang Trí) #2

Ai với Big Data thì vô cùng rộng. Chú thích hỏi cái nào?

KIến trúc gì: Kiến trúc máy tính cố điển(mã hoá bằng các bit nhị phân, mỗi bit tương ứng với 0 hoặc 1, trái ngược với Kiến trúc máy tính lượng tử: mỗi qubit có thể mang nhiều trạng thái cùng lúc, có thể cả 0 và 1 cùng lúc nên tốc độ có thể nhanh hơn máy tính cổ điển nhiều lần).

Mã ngồn nào? Cái này thì vô số, ngôn ngữ nào mà chả viết được các sản phẩm Big Data hay AI, chỉ có điều nó có bán được tiền hay không mà thôi. Phổ biết nhất thì có PYTHON, R, Scala, …


(Vu Van Chung) #3

Cụ thể là trong một dự án thì nên có những thành phần nào, ví dụ dùng kafka hoặc spark để streaming, hbase hay cassandra để là db, hadoop làm base, … Cấu trúc các thành phần, luồng xử lý ntn. Kiểu vậy ấy


(Hung) #4

Tóm tắt: Phụ thuộc vào domain logic.


Từ domain logic mới biết là có những query nào, tính chất của query: online hay offline, real-time hay batch, cần tất cả row trong table hay một vài row, có join nhiều table, query có sử dụng nhiều database khác nhau, centralized database hay distributed database,…

Từ mấy cái trên mới biết nên chọn database nào là main database, là nơi lưu raw data, và các data warehouse (mình hay gọi là pre-computed database), làm sao sync giữa các database đó. real-time có cần pre-processing hay không, có thì dùng spark streaming, không thì dùng Kafka, nhưng nếu chú trọng log cẩn thận thì chuyển sang message broker như RabbitMQ thay vì Kafka, … và còn rất nhiều nữa.


Để thiết kế database system thì bạn nên học hết tất cả trong giáo trình môn Cơ sở dữ liệu, có 2 cuốn mình giới thiệu (trước đó share nhiều rồi)

Ngoài phần Relational DB, bạn nên xem thêm Object DB, OLTP, OLAP, distributed database.

Các cách backup, migration, security, và quản lý khi có nhiều database trong hệ thống.

Ngoài ra còn có Data Mining và Data Visualization nữa.


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?