Elasticsearch'ü standart sql sorgularına karşı kullanmak için bazı kullanım durumları nelerdir? [kapalı]


125

Elasticsearch'e yeni başlıyorum ve gördüğüm ana kullanım örneklerinden biri, büyük veri kümelerinde yapılan aramalarla ölçeklenebilirliği, ancak bunun yanı sıra, geleneksel bir RDBMS ile sadece sql sorguları oluşturmak yerine ne zaman kullanmak istersiniz?


3
Soruları iyileştirmek için soruları düzenlemek (örneğin açıklama, ek bilgi eklemek, vb.) Teşvik edilmektedir . Ancak, bir Soruyu farklı bir soruya dönüştürmek için bir Soruyu düzenlemek, bir veya daha fazla Cevabı geçersiz kılmak, Yığın Taşması politikasına aykırıdır. Buradaki düzenlemeniz öyle yaptı. Politika, düzenleme ayrıcalıklarına sahip diğer kullanıcıların, burada yaptığım bu tür değişiklikleri proaktif olarak geri almalarıdır. Yeni sorunuz konuyla ilgiliyse, yeni bir Soru sormaya teşvik edilirsiniz , belki ek bağlam için buna bir bağlantıyla.
Makyen

Anladım. Niyet doğruydu, sadece infaz değil.
James Drinkard

Yanıtlar:


78

Elasticsearch'ün iki temel kullanım durumu vardır:

  1. Metin arama

Elasticsearch'ü, geleneksel RDBMS veritabanlarının gerçekten iyi performans göstermediği (zayıf konfigürasyon, kara kutu gibi davranır, düşük performans) çok fazla metin araması yaparken istersiniz. Elasticsearch, eklentiler aracılığıyla genişletilebilir, son derece özelleştirilebilir. Çok fazla bilgi olmadan hızlı bir şekilde sağlam arama yapabilirsiniz.

  1. Günlük kaydı ve analiz

Diğer bir uç durum da, pek çok insanın Elasticsearch'ü çeşitli kaynaklardan günlükleri depolamak (onları merkezileştirmek için) için kullanmasıdır, böylece onları analiz edebilir ve bundan anlam çıkarabilirler. Bu durumda Kibana kullanışlı hale gelir. Elasticsearch kümesine bağlanmanızı ve hemen görselleştirmeler oluşturmanızı sağlar. Örneğin, Loggly , Elasticsearch ve Kibana kullanılarak oluşturulmuştur.

Elasticsearch'ü birincil veri depolamanız olarak kullanmak istemeyeceğinizi unutmayın. Buradaki nedenler: Yazma kaybı, veri kullanılabilirliği gibi faktörlere karşı birincil veri deposu olarak ElasticSearch ne kadar güvenilir?

Güncelleme

İkinci bölümün artık sinirli olmadığını hissettim, aslında Elastic'in bir şirket olarak geçen yıl gerçekten iyi yaptığı şey bu. Mevcut DevOps hareketi, CI / CD ardışık düzenleri, çeşitli kaynaklardan artan ölçüm miktarı ile ELK, altyapı izleme için varsayılan bir seçenek haline geldi, artık yalnızca dağıtılmış bir RESTful metin arama motoru değil. Harika bir ürün setine sahiptir:

  • Logstash (tonlarca veri girişi)
  • Beats
    • Filebeat
    • Metricbeat
    • Packetbeat
    • Winlogbeat
  • Kibana
    • grafik
    • Timelion
  • X-Pack (premium)
    • Uyarılar
    • Raporlama
    • Güvenlik
    • Makine öğrenme
    • Çapraz veri merkezi ölçümleri

Topluluk tarafından inşa edilen bir ekosistem, mevcut özellikleri genişleten ELK yığını etrafında büyüyor, bunlardan birkaçı bahsetmeye değer:

  • ElastAlert
  • Arama Görevlisi

Neden Elastic Search'ü kısıtlıyor? Şirketleri anlamadığım için, pos veya erp gibi standart sistemler için bir sorgu motoru olarak kullanılmıyor.
pannu

Eski sürümlerde tavsiye edilmiyordu, şimdi bilmiyorum.
Evaldas Buinauskas

Zayıf yapılandırma nedeniyle RDBMS'nin gerçekten iyi performans göstermediğini söylediniz. Bu, iyi bir konfigürasyonla EleasticSearch ile metin araması (bulanık arama) açısından iyi performans gösterebileceğiniz anlamına mı geliyor?
Efsaneler

