İçeriğe geç
Elasticsearch / OpenSearch

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ıElasticsearchOpenSearch
LisansKaynak kodu bölümleri ve varsayılan dağıtım için farklı seçenek/kapsamlar bulunurProje Apache 2.0 lisanslıdır
Arayüz ve ekosistemKibana ve Elastic bileşenleriyle sürüm uyumu değerlendirilirOpenSearch Dashboards ve ilgili eklentilerle sürüm uyumu değerlendirilir
API ve istemciElasticsearch sürümüne uygun istemci ve özellikler gerekirOpenSearch sürümüne uygun istemci ve özellikler gerekir
Yönetilen hizmetElastic Cloud ayrı hizmet koşullarına sahiptirAmazon OpenSearch Service veya başka sağlayıcıların kapsamı ayrıdır
PerformansGerçek sorgu, indeks, donanım ve saklama politikasıyla ölçülürAynı 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:

  1. Mapping, template, ingest pipeline, indeks yaşam döngüsü ve eklenti envanteri.
  2. İstemci sürümleri, kimlik doğrulama ve kullanılan API’ler.
  3. Temsilî sorguların sonuçları, sıralaması, aggregation ve performans karşılaştırması.
  4. Dashboard, alarm ve erişim yetkilerinin taşınması.
  5. 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.

İlgili hizmetlerimiz

Sıkça sorulan sorular

Elasticsearch ile OpenSearch aynı ürün mü?
Hayır. Ortak geçmişe rağmen bağımsız gelişen projelerdir. Güncel sürümlerde API, istemci, eklenti, indeks ve dashboard uyumu otomatik kabul edilmemelidir.
Elasticsearch açık kaynak mı?
Kaynak kodu ve dağıtım ayrılmalıdır. Elastic, ücretsiz kaynak kodu bölümlerine AGPLv3 seçeneği eklemiştir; varsayılan Elasticsearch/Kibana dağıtımı ELv2 altında sunulur. İndirilen paketin tamamını AGPL veya Apache lisanslı saymak doğru değildir.
OpenSearch sadece AWS üzerinde mi çalışır?
Hayır. OpenSearch projesi kurumun kendi altyapısında da kurulabilir. Amazon OpenSearch Service ayrı bir yönetilen hizmettir; fiyat, sürüm ve özellik kapsamı proje ile eşitlenmemelidir.
Replica shard yedeğin yerine geçer mi?
Hayır. Replica erişilebilirliğe katkı sağlar fakat hatalı silmeyi de yansıtır. Desteklenen snapshot yöntemi, ayrı repository ve geri yükleme testi gerekir; node veri dizinlerini kopyalamak cluster yedeği sayılmaz.

Bir sonraki dönüşümü birlikte planlayalım.

Ekibimiz teknik gereksinimlerinizi anlamak ve hızlıca prototip çıkarmak için hazır.