7

Tôi chỉ tự hỏi có bao nhiêu truy vấn db có thể được phát hành để hiển thị trang chủ của người dùng. Có ai có một số ý tưởng về cách các DB facebook được thiết kế. Tôi đã nghe nó chạy MySql và có hàng ngàn bản sao cộng với máy chủ memcache hơn so với máy chủ DB.Điều gì có lẽ nên là thiết kế facebook DB

Dữ liệu facebook có bị hỏng không?

Nếu nó đi đến mọi phân đoạn và tìm kiếm bản cập nhật mới nhất của bạn tôi. Trong trường hợp xấu nhất nếu tôi có 100 người bạn và giả sử facebook có 101 mảnh, có khả năng là mỗi người bạn của tôi ở trong một phân đoạn khác. Facebook có thể xử lý như thế nào?

Tôi sẽ rất biết ơn nếu ai đó có thể cung cấp cho tôi gợi ý hoặc gợi ý về những thứ như "Cách thiết kế DB cho trang web mạng xã hội". Tôi chỉ tò mò thôi!

Trả lời

3

Tại trang web này, bạn tìm thấy rất nhiều chi tiết về những công ty internet lớn và các công trình kỹ thuật:

http://highscalability.com/

13

Facebook đang sử dụng LAMP structure. Các dịch vụ phụ trợ của Facebook được viết bằng nhiều ngôn ngữ lập trình khác nhau bao gồm C++, Java, Python và Erlang và chúng được sử dụng theo yêu cầu. Với ĐÈN Facebook sử dụng một số công nghệ, để hỗ trợ số lượng lớn các yêu cầu, như

  1. Memcache - Nó là một hệ thống bộ nhớ cache được sử dụng để tăng tốc độ trang web cơ sở dữ liệu-driven động (như Facebook) của dữ liệu bộ nhớ đệm và các đối tượng trong RAM để giảm thời gian đọc. Memcache là hình thức đệm ẩn chính của Facebook và giúp giảm bớt tải cơ sở dữ liệu. Có một hệ thống bộ nhớ đệm cho phép Facebook nhanh như khi nhớ lại dữ liệu của bạn.

  2. Thrift (protocol) - Đây là khung gọi thủ tục từ xa nhẹ để phát triển các dịch vụ đa ngôn ngữ có thể mở rộng. Tiết kiệm hỗ trợ C++, PHP, Python, Perl, Java, Ruby, Erlang và các ngôn ngữ khác.

  3. Cassandra (database) - Đây là hệ thống quản lý cơ sở dữ liệu được thiết kế để xử lý lượng lớn dữ liệu trải rộng trên nhiều máy chủ.

  4. HipHop for PHP - Đây là bộ biến mã nguồn cho mã tập lệnh PHP và được tạo để lưu tài nguyên máy chủ. HipHop chuyển đổi mã nguồn PHP thành C++ tối ưu. Sau khi thực hiện điều này, nó sử dụng g ++ để biên dịch nó thành mã máy.

Nếu chúng tôi đi vào chi tiết hơn, thì hãy trả lời câu hỏi này lâu hơn. Chúng ta có thể tìm hiểu thêm từ bài viết sau đây:

  1. How Does Facebook Work?
  2. Data Management, Facebook-style
  3. Facebook database design?
  4. Facebook wall's database structure
  5. Facebook "like" data structure
+0

@Mayank: Câu trả lời này có giải quyết được sự cố của bạn không? –

0

0. Trung bình, đó là. Một mạng kết nối rất cao với một số lượng lớn người dùng như Facebook chỉ có thể chạy hiệu quả nếu nó chạy hoàn toàn ra khỏi ram cho các trang được hiển thị thường xuyên. Gần như tất cả dữ liệu đã có trong memcache.

Các vấn đề liên quan