Woodpecker

Di Milvus 2.6, Woodpecker menggantikan Kafka dan Pulsar dengan sistem write-ahead log (WAL) yang dibuat khusus untuk keperluan cloud. Dirancang untuk penyimpanan objek, Woodpecker menyederhanakan operasi, memaksimalkan hasil, dan menskalakan dengan mudah.

Sasaran desain Woodpecker:

  • Throughput tertinggi di lingkungan cloud

  • Pencatatan yang tahan lama dan hanya menambahkan untuk pemulihan yang andal

  • Biaya operasional yang minimal tanpa disk lokal atau perantara eksternal

Arsitektur tanpa disk

Inovasi inti Woodpecker adalah arsitektur tanpa disk:

  • Semua data log disimpan dalam penyimpanan objek cloud (seperti Amazon S3, Google Cloud Storage, atau Alibaba OS)
  • Metadata dikelola melalui penyimpanan nilai kunci terdistribusi seperti etcd
  • Tidak ada ketergantungan disk lokal untuk operasi inti

woodpecker layers lapisan pelatuk

Komponen arsitektur

Penerapan Woodpecker standar mencakup komponen-komponen berikut ini:

  • Klien: Lapisan antarmuka untuk mengeluarkan permintaan baca dan tulis
  • LogStore: Mengelola buffering tulis berkecepatan tinggi, unggahan asinkron ke penyimpanan, dan pemadatan log
  • Backend penyimpanan: Mendukung layanan penyimpanan yang dapat diskalakan dan berbiaya rendah seperti S3, GCS, dan sistem file seperti EFS
  • Dll: Menyimpan metadata dan mengoordinasikan status log di seluruh node yang terdistribusi

Mode penyebaran

Woodpecker menawarkan dua mode penerapan yang sesuai dengan kebutuhan spesifik Anda:

MemoryBuffer - Ringan dan bebas perawatan

Mode MemoryBuffer menyediakan opsi penerapan yang sederhana dan ringan di mana klien tertanam Woodpecker untuk sementara menyangga penulisan yang masuk di memori dan secara berkala membuangnya ke layanan penyimpanan objek cloud. Dalam mode ini, buffer memori disematkan langsung ke dalam klien, sehingga memungkinkan pengelompokan yang efisien sebelum dibuang ke S3. Metadata dikelola menggunakan etcd untuk memastikan konsistensi dan koordinasi. Mode ini paling cocok untuk beban kerja batch-berat dalam penerapan skala kecil atau lingkungan produksi yang memprioritaskan kesederhanaan di atas kinerja, terutama ketika latensi tulis yang rendah tidak terlalu penting. Latensi tulis dalam mode ini umumnya antara 200-500 ms.

woodpecker memory mode deployment penerapan mode memori pelatuk

QuorumBuffer - Dioptimalkan untuk latensi rendah, daya tahan tinggi

Mode QuorumBuffer dirancang untuk beban kerja baca/tulis frekuensi tinggi yang sensitif terhadap latensi dan membutuhkan respons waktu nyata serta toleransi kesalahan yang kuat. Dalam mode ini, klien Woodpecker berinteraksi dengan sistem kuorum tiga replika untuk menyediakan buffer tulis berkecepatan tinggi, memastikan konsistensi yang kuat dan ketersediaan yang tinggi melalui konsensus terdistribusi.

Penulisan dianggap berhasil setelah klien berhasil mereplikasi data ke setidaknya dua dari tiga node kuorum, biasanya selesai dalam satu digit milidetik, setelah itu data secara asinkron ke penyimpanan objek cloud untuk daya tahan jangka panjang. Arsitektur ini meminimalkan status on-node, menghilangkan kebutuhan volume disk lokal yang besar, dan menghindari perbaikan anti-entropi yang rumit yang sering kali diperlukan dalam sistem berbasis kuorum tradisional.

Hasilnya adalah lapisan WAL yang ramping dan kuat yang ideal untuk lingkungan produksi yang sangat penting di mana konsistensi, ketersediaan, dan pemulihan yang cepat sangat penting.

