MySQL veritabanınız 5 milyondan fazla kayıt ile şiştiğinde "LIKE '%kelime%'" sorguları artık saniyeler değil dakikalar sürmeye başlar. Dünyanın en popüler firmalarının log ve veri aramaları için kullandığı NoSQL teknolojisi ElasticSearch ve görselleştirme devrimi Kibana'nın Ubuntu VDS sunucularına nasıl kurulacağına bakıyoruz.
ElasticSearch Neden MySQL'den 1000 Kat Daha Hızlıdır?
İlişkisel veritabanları (MySQL, PostgreSQL vb.) yapıları arama (Search) değil, yazma/kurgu depolamaları içindir. Milyonlarca içeriğin bulunduğu bir tabloda tam metin (Full-Text) araması yapıldığında sistem her satırı taramak zorundadır.
Oysa ElasticSearch, "Ters İndeks (Inverted Index)" adı verilen mantıkla çalışır. Bir kitabın arka sayfasındaki 'kelime arama' dizini gibi kelimelerin hangi sayfalarda geçtiğini önceden indeksleyip RAM'de (Java Node) tutar. HazalHost yazarsanız saliseler içerisinde içinde HazalHost kelimesi geçen milyonlarca metni bulup listeler.
VDS Ubuntu Kurulumu: Adım Adım
Elasticsearch tamamen Java motoru tabanlıdır (JVM). Bu yüzden VDS sunucunuzda en az 4 GB RAM olmalıdır (Önerilen 8 GB - Gelişmiş Performans Sürümü).
1. Java Çalışma Ortamının Kurulması
Terminal ekranınıza giriş yaptıktan sonra ilk olarak PPA kurulumunu yapalım:
sudo apt update
sudo apt install default-jre -y
java -version
2. ElasticSearch PGP ve Depo Yüklemesi
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg
sudo apt-get install apt-transport-https
echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
sudo apt-get update
sudo apt-get install elasticsearch
Kurulum bitince konsolda size otomatik üretilmiş "elastic" kullanıcısının güvenlik şifresi verilir. Bunu kopyalamayı asla unutmayın!
3. Servisi Başlatma ve Config Güncellemesi
Hemen ElasticSearch'ü ayağa kaldıralım:
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service
Doğru çalıştığını teyit etmek için: curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200. Ekranda "You Know, for Search" yazısını görüyorsanız işlem başarılıdır.
🚀 Yüksek RAM ve Elasticsearch Destekli VDS
ELK Stack (Elasticsearch, Logstash, Kibana) gibi JVM oburu sistemlerin rahat nefes alabilmesi için adanmış RAM kapasitesi hayati önem taşır. HazalHost Türkiye lokasyon VDS paketleri ile 16GB'a kadar kesintisi RAM performansı alabilirsiniz.
İzleme Ekranı: Kibana'nın Kurulumu
Elasticsearch kör bir veritabanıdır (Tüm iletişim API ile döner). Verilerinizi renkli grafikler halinde Dashbord olarak izlemek için Kibana kurulur.
sudo apt-get install kibana
sudo systemctl enable kibana.service
sudo systemctl start kibana.service
Devamında Kibana arayüzüne giriş yapmak için browser'dan http://Sunucu_IP:5601 adresine gidin. Ekranda sizden "Enrollment Token" istenir. Terminalinize dönüp hızlıca Token üretin:
sudo /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
Üretilen uzun token metnini kopyalayıp tarayıcıdaki Kibana ekranına yapıştırdığınız an iki yapay zeka birleşir.
Sonuç
Artık uygulamanızdaki ürün aramalarını veya sistem loglarını MySQL yerine ElasticSearch GET /urunler/_search komutlarıyla yapabilirsiniz. Sonuçların tepki süresinin ms (milisaniye) bazında olduğunu gözlerinizle göreceksiniz.