{"id":35125,"date":"2025-11-26T00:41:04","date_gmt":"2025-11-25T21:41:04","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35125"},"modified":"2025-11-26T00:41:04","modified_gmt":"2025-11-25T21:41:04","slug":"clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/","title":{"rendered":"ClickHouse&#8217;u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131"},"content":{"rendered":"<p><body><\/p>\n<h2>ClickHouse&#8217;u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131<\/h2>\n<h2>Giri\u015f<\/h2>\n<p>B\u00fcy\u00fck veri analizi ve ger\u00e7ek zamanl\u0131 raporlama g\u00fcn\u00fcm\u00fcz i\u015f d\u00fcnyas\u0131n\u0131n vazge\u00e7ilmez bir par\u00e7as\u0131 haline gelmi\u015ftir. Bu ihtiya\u00e7lar\u0131 kar\u015f\u0131lamak i\u00e7in geli\u015ftirilen bir\u00e7ok veritaban\u0131 \u00e7\u00f6z\u00fcm\u00fc aras\u0131nda ClickHouse, y\u00fcksek performansl\u0131, s\u00fctun tabanl\u0131 ve a\u00e7\u0131k kaynakl\u0131 bir OLAP (Online Analytical Processing) veritaban\u0131 y\u00f6netim sistemi olarak \u00f6ne \u00e7\u0131kmaktad\u0131r. Yandex taraf\u0131ndan geli\u015ftirilen ClickHouse, petabaytlarca veriyi milisaniyeler i\u00e7inde sorgulama yetene\u011fi ile bilinir. Bu makalede, ClickHouse&#8217;un ne oldu\u011funu, temel \u00f6zelliklerini ve CentOS 7 i\u015fletim sistemi \u00fczerine nas\u0131l kurulup kullan\u0131laca\u011f\u0131n\u0131 ad\u0131m ad\u0131m ayr\u0131nt\u0131l\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<p>ClickHouse&#8217;un temel \u00f6zellikleri \u015funlard\u0131r:<br \/>\n*   <strong>S\u00fctun Tabanl\u0131 Depolama:<\/strong> Verileri sat\u0131r yerine s\u00fctun baz\u0131nda depolar. Bu, analitik sorgularda yaln\u0131zca ilgili s\u00fctunlar\u0131n okunmas\u0131n\u0131 sa\u011flayarak I\/O performans\u0131n\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde art\u0131r\u0131r.<br \/>\n*   <strong>Y\u00fcksek Performans:<\/strong> Geli\u015fmi\u015f s\u0131k\u0131\u015ft\u0131rma algoritmalar\u0131, vekt\u00f6rel sorgu i\u015fleme, paralelle\u015ftirme ve disk I\/O optimizasyonlar\u0131 sayesinde \u00e7ok b\u00fcy\u00fck veri k\u00fcmeleri \u00fczerinde bile inan\u0131lmaz h\u0131zlarda sorgu yan\u0131tlar\u0131 sunar.<br \/>\n*   <strong>\u00d6l\u00e7eklenebilirlik:<\/strong> Yatayda \u00f6l\u00e7eklenebilir bir mimariye sahiptir. Verileri birden fazla sunucuya da\u011f\u0131tarak (sharding) ve replikasyon ile y\u00fcksek eri\u015filebilirlik sa\u011flayarak b\u00fcy\u00fcyen veri hacimlerine kolayca uyum sa\u011flar.<br \/>\n*   <strong>SQL Deste\u011fi:<\/strong> Standart SQL benzeri bir sorgu dili kullan\u0131r, bu da mevcut SQL bilgisine sahip geli\u015ftiricilerin ve analistlerin ClickHouse&#8217;u kolayca \u00f6\u011frenmesini ve kullanmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong>Ger\u00e7ek Zamanl\u0131 Analiz:<\/strong> Veri yazma h\u0131zlar\u0131 da olduk\u00e7a y\u00fcksektir, bu da s\u00fcrekli akan veriler \u00fczerinde ger\u00e7ek zamanl\u0131 analiz yap\u0131lmas\u0131na olanak tan\u0131r.<br \/>\n*   <strong>A\u00e7\u0131k Kaynak:<\/strong> Apache 2.0 lisans\u0131 alt\u0131nda a\u00e7\u0131k kaynakl\u0131d\u0131r, bu da topluluk deste\u011fi ve esnek kullan\u0131m imkanlar\u0131 sunar.<\/p>\n<p>ClickHouse genellikle web analizi, IoT veri analizi, finansal verilerin analizi, a\u011f izleme, uygulama performans\u0131 izleme ve i\u015f zekas\u0131 raporlama gibi senaryolarda kullan\u0131l\u0131r. CentOS 7 ise sunucu ortamlar\u0131nda yayg\u0131n olarak kullan\u0131lan, kararl\u0131 ve g\u00fcvenilir bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. Bu kombinasyon, g\u00fc\u00e7l\u00fc bir analitik altyap\u0131 olu\u015fturmak i\u00e7in ideal bir temel sunar.<\/p>\n<h2>\u00d6n Gereksinimler ve Sistem Haz\u0131rl\u0131\u011f\u0131<\/h2>\n<p>ClickHouse kurulumuna ba\u015flamadan \u00f6nce CentOS 7 sistemimizin belirli gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131ndan ve baz\u0131 temel haz\u0131rl\u0131klar\u0131n yap\u0131ld\u0131\u011f\u0131ndan emin olmal\u0131y\u0131z.<\/p>\n<h3>Sistem G\u00fcncellemesi<\/h3>\n<p>Sisteminizi g\u00fcncel tutmak, g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 kapatmak ve en son paket s\u00fcr\u00fcmlerine sahip olmak i\u00e7in her zaman iyi bir uygulamad\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo yum update -y\nsudo yum install -y epel-release # Baz\u0131 ek ara\u00e7lar i\u00e7in gerekli olabilir<\/code><\/pre>\n<h3>SELinux ve Firewall Ayarlar\u0131<\/h3>\n<p>ClickHouse&#8217;un d\u00fczg\u00fcn \u00e7al\u0131\u015fabilmesi i\u00e7in SELinux ve g\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131n yap\u0131lmas\u0131 gerekebilir. Genellikle SELinux&#8217;u devre d\u0131\u015f\u0131 b\u0131rakmak veya izin verici moda almak, kurulumu basitle\u015ftirir. G\u00fcvenlik duvar\u0131n\u0131n ise ClickHouse&#8217;un kulland\u0131\u011f\u0131 portlar\u0131 a\u00e7mas\u0131 gerekir.<\/p>\n<h4>SELinux&#8217;u Devre D\u0131\u015f\u0131 B\u0131rakma (\u00d6nerilir)<\/h4>\n<p>SELinux&#8217;u anl\u0131k olarak devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo setenforce 0<\/code><\/pre>\n<p>Sistem yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda da ge\u00e7erli olmas\u0131 i\u00e7in <code>\/etc\/selinux\/config<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">sudo sed -i 's\/^SELINUX=enforcing$\/SELINUX=disabled\/' \/etc\/selinux\/config<\/code><\/pre>\n<p>Bu de\u011fi\u015fikli\u011fin tam olarak etkinle\u015fmesi i\u00e7in sunucuyu yeniden ba\u015flatman\u0131z gerekebilir. Ancak test ortamlar\u0131 i\u00e7in <code>setenforce 0<\/code> genellikle yeterlidir. \u00dcretim ortamlar\u0131nda, SELinux politikalar\u0131n\u0131 ClickHouse&#8217;a uygun \u015fekilde yap\u0131land\u0131rmak daha g\u00fcvenli bir yakla\u015f\u0131md\u0131r, ancak bu makalenin kapsam\u0131 d\u0131\u015f\u0131ndad\u0131r.<\/p>\n<h4>G\u00fcvenlik Duvar\u0131 Ayarlar\u0131<\/h4>\n<p>ClickHouse varsay\u0131lan olarak iki ana port kullan\u0131r:<br \/>\n*   <code>8123\/tcp<\/code>: HTTP\/HTTPS protokol\u00fc i\u00e7in (\u00f6rne\u011fin, web aray\u00fczleri veya HTTP API&#8217;si ile etkile\u015fim).<br \/>\n*   <code>9000\/tcp<\/code>: ClickHouse&#8217;un kendi istemcisi (native client) i\u00e7in.<br \/>\n*   <code>9009\/tcp<\/code>: Sunucular aras\u0131 ileti\u015fim (interserver) i\u00e7in, \u00f6zellikle replikasyon ve sharding senaryolar\u0131nda kullan\u0131l\u0131r.<\/p>\n<p>Bu portlar\u0131 g\u00fcvenlik duvar\u0131nda a\u00e7mal\u0131y\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo firewall-cmd --add-port=8123\/tcp --permanent\nsudo firewall-cmd --add-port=9000\/tcp --permanent\nsudo firewall-cmd --add-port=9009\/tcp --permanent # Replikasyon\/Sharding i\u00e7in\nsudo firewall-cmd --reload<\/code><\/pre>\n<p>G\u00fcvenlik duvar\u0131 durumunu kontrol etmek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo firewall-cmd --list-all<\/code><\/pre>\n<h3>Gerekli Paketlerin Kurulumu<\/h3>\n<p>ClickHouse&#8217;un \u00e7al\u0131\u015fmas\u0131 i\u00e7in do\u011frudan gerekli olmasa da, sistem y\u00f6netimi ve sorun giderme i\u00e7in baz\u0131 temel yard\u0131mc\u0131 programlar\u0131 kurmak faydal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo yum install -y curl wget lsof net-tools<\/code><\/pre>\n<h2>ClickHouse Kurulumu<\/h2>\n<p>CentOS 7 \u00fczerine ClickHouse&#8217;u kurman\u0131n en kolay yolu, ClickHouse&#8217;un resmi YUM deposunu kullanmakt\u0131r.<\/p>\n<h3>ClickHouse Yum Deposunun Eklenmesi<\/h3>\n<p>\u0130lk olarak, ClickHouse RPM paketlerinin imzalar\u0131n\u0131 do\u011frulamak i\u00e7in GPG anahtar\u0131n\u0131 i\u00e7e aktarmam\u0131z gerekiyor. Ard\u0131ndan, YUM deposunu sistemimize ekleyece\u011fiz.<\/p>\n<pre><code class=\"language-bash\">sudo yum install -y yum-utils # yum-config-manager i\u00e7in\nsudo rpm --import https:\/\/repo.clickhouse.com\/CLICKHOUSE-KEY.GPG<\/code><\/pre>\n<p>\u015eimdi <code>\/etc\/yum.repos.d\/clickhouse.repo<\/code> ad\u0131nda bir dosya olu\u015fturarak ClickHouse deposunu tan\u0131mlayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo tee \/etc\/yum.repos.d\/clickhouse.repo <<EOF\n[clickhouse]\nname=ClickHouse Repository\nbaseurl=https:\/\/repo.clickhouse.com\/rpm\/stable\/x86_64\/\ngpgcheck=1\ngpgkey=https:\/\/repo.clickhouse.com\/CLICKHOUSE-KEY.GPG\nenabled=1\nEOF<\/code><\/pre>\n<p>Depo tan\u0131m\u0131n\u0131n do\u011fru bir \u015fekilde eklendi\u011fini do\u011frulamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">yum repolist | grep clickhouse<\/code><\/pre>\n<h3>ClickHouse Sunucu ve \u0130stemci Paketlerinin Kurulumu<\/h3>\n<p>Depo eklendikten sonra, ClickHouse sunucu ve istemci paketlerini kolayca kurabiliriz.<\/p>\n<pre><code class=\"language-bash\">sudo yum install -y clickhouse-server clickhouse-client<\/code><\/pre>\n<p>Bu komut, ClickHouse sunucu ve istemci uygulamalar\u0131n\u0131 ba\u011f\u0131ml\u0131l\u0131klar\u0131yla birlikte kuracakt\u0131r. Kurulum tamamland\u0131\u011f\u0131nda, ClickHouse servisi otomatik olarak ba\u015flat\u0131lmayabilir. Servisi elle ba\u015flataca\u011f\u0131z ve otomatik ba\u015flatmay\u0131 ayarlayaca\u011f\u0131z.<\/p>\n<h3>Kurulum Sonras\u0131 \u0130lk Kontroller<\/h3>\n<p>Kurulumun ba\u015far\u0131l\u0131 oldu\u011funu do\u011frulamak i\u00e7in ClickHouse sunucusunun ve istemcisinin versiyonlar\u0131n\u0131 kontrol edebiliriz:<\/p>\n<pre><code class=\"language-bash\">clickhouse-server --version\nclickhouse-client --version<\/code><\/pre>\n<p>Bu komutlar, kurulu ClickHouse versiyonunu g\u00f6stermelidir.<\/p>\n<h2>ClickHouse Yap\u0131land\u0131rmas\u0131<\/h2>\n<p>ClickHouse, olduk\u00e7a esnek bir yap\u0131land\u0131rma sistemine sahiptir. Ana yap\u0131land\u0131rma dosyalar\u0131 XML format\u0131ndad\u0131r ve <code>\/etc\/clickhouse-server\/<\/code> dizininde bulunur.<\/p>\n<h3>Ana Yap\u0131land\u0131rma Dosyalar\u0131<\/h3>\n<p>*   <code>\/etc\/clickhouse-server\/config.xml<\/code>: ClickHouse sunucusunun ana yap\u0131land\u0131rma dosyas\u0131d\u0131r. Genel ayarlar, portlar, veri ve log dizinleri, g\u00fcvenlik ayarlar\u0131 gibi bir\u00e7ok parametreyi i\u00e7erir.<br \/>\n*   <code>\/etc\/clickhouse-server\/users.xml<\/code>: Kullan\u0131c\u0131 hesaplar\u0131, parolalar, yetkilendirmeler ve profil ayarlar\u0131 bu dosyada tan\u0131mlan\u0131r.<br \/>\n*   <code>\/etc\/clickhouse-server\/config.d\/<\/code>: Bu dizin, ana <code>config.xml<\/code> dosyas\u0131n\u0131 de\u011fi\u015ftirmeden \u00f6zel yap\u0131land\u0131rmalar eklemek i\u00e7in kullan\u0131l\u0131r. Bu dizindeki <code>.xml<\/code> uzant\u0131l\u0131 dosyalar, ana yap\u0131land\u0131rma dosyas\u0131na dahil edilir ve \u00fczerine yazabilir. Bu yakla\u015f\u0131m, y\u00fckseltmeler s\u0131ras\u0131nda yap\u0131land\u0131rma de\u011fi\u015fikliklerini korumak i\u00e7in \u00f6nerilir.<\/p>\n<h3>Veri ve Log Dizinleri<\/h3>\n<p>Varsay\u0131lan olarak, ClickHouse verilerini <code>\/var\/lib\/clickhouse\/<\/code> dizininde, loglar\u0131n\u0131 ise <code>\/var\/log\/clickhouse-server\/<\/code> dizininde saklar. Bu dizinleri <code>config.xml<\/code> dosyas\u0131nda de\u011fi\u015ftirebilirsiniz. \u00d6zellikle b\u00fcy\u00fck veri k\u00fcmeleriyle \u00e7al\u0131\u015f\u0131rken, veri dizinini y\u00fcksek performansl\u0131 bir diske (SSD\/NVMe) ta\u015f\u0131mak \u00f6nemlidir.<\/p>\n<p><code>config.xml<\/code> dosyas\u0131nda ilgili b\u00f6l\u00fcmler:<\/p>\n<pre><code class=\"language-xml\"><path>\/var\/lib\/clickhouse\/<\/path>\n<tmp_path>\/var\/lib\/clickhouse\/tmp\/<\/tmp_path>\n<user_files_path>\/var\/lib\/clickhouse\/user_files\/<\/user_files_path>\n<log>\/var\/log\/clickhouse-server\/clickhouse-server.log<\/log>\n<error_log>\/var\/log\/clickhouse-server\/clickhouse-server.err.log<\/error_log>\n<logs_level>information<\/logs_level><\/code><\/pre>\n<p>Bu yollar\u0131 de\u011fi\u015ftirdikten sonra, yeni dizinleri olu\u015fturman\u0131z ve ClickHouse kullan\u0131c\u0131s\u0131na (genellikle <code>clickhouse<\/code>) gerekli izinleri vermeniz gerekmektedir.<\/p>\n<h3>A\u011f Ayarlar\u0131<\/h3>\n<p><code>config.xml<\/code> dosyas\u0131ndaki <code><listen_host><\/code> etiketi, ClickHouse sunucusunun hangi a\u011f aray\u00fczlerinden ba\u011flant\u0131lar\u0131 kabul edece\u011fini belirler.<br \/>\n*   <code><listen_host>::<\/listen_host><\/code> veya <code><listen_host>0.0.0.0<\/listen_host><\/code>: T\u00fcm a\u011f aray\u00fczlerinden ba\u011flant\u0131lar\u0131 kabul eder (varsay\u0131lan).<br \/>\n*   <code><listen_host>127.0.0.1<\/listen_host><\/code>: Yaln\u0131zca yerel makineden gelen ba\u011flant\u0131lar\u0131 kabul eder (daha g\u00fcvenli, ancak uzaktan eri\u015fimi engeller).<br \/>\n*   <code><listen_host>192.168.1.100<\/listen_host><\/code>: Belirli bir IP adresinden gelen ba\u011flant\u0131lar\u0131 kabul eder.<\/p>\n<p>\u00dcretim ortamlar\u0131nda, g\u00fcvenlik nedeniyle ClickHouse sunucusuna yaln\u0131zca belirli IP adreslerinden veya bir VPN \u00fczerinden eri\u015fime izin vermek iyi bir uygulamad\u0131r.<\/p>\n<h3>Kullan\u0131c\u0131 ve Yetkilendirme Y\u00f6netimi<\/h3>\n<p><code>\/etc\/clickhouse-server\/users.xml<\/code> dosyas\u0131, ClickHouse kullan\u0131c\u0131lar\u0131n\u0131 ve onlar\u0131n yetkilerini tan\u0131mlar. Varsay\u0131lan olarak <code>default<\/code> ad\u0131nda bir kullan\u0131c\u0131 mevcuttur ve parolas\u0131 yoktur. <strong>Bu, g\u00fcvenlik a\u00e7\u0131\u011f\u0131 olu\u015fturur ve \u00fcretim ortamlar\u0131nda mutlaka de\u011fi\u015ftirilmelidir.<\/strong><\/p>\n<p>Yeni bir kullan\u0131c\u0131 eklemek veya <code>default<\/code> kullan\u0131c\u0131s\u0131n\u0131n parolas\u0131n\u0131 de\u011fi\u015ftirmek i\u00e7in <code>users.xml<\/code> dosyas\u0131n\u0131 d\u00fczenleyebilirsiniz:<\/p>\n<pre><code class=\"language-xml\"><yandex>\n    <users>\n        <default>\n            <password>guclu_parola<\/password> <!-- Varsay\u0131lan kullan\u0131c\u0131n\u0131n parolas\u0131n\u0131 de\u011fi\u015ftirin -->\n            <networks>\n                <ip>::\/0<\/ip> <!-- T\u00fcm IP'lerden eri\u015fime izin verir -->\n            <\/networks>\n            <profile>default<\/profile>\n            <quota>default<\/quota>\n        <\/default>\n\n        <my_user> <!-- Yeni bir kullan\u0131c\u0131 ekleyin -->\n            <password>cok_guclu_parola_2<\/password>\n            <networks>\n                <ip>192.168.1.0\/24<\/ip> <!-- Sadece belirli bir alt a\u011fdan eri\u015fim -->\n                <ip>10.0.0.5<\/ip>\n            <\/networks>\n            <profile>default<\/profile>\n            <quota>default<\/quota>\n        <\/my_user>\n    <\/users>\n<\/yandex><\/code><\/pre>\n<p>De\u011fi\u015fiklikleri yapt\u0131ktan sonra ClickHouse servisini yeniden ba\u015flatman\u0131z gerekir.<\/p>\n<h3>Performans Odakl\u0131 Yap\u0131land\u0131rma \u0130pu\u00e7lar\u0131<\/h3>\n<p>ClickHouse, performans\u0131 art\u0131rmak i\u00e7in bir\u00e7ok yap\u0131land\u0131rma parametresi sunar. \u0130\u015fte baz\u0131 \u00f6nemli olanlar:<br \/>\n*   <code>max_memory_usage<\/code>: Bir sorgunun kullanabilece\u011fi maksimum RAM miktar\u0131n\u0131 byte cinsinden belirler. A\u015f\u0131r\u0131 bellek t\u00fcketimini \u00f6nlemek i\u00e7in \u00f6nemlidir.<br \/>\n*   <code>max_threads<\/code>: Bir sorgunun kullanabilece\u011fi maksimum CPU \u00e7ekirde\u011fi\/thread say\u0131s\u0131n\u0131 belirler.<br \/>\n*   <code>merge_tree<\/code> ayarlar\u0131: <code>MergeTree<\/code> motoru i\u00e7in birle\u015ftirme ve b\u00f6l\u00fcmleme ayarlar\u0131. Genellikle varsay\u0131lan de\u011ferler iyi bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r, ancak b\u00fcy\u00fck \u00f6l\u00e7ekli sistemlerde ince ayar yap\u0131labilir.<br \/>\n*   <code>max_table_size_for_sync_alter<\/code>: <code>ALTER<\/code> i\u015flemlerinin senkronize olarak \u00e7al\u0131\u015fmas\u0131 i\u00e7in tablonun maksimum boyutu.<br \/>\n*   <code>log_queries<\/code>: T\u00fcm sorgular\u0131 loglamak i\u00e7in <code>1<\/code> olarak ayarlanabilir, ancak \u00fcretimde performans etkisi olabilir.<\/p>\n<p>Bu ayarlar genellikle <code>config.xml<\/code> i\u00e7inde veya <code>config.d\/<\/code> dizinindeki \u00f6zel bir dosyada yap\u0131l\u0131r.<\/p>\n<h2>ClickHouse Servisini Y\u00f6netme<\/h2>\n<p>ClickHouse sunucusu, bir <code>systemd<\/code> servisi olarak kurulur, bu da onu standart <code>systemctl<\/code> komutlar\u0131 ile kolayca y\u00f6netmenizi sa\u011flar.<\/p>\n<h3>Servis Komutlar\u0131<\/h3>\n<p>*   <strong>Servisi Ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl start clickhouse-server<\/code><\/pre>\n<p>*   <strong>Servisi Durdurma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl stop clickhouse-server<\/code><\/pre>\n<p>*   <strong>Servisi Yeniden Ba\u015flatma:<\/strong> (Yap\u0131land\u0131rma de\u011fi\u015fikliklerinden sonra s\u0131k\u00e7a kullan\u0131l\u0131r)<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart clickhouse-server<\/code><\/pre>\n<p>*   <strong>Servis Durumunu Kontrol Etme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl status clickhouse-server<\/code><\/pre>\n<p>    Bu komut, servisin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131, son log girdilerini ve varsa hatalar\u0131 g\u00f6sterir.<\/p>\n<h3>Otomatik Ba\u015flatma<\/h3>\n<p>Sistemin yeniden ba\u015flat\u0131lmas\u0131 durumunda ClickHouse servisinin otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl enable clickhouse-server<\/code><\/pre>\n<p>Otomatik ba\u015flatmay\u0131 devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl disable clickhouse-server<\/code><\/pre>\n<h2>ClickHouse Kullan\u0131m\u0131 ve Temel \u0130\u015flemler<\/h2>\n<p>ClickHouse servisi \u00e7al\u0131\u015f\u0131r durumda oldu\u011funda, veritaban\u0131 ile etkile\u015fime ge\u00e7meye ba\u015flayabiliriz. Bunun i\u00e7in <code>clickhouse-client<\/code> komut sat\u0131r\u0131 arac\u0131n\u0131 kullanaca\u011f\u0131z.<\/p>\n<h3>ClickHouse \u0130stemcisine Ba\u011flanma<\/h3>\n<p>Varsay\u0131lan ayarlarla (yerel makineden, <code>default<\/code> kullan\u0131c\u0131s\u0131 ve parola yok):<\/p>\n<pre><code class=\"language-bash\">clickhouse-client<\/code><\/pre>\n<p>E\u011fer parola belirlediyseniz veya uzaktan ba\u011flan\u0131yorsan\u0131z:<\/p>\n<pre><code class=\"language-bash\">clickhouse-client --host <IP_ADRESI> --port 9000 --user <KULLANICI_ADI> --password <PAROLA><\/code><\/pre>\n<p>\u00d6rne\u011fin, yerel makineden <code>my_user<\/code> kullan\u0131c\u0131s\u0131 ile ba\u011flanmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">clickhouse-client --user my_user --password cok_guclu_parola_2<\/code><\/pre>\n<p>Ba\u015far\u0131l\u0131 bir ba\u011flant\u0131dan sonra <code>:)<\/code> istemini g\u00f6rmelisiniz.<\/p>\n<h3>Veritaban\u0131 Olu\u015fturma<\/h3>\n<p>ClickHouse'da bir veritaban\u0131 olu\u015fturmak olduk\u00e7a basittir:<\/p>\n<pre><code class=\"language-sql\">CREATE DATABASE my_database;<\/code><\/pre>\n<p>Olu\u015fturulan veritaban\u0131n\u0131 kullanmak i\u00e7in:<\/p>\n<pre><code class=\"language-sql\">USE my_database;<\/code><\/pre>\n<p>Mevcut veritabanlar\u0131n\u0131 listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-sql\">SHOW DATABASES;<\/code><\/pre>\n<h3>Tablo Olu\u015fturma (ENGINE Tipleri)<\/h3>\n<p>ClickHouse'un kalbi, farkl\u0131 depolama ve i\u015fleme \u00f6zelliklerine sahip tablo motorlar\u0131d\u0131r (ENGINE). Analitik i\u015f y\u00fckleri i\u00e7in en yayg\u0131n ve g\u00fc\u00e7l\u00fc motor ailesi <code>MergeTree<\/code> ailesidir. <code>MergeTree<\/code> motorlar\u0131, verileri s\u00fctun tabanl\u0131 olarak depolar, s\u0131k\u0131\u015ft\u0131r\u0131r, s\u0131ralar, b\u00f6l\u00fcmlere ay\u0131r\u0131r ve dizinler olu\u015fturur.<\/p>\n<p>\u00d6rnek bir <code>MergeTree<\/code> tablosu olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-sql\">CREATE TABLE events (\n    event_time DateTime,\n    event_type String,\n    user_id UInt64,\n    country String,\n    duration_ms UInt32,\n    referrer String Nullable\n) ENGINE = MergeTree()\nORDER BY (event_time, user_id)\nPARTITION BY toYYYYMM(event_time);<\/code><\/pre>\n<p>Bu tan\u0131mda:<br \/>\n*   <code>events<\/code>: Tablonun ad\u0131.<br \/>\n*   <code>event_time<\/code>, <code>event_type<\/code>, <code>user_id<\/code> vb.: S\u00fctun adlar\u0131 ve veri tipleri. <code>Nullable<\/code> bir s\u00fctunun <code>NULL<\/code> de\u011ferleri i\u00e7erebilece\u011fini belirtir.<br \/>\n*   <code>ENGINE = MergeTree()<\/code>: Tablonun <code>MergeTree<\/code> motorunu kullanaca\u011f\u0131n\u0131 belirtir.<br \/>\n*   <code>ORDER BY (event_time, user_id)<\/code>: Verilerin diskte <code>event_time<\/code> ve <code>user_id<\/code> s\u00fctunlar\u0131na g\u00f6re s\u0131ralanaca\u011f\u0131n\u0131 belirtir. Bu, birincil dizini olu\u015fturur ve sorgu performans\u0131n\u0131 do\u011frudan etkiler. <code>WHERE<\/code> ve <code>GROUP BY<\/code> ifadelerinde s\u0131k\u00e7a kullan\u0131lan s\u00fctunlar\u0131 buraya eklemek \u00f6nemlidir.<br \/>\n*   <code>PARTITION BY toYYYYMM(event_time)<\/code>: Verilerin <code>event_time<\/code> s\u00fctununa g\u00f6re y\u0131l-ay baz\u0131nda mant\u0131ksal b\u00f6l\u00fcmlere ayr\u0131laca\u011f\u0131n\u0131 belirtir. Bu, eski verilerin kolayca silinmesini veya belirli zaman aral\u0131klar\u0131ndaki sorgular\u0131n daha h\u0131zl\u0131 \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flar.<\/p>\n<p>Mevcut tablolar\u0131 listelemek i\u00e7in:<\/p>\n<pre><code class=\"language-sql\">SHOW TABLES;<\/code><\/pre>\n<p>Bir tablonun \u015femas\u0131n\u0131 g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-sql\">DESCRIBE TABLE events;<\/code><\/pre>\n<h3>Veri Ekleme (INSERT)<\/h3>\n<p>ClickHouse'a veri eklemek i\u00e7in <code>INSERT INTO<\/code> ifadesi kullan\u0131l\u0131r.<br \/>\nTek sat\u0131r ekleme:<\/p>\n<pre><code class=\"language-sql\">INSERT INTO events VALUES ('2023-10-26 10:00:00', 'login', 101, 'TR', 150, NULL);\nINSERT INTO events (event_time, event_type, user_id, country) VALUES ('2023-10-26 10:05:00', 'logout', 101, 'TR');<\/code><\/pre>\n<p>Birden \u00e7ok sat\u0131r ekleme (performans i\u00e7in \u00f6nerilir):<\/p>\n<pre><code class=\"language-sql\">INSERT INTO events VALUES\n    ('2023-10-26 10:10:00', 'view_product', 102, 'US', 500, 'homepage'),\n    ('2023-10-26 10:15:00', 'add_to_cart', 102, 'US', 200, 'product_page'),\n    ('2023-10-26 10:20:00', 'login', 103, 'DE', 100, NULL);<\/code><\/pre>\n<h3>Veri Sorgulama (SELECT)<\/h3>\n<p>ClickHouse'un ana g\u00fcc\u00fc, y\u00fcksek performansl\u0131 sorgulama yetene\u011fidir. Standart SQL benzeri sorgu s\u00f6zdizimi kullan\u0131l\u0131r.<br \/>\nT\u00fcm verileri listeleme (dikkatli olun, b\u00fcy\u00fck tablolar i\u00e7in tehlikelidir):<\/p>\n<pre><code class=\"language-sql\">SELECT * FROM events LIMIT 5;<\/code><\/pre>\n<p>Belirli s\u00fctunlar\u0131 ve ko\u015fullar\u0131 kullanarak sorgulama:<\/p>\n<pre><code class=\"language-sql\">SELECT event_time, event_type, user_id\nFROM events\nWHERE country = 'US' AND event_time >= '2023-10-26 10:00:00'\nORDER BY event_time DESC\nLIMIT 10;<\/code><\/pre>\n<p>Toplamsal sorgular (Aggregate queries):<\/p>\n<pre><code class=\"language-sql\">SELECT\n    country,\n    count() AS total_events,\n    avg(duration_ms) AS avg_duration\nFROM events\nWHERE event_type IN ('view_product', 'add_to_cart')\nGROUP BY country\nHAVING total_events > 1\nORDER BY total_events DESC;<\/code><\/pre>\n<p>Zaman bazl\u0131 gruplama:<\/p>\n<pre><code class=\"language-sql\">SELECT\n    toStartOfDay(event_time) AS event_day,\n    event_type,\n    count() AS daily_count\nFROM events\nWHERE event_time >= '2023-10-01 00:00:00'\nGROUP BY event_day, event_type\nORDER BY event_day, daily_count DESC;<\/code><\/pre>\n<h3>\u00d6rnek Bir Veri Seti ile \u00c7al\u0131\u015fma<\/h3>\n<p>ClickHouse'un performans\u0131n\u0131 test etmek i\u00e7in b\u00fcy\u00fck bir \u00f6rnek veri seti olu\u015ftural\u0131m.<\/p>\n<pre><code class=\"language-sql\">INSERT INTO events SELECT\n    now() - INTERVAL rand() % (30 <em> 24 <\/em> 3600) SECOND AS event_time, -- Son 30 g\u00fcn i\u00e7inde rastgele bir zaman\n    arrayElement(['login', 'logout', 'view_product', 'add_to_cart', 'purchase'], rand() % 5 + 1) AS event_type,\n    rand() % 100000 AS user_id, -- 100 bin farkl\u0131 kullan\u0131c\u0131\n    arrayElement(['TR', 'US', 'DE', 'UK', 'FR', 'ES', 'IT'], rand() % 7 + 1) AS country,\n    rand() % 5000 AS duration_ms, -- 0-5000 ms aras\u0131 s\u00fcre\n    if(rand() % 2 = 0, arrayElement(['homepage', 'search_results', 'category_page', 'ad_campaign'], rand() % 4 + 1), NULL) AS referrer\nFROM numbers(10000000); -- 10 milyon sat\u0131r ekle<\/code><\/pre>\n<p>Bu komut, 10 milyon rastgele olay kayd\u0131 olu\u015fturur. Bu i\u015flem birka\u00e7 saniye s\u00fcrebilir. \u015eimdi bu b\u00fcy\u00fck veri seti \u00fczerinde karma\u015f\u0131k sorgular \u00e7al\u0131\u015ft\u0131rabiliriz:<\/p>\n<pre><code class=\"language-sql\">SELECT\n    country,\n    event_type,\n    count() AS total_events,\n    avg(duration_ms) AS avg_duration_ms,\n    min(event_time) AS first_event,\n    max(event_time) AS last_event\nFROM events\nWHERE event_time >= now() - INTERVAL 7 DAY AND event_type IN ('view_product', 'purchase')\nGROUP BY country, event_type\nORDER BY total_events DESC\nLIMIT 20;<\/code><\/pre>\n<p>Bu sorgu, son 7 g\u00fcn i\u00e7indeki \u00fcr\u00fcn g\u00f6r\u00fcnt\u00fcleme ve sat\u0131n alma olaylar\u0131n\u0131 \u00fclkelere ve olay tiplerine g\u00f6re gruplayarak toplam olay say\u0131s\u0131n\u0131, ortalama s\u00fcreyi, ilk ve son olay zaman\u0131n\u0131 getirir. Bu t\u00fcr bir sorgunun ClickHouse'da ne kadar h\u0131zl\u0131 \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6rmek etkileyici olacakt\u0131r.<\/p>\n<h3>Veri Tipleri<\/h3>\n<p>ClickHouse, \u00e7ok \u00e7e\u015fitli veri tiplerini destekler. En yayg\u0131n kullan\u0131lanlar \u015funlard\u0131r:<br \/>\n*   <strong>Say\u0131sal:<\/strong> <code>UInt8<\/code>, <code>UInt16<\/code>, <code>UInt32<\/code>, <code>UInt64<\/code>, <code>Int8<\/code>, <code>Int16<\/code>, <code>Int32<\/code>, <code>Int64<\/code> (i\u015faretsiz ve i\u015faretli tamsay\u0131lar), <code>Float32<\/code>, <code>Float64<\/code> (kayan noktal\u0131 say\u0131lar).<br \/>\n*   <strong>Tarih ve Zaman:<\/strong> <code>Date<\/code> (sadece tarih), <code>DateTime<\/code> (tarih ve saat), <code>DateTime64<\/code> (milisaniye hassasiyetli tarih ve saat).<br \/>\n*   <strong>Dizeler:<\/strong> <code>String<\/code> (de\u011fi\u015fken uzunlukta dizeler), <code>FixedString(N)<\/code> (sabit uzunlukta dizeler).<br \/>\n*   <strong>Di\u011fer:<\/strong> <code>LowCardinality(String)<\/code> (d\u00fc\u015f\u00fck benzersiz de\u011fere sahip dizeler i\u00e7in optimize edilmi\u015f), <code>Array(T)<\/code> (dizi tipleri), <code>Tuple(T1, T2, ...)<\/code> (demet tipleri), <code>Nullable(T)<\/code> (NULL de\u011ferleri kabul eden tipler).<\/p>\n<h3>Dizinler (Indeksler)<\/h3>\n<p>ClickHouse'da birincil dizin (primary index), <code>ORDER BY<\/code> ifadesiyle tan\u0131mlan\u0131r ve seyrek bir dizindir (sparse index). Bu, her sat\u0131r i\u00e7in de\u011fil, belirli aral\u0131klarla dizin girdileri olu\u015fturuldu\u011fu anlam\u0131na gelir. Bu seyrek yap\u0131, dizin boyutunu k\u00fc\u00e7\u00fclt\u00fcr ve disk I\/O'yu azalt\u0131r.<\/p>\n<p><code>ORDER BY<\/code> s\u00fctunlar\u0131, <code>WHERE<\/code> ko\u015fullar\u0131nda ve <code>GROUP BY<\/code> ifadelerinde kullan\u0131ld\u0131\u011f\u0131nda sorgu performans\u0131n\u0131 b\u00fcy\u00fck \u00f6l\u00e7\u00fcde art\u0131r\u0131r. Ayr\u0131ca, ClickHouse <code>Skip Indexes<\/code> (atlama dizinleri) ve <code>Projections<\/code> gibi ikincil dizin tiplerini de destekler. Bunlar, birincil dizin olmayan s\u00fctunlarda filtreleme veya toplama i\u015flemlerini h\u0131zland\u0131rmak i\u00e7in kullan\u0131labilir.<\/p>\n<h2>ClickHouse Performans \u0130pu\u00e7lar\u0131 ve En \u0130yi Uygulamalar<\/h2>\n<p>ClickHouse'un potansiyelini tam olarak kullanmak i\u00e7in baz\u0131 performans ipu\u00e7lar\u0131n\u0131 ve en iyi uygulamalar\u0131 g\u00f6z \u00f6n\u00fcnde bulundurmak \u00f6nemlidir.<\/p>\n<h3>Donan\u0131m Se\u00e7imi<\/h3>\n<p>*   <strong>CPU:<\/strong> ClickHouse, sorgular\u0131 paralelle\u015ftirmek i\u00e7in \u00e7ok \u00e7ekirdekli i\u015flemcilerden (high core count) faydalan\u0131r. Y\u00fcksek saat h\u0131zl\u0131 CPU'lar da faydal\u0131d\u0131r.<br \/>\n*   <strong>RAM:<\/strong> M\u00fcmk\u00fcn oldu\u011funca fazla RAM, ClickHouse'un verileri \u00f6nbelle\u011fe almas\u0131na, ara sonu\u00e7lar\u0131 depolamas\u0131na ve daha h\u0131zl\u0131 sorgular \u00e7al\u0131\u015ft\u0131rmas\u0131na yard\u0131mc\u0131 olur.<br \/>\n*   <strong>Disk:<\/strong> Veri depolama i\u00e7in kesinlikle SSD veya NVMe s\u00fcr\u00fcc\u00fcler kullan\u0131lmal\u0131d\u0131r. \u00d6zellikle <code>ORDER BY<\/code> ve <code>PARTITION BY<\/code> s\u00fctunlar\u0131 \u00fczerinde yo\u011fun I\/O oldu\u011fundan, h\u0131zl\u0131 diskler kritik \u00f6neme sahiptir.<\/p>\n<h3>Veri Modellemesi<\/h3>\n<p><em>   <strong>S\u00fctun Tabanl\u0131 Yap\u0131:<\/strong> ClickHouse'un s\u00fctun tabanl\u0131 do\u011fas\u0131ndan faydalanmak i\u00e7in, sorgular\u0131n\u0131zda yaln\u0131zca ihtiyac\u0131n\u0131z olan s\u00fctunlar\u0131 se\u00e7in (<code>SELECT <\/em><\/code> yerine <code>SELECT column1, column2<\/code>).<br \/>\n*   <strong>Denormalizasyon:<\/strong> Geleneksel ili\u015fkisel veritabanlar\u0131nda normalizasyon \u00f6nemliyken, OLAP sistemleri genellikle denormalizasyonu tercih eder. Join i\u015flemleri ClickHouse'da maliyetli olabilir, bu y\u00fczden s\u0131k\u00e7a birlikte sorgulanan verileri ayn\u0131 tabloda tutmak performans\u0131 art\u0131r\u0131r.<br \/>\n*   <strong><code>LowCardinality<\/code> Tipi:<\/strong> E\u011fer bir <code>String<\/code> s\u00fctunu az say\u0131da benzersiz de\u011fere sahipse (\u00f6rne\u011fin, \u00fclke kodlar\u0131, event tipleri), <code>LowCardinality(String)<\/code> veri tipini kullanmak hem depolama alan\u0131ndan tasarruf sa\u011flar hem de sorgu performans\u0131n\u0131 art\u0131r\u0131r.<\/p>\n<h3>Sorgu Optimizasyonu<\/h3>\n<p>*   <strong><code>WHERE<\/code> Ko\u015fullar\u0131:<\/strong> <code>ORDER BY<\/code> ile tan\u0131mlanan birincil dizin s\u00fctunlar\u0131 \u00fczerindeki <code>WHERE<\/code> ko\u015fullar\u0131 sorgular\u0131 en \u00e7ok h\u0131zland\u0131r\u0131r.<br \/>\n*   <strong><code>PREWHERE<\/code>:<\/strong> E\u011fer bir <code>WHERE<\/code> ko\u015fulu, tablonun b\u00fcy\u00fck bir k\u0131sm\u0131n\u0131 filtreliyorsa, <code>PREWHERE<\/code> anahtar kelimesini kullanmak, yaln\u0131zca filtrelenmi\u015f sat\u0131rlar i\u00e7in di\u011fer s\u00fctunlar\u0131n okunmas\u0131n\u0131 sa\u011flayarak I\/O'yu azalt\u0131r.<br \/>\n<em>   <strong><code>SELECT <\/em><\/code> Kullan\u0131m\u0131ndan Ka\u00e7\u0131nma:<\/strong> Sadece ihtiyac\u0131n\u0131z olan s\u00fctunlar\u0131 se\u00e7mek, I\/O ve a\u011f trafi\u011fini azalt\u0131r.<br \/>\n*   <strong>Uygun Agrega Fonksiyonlar\u0131:<\/strong> ClickHouse, \u00e7ok say\u0131da optimize edilmi\u015f agrega fonksiyonuna sahiptir. Bunlar\u0131 do\u011fru kullanmak performans\u0131 art\u0131r\u0131r.<br \/>\n*   <strong><code>LIMIT<\/code> Kullan\u0131m\u0131:<\/strong> B\u00fcy\u00fck sonu\u00e7 k\u00fcmeleri d\u00f6nd\u00fcrmek yerine <code>LIMIT<\/code> kullanarak yaln\u0131zca ihtiyac\u0131n\u0131z olan kadar\u0131n\u0131 almak \u00f6nemlidir.<\/p>\n<h3>MergeTree Motor Ailesinin \u00d6nemi<\/h3>\n<p><code>MergeTree<\/code> motor ailesi, ClickHouse'un temelini olu\u015fturur ve farkl\u0131 kullan\u0131m senaryolar\u0131 i\u00e7in \u00f6zelle\u015fmi\u015f t\u00fcrevleri bulunur:<br \/>\n*   <code>MergeTree<\/code>: Temel motor, s\u0131ralama, b\u00f6l\u00fcmleme, dizinleme ve veri s\u0131k\u0131\u015ft\u0131rma sa\u011flar.<br \/>\n*   <code>ReplacingMergeTree<\/code>: Ayn\u0131 s\u0131ralama anahtar\u0131na sahip yinelenen sat\u0131rlar\u0131 otomatik olarak kald\u0131r\u0131r (son yaz\u0131lan sat\u0131r\u0131 tutar).<br \/>\n*   <code>SummingMergeTree<\/code>: Ayn\u0131 s\u0131ralama anahtar\u0131na sahip sat\u0131rlar\u0131 birle\u015ftirirken, belirtilen say\u0131sal s\u00fctunlar\u0131 toplar. Analitik toplama tablolar\u0131 i\u00e7in idealdir.<br \/>\n*   <code>AggregatingMergeTree<\/code>: \u00d6nceden hesaplanm\u0131\u015f toplamsal durumlar\u0131 depolamak i\u00e7in kullan\u0131l\u0131r, \u00f6zellikle Materialized Views ile birlikte etkilidir.<br \/>\n*   <code>CollapsingMergeTree<\/code>: Sat\u0131rlar\u0131 i\u015faretleyerek (i\u015faret\u00e7i s\u00fctunu ile) silme veya g\u00fcncelleme i\u015flemlerini sim\u00fcle eder.<\/p>\n<p>Do\u011fru <code>MergeTree<\/code> motorunu se\u00e7mek, veri i\u015fleme ve sorgu performans\u0131n\u0131 \u00f6nemli \u00f6l\u00e7\u00fcde etkileyebilir.<\/p>\n<h3>Dizinleme Stratejileri<\/h3>\n<p><code>ORDER BY<\/code> ifadesiyle tan\u0131mlanan birincil dizin, sorgularda en s\u0131k kullan\u0131lan <code>WHERE<\/code> ko\u015fullar\u0131n\u0131 ve <code>GROUP BY<\/code> s\u00fctunlar\u0131n\u0131 i\u00e7ermelidir. Ayr\u0131ca, b\u00fcy\u00fck tablolar i\u00e7in <code>PARTITION BY<\/code> kullanarak verileri mant\u0131ksal b\u00f6l\u00fcmlere ay\u0131rmak, sorgular\u0131n yaln\u0131zca ilgili b\u00f6l\u00fcmleri okumas\u0131n\u0131 sa\u011flayarak performans\u0131 art\u0131r\u0131r.<\/p>\n<h3>Veri S\u0131k\u0131\u015ft\u0131rma<\/h3>\n<p>ClickHouse, <code>MergeTree<\/code> tablolar\u0131nda verileri otomatik olarak s\u0131k\u0131\u015ft\u0131r\u0131r. Varsay\u0131lan s\u0131k\u0131\u015ft\u0131rma algoritmas\u0131 <code>LZ4<\/code>'t\u00fcr. \u0130htiyaca g\u00f6re <code>ZSTD<\/code> veya <code>Delta<\/code> gibi farkl\u0131 s\u0131k\u0131\u015ft\u0131rma algoritmalar\u0131 da kullan\u0131labilir. Bu, disk alan\u0131ndan tasarruf sa\u011flarken I\/O performans\u0131n\u0131 da art\u0131r\u0131r.<\/p>\n<h3>Replikasyon ve Sharding<\/h3>\n<p>*   <strong>Replikasyon:<\/strong> Veri kayb\u0131n\u0131 \u00f6nlemek ve y\u00fcksek eri\u015filebilirlik sa\u011flamak i\u00e7in ClickHouse, Apache ZooKeeper kullanarak replikasyonu destekler. <code>ReplicatedMergeTree<\/code> motorlar\u0131, verilerin birden fazla sunucu aras\u0131nda senkronize edilmesini sa\u011flar.<br \/>\n*   <strong>Sharding:<\/strong> Petabaytlarca veriyi y\u00f6netmek ve sorgu y\u00fck\u00fcn\u00fc da\u011f\u0131tmak i\u00e7in ClickHouse, verileri birden fazla sunucuya da\u011f\u0131tma (sharding) yetene\u011fine sahiptir. <code>Distributed<\/code> tablo motoru, istemcilerin t\u00fcm shard'lara tek bir noktadan sorgu g\u00f6ndermesine olanak tan\u0131r ve sorgu sonu\u00e7lar\u0131n\u0131 birle\u015ftirir.<\/p>\n<p>Bu konular ileri d\u00fczey kurulumlar i\u00e7in olup, bu makalenin kapsam\u0131 d\u0131\u015f\u0131ndad\u0131r, ancak ClickHouse'un \u00f6l\u00e7eklenebilirlik yeteneklerinin \u00f6nemli bir par\u00e7as\u0131d\u0131r.<\/p>\n<h2>ClickHouse \u0130zleme (Monitoring)<\/h2>\n<p>ClickHouse sunucusunun sa\u011fl\u0131\u011f\u0131n\u0131 ve performans\u0131n\u0131 izlemek, sorunlar\u0131 erken tespit etmek ve optimizasyon yapmak i\u00e7in kritik \u00f6neme sahiptir. ClickHouse, kendi i\u00e7inde zengin izleme mekanizmalar\u0131 sunar.<\/p>\n<h3>Sistem Tablolar\u0131<\/h3>\n<p>ClickHouse, <code>system<\/code> veritaban\u0131nda sunucu durumu hakk\u0131nda bir\u00e7ok bilgi i\u00e7eren \u00f6zel tablolar sunar:<br \/>\n*   <code>system.metrics<\/code>: Sunucunun anl\u0131k metrik de\u011ferlerini (CPU kullan\u0131m\u0131, bellek, disk I\/O, a\u011f trafi\u011fi vb.) i\u00e7erir.<br \/>\n*   <code>system.events<\/code>: \u00c7e\u015fitli olaylar\u0131n (sorgu ba\u015flatma, veri okuma, yazma vb.) say\u0131c\u0131lar\u0131n\u0131 i\u00e7erir.<br \/>\n*   <code>system.query_log<\/code>: \u00c7al\u0131\u015ft\u0131r\u0131lan t\u00fcm sorgular\u0131n detayl\u0131 bir logunu tutar (sorgu metni, ba\u015flang\u0131\u00e7 zaman\u0131, s\u00fcre, sonu\u00e7 boyutu, kullan\u0131c\u0131 vb.). Performans sorunlar\u0131n\u0131 gidermek i\u00e7in \u00e7ok de\u011ferlidir.<br \/>\n*   <code>system.processes<\/code>: \u015eu anda \u00e7al\u0131\u015fan sorgular\u0131 listeler. Uzun s\u00fcren veya kaynak t\u00fcketen sorgular\u0131 tespit etmek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <code>system.parts<\/code>: <code>MergeTree<\/code> tablolar\u0131n\u0131n fiziksel par\u00e7alar\u0131 hakk\u0131nda bilgi verir.<br \/>\n*   <code>system.mutations<\/code>: <code>ALTER TABLE ... UPDATE\/DELETE<\/code> gibi mutasyonlar\u0131n durumunu g\u00f6sterir.<\/p>\n<p>\u00d6rnek olarak, \u015fu anda \u00e7al\u0131\u015fan sorgular\u0131 g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-sql\">SELECT query_id, query, elapsed, read_rows, read_bytes\nFROM system.processes;<\/code><\/pre>\n<p>En son tamamlanan sorgular\u0131 g\u00f6rmek i\u00e7in:<\/p>\n<pre><code class=\"language-sql\">SELECT query_start_time, query_duration_ms, query, read_rows, read_bytes, result_rows, result_bytes\nFROM system.query_log\nORDER BY query_start_time DESC\nLIMIT 10;<\/code><\/pre>\n<h3>Prometheus\/Grafana Entegrasyonu<\/h3>\n<p>ClickHouse, HTTP aray\u00fcz\u00fc \u00fczerinden Prometheus format\u0131nda metrikler sunabilir. Bu sayede Prometheus ile entegre edilerek metrikler toplanabilir ve Grafana gibi ara\u00e7larla g\u00f6rselle\u015ftirilebilir. Bu, ClickHouse k\u00fcmenizin detayl\u0131 ve kapsaml\u0131 bir \u015fekilde izlenmesini sa\u011flar.<br \/>\n<code>config.xml<\/code> dosyas\u0131nda Prometheus metriklerini etkinle\u015ftirmek i\u00e7in:<\/p>\n<pre><code class=\"language-xml\"><prometheus>\n    <endpoint>\/metrics<\/endpoint>\n    <port>8123<\/port>\n<\/prometheus><\/code><\/pre>\n<p>Bu sayede Prometheus, <code>http:\/\/clickhouse_server_ip:8123\/metrics<\/code> adresinden metrikleri \u00e7ekebilir.<\/p>\n<h2>S\u0131k\u00e7a Sorulan Sorular ve Sorun Giderme<\/h2>\n<p>ClickHouse kullan\u0131rken kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<h3>Yayg\u0131n Hatalar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>*   <strong>\"Cannot allocate memory\"<\/strong>: Bu hata genellikle bir sorgunun <code>max_memory_usage<\/code> limitini a\u015ft\u0131\u011f\u0131nda veya sistemde yeterli RAM kalmad\u0131\u011f\u0131nda ortaya \u00e7\u0131kar. \u00c7\u00f6z\u00fcmler:<br \/>\n    *   <code>max_memory_usage<\/code> ayar\u0131n\u0131 art\u0131r\u0131n (dikkatli olun, sistem kararl\u0131l\u0131\u011f\u0131n\u0131 etkileyebilir).<br \/>\n    *   Sorgunuzu optimize edin (daha az veri okuyun, daha verimli agregasyonlar kullan\u0131n).<br \/>\n    *   Sisteme daha fazla RAM ekleyin.<br \/>\n*   <strong>\"Too many parts\"<\/strong>: <code>MergeTree<\/code> tablolar\u0131, verileri k\u00fc\u00e7\u00fck par\u00e7alar halinde yazar ve bu par\u00e7alar\u0131 zamanla birle\u015ftirir. \u00c7ok fazla k\u00fc\u00e7\u00fck par\u00e7a, sorgu performans\u0131n\u0131 d\u00fc\u015f\u00fcrebilir. \u00c7\u00f6z\u00fcm:<br \/>\n    *   <code>OPTIMIZE TABLE <table_name> FINAL;<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak par\u00e7alar\u0131 manuel olarak birle\u015ftirin.<br \/>\n    *   <code>merge_tree<\/code> ayarlar\u0131n\u0131 (<code>max_parts_in_total<\/code>, <code>min_bytes_for_wide_part<\/code>) g\u00f6zden ge\u00e7irin.<br \/>\n*   <strong>\"Connection refused\"<\/strong>: ClickHouse sunucusuna ba\u011flan\u0131lamad\u0131\u011f\u0131nda ortaya \u00e7\u0131kar. \u00c7\u00f6z\u00fcmler:<br \/>\n    *   ClickHouse servisinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin: <code>sudo systemctl status clickhouse-server<\/code>.<br \/>\n    *   G\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131 kontrol edin, 8123 (HTTP) ve 9000 (Native) portlar\u0131n\u0131n a\u00e7\u0131k oldu\u011fundan emin olun.<br \/>\n    *   <code>config.xml<\/code> dosyas\u0131ndaki <code>listen_host<\/code> ayar\u0131n\u0131 kontrol edin, do\u011fru IP adresinden eri\u015fime izin verildi\u011finden emin olun.<br \/>\n*   <strong>\"Code: 241, e.displayText() = DB::Exception: Memory limit (for query) exceeded\"<\/strong>: Bu, <code>max_memory_usage<\/code> limitinin a\u015f\u0131ld\u0131\u011f\u0131n\u0131 g\u00f6sterir. Yukar\u0131daki \"Cannot allocate memory\" \u00e7\u00f6z\u00fcmlerine bak\u0131n.<\/p>\n<h3>Kaynak T\u00fcketimi Sorunlar\u0131<\/h3>\n<p>*   <strong>Y\u00fcksek CPU Kullan\u0131m\u0131:<\/strong><br \/>\n    *   \u00c7ok say\u0131da e\u015f zamanl\u0131 karma\u015f\u0131k sorgu olabilir. <code>system.processes<\/code> tablosunu kontrol edin.<br \/>\n    *   Sorgular\u0131n\u0131z\u0131 optimize edin, daha verimli dizinler kullan\u0131n.<br \/>\n    *   <code>max_threads<\/code> ayar\u0131n\u0131 d\u00fc\u015f\u00fcrerek her sorgunun kullanabilece\u011fi \u00e7ekirdek say\u0131s\u0131n\u0131 s\u0131n\u0131rlay\u0131n.<br \/>\n*   <strong>Y\u00fcksek Disk I\/O:<\/strong><br \/>\n    *   B\u00fcy\u00fck veri birle\u015ftirmeleri (<code>MergeTree<\/code> motoru taraf\u0131ndan).<br \/>\n    *   S\u0131k ve b\u00fcy\u00fck veri yazma i\u015flemleri.<br \/>\n    <em>   Sorgular\u0131n\u0131z\u0131n \u00e7ok fazla s\u00fctun okumas\u0131 (<code>SELECT <\/em><\/code>).<br \/>\n    *   Disk h\u0131z\u0131n\u0131 kontrol edin, daha h\u0131zl\u0131 disklere ge\u00e7meyi d\u00fc\u015f\u00fcn\u00fcn.<\/p>\n<p>Genel olarak, sorun giderme ad\u0131mlar\u0131 genellikle ClickHouse loglar\u0131n\u0131 (<code>\/var\/log\/clickhouse-server\/<\/code>) incelemek, <code>system.query_log<\/code> ve <code>system.processes<\/code> tablolar\u0131n\u0131 kontrol etmekle ba\u015flar.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu kapsaml\u0131 makalede, ClickHouse'un ne oldu\u011funu ve neden analitik i\u015f y\u00fckleri i\u00e7in g\u00fc\u00e7l\u00fc bir \u00e7\u00f6z\u00fcm oldu\u011funu ele ald\u0131k. CentOS 7 i\u015fletim sistemi \u00fczerine ClickHouse'u kurmak i\u00e7in gerekli \u00f6n haz\u0131rl\u0131klar\u0131, kurulum ad\u0131mlar\u0131n\u0131, temel yap\u0131land\u0131rmalar\u0131 ve servis y\u00f6netimini detayl\u0131 bir \u015fekilde anlatt\u0131k. Ayr\u0131ca, <code>clickhouse-client<\/code> arac\u0131l\u0131\u011f\u0131yla veritaban\u0131 ve tablo olu\u015fturma, veri ekleme ve geli\u015fmi\u015f sorgulama tekniklerini \u00f6rneklerle g\u00f6sterdik.<\/p>\n<p>ClickHouse'un performans\u0131ndan en iyi \u015fekilde yararlanmak i\u00e7in donan\u0131m se\u00e7imi, veri modellemesi, sorgu optimizasyonu, <code>MergeTree<\/code> motor ailesinin do\u011fru kullan\u0131m\u0131 ve dizinleme stratejileri gibi en iyi uygulamalar\u0131 inceledik. Son olarak, sunucu sa\u011fl\u0131\u011f\u0131n\u0131 izlemek i\u00e7in sistem tablolar\u0131n\u0131n kullan\u0131m\u0131na ve Prometheus\/Grafana entegrasyonuna k\u0131saca de\u011findik ve s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan sorunlara y\u00f6nelik \u00e7\u00f6z\u00fcm \u00f6nerileri sunduk.<\/p>\n<p>ClickHouse, b\u00fcy\u00fck veri k\u00fcmeleri \u00fczerinde ger\u00e7ek zamanl\u0131 analitik sorgular \u00e7al\u0131\u015ft\u0131rmak isteyen her kurulu\u015f i\u00e7in g\u00fc\u00e7l\u00fc, esnek ve \u00f6l\u00e7eklenebilir bir \u00e7\u00f6z\u00fcmd\u00fcr. Bu rehber, ClickHouse yolculu\u011funuza ba\u015flamak i\u00e7in sa\u011flam bir temel sa\u011flamaktad\u0131r. Daha fazla bilgi ve ileri d\u00fczey konular i\u00e7in ClickHouse'un resmi dok\u00fcmantasyonunu ve geni\u015f toplulu\u011funu ke\u015ffetmeye devam etmeniz \u00f6nerilir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"ClickHouse&#8217;u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131\nGiri\u015f\nB\u00fcy\u00fck veri analizi ve ger\u00e7ek zamanl\u0131 raporlama g\u00fcn\u00fcm\u00fcz i\u015f d\u00fcnyas\u0131n\u0131n vazge\u00e7","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[241],"tags":[],"class_list":{"0":"post-35125","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-linux","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>ClickHouse&#039;u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"ClickHouse&#039;u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131\" \/>\n<meta property=\"og:description\" content=\"ClickHouse&#039;u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131 Giri\u015f B\u00fcy\u00fck veri analizi ve ger\u00e7ek zamanl\u0131 raporlama g\u00fcn\u00fcm\u00fcz i\u015f d\u00fcnyas\u0131n\u0131n vazge\u00e7\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-25T21:41:04+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"ClickHouse&#8217;u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131\",\"datePublished\":\"2025-11-25T21:41:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/\"},\"wordCount\":3520,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Linux\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/\",\"name\":\"ClickHouse'u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-25T21:41:04+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"ClickHouse&#8217;u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"ClickHouse'u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/","og_locale":"tr_TR","og_type":"article","og_title":"ClickHouse'u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131","og_description":"ClickHouse'u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131 Giri\u015f B\u00fcy\u00fck veri analizi ve ger\u00e7ek zamanl\u0131 raporlama g\u00fcn\u00fcm\u00fcz i\u015f d\u00fcnyas\u0131n\u0131n vazge\u00e7","og_url":"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-25T21:41:04+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"15 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"ClickHouse&#8217;u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131","datePublished":"2025-11-25T21:41:04+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/"},"wordCount":3520,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Linux"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/","url":"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/","name":"ClickHouse'u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131 - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-25T21:41:04+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/clickhouseu-centos-7-uzerine-kurulumu-ve-kullanimi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"ClickHouse&#8217;u CentOS 7 \u00dczerine Kurulumu ve Kullan\u0131m\u0131"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35125","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35125"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35125\/revisions"}],"predecessor-version":[{"id":35126,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35125\/revisions\/35126"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35125"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35125"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35125"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}