Apa itu MIRA?

in mira •  2 months ago 

Hello semuanya! Saya baru saja membaca postingan @vandeberg tentang What is MIRA?. Dia @vandeberg, Insinyur Blockchain Senior di Steemit dan hari ini ia ingin berbicara sedikit tentang MIRA, solusi perangkat lunak untuk tantangan skalabilitas perangkat keras Steem yang telah ia kembangkan selama beberapa bulan terakhir dan yang baru saja mereka umumkan telah memulai soft roll-out pada node Steemit. Anda dapat menemukan pengumuman itu di @steemitblog. Anda juga dapat menontonnya, atau mendengarkan saya, berbicara tentang MIRA pada episode terbaru podcast Steemit di bawah ini.

Berkat MIRA, mereka melihat pengurangan dramatis dalam biaya menjalankan node Steem yang dihasilkan dari migrasi basis data blockchain Steem (steemd) dari perangkat keras yang mahal, berkinerja tinggi, ke perangkat keras berbiaya rendah, seperti jaringan yang terpasang SSD. atau bahkan drive disk pemintalan jadul!

Penggantian Basis Data

MIRA adalah pengganti lengkap untuk database backend yang memanfaatkan teknologi yang disebut RocksDB. RocksDB dikembangkan oleh Facebook untuk memberi daya pada Feed mereka yang harus memuat data dengan sangat cepat untuk memberikan pengalaman pengguna yang menyenangkan. Leveraging RocksDB memungkinkan kita untuk menjalankan blockchain Steem jauh lebih efektif secara biaya, dan menempatkan tantangan penskalaan perangkat keras kita untuk selamanya dan selamanya.

Perangkat Keras Komoditas

Awalnya ketika Steem diluncurkan, database disimpan pada perangkat keras yang lebih terjangkau. Tetapi seiring dengan bertambahnya ukuran basis data, media penyimpanan tersebut mengalami kesulitan untuk mengimbangi tingkat keterlibatan yang dituntut dari protokol. Untuk mengatasi masalah tersebut, kami mengembangkan solusi perangkat lunak inovatif yang memigrasi basis data ke media penyimpanan berkinerja lebih tinggi untuk memastikan pengalaman pengguna yang konsisten.

Ini adalah solusi sementara yang baik, tetapi ketika Steem terus tumbuh, biaya menjalankan blockchain di media penyimpanan canggih mulai menjadi beban finansial bagi mereka yang menjalankan node Steem seperti pengembang aplikasi dan Saksi (yaitu produsen blok ). MIRA me-reset persyaratan perangkat keras untuk Steem ke apa mereka ketika Steem pertama kali diluncurkan, tanpa secara negatif mempengaruhi kinerja.

Biaya Menurun Seiring Waktu

Berkat MIRA, teknologi ini sekarang tersedia untuk memungkinkan Steem untuk skala jauh lebih efisien ke masa depan, idealnya pada kursus yang akan melihat perangkat keras melampaui persyaratan Steem. Itu berarti bahwa terlepas dari kenyataan bahwa Steem akan terus tumbuh, mungkin sebenarnya lebih murah untuk menjalankan Steem dari waktu ke waktu, selama perbaikan perangkat keras berlanjut pada tingkat saat ini. Ini penting karena biaya terbesar untuk blockchain (terutama blockchain yang menghasilkan blok sangat cepat) akan menjadi ruang disk, tetapi memungkinkan data untuk disimpan pada disk lambat harus menetralkan biaya itu.

Apa itu RocksDB?

RocksDB adalah fork dari LevelDB yang merupakan fork dari Berkeley DB. Banyak blockchains menggunakan LevelDB untuk dijalankan pada disk, tetapi itu karena mereka hampir tidak secepat Steem, yang memiliki waktu blok 3 detik. RocksDB menambahkan lebih banyak lapisan algoritma caching yang membuatnya jauh lebih efisien daripada LevelDB sambil juga menyediakan antarmuka yang membuatnya lebih mudah bagi kita untuk memasukkannya ke dalam basis kode Steem yang ada. Semua itu penting untuk memastikan bahwa blockchain berkinerja tinggi seperti Steem dapat dijalankan pada perangkat keras yang murah dan bukan hanya perangkat keras eksotis seperti nVME.

