500 triệu người đăng ký dùng phần mềm nguồn mở

500 triệu người đăng ký dùng phần mềm nguồn mở.

Đó là khi họ đăng ký dùng Facebook. Facebook vừa vượt ngưỡng 500 triệu user vào ngày 22/7 vừa rồi, trong khi cách đây khoảng 1 năm mới có 250 triệu người dùng. Tốc độ tăng trưởng thật đáng kinh ngạc.

Với số lượng người dùng như thế, Facebook quản lý một lượng dữ liệu khổng lồ:

  • Mỗi tháng có khoảng 630 tỉ lượt page views
  • Hơn 3 tỉ bức ảnh được tải lên Facebook hàng tháng, trung bình có 1,2 triệu bức ảnh mỗi giây
  • Hơn 25 tỉ dữ liệu về thông tin (status, comment…v.v) được chia sẻ mỗi tháng.
  • 30.000 máy chủ.

Các phần mềm xử lý lượng dữ liệu khổng lồ đó đều là phần mềm nguồn mở. Ngoài việc dùng các PMNM có sẵn được customize theo nhu cầu riêng, Facebook còn xây dựng và chia sẻ một số PMNM cho cộng đồng.

Nền tảng web của Facebook là LAMP (Linux, Apache, MySQL và PHP), nhưng đã được sửa đổi.

Ngôn ngữ lập trình dùng PHP được cải tiến qua dự án HipHop for PHP để tăng tốc, cải thiện hiệu quả và giảm mức độ sử dụng CPU.

PHP là ngôn ngữ kịch bản (scripting) được thông dịch khi chạy vì vậy hơi chậm. HipHop chuyển đổi PHP thành C++ rồi dịch ra mã thực thi nên chạy nhanh hơn. Nhóm phát triển HipHop ban đầu chỉ có 3 người, làm trong 18 tháng.

Facebook có ba lớp dữ liệu: lớp đầu tiên là cơ sở dữ liệu MySQL, bên trên MySQL là công nghệ cache Memcached và trên cùng là webserver Apache.

Memcached đã được Facebook tối ưu qua nhiều năm. Lớp cache này nhằm tăng tốc truy cập dữ liệu của webserver (tìm dữ liệu trực tiếp từ MySQL tương đối chậm). Hiện tại, Facebook có hàng nghìn máy chủ chạy Memcached với hàng chục terabyte dữ liệu cache tại mỗi thời điểm.

Haystack là hệ thống lưu trữ và tìm kiếm ảnh cao tốc của Facebook. Nó xử lý 20 tỷ ảnh được upload lên Facebook, mỗi ảnh lại được lưu thành 4 bản với độ phân giải khác nhau, tổng cộng hơn 80 tỷ ảnh. Với số lượng đó, tốc độ tìm kiếm là yếu tố sống còn.

Ngoài MySQL, Facebook còn phát triển một cặp cơ sở dữ liệu không dùng ngôn ngữ SQL là Cassandra và HBase.

Cassandra là một hệ thống lưu trữ và tìm kiếm phân tán với khoảng 150 terabyte dữ liệu thư từ trong Inbox của Facebook. Twitter cũng dùng Cassandra.

Hadoop là một dự án nguồn mở dùng xử lý các dữ liệu phân tán. Nó bao gồm một loạt dự án con: HBase – cơ sở dữ liệu phân tán, Chuckwa – hệ thống thu thập quản lý dữ liệu phân tán, v.v… Hệ thống Hadoop cluster của Facebook gồm 2.200 máy chủ với khoảng 23.000 CPU xử lý hơn 50 petabytes dữ liệu.

Các công ty Internet lớn đều dùng Hadoop: Facebook, Twitter, Google, Amazon, Yahoo, … Yahoo dùng Hadoop trong 36.000 máy chủ với 100.000 CPU để tìm kiếm trên web và lưu quảng cáo.

Còn nhiều nữa. Danh sách các dự án nguồn mở mà Facebook tham gia xem tại đây.

Đại thể bài này cho thấy khả năng PMNM quản lý những lượng dữ liệu cực lớn và điều quan trọng là chủ nhân có thể sửa đổi, tùy biến theo nhu cầu của mình qua kinh nghiệm vận hành. Nếu dùng phần mềm nguồn đóng thì chưa nói đến chi phí bản quyền, bảo trì, việc phụ thuộc vào nhà cung cấp để cải tiến dịch vụ của site cũng đủ điên đầu rồi.

Nguồn tham khảo:

Inside Facebook’s Open Source Infrastructure

Exploring the software behind Facebook, the world’s largest site

Facebook Built Walled Garden with Open Source Software

2 thoughts on “500 triệu người đăng ký dùng phần mềm nguồn mở

  1. Pingback: 500 triệu người đăng ký dùng phần mềm nguồn mở. | Software Development and Security - Phát triển ứng dụng và bảo mật

  2. Pingback: Số liệu thống kê phần mềm máy chủ Internet. | ZXC232-Phần mềm tự do nguồn mở – Free and open source software

Bình luận về bài viết này