10/10/2018, 13:20

CSDL nào cho Mạng xã hội?

Mình đang làm 1 web về mạng xã hội tương tự Facebook, My space, Yahoo 360..v..v.. Sau khi hoạt động với quy mô 10 nghìn thành viên, mạng hoạt động khá trơn tru với CSDL mysql kết hợp PHP.

Nhưng khi số lượng thành viên gia tăng. Số record quá nhiều khiến truy vấn nặng nề. Đặt giả thiết là câu truy vấn đã tối ưu, nhưng với lượng thành viên sau này sẽ càng nhiều, truy vấn sẽ ngày càng chậm đi với ngừng đấy record.

Vậy có giải pháp nào cho CSDL Mạng xã hội? Facebook và Myspace là 2 mạng xã hội lớn nhất hiện nay. Họ đã xử lý CSDL theo các nào? Như mình được biết thì có kiểu CSDL phân tán và tập trung, nhưng thực sự chưa nắm rõ.
Ai biết về vấn đề này xin được giúp đỡ.
Cám ơn.
bancankhong viết 15:24 ngày 10/10/2018
Chang co giai phap nao hay don gian 1 co the
Shellingfox viết 15:29 ngày 10/10/2018
Tìm hiều về MapReduce, một mã nguồn implement tốt cái này là Hadoop, Google cũng có một bằng sáng chế cho cái này (Họ tự làm ra một mã nguồn riêng cũng implement pattern này) và họ cũng sử dụng Hadoop để lưu giữ những cái khác. Facebook, Google, Yahoo họ cũng sử dụng Hadoop (Xem thông tin tại trang chủ của dự án). Theo mình biết hiện giờ ở VN chưa có trang nào sử dụng công nghệ này (Thấy mấy bác bên Vinagame đang nghiên cứu, nhưng mới chỉ dừng ở mức nghiên cứu thôi).

Năm ngoái Hadoop đã lập kỉ lục thế giới với việc sort 1 database 1PB trong 16 tiếng (Bình quân là ~18.20GB/s).
longvnit viết 15:25 ngày 10/10/2018
Nếu bạn sử dụng MySQL bạn nên tìm hiểu một số khái niệm sau: MySQL Partition, MySQL Sharding, good luck!
*Thắm viết 15:26 ngày 10/10/2018
Được gửi bởi longvnit
Nếu bạn sử dụng MySQL bạn nên tìm hiểu một số khái niệm sau: MySQL Partition, MySQL Sharding, good luck!
Cám ơn bạn, bạn có tài liệu Tiếng Việt về 2 vấn đề trên không? Mình tìm toàn thấy Eng. Mong bạn chia sẻ.
longvnit viết 15:35 ngày 10/10/2018
Phần này mình không có tài liệu tiếng Việt, còn tiếng Anh bạn và chính trang của MySQL là hay nhất.
ngoc_viet08 viết 15:25 ngày 10/10/2018
Cám ơn bạn, bạn có tài liệu Tiếng Việt về 2 vấn đề trên không? Mình tìm toàn thấy Eng. Mong bạn chia sẻ.
muốn làm mấy dự án lớn mà tài liệu tiếng anh ko đọc được thì ko có ý kiến nữa
*Thắm viết 15:35 ngày 10/10/2018
Thế con Mysql Cluster? Có ai biết về vấn đề này không?
longvnit viết 15:33 ngày 10/10/2018
MySQL Cluster chủ yếu để chia tải, còn về để xử lý database lớn thì bạn đọc các khái niệm trên mình đã nêu. Ngoài ra còn sử dụng rất nhiều các hệ thống phụ trợ như MySQL Proxy, Caching ...
lucky-boy viết 15:24 ngày 10/10/2018
Bác longvnit nói đúng đó, bạn nên tham khảo những cái bác ấy nói (Mysql Parition, caching...) để có thể scale 1 web với 1 db lớn. Ngoài ra còn nhiều vấn đề khác nữa.
Bài liên quan
0