2
@ Efsaneler Gerçekten zayıf konfigürasyon seçeneklerini kastettim. Kendi deneyimim MSSQL Tam Metin Arama ile sınırlıdır ve MSSQL'deki ayarların miktarı Elasticsearch ile karşılaştırılamaz. RDBMS'de Metin Arama bir özelliktir, Elasticsearch'te ise özüdür.
Evaldas Buinauskas

İnternette çok araştırıyordum ama somut bir şey bulamıyorum. ElasticSerach'a geçmeyi düşünmemiz için uygulamada kaç veri (sadece yaklaşık) olmalıdır? Çünkü dağıtılmış sistemlerin bakımı karmaşıktır. Örneğin, mongodb'de iyi indekslenmiş yorum metinlerinde arama yapmak. (ES'nin gelişmiş özelliklerinden, saf metin aramadan bahsetmiyorum)
Iván Sánchez

27

Diğer yanıta eklemek gerekirse, Günlüğe Kaydetme aramaların yanı sıra hala önemli bir kullanım alanıdır, ancak şimdi metrikler ve analitik daha önemli hale geliyor.

Bu yazının, Büyük Veri için yeni kullanım durumlarına yol açan pazardaki değişiklikleri özetlediğine inanıyorum. Açık Kaynak Veritabanları hakkında gerçekten bilmeniz gereken her şey

Web 2.0'ın gelişiyle birlikte, statik web sayfaları dinamik hale geldi ve sosyal medya her yerdedir. Herkes tweet atıyor, gönderi paylaşıyor, blog yazıyor, vlog çekiyor, fotoğraf paylaşıyor, sohbet ediyor ve yorum yapıyor. Nesnelerin İnterneti (IoT) ortaya çıkıyor - sensörler ve akıllı cihazlar gibi verileri toplayan ve değiştiren, hızla büyüyen bağlı cihazlardan oluşan bir ağ. Burada bazı harika örnekler var.

Hepsi birlikte bu, işletmelerin emmek ve bir adım önde olmak, ürün önerileri ve daha iyi bir müşteri deneyimi gibi özellikler sağlamak için kullanmak isteyeceği büyük miktarda yeni veri üretir. Veriler, dolandırıcılık tespiti ve davranış analitiği gibi uygulamalar için kalıp arayışında analiz edilebilir. Yeni verilerin çoğu yapılandırılmamış, bu da tablo şeklinde bir veritabanında düzgün bir şekilde depolanamayacağı anlamına geliyor.

Market alışverişinizle ilgili verileri tutmak için bir veritabanı tasarlamaya çalıştığınızı hayal edin - neyi sevdiğiniz, ne sıklıkta satın alın, kahvenizle süt veya krema tercih edin. Yeni verileri depolamak için yeni veri tabanlarına ihtiyaç vardır ve bunların ilişkisel olmayan ve ideal olarak düşük maliyetli olmaları gerekir. Herhangi bir çan çal? NoSQL'deki kadar ilişkisel değil ve açık kaynakta olduğu gibi düşük maliyetli.

Konuştuğum Elasticsearch Architects'ten biri, Elasticsearch'ün şirketlerde çalıştığı verilerin% 80'inin yapılandırılmamış,% 20'sinin yapılandırılmış olduğunu söyledi. Şirketlerin nadir veya olağandışı veri modellerini keşfetmek için aradıkları yapılandırılmamış verilerdir. Veri modellerini izlemek için Elasticsearch'ü de kullanıyorlar. Örneğin, büyük bir perakendeci, insanların maaş günlerinde çekleri bozdurmaları için mağazalarda yeterli para tedariği sağlamak için Elasticsearch ile gerçek zamanlı izleme yapıyor.

Arama kullanım durumumuzla ilgili kendi deneyimime göre, sadece bulanık aramaları kullanmakla kalmıyoruz, aynı zamanda otomatik tamamlama ve hızlı aramalara dönüştü. Gördüğüm kadarıyla, Elasticsearch ile çalışmaya başladığınızda, halihazırda sahip olduklarınızı tamamlayan diğer kullanım durumlarına dönüşmeye başlıyorsunuz. Artık Elasticsearch'ü şirketimizde bulanık bir arama motoru olarak kurduğumuza göre, artık günlük kaydı için analitik ve ölçümlerle ilgilenen başka ekiplerimiz var.

İşte bu konuda daha derinlemesine giden bazı ek kaynaklar:

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.