woodpecker quorum mode deployment penerapan mode kuorum pelatuk

Tolok ukur kinerja

Kami menjalankan tolok ukur yang komprehensif untuk mengevaluasi kinerja Woodpecker dalam pengaturan single-node, single-client, single-log-stream. Hasilnya sangat mengesankan jika dibandingkan dengan Kafka dan Pulsar:

SistemKafkaPulsarWP MinioWP LokalWP S3
Throughput129,96MB/s107MB/s71MB/dtk450MB/s750MB/s
latensi58ms35ms184ms1,8ms166ms

Sebagai konteks, kami mengukur batas throughput teoretis dari berbagai backend penyimpanan yang berbeda pada mesin uji kami:

  • MinIO: ~110 MB/s
  • Sistem file lokal: 600-750 MB/s
  • Amazon S3 (instance EC2 tunggal): hingga 1,1 GB/s

Hebatnya, Woodpecker secara konsisten mencapai 60-80% dari throughput maksimum yang dimungkinkan untuk setiap backend - tingkat efisiensi yang luar biasa untuk middleware.

Wawasan kinerja utama

  • Mode Sistem File Lokal: Woodpecker mencapai 450 MB/s - 3,5 kali lebih cepat daripada Kafka dan 4,2 kali lebih cepat daripada Pulsar - dengan latensi sangat rendah hanya 1,8 ms, sehingga ideal untuk penerapan node tunggal berkinerja tinggi.
  • Mode Penyimpanan Cloud (S3): Saat menulis langsung ke S3, Woodpecker mencapai 750 MB/s (sekitar 68% dari batas teoretis S3), 5,8× lebih tinggi daripada Kafka dan 7× lebih tinggi daripada Pulsar. Meskipun latensi lebih tinggi (166 ms), pengaturan ini memberikan throughput yang luar biasa untuk beban kerja yang berorientasi pada batch.
  • Mode Penyimpanan Objek (MinIO): Bahkan dengan MinIO, Woodpecker mencapai 71 MB/s-sekitar 65% dari kapasitas MinIO. Performa ini sebanding dengan Kafka dan Pulsar tetapi dengan kebutuhan sumber daya yang jauh lebih rendah.

Woodpecker secara khusus dioptimalkan untuk penulisan bervolume tinggi secara bersamaan di mana menjaga ketertiban sangatlah penting. Dan hasil ini hanya mencerminkan tahap awal pengembangan-optimasi yang sedang berlangsung dalam penggabungan I/O, buffering cerdas, dan prefetching diharapkan dapat mendorong kinerja lebih dekat lagi ke batas teoretis.

Manfaat operasional

Arsitektur cloud-native Woodpecker memberikan keuntungan operasional yang signifikan:

  • Tidakada manajemen penyimpanan lokal: Menghilangkan manajemen volume disk, konfigurasi RAID, dan kegagalan perangkat keras
  • Penskalaan otomatis: Skala penyimpanan dengan penyimpanan objek cloud tanpa perencanaan kapasitas
  • Efisiensi biaya: Penyimpanan bayar sesuai penggunaan dengan tiering dan kompresi otomatis
  • Ketersediaan tinggi: Memanfaatkan daya tahan 11-sembilan dari penyedia layanan cloud dengan pemulihan yang cepat
  • Penerapan yangdisederhanakan: Dua mode penerapan (MemoryBuffer/QuorumBuffer) sesuai dengan kebutuhan operasional yang berbeda
  • Ramah pengembang: Penyiapan lingkungan yang lebih cepat dan arsitektur yang konsisten di semua lingkungan

Keunggulan-keunggulan ini menjadikan Woodpecker sangat berharga untuk RAG yang sangat penting, agen AI, dan beban kerja pencarian dengan latensi rendah di mana kesederhanaan operasional sama pentingnya dengan kinerja.

Coba Milvus yang Dikelola secara Gratis

Zilliz Cloud bebas masalah, didukung oleh Milvus dan 10x lebih cepat.

Mulai
Umpan balik

Apakah halaman ini bermanfaat?