Elasticsearch ve Kibana nedir? Nasıl kullanılır?
Merhabalar değerli Türk Hack Team ailesi bu konuda sizlere kapsamlı olarak Elasticsearch ve Kibana'dan bahsedeceğim.
Konuyu aynı zamanda videolu bir şekilde anlatacağım. Videolu anlatımı konunun sonunda bulabilirsiniz.
Data ve Database nedir?
Data veri, database de ilişkili verilerin depolandığı veri tabanıdır. Örnek olarak bir film, dizi platformunda
milyonlarca filmin,dizinin veya belgeselin oyuncularının, yapımcılarının, emeği geçenlerin, dizi veya film olmasının, içeriğin süresinin, içerikten kazanılan paranın,
içeriğin hangi ülkenin yapımı olduğundan içerik için çalışanlara kadar birçok datanın(verinin) depolandığı database(veritabanı)'dir.
Elasticsearch nedir?
Elasticsearch dağınık bir mimariye sahip, java dilinde yazılan arama alt yapısı Apache Lucene projesinden gelerek oluşturulan bir arama kütüphane projesidir.
Dökümanlar, indexlenen datalar json olarak listelenir ve aynı şekilde sorgulamalar da json olarak yapılmaktadır.
Bu birçok dile destek sunabilme imkanı verir.
Kibana nedir?
Eskiden elasticsearch içerisinde bulunmayan. Veri analizi, görselleştirmesi, haritalaması ve keşfi için kullanılan bir araçtır.
Elasticsearch'te depolanan verilerin üstünde yukarıda yazan yeteneklerin kullanılmasını sağlar.
Elasticsearch'ü diğer arama kütüphanelerinden farkı kılan özelliklerden bahsedelim.
En önemli özelliği hızlı olmasıdır. Hızı şöyle açıklanabilir.
Milyarlarca satırdan oluşan dataları json şeklinde Elasticsearch'te sorgularsanız milisaniye düzeyinde hızlı sonuç alabilirsiniz.
Yani Elasticsearch diğer kütüphanelerden farklı olarak hız konusunda sizlere arama yaptığınızda sonuca hızlı bir şekilde ulaşma imkanı sunuyor.
İkinci önemli özelliği ölçeklenebilirlik yani scalability'dir.
Elasticsearch cluster kurulumlarını kendisi yaptığından dolayı istediğiniz yerde (kişisel bilgisayar - büyük serverlar) çalıştırabilirsiniz.
Bir diğer özelliği ise kullanım kolaylığıdır.
Birçok dilde kütüphaneleri ve ayrıca rest apileri bulunmasından kaynaklı kolay bir kullanım sunar.
Şimdi elasticsearch terminolojisinden yani iç terimlerinden, onu oluşturan bileşenlerden bahsedelim.
Cluster
Tüm datayı tutan ve tüm arama ve index işlemlerinin uygulandığı birçok node'u içinde barındıran bir kümedir.
Cluster isimleri değiştirilebilir fakat eşi olmayan bir isimlendirme yapılmalıdır.
Node
Bir servere koyulan adlandırmadır.
Üstte açıklandığı gibi clusterların tüm index ve arama işlemleri bu serverlar yani adlandırmasıyle nodelar ile gerçekleşir.
Adlandırmalar istenildiği takdirde default halinden çıkarılarak değiştirilebilir.
Indice
Elasticsearch teki veritabanlarına verilen isimdir.
Clusterlar birden fazla indice içerebilir.
Type
Veritabanlarının içindeki tablolardır.
Bir veritabanı (indice) birden fazla tablo yani type bulundurabilir.
Document
İsminden da aşina olduğunuz gibi, tabloların içindeki dökümanlardır.
Her tablo (Type) birden fazla dokümana sahiptir.
Field
Veritabanlarındaki kolon(column)lar elasticsearch te field olarak adlandırılmışlardır.
Dokümanların içinde yer alan kolonlardır.
Her doküman birden fazla kolon(field) bulundurur.
Index
Doküman veya dokümanlarda her bir kelimenin bulundurulma durumunun bilgisini tutan endeksleme sistemidir.
Mapping
Verileri endeksleme esnasında gereken kelimenin hangi veri tipinde olduğunun aktarıldığı işlemdir.
KİBANA KULLANIMI
VİDEOLU ANLATIM
Merhabalar değerli Türk Hack Team ailesi bu konuda sizlere kapsamlı olarak Elasticsearch ve Kibana'dan bahsedeceğim.
Konuyu aynı zamanda videolu bir şekilde anlatacağım. Videolu anlatımı konunun sonunda bulabilirsiniz.
Data ve Database nedir?
Data veri, database de ilişkili verilerin depolandığı veri tabanıdır. Örnek olarak bir film, dizi platformunda
milyonlarca filmin,dizinin veya belgeselin oyuncularının, yapımcılarının, emeği geçenlerin, dizi veya film olmasının, içeriğin süresinin, içerikten kazanılan paranın,
içeriğin hangi ülkenin yapımı olduğundan içerik için çalışanlara kadar birçok datanın(verinin) depolandığı database(veritabanı)'dir.
Elasticsearch nedir?
Elasticsearch dağınık bir mimariye sahip, java dilinde yazılan arama alt yapısı Apache Lucene projesinden gelerek oluşturulan bir arama kütüphane projesidir.
Dökümanlar, indexlenen datalar json olarak listelenir ve aynı şekilde sorgulamalar da json olarak yapılmaktadır.
Bu birçok dile destek sunabilme imkanı verir.
Kibana nedir?
Eskiden elasticsearch içerisinde bulunmayan. Veri analizi, görselleştirmesi, haritalaması ve keşfi için kullanılan bir araçtır.
Elasticsearch'te depolanan verilerin üstünde yukarıda yazan yeteneklerin kullanılmasını sağlar.
Elasticsearch'ü diğer arama kütüphanelerinden farkı kılan özelliklerden bahsedelim.
En önemli özelliği hızlı olmasıdır. Hızı şöyle açıklanabilir.
Milyarlarca satırdan oluşan dataları json şeklinde Elasticsearch'te sorgularsanız milisaniye düzeyinde hızlı sonuç alabilirsiniz.
Yani Elasticsearch diğer kütüphanelerden farklı olarak hız konusunda sizlere arama yaptığınızda sonuca hızlı bir şekilde ulaşma imkanı sunuyor.
İkinci önemli özelliği ölçeklenebilirlik yani scalability'dir.
Elasticsearch cluster kurulumlarını kendisi yaptığından dolayı istediğiniz yerde (kişisel bilgisayar - büyük serverlar) çalıştırabilirsiniz.
Bir diğer özelliği ise kullanım kolaylığıdır.
Birçok dilde kütüphaneleri ve ayrıca rest apileri bulunmasından kaynaklı kolay bir kullanım sunar.
Şimdi elasticsearch terminolojisinden yani iç terimlerinden, onu oluşturan bileşenlerden bahsedelim.
Cluster
Tüm datayı tutan ve tüm arama ve index işlemlerinin uygulandığı birçok node'u içinde barındıran bir kümedir.
Cluster isimleri değiştirilebilir fakat eşi olmayan bir isimlendirme yapılmalıdır.
Node
Bir servere koyulan adlandırmadır.
Üstte açıklandığı gibi clusterların tüm index ve arama işlemleri bu serverlar yani adlandırmasıyle nodelar ile gerçekleşir.
Adlandırmalar istenildiği takdirde default halinden çıkarılarak değiştirilebilir.
Indice
Elasticsearch teki veritabanlarına verilen isimdir.
Clusterlar birden fazla indice içerebilir.
Type
Veritabanlarının içindeki tablolardır.
Bir veritabanı (indice) birden fazla tablo yani type bulundurabilir.
Document
İsminden da aşina olduğunuz gibi, tabloların içindeki dökümanlardır.
Her tablo (Type) birden fazla dokümana sahiptir.
Field
Veritabanlarındaki kolon(column)lar elasticsearch te field olarak adlandırılmışlardır.
Dokümanların içinde yer alan kolonlardır.
Her doküman birden fazla kolon(field) bulundurur.
Index
Doküman veya dokümanlarda her bir kelimenin bulundurulma durumunun bilgisini tutan endeksleme sistemidir.
Mapping
Verileri endeksleme esnasında gereken kelimenin hangi veri tipinde olduğunun aktarıldığı işlemdir.
KİBANA KULLANIMI
VİDEOLU ANLATIM