Rekomendasi untuk perangkat keras Pencarian Elastis [ditutup]

10

Apakah ada panduan bagus untuk level perangkat keras untuk mendukung ElasticSearch? Apakah rekomendasi untuk Lucene atau Solr adalah tempat yang baik untuk memulai? Kami sedang memulai meluncurkan penyebaran dimulai dengan

  • 27 juta dokumen, 8TB data
  • tambahkan 300 ribu dokumen per hari

Kemudian naikkan itu sekitar 10x, menjadi

  • 270 juta dokumen, 80TB data
  • tambahkan 3 juta dokumen / hari

Ini adalah kasus penggunaan yang aneh, di mana kueri akan menjadi ribuan / hari, tetapi waktu respons harus tetap cukup rendah untuk pengalaman yang baik dengan webapp Ajaxy.

James Socol
sumber
@MarkHenderson: ini adalah pertanyaan nyata (bukan mainan) dan menarik. Saya pikir penilaian Anda tentang hal itu "terlalu terlokalisasi" adalah di luar target.
David J.
David, pertanyaan ditutup sesuai FAQ kami, kami tidak melakukan pertanyaan belanja
Mark Henderson

Jawaban:

11

Ada banyak faktor yang dapat berperan, jadi saya tidak berpikir ada banyak pedoman umum.

Anda harus melakukan evaluasi skala yang lebih kecil, mungkin dengan 1/5 data awal yang ditetapkan untuk melihat bagaimana hal-hal berperilaku ketika Anda melempar pengindeksan yang diharapkan dan beban pencarian di setup. Ini akan memastikan Anda memahami berapa banyak ruang yang sebenarnya akan dikonsumsi data Anda di mesin pencari. Untuk elasticsearch, tergantung apakah Anda menyimpan sumber json dan bagaimana bidang dianalisis dan jika mereka disimpan.

EC2 dapat menjadi cara yang masuk akal untuk mengevaluasi elasticsearch tanpa pengeluaran h / w yang besar.

Untuk perangkat lunak berbasis cluster, seperti elasticsearch, ada tradeoff antara menjaga cluster lebih kecil vs lebih besar. Cluster besar bagus karena ketika Anda kehilangan server, lebih sedikit data yang perlu dialokasikan kembali. Cluster yang lebih kecil mengkonsumsi lebih sedikit energi dan lebih mudah dirawat.

Kami menjalankan cluster dengan 35 juta dokumen dengan ukuran indeks total sekitar 300GB x 2, karena semua indeks direplikasi. Untuk mendukung ini dan jumlah pencarian yang sangat besar, kami memiliki 4 node, masing-masing dengan 24 core, 48GB RAM dan 1TB penyimpanan dengan 10K disk di raid10. Kami baru-baru ini menambah ukuran disk untuk memastikan kami memiliki ruang kepala lebih banyak.

Untuk kasus Anda, saya akan merekomendasikan lebih banyak RAM dan lebih banyak disk. Anda mungkin dapat menghemat uang pada CPU dengan volume pencarian itu.

Volume pencarian yang rendah sebenarnya merusak kinerja, karena cache (baik internal ke s / w yang digunakan dan disk OS) tidak akan menghangat dengan baik.

Semoga ini bisa membantu, Paul

Paul
sumber
Apa jenis dokumen yang Anda bicarakan? Log? Dokumen asli?
Manuel Rauber