Elasticsearch ve OpenSearch, tam metin arama ve veri analizi için kullanılan dağıtık arama motorlarıdır. Uygulama araması, log analizi ve uygun sürüm/özelliklerle vektör arama gibi senaryolarda değerlendirilebilirler. Kaynak verinin tutulduğu işlem veritabanı ile arama indeksinin görevleri ayrı tasarlanmalıdır.
Ortak geçmişleri, bugün birbirlerinin koşulsuz yerine geçebildikleri anlamına gelmez. Seçim yalnız lisans değil, sorgular, istemciler, eklentiler, dashboard’lar ve bakım kapasitesi üzerinden yapılır.
Elasticsearch ve OpenSearch karşılaştırması
| Karar alanı | Elasticsearch | OpenSearch |
|---|---|---|
| Lisans | Kaynak kodu bölümleri ve varsayılan dağıtım için farklı seçenek/kapsamlar bulunur | Proje Apache 2.0 lisanslıdır |
| Arayüz ve ekosistem | Kibana ve Elastic bileşenleriyle sürüm uyumu değerlendirilir | OpenSearch Dashboards ve ilgili eklentilerle sürüm uyumu değerlendirilir |
| API ve istemci | Elasticsearch sürümüne uygun istemci ve özellikler gerekir | OpenSearch sürümüne uygun istemci ve özellikler gerekir |
| Yönetilen hizmet | Elastic Cloud ayrı hizmet koşullarına sahiptir | Amazon OpenSearch Service veya başka sağlayıcıların kapsamı ayrıdır |
| Performans | Gerçek sorgu, indeks, donanım ve saklama politikasıyla ölçülür | Aynı karşılaştırma koşullarıyla ölçülür |
Elastic lisans SSS’si, ücretsiz kaynak kodu bölümlerine AGPLv3 seçeneğinin eklenmesi ile varsayılan dağıtımın ELv2 altında kalmasını ayırır. OpenSearch proje açıklaması, Apache 2.0 kapsamını belirtir. Bu nedenle eski “Elasticsearch tamamen kapalı, OpenSearch aynı yazılımın ücretsiz hâli” özeti yeterli değildir.
İndeks, shard ve veri akışı
Index, arama için düzenlenen doküman kümesidir; shard, index’in dağıtılabilen bir parçasıdır. Replica shard, bu parçanın ek kopyasıdır. Primary shard sayısını artırmak ile replica sayısını artırmak farklı kapasite ve erişilebilirlik kararlarıdır.
Temel akış veri kaynağı → toplama/dönüştürme → index → sorgu veya dashboard şeklindedir. Her aşamada veri gecikmesi ve hata davranışı görünür olmalıdır. Bir kaydın kaynak veritabanında bulunması, arama indeksine ulaştığını kanıtlamaz.
- Mapping ve analyzer: Alan türleri, Türkçe metin işleme, eşanlamlılar ve sıralama beklentisi örnek sorgularla doğrulanır.
- Shard tasarımı: Shard sayısı; veri büyümesi, sorgu paralelliği ve recovery yüküyle belirlenir. Fazla shard da kaynak tüketir.
- Retention: Log saklama süresi ve indeks yaşam döngüsü depolama bütçesiyle eşleştirilir.
- Arama kalitesi: Vektör veya hibrit aramada yalnız gecikme değil, beklenen sonuçların bulunması da ölçülür.
Sipariş, ödeme veya stok gibi transaction gerektiren verilerde PostgreSQL ya da başka bir işlem veritabanıyla entegrasyon tasarlanabilir. Arama indeksi yeniden üretilecekse kaynak verinin ve dönüşüm kurallarının korunması gerekir.
Elasticsearch’ten OpenSearch’e geçiş
OpenSearch Migration Assistant veri, metadata ve trafik aktarımı için araçlar sunar; desteklenen kaynak/hedef sürümü ve dağıtım gereksinimleri ayrıca incelenmelidir. Her sürüm için doğrudan snapshot restore veya yerinde paket değişimi varsayılmaz.
Pilot en az şu kapsamı içermelidir:
- Mapping, template, ingest pipeline, indeks yaşam döngüsü ve eklenti envanteri.
- İstemci sürümleri, kimlik doğrulama ve kullanılan API’ler.
- Temsilî sorguların sonuçları, sıralaması, aggregation ve performans karşılaştırması.
- Dashboard, alarm ve erişim yetkilerinin taşınması.
- Veri farkının kapatılması, trafik değişimi ve geri dönüşte yeni verinin korunması.
Snapshot ve güvenli işletim
Elasticsearch snapshot rehberi, node veri dizinlerinin kopyalanmasını desteklenen cluster yedeği olarak kabul etmez. OpenSearch’te de snapshot/restore rehberine uygun bir snapshot repository, yani yedeklerin tutulduğu depolama konumu tanımlanır. İki ürünün snapshot desteği, snapshot’larının karşılıklı uyumlu olduğunu göstermez; kaynak/hedef sürüm ve restore kapsamı ayrıca sınanmalıdır.
Yönetim erişimi, TLS, kullanıcı rolleri ve indeks bazlı yetkiler kurulumun parçasıdır. Disk eşikleri, heap/bellek baskısı, shard dağılımı, indeksleme hataları ve sorgu gecikmeleri birlikte izlenir. Sağlıksız cluster’da rastgele replica silmek veya disk eşiklerini kapatmak yerine sorunun nedeni belirlenir.