Tapi ini bukan masalah Steem yang unik. Ketika blockchain lain seperti Ethereum berusaha untuk mengecilkan waktu blok mereka, persyaratan untuk akses data cepat akan menjadi lebih penting, di mana mereka perlu melihat solusi penskalaan yang lebih baik untuk database backend mereka. Beruntung bagi tim tersebut, karena MIRA akan menjadi Open Source, sebanyak 90% dari pekerjaan mereka sudah dilakukan untuk mereka.

Mengapa Adaptor?

Ada beberapa proyek seperti Hyperledger yang menggunakan RocksDB secara langsung, yang memunculkan pertanyaan mengapa kami melakukan begitu banyak pekerjaan untuk membangun perangkat lunak yang lain. Salah satu hal yang dicapai oleh adaptor (yaitu MIRA) adalah mengurangi kesalahan programmer, kami memiliki antarmuka yang terdefinisi dengan baik dan bekerja dan sangat mudah untuk dikembangkan, sebagian besar dari waktu pengembangan 3 bulan pertama Steem dapat dikaitkan dengan antarmuka, mereka memiliki binding C ++ yang sangat bagus yang mengaburkan semua manajemen basis data dan memungkinkan kita untuk mengembangkan semua kode dengan sangat cepat. Jika kita membangun langsung pada RocksDB, semua kode Steem harus ditulis ulang, itu akan sangat rawan kesalahan dan akan membutuhkan waktu berbulan-bulan hingga bertahun-tahun - untuk melakukan refactor skala itu dan menguji dan memastikan tidak ada bug

Penggunaan Non-Steem

Salah satu hal hebat tentang MIRA adalah sepenuhnya Open Source, jadi jika tim lain ingin menggunakan MIRA, mereka hanya perlu melakukan sedikit pekerjaan untuk mengintegrasikan MIRA ke dalam solusi mereka karena MIRA juga merupakan blockchain agnostik. Dapat digunakan untuk berbagai aplikasi. Saya tahu bahwa jika saya sedang mengembangkan aplikasi dalam C ++ dan saya membutuhkan jenis jenis solusi penskalaan basis data yang disediakan MIRA, saya tidak akan ragu untuk menggunakannya dan hal itu akan menyelamatkan saya mungkin 90% dari waktu pengembangan saya sebagian karena kami menaruh banyak upaya dalam membangun antarmuka yang baik yang membuatnya mudah untuk bekerja dengan MIRA.

Maksud dari MIRA adalah untuk membungkus RocksDB dalam sebuah antarmuka yang cocok dengan apa yang disediakan oleh penambah wadah multi-indeks yang merupakan pustaka yang lebih banyak digunakan, karena Boost adalah standar dalam aplikasi C ++. Itu karena orang-orang yang mempertahankan Boost adalah beberapa pengembang C ++ paling berbakat di dunia. Tanpa kerja luar biasa mereka, MIRA bahkan tidak mungkin. Sebagian besar pekerjaan kami menggali dalam wadah multi-indeks penambah, melihat penerapannya dan menukar kode di mana diperlukan untuk berinteraksi dengan RocksDB alih-alih berada dalam struktur objek memori yang mendorong wadah multi-indeks lakukan. Jadi jika ada proyek yang ingin menggunakan Boost untuk memigrasi basis data dari memori ke disk, MIRA dapat membantu.

Kegembiraan Pengembangan Sumber Terbuka

Kegembiraan bekerja di Open Source adalah kami bisa meminjam ide-ide hebat dari para insinyur hebat, menambah ide-ide kami sendiri, dan membiarkan seluruh dunia menggunakan semuanya. Kode itu hanya duduk di sana, menunggu orang menggunakannya. Akan luar biasa jika proyek lain menggunakan MIRA, tetapi bahkan jika tidak, itu memenuhi kebutuhan kritis dalam ekosistem kita. Jika kode sumber Steem adalah satu-satunya kode yang menggunakan MIRA, itu berarti bahwa setiap orang yang menjalankan simpul Steem akan menggunakan MIRA untuk membuat hidup mereka lebih mudah dan mengurangi biaya mereka. Dan itu masih masalah yang cukup besar.

Mungkin hanya itu saja yang dapat saya bagikan beberapa foto kepada anda semuanya! Semoga anda menyukainya!.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!