Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[Sidang] Layanan Basis Data Real Time NoSQL untuk Kolaborasi Web Audio Editor

[Sidang] Layanan Basis Data Real Time NoSQL untuk Kolaborasi Web Audio Editor

Sonny Lazuardi

June 10, 2015
Tweet

More Decks by Sonny Lazuardi

Other Decks in Programming

Transcript

  1. LAYANAN BASIS DATA REAL-TIMENOSQL UNTUK KOLABORASI WEB AUDIO EDITOR Disusun

    oleh: Sonny Lazuardi Hermawan (13511029) Pembimbing: Achmad Imam Kistijantoro, ST, M.Sc, Ph.D 1 6/10/2015 Sonny Lazuardi/Tugas Akhir II
  2. CouchDB Basis data NoSQL berbasiskan model dokumen schema-free mengutamakan Availability

    dan Partition-Tolerance (Aderson, Lehnardt, & Slater, 2010) 5 6/10/2015 Sonny Lazuardi/Tugas Akhir II Eventually Consistent
  3. Firebase Layanan basis data real-time cloud 6 Tanpa Back End

    Real- time Tidak Open Source Firebase is proprietary (Cherniavsky, 2013) 6/10/2015 Sonny Lazuardi/Tugas Akhir II
  4. Audio Editor Digital Audio Workstation (DAW) Garage Band (Apple Inc.,

    2014) 7 Kolaborasi 6/10/2015 Sonny Lazuardi/Tugas Akhir II
  5. (Apple Inc., 2014) 8 Audio Editor Digital Audio Workstation (DAW)

    Kolaborasi 6/10/2015 Sonny Lazuardi/Tugas Akhir II
  6. Web Audio Editor 9 Arrangement Track 1 Track 2 global

    control interface Drum Machine Recording Piece track control panel Preview Synth Web Audio Editor (Monschke, 2014) 6/10/2015 Sonny Lazuardi/Tugas Akhir II
  7. RumusanMasalah 10 Cluster Basis Data Server Session Client 1 Client

    2 6/10/2015 Sonny Lazuardi/Tugas Akhir II Pembangunan Layanan Basis Data 1 Penyimpanan state offline 3 Algoritma & Metode Sinkronisasi 2
  8. RumusanMasalah 11 Chat Client 1 Chat Client 2 6/10/2015 Sonny

    Lazuardi/Tugas Akhir II Cluster Basis Data Server Session Pembangunan Layanan Basis Data 1
  9. Tujuan 12 Membangun layanan basis data NoSQL real-time untuk Web

    Audio Editor Membandingkan kinerja algoritma dan penanganan konflik Menganalisis penyimpanan state saat offline 6/10/2015 Sonny Lazuardi/Tugas Akhir II
  10. Batasan 13 Format & Codec audio hanya yang didukung oleh

    browser Format data yang ditangani berbentuk JSON Hak akses dan security tidak ditangani 6/10/2015 Sonny Lazuardi/Tugas Akhir II
  11. PenangananKonflik 19 6/10/2015 Sonny Lazuardi/Tugas Akhir II Pengguna A offline

    Pengguna A mengedit dokumen Dokumen versi lokal A Dokumen versi lokal A digabung Dokumen versi lokal B konflik Dokumen versi A Dokumen versi B Dokumen awal Pengguna B offline Pengguna B mengedit dokumen Dokumen versi lokal B online
  12. LingkunganImplementasi 6/10/2015 Sonny Lazuardi/Tugas Akhir II 23 Digital Ocean •

    Lokasi Singapura • Processor Intel Hex-Core CPUs • Memory 512MB RAM • SSD Disk 20GB • Sistem Operasi Ubuntu 14.04
  13. NoBackend 25 NoBackend adalah sebuah pendekatan untuk memisahkan aplikasi dengan

    backend dengan cara mengabstraksikan tugas kepada frontend. (Martynus, 2013) 6/10/2015 Sonny Lazuardi/Tugas Akhir II
  14. 26 6/10/2015 Sonny Lazuardi/Tugas Akhir II CippyDB CippyDB adalah layanan

    basis data real-time untuk server CouchDB http://cippydb.sonnylab.com/
  15. API & Service 27 Pouch DB Get() Put() Cippy On()

    Sync() Replicate() Add() BindTo() Remove() 6/10/2015 Sonny Lazuardi/Tugas Akhir II Change Paused Active Error Clear() Remove() Save()
  16. PouchDB Library Javascript untuk basis data CouchDB yang tersinkronisasi 29

    Offline State CouchDB Long Polling PouchDB.com 6/10/2015 Sonny Lazuardi/Tugas Akhir II
  17. Client Caching 32 Alur Kerja Pengguna mengedit dokumen online Pengguna

    mengedit dokumen offline Pengguna Online Sinkronisasi dokumen State offline disimpan di klien secara lokal ya tidak • Replikasi • Trigger Update IndexedDB 6/10/2015 Sonny Lazuardi/Tugas Akhir II
  18. PengujianFungsional 36 6/10/2015 Sonny Lazuardi/Tugas Akhir II Kasus Uji 14

     14 Lulus Pengeditan Track & Piece Chatting Playback Konflik
  19. MetodePengujian 39 6/10/2015 Sonny Lazuardi/Tugas Akhir II Non Fungsional Kinerja

    Sinkronisasi 9x Rata-rata Penggunaan Resource Developer Tools Linux Process Manager
  20. Kinerja(Arsitektur) 40 6/10/2015 Sonny Lazuardi/Tugas Akhir II Rata-rata waktu sinkronisasi

    (ms) 154.81 775.74 40.35 0 100 200 300 400 500 600 700 800 900 Websocket (DS) Long Polling (CR) Replication Stream (RS)
  21. PenggunaanResource 41 6/10/2015 Sonny Lazuardi/Tugas Akhir II pada server 0

    0.2 0.4 0.6 0.8 1 1.2 1.4 0 1 5 10 20 WAE CippyDB Penggunaan CPU 12 12.5 13 13.5 14 14.5 15 15.5 16 16.5 17 0 1 5 10 20 WAE CippyDB Penggunaan Memori Jumlah Klien Konkuren Jumlah Klien Konkuren Persentase (%) Persentase (%)
  22. PenggunaanResource 42 6/10/2015 Sonny Lazuardi/Tugas Akhir II pada klien Web

    Audio Editor Cippy Editor Total Ukuran File JS 969 KB Total Ukuran File JS 616 KB Jumlah File JS 3 Jumlah File JS 7 Waktu Muat 1.84 s Waktu Muat 1.02 s GPU Memory 3.3 MB GPU Memory 3.0 MB
  23. Kesimpulan 44 6/10/2015 Sonny Lazuardi/Tugas Akhir II Layanan API real-time

    untuk frontend Kinerja terbaik Continuous Replication dengan optimalisasi Replication Stream Penyimpanan state offline pada klien dengan IndexedDB
  24. Saran 45 6/10/2015 Sonny Lazuardi/Tugas Akhir II Penanganan Offline State

    dengan basis data selain IndexedDB Optimalisasi Render Fitur security untuk authentication dan authorization