ZSTD - Algoritma Mampatan Data Cepat yang digunakan oleh Facebook

ZSTD - Algoritma Mampatan Data Cepat yang digunakan oleh Facebook

Zstandard (juga dikenali sebagai zstd) adalah sumber terbuka percuma, program pemampatan data masa nyata yang cepat dengan nisbah mampatan yang lebih baik, yang dibangunkan oleh Facebook. Ia adalah algoritma mampatan tanpa kehilangan yang ditulis dalam C (Terdapat pelaksanaan semula di Java) - dengan itu program Linux asli.

Baca juga: 10 7Zip (Data Comperssion) Contoh Perintah di Linux

Apabila diperlukan, ia boleh memperdagangkan kelajuan mampatan untuk nisbah mampatan yang lebih kuat (kelajuan mampatan vs nisbah mampatan nisbah boleh dikonfigurasi dengan kenaikan kecil), sebaliknya. Ia mempunyai mod khas untuk pemampatan data kecil, yang dikenali sebagai mampatan kamus, dan boleh membina kamus dari mana -mana set sampel yang disediakan. Ia dilengkapi dengan utiliti baris arahan untuk membuat dan menyahkod .zst, .Gz, .xz dan .LZ4 fail.

Yang penting, Zstandard Mempunyai koleksi API yang kaya, menyokong hampir semua bahasa pengaturcaraan yang popular termasuk Python, Java, JavaScript, Nodejs, Perl, Ruby, C#, Go, Rust, PHP, Switft, dan banyak lagi.

Ia digunakan secara aktif untuk memampatkan jumlah data yang besar dalam pelbagai format dan menggunakan kes dalam Facebook; perkhidmatan seperti Amazon Redshift Pergudangan data; pangkalan data seperti Hadoop dan Redis; rangkaian tor dan banyak aplikasi lain termasuk permainan.

Keputusan berikut diperoleh dengan melakukan beberapa ujian algoritma pemampatan cepat pada pelayan yang menjalankan Linux Debian menggunakan LZBench, alat penanda aras dalam sumber terbuka.

Ujian mampatan Zstandard

Cara Memasang Alat Mampatan Zstandard di Linux

Untuk memasang Zstandard Pada pengedaran Linux, anda perlu menyusunnya dari sumber, tetapi sebelum itu pertama anda perlu memasang alat pembangunan yang diperlukan pada sistem anda menggunakan pengurus pakej pengedaran anda seperti yang ditunjukkan.

$ sudo apt update & sudo apt pasang membina-essential #ubuntu/debian #yum kumpulan pemasangan "alat pembangunan" #centos/rehl #dnf groupinstall "alat pembangunan dan perpustakaan" #fedora 22+ 

Setelah semua alat pembangunan yang diperlukan dipasang, kini anda boleh memuat turun pakej sumber, masuk ke direktori repo tempatan, bina binari dan pasangnya seperti yang ditunjukkan.

$ cd ~/muat turun $ git clone https: // github.com/facebook/zstd.git $ cd zstd $ membuat $ sudo membuat pemasangan 

Sekali Zstandard dipasang, sekarang kita dapat bergerak lebih jauh untuk mempelajari beberapa penggunaan asas Zstd Contoh perintah di bahagian berikut.

Ketahui 10 Contoh Penggunaan Perintah ZSTD di Linux

Sintaks baris perintah ZSTD biasanya sama dengan gzip dan xz alat, dengan beberapa perbezaan.

1. Untuk membuat a .zst fail mampatan, hanya berikan nama fail untuk memampatkannya atau menggunakan -z Bendera juga bermaksud memampatkan, yang merupakan tindakan lalai.

$ zSTD ETCHER-1.3.1-x86_64.Appimage atau $ zstd -z etcher -1.3.1-x86_64.Appimage 

2. Untuk mengurangkan a .zst fail mampatan, gunakan -d bendera atau unzstd utiliti seperti yang ditunjukkan.

$ zstd -d etcher -1.3.1-x86_64.Appimage.zst atau $ unzstd etcher-1.3.1-x86_64.Appimage.zst 

3. Untuk mengalih keluar fail sumber selepas operasi, secara lalai, fail sumber tidak dipadamkan selepas pemampatan atau penyahmampatan yang berjaya, untuk memadamkannya, gunakan --rm pilihan.

$ ls etcher-1.3.1-x86_64.AppImage $ ZSTD-RM ETCHER-1.3.1-x86_64.Appimage $ ls etcher-1.3.1-x86_64.Appimage 

4. Untuk menetapkan tahap mampatan, ZSTD mempunyai beberapa pengubah operasi, contohnya anda boleh menentukan tahap mampatan sebagai -6(nombor 1-19, lalai adalah 3) seperti yang ditunjukkan.

$ zSTD -6 - -rm etcher -1.3.1-x86_64.Appimage 

5. Untuk menetapkan kelajuan mampatan, ZSTD mempunyai nisbah kelajuan mampatan 1-10, kelajuan mampatan lalai adalah 1. Anda boleh berdagang nisbah mampatan untuk kelajuan mampatan dengan --Cepat pilihan, semakin tinggi bilangan semakin cepat kelajuan mampatan.

$ ZSTD-FAST = 10 ETCHER-1.3.1-x86_64.Appimage 

6. Untuk memaparkan maklumat mengenai fail termampat, gunakan -L Bendera, yang digunakan untuk memaparkan maklumat mengenai fail termampat, contohnya.

$ zstd -l etcher -1.3.1-x86_64.Appimage.zst 

7. Untuk menguji integriti fail termampat, gunakan -t bendera seperti yang ditunjukkan.

$ zstd -t etcher -1.3.1-x86_64.Appimage.zst 

8. Untuk membolehkan mod verbose, gunakan -v pilihan.

$ zstd -v -5 etcher -1.3.1-x86_64.Appimage 

9. Untuk menggunakan format mampatan fail atau penyahmampatan lain seperti GZIP, XZ, LZMA, dan LZ4, menggunakan --format = format seperti yang ditunjukkan.

$ zstd -v --format = gzip etcher -1.3.1-x86_64.AppImage $ zstd -v --format = xz etcher -1.3.1-x86_64.Appimage 

10. Untuk menetapkan keutamaan proses ZSTD ke masa nyata, anda boleh menggunakan pilihan -Keutamaan = Rt seperti yang ditunjukkan.

$ zSTD-Priority = RT ETCHER-1.3.1-x86_64.Appimage 

The -r Bendera mengarahkan ZSTD untuk beroperasi secara rekursif pada kamus. Anda boleh menemui banyak pilihan yang berguna dan maju, bagaimana membaca atau membuat kamus dengan berunding dengan halaman lelaki ZSTD.

$ man zstd 

Repositori Zstandard GitHub: https: // github.com/facebook/zstd

Zstandard adalah algoritma mampatan data masa nyata yang cepat dan lossless yang menawarkan nisbah mampatan yang tinggi. Cubalah dan kongsi pendapat anda tentangnya atau tanya soalan melalui borang maklum balas di bawah.