Topik ini menjelaskan istilah-istilah terkait Alibaba Cloud Elasticsearch.
klaster
Sebuah klaster Elasticsearch terdiri dari satu atau lebih node Elasticsearch. Semua node dalam klaster bekerja sama untuk menyimpan data. Setiap klaster memiliki nama unik. Jika dua klaster dalam lingkungan memiliki nama yang sama, pengecualian tak dikenal dapat terjadi.
node
Node berjalan pada server di dalam klaster dan digunakan untuk menyimpan data serta mendukung aktivitas pengindeksan dan kueri di dalam klaster. Sebuah klaster terdiri dari satu atau lebih node, dan setiap node dapat memainkan peran yang berbeda.
Node data digunakan untuk menyimpan indeks. Anda dapat menggunakan node data untuk menambah, menghapus, memodifikasi, mencari, dan menggabungkan dokumen.
Node master khusus digunakan untuk melakukan operasi pada klaster. Anda dapat menggunakan node master khusus untuk membuat atau menghapus indeks, melacak node, dan mengalokasikan shard. Stabilitas node master khusus penting untuk kesehatan klaster. Secara default, setiap node dalam klaster dapat berfungsi sebagai node master khusus.
Node klien digunakan untuk berbagi overhead CPU dari node data. Node klien dapat meningkatkan performa komputasi dan stabilitas layanan sebuah klaster.
indeks
Indeks adalah sekumpulan dokumen dengan fitur serupa. Indeks mirip dengan database relasional. Misalnya, Anda dapat membuat tiga indeks untuk menyimpan data pelanggan, data katalog barang, dan data pesanan. Nama indeks biasanya ditulis dalam huruf kecil untuk identifikasi. Saat mengindeks, menanyakan, memperbarui, atau menghapus dokumen, Anda harus menentukan nama indeks tempat dokumen tersebut disimpan.
tipe
Tipe adalah kelas logis atau partisi dari indeks. Tipe mirip dengan tabel dalam database relasional. Indeks dapat menyimpan berbagai jenis dokumen, seperti tipe pengguna dan tipe blog. Di Elasticsearch V6.X dan versi selanjutnya, Anda hanya dapat membuat satu tipe dalam indeks. Oleh karena itu, konsep tipe tidak lagi digunakan di Elasticsearch V6.X dan versi berikutnya. Di Elasticsearch V5.X, indeks dapat menyimpan berbagai jenis dokumen. Di Elasticsearch V6.X, indeks hanya dapat menyimpan satu jenis dokumen. Di Elasticsearch V7.X, tipe indeks hanya bisa menjadi _doc. Untuk informasi lebih lanjut, lihat Dokumentasi Elasticsearch sumber terbuka.
dokumen
Dokumen adalah unit informasi dasar yang dapat diindeks. Dokumen mirip dengan baris dalam tabel database relasional. Misalnya, Anda dapat membuat dokumen untuk pelanggan atau barang. Setiap dokumen adalah objek JSON. Jumlah dokumen yang disimpan dalam indeks tidak dibatasi, namun dokumen harus diindeks.
bidang
Bidang adalah unit terkecil yang terkandung dalam dokumen. Bidang mirip dengan kolom dalam tabel database relasional.
pemetaan
Pemetaan mendefinisikan cara dokumen dan bidang yang terkandung dalam dokumen disimpan dan diindeks. Misalnya, Anda dapat menggunakan pemetaan untuk mendefinisikan nama bidang, tipe bidang, dan tokenizer yang ingin digunakan. Pemetaan mirip dengan skema tabel dalam database relasional.
Tabel berikut mencantumkan pemetaan antara istilah dalam Elasticsearch dan database relasional.
Elasticsearch | Database relasional |
indeks | database |
tipe | tabel |
dokumen | baris |
bidang | kolom |
pemetaan | skema |
shard dan replica shard
Indeks dapat dibagi menjadi beberapa shard. Shard-shard ini dapat didistribusikan di antara node yang berbeda untuk mendukung pencarian terdistribusi. Shard diklasifikasikan menjadi shard utama dan shard replika. Saat membuat indeks, Anda harus menentukan jumlah shard utama dan shard replika. Setelah indeks dibuat, jumlah shard utama tidak dapat diubah.
Shard replika adalah salinan dari shard utama untuk indeks. Anda dapat mengonfigurasi beberapa shard replika untuk shard utama. Saat klaster menerima permintaan untuk operasi penulisan, klaster melakukan operasi pada shard utama terkait. Setelah operasi selesai, klaster menyalin data yang terlibat dalam operasi ke shard replika dari shard utama. Anda dapat menanyakan shard utama atau shard replika untuk data. Shard replika dapat meningkatkan ketersediaan tinggi klaster dan performa konkurensi klaster selama pencarian. Namun, jika banyak shard replika dikonfigurasikan untuk indeks dalam klaster, beban sinkronisasi data klaster meningkat selama operasi penulisan.
Di versi sebelum Elasticsearch V7.0, setiap indeks dikonfigurasi dengan lima shard utama dan setiap shard utama dikonfigurasi dengan satu shard replika secara default. Di Elasticsearch V7.0 dan versi selanjutnya, setiap indeks dikonfigurasi dengan satu shard utama dan satu shard replika secara default. Tabel berikut menjelaskan perbedaan antara shard utama dan shard replika.
Jenis shard | Jenis permintaan yang didukung | Apakah jumlah shard dapat diubah | Catatan |
Shard utama | Permintaan kueri dan pengindeksan | Jumlah shard utama untuk indeks tidak dapat diubah. Jumlah ini ditentukan saat indeks dibuat. Untuk informasi lebih lanjut, lihat Langkah 3: Buat indeks. | Setiap dokumen dalam indeks termasuk dalam satu shard utama. Jumlah shard utama menentukan volume maksimum data yang dapat disimpan oleh indeks. Penting Semakin banyak shard utama, semakin besar overhead performa klaster Elasticsearch. |
Shard replika | Permintaan kueri | Jumlah shard replika dapat diubah kapan saja. Untuk informasi lebih lanjut, lihat Template indeks. | Shard replika penting untuk performa pencarian dan memberikan manfaat berikut:
|
Baik jumlah shard maupun ukuran setiap shard berkontribusi pada stabilitas dan performa klaster Elasticsearch. Anda harus merencanakan shard dengan tepat untuk semua indeks dalam klaster Elasticsearch. Ini mencegah banyak shard memengaruhi performa klaster ketika sulit untuk menentukan skenario bisnis. Untuk informasi lebih lanjut, lihat Evaluasi spesifikasi dan kapasitas penyimpanan.
gateway
Gateway digunakan untuk menyimpan snapshot indeks. Secara default, sebuah node menyimpan semua indeks di memorinya. Ketika memori node penuh, node menyimpan indeks di disk lokal. Ketika klaster Elasticsearch di-boot ulang, indeks dipulihkan dari snapshot yang disimpan di gateway. Memulihkan indeks dari snapshot lebih cepat daripada membaca indeks dari disk lokal. Elasticsearch mendukung berbagai jenis gateway, termasuk sistem file lokal, sistem file terdistribusi, Hadoop Distributed File System (HDFS), dan Alibaba Cloud Object Storage Service (OSS). Secara default, sistem file lokal digunakan sebagai gateway.
discovery.zen
discovery.zen adalah mekanisme penemuan node otomatis. Elasticsearch adalah sistem peer to peer (P2P) yang mengirim siaran untuk menemukan node. Node berkomunikasi satu sama lain menggunakan teknologi multicast dan P2P.
transport
Transport adalah metode yang digunakan oleh klaster Elasticsearch atau node dalam klaster untuk berkomunikasi dengan klien. Secara default, TCP digunakan untuk komunikasi. Anda dapat mengintegrasikan plugin ke klaster Elasticsearch Anda untuk menggunakan protokol lain, seperti HTTP over JSON, Thrift, Memcached, dan ZeroMQ.