PPL: Pertemuan 5

 High Level Design (Facebook)


High-Level Design (HLD) untuk sistem Facebook mengidentifikasi komponen utama yang diperlukan serta hubungan dan interaksi di antara mereka, dengan fokus pada skalabilitas, keandalan, keamanan, dan kinerja. Sistem ini terdiri dari beberapa komponen utama, termasuk Antarmuka Pengguna (UI) yang menyediakan halaman beranda, profil pengguna, grup, dan fitur interaktif seperti komentar, suka, dan berbagi konten. Manajemen Pengguna memainkan peran kunci dalam otentikasi, manajemen profil, dan pengaturan privasi, sementara Manajemen Konten bertanggung jawab atas penyimpanan dan manajemen postingan pengguna, foto, video, dan status. Sistem Notifikasi digunakan untuk memberitahu pengguna tentang interaksi dan aktivitas terkait, sementara analitik mengumpulkan data aktivitas pengguna untuk tujuan analisis dan peningkatan pengalaman pengguna. Keamanan sistem dijamin melalui perlindungan data pengguna, enkripsi informasi sensitif, pengaturan privasi yang cermat, dan deteksi anomali untuk mencegah serangan. Integrasi dengan platform eksternal seperti layanan login sosial dan berbagi konten juga diperhitungkan dalam arsitektur ini. High-Level Design ini menjadi landasan untuk Detailed Design yang akan merinci teknis implementasi masing-masing komponen, interaksi antarkomponen, serta strategi operasional untuk memastikan sistem Facebook dapat diimplementasikan sesuai dengan standar yang ditetapkan.


Use Case Diagram





  1. Pengguna Tamu (Guest):

    • Melihat Tweet: Pengguna tamu dapat melihat tweet yang diposting oleh pengguna terdaftar.
  2. Pengguna Terdaftar:

    • Melihat Beranda: Pengguna terdaftar dapat melihat Halaman Beranda yang berisi tweet dari pengguna yang diikuti.
    • Melihat Pencarian: Pengguna terdaftar dapat mencari tweet atau pengguna lain.
    • Melihat Notifikasi: Pengguna terdaftar dapat melihat notifikasi terkait aktivitas mereka.
    • Posting Tweet: Pengguna terdaftar dapat membuat dan memposting tweet baru.
    • Posting Gambar atau Video: Pengguna terdaftar dapat memposting gambar atau video sebagai tweet.
    • Interaksi dengan Tweet: Pengguna terdaftar dapat memberikan respons terhadap tweet dengan cara menyukai, tidak menyukai, dan memberikan komentar.
    • Mengikuti Pengguna: Pengguna terdaftar dapat mengikuti atau berhenti mengikuti pengguna lain.


Estimasi Penyimpanan

1. Pesan Teks Harian:

   - Setiap pesan rata-rata berukuran 100 byte.

   - Kita memerlukan 100 GB penyimpanan per hari

   Perhitungan:

   - 1 miliar pesan × 100 byte = 100 GB/hari.


2.  File Media Harian:

   - 10% dari pesan harian (100 juta) adalah file media.

   - Setiap file media rata-rata berukuran 50 KB.

   - Kita memerlukan 5 TB penyimpanan per hari.

   Perhitungan:

   - 100 juta file media × 50 KB = 5 TB/hari.


3. Total Penyimpanan untuk 10 Tahun:

   - Total penyimpanan yang dibutuhkan untuk 10 tahun adalah sekitar 19 PB.

   Perhitungan:

   - (5 TB + 0,1 TB) × 365 hari × 10 tahun = 19 PB.


High Level Architecture


Database Design



Comments

Popular posts from this blog

PPL: Pertemuan 7

ETS PPL

PPL: Pertemuan 14