7-Days Wrap UpDing dong!🔔 |
Rahasia Discord Simpan Hingga Biliunan PesanTahun 2017, Bo Ingram, Senior Software Engineer Discord, dan rekannya menuliskan sebuah postingan blog berjudul “How we store billions of messages”. Mereka mengawali perjalanan dengan menggunakan MongoDB hingga akhirnya berpindah ke Cassandra dengan fitur yang lebih toleran akan kesalahan, terukur, dan perawatan yang cenderung lebih rendah. Seiring berjalannya waktu, Bo Ingram menemukan isu performa Cassandra yang membuatnya harus berupaya lebih untuk menjaga database. Masalah dari Cassandra Penyimpanan pesan dilakukan di database bernama “cassandra-messages”. Tahun 2017, Bo Ingram menjalankan 12 node Cassandra untuk menyimpan biliunan pesan, kemudian menjadi 177 node dengan biliunan pesan di 2022. Selama itu, berbagai masalah Bo Ingram dan rekannya temukan. Pertama, mari kita lihat pesannya: Pernyataan CQL di atas adalah contoh skema pesan yang paling sederhana. Setiap ID-nya menggunakan Snowflake yang dapat menyortir pesan sesuai urutan waktunya. Setelah diuji, fakta menunjukkan seluruh pesan pada channel dan buket akan disimpan bersamaan dan disalin melalui tiga node. Dalam penulisan pesan di atas, pesan ditambahkan dengan commit log yang ditulis ke dalam struktur memori yang disebut sebagai memtable. Memtable ini dibutuhkan dalam membaca data dan memunculkan potensi SSTables (file on-disk) dengan biaya operasional lebih mahal. Cassandra juga dapat menghadapi partisi panas yang sering kali mempengaruhi di seluruh klaster di database Cassandra. Pergantian arsitektur cluster pesan Cluster pesan Discord, bukan satu-satunya yang berbasis data Cassandra. Bo Ingram pernah menaruh ketertarikan di ScyllaDB, database kompatibel dengan Cassandra yang ditulis dalam C++. ScyllaDB dapat meningkatkan performa, lebih cepat diperbaiki, dan isolasi beban kerja melalui arsitektur shard-per-core yang lebih kuat. Meskipun ada isu yang muncul, ScyllaDB tidak memiliki fitur pengumpulan sampah karena ditulis dalam C++, bukan Java. Belajar dari pengalaman sebelumnya, tim Bo Ingram menemukan banyak permasalahan dari fitur pengumpulan sampah di Cassandra. Setelah melalui eksperimen, tim Bo Ingram memberikan keputusan untuk memigrasikan semua database ke ScyllaDB kecuali cassandra-messages. Database tersebut memiliki biliunan pesan dengan nyaris 200 node, butuh upaya yang sangat besar dalam proses pemindahannya. Layanan data dalam penyajian data Discord Bo Ingram dan kadang juga mengalami kesulitan dengan partisi panas di Cassandra. Database dilindungi dengan mengatur jumlah traffic pada partisi panas. Data ditulis dengan bahasa Rust. Performa C/C++ dapat meningkat tanpa harus mengorbankan keamanan data. Selain itu, terdapat ekosistem Tokio yang merupakan sebuah pondasi dalam membangun sistem I/O asinkron dengan bahasa yang mendukung driver Cassandra dan ScyllaDB. Layanan data berada di antara API dan cluster ScyllaDB. Berikut adalah kelebihan dari Rust, mudah ditulis dengan kode berulang dengan aman. Dengan layanan data ini, lonjakan traffic pada database dapat berkurang secara signifikan. Selain itu, perutean yang berbasis hash yang konsisten ke layanan data dapat memungkinkan penggabungan yang lebih efektif sehingga membantu mengurangi beban pada database. Upaya-upaya di atas memang tidak mampu mengatasi semua masalah, tetapi sangat membantu beban dari partisi panas dan peningkatan latensi klaster Cassandra Discord. Migrasi data besar-besaran Persyaratan dalam migrasi bisa dibilang cukup mudah, yang harus dilakukan adalah
Langkah pertama, menentukan klaster ScyllaDB baru dengan teknologi penyimpanan super disk menggunakan SDD lokal. Dimulai dengan dual-writing data baru ke Cassandra dan ScyllaDB secara bersamaan dengan mulai menyediakan migrator Spark ScyllaDB. Tim Bo Ingram memilih meme-driven engineering dan menulis ulang migrator data pada Rust. Setelah itu, pustaka layanan data diperluas dengan melakukan migrasi dalam skala besar via SQLite dengan kecepatan hingga 3,2 juta per detik. Validasi data otomatis dilakukan dengan mengirimkan sebagian kecil bacaan ke kedua database dan membandingkan hasilnya. Hasilnya, klaster tersebut bertahan dengan baik dengan lalu lintas produksi penuh, sedangkan untuk Cassandra sendiri semakin sering mengalami masalah latensi. Dengan ini, ScyllaDB berhasil menjadi database utama Discord! Beberapa bulan kemudian… Bulan Mei 2022, pengalihan database pesan telah usai. Database menjadi jauh lebih efisien, dari 177 node Cassandra menjadi 72 node ScyllaDB. Ada satu hal yang menarik perhatian ketika hiruk pikuk World Cup 2022 di seluruh dunia, yaitu gol yang dicetak pemain dapat muncul di grafik pemantauan seperti di bawah ini. Masing-masing dari sembilan lonjakan dalam grafik tersebut mewakili satu kejadian dalam pertandingan.
Dengan layanan data berbasis Rust dan ScyllaDB, Discord dapat memikul traffic ini. Bo Ingram dan tim telah berhasil membangun sistem yang dapat menampung biliunan pesan. Finish Your Job Faster, 7 AI Platform untuk Content CreatorSetelah badai COVID-19 melanda, penggunaan media sosial dan teknologi secara umum semakin diandalkan. Kebutuhan sekolah hingga pekerjaan tidak sedikit masih dilakukan secara online. Tools kecerdasan buatan gratis berikut bisa membuat content creator lebih sat set! 1. Sheet+ Masih bingung formula apa yang perlu digunakan di Sheets? Atau masing bingung dengan fungsi-fungsi dari tiap formula di Excel? Sheet+ is the answer for you! Dengan pemakaian 10 kali per akun secara gratis, it’s time to say goodbye to pusing ngafalin rumus Excel dan Google Sheets. 2. Simplified Laman Simplified cocok untuk orang-orang yang produktif di bidang marketing maupun media sosial. All-in-one, dalam laman ini pengguna dapat mengakses beragam fitur meliputi desain, editing video, pengelola media sosial, dan bantuan copywriting dari AI. 3. Krisp Meeting secara daring dapat menghilangkan batasan jarak dengan waktu yang lebih efektif. Namun, tidak dapat dihindari kerap ada gangguan suara dari sekitar. Ketenangan dan suara yang jernih menjadi tantangan tersendiri. Krisp hadir menjawab permasalahan tersebut. Tidak perlu lagi khawatir dengan suara tetangga yang lagi renov rumah, ayam tetangga, echo, dan intervensi lainnya ketika meeting sedang berlangsung. 4. Rationale Bingung menentukan keputusan dalam bisnis atau perkerjaan? Let this AI help you. Dengan menuliskan pertimbangan yang masih belum bisa diputuskan, AI Rationale akan membantu pengguna menentukan pilihan yang tepat melalui analisis pro kontra, SWOT, dan analisis multi-kriteria atau klausal yang membantu untuk tahu keputusan mana yang terbaik. 5. Lexica Foto menjadi elemen penting dalam penyusunan konten. Namun, dalam pencarian foto terbaik tidaklah mudah bagi content creator. Adanya Lexica menjadi game changer. Masukkan parameter atau deskripsi foto yang diinginkan, foto kualitas HD akan muncul. Hadirnya beragam fitur AI memudahkan kita dalam menyelesaikan pekerjaan. Waktu yang semula harus diluangkan untuk riset secara manual bisa dipangkas untuk melanjutkan pekerjaan selanjutnya. Ditambah lagi, kemudahan yang ditawarkan AI dapat menjadi peluang bisnis baru. Hope these news give you new insights. Azura Labs |
Jl. Lumbungsari V No.3, Kalicari, Kec. Pedurungan, Semarang, Jawa Tengah 50198 |
Mau update insight-mu seputar dunia IT dan startup? Dapatkan kompilasi berita up-to-date tiap minggunya dengan subscribe Newsletter Azura Labs. Freshly baked every week! ✨ More about Azura Labs : https://azuralabs.id/
Newsletter Update! 7-Days Wrap Up Ding dong! 🔔 Selamat datang di newsletter pertama setelah berlelah-lelah puasa kemudian berbahagia di hari raya bagi yang merayakan! Mohon maaf lahir batin dari segenap Tim 7-Days Wrap Up. Kembali dengan kabar teknologi terkini, kali ini Azura Labs mengulik empat fakta terkini tentang kemerosotan software. Yuk, simak! 4 Fakta yang Terjadi Tentang Kemerosotan Software di Era Modern Ilustrasi Software Error (Sumber: Freepik) Zaman semakin maju, dunia teknologi...
Newsletter Update! 7-Days Wrap Up Ding dong! 🔔 Tidak terasa, sekarang sudah di penghujung bulan Ramadhan. Agar kamu makin semangat menunggu buka puasa, Azura Labs membawakan rahasia di balik algoritma tweet di timeline Twitter dan rencana GoTo lari kencang di 2023 Di Balik Layar Tweet di Timeline Twitter Algoritma Twitter (Gambar: Twitter Theo @t3dotgg) Are you one of the Twitter Netz?Then, you would love to read this! Sudah 17 tahun lamanya sejak Twitter didirikan oleh Jack Dorsey bersama...
Newsletter Update! 7-Days Wrap Up Ding dong! 🔔 How was your first week of fasting? Memasuki minggu ketiga puasa, 7-Days Wrap Up kembali dengan berita terkini: Kenapa Programmer Harus Bisa Bahasa Inggis dan Memperkenalkan Microsoft 265 Copilot. 5 Alasan Kenapa Programmer Harus Bisa Bahasa Inggris Pertanyaan, “apa programmer harus bisa bahasa Inggris?” kerap bersliweran, terutama ditanyakan oleh programmer pemula. Azura Labs akan membahas jawaban dari pertanyaan tersebut di artikel ini. Yuk,...