
InfluxDB ve Zaman Serisi Veritabanları: IoT ve Metrics Yönetimi
InfluxDB kurulumu ve zaman serisi veri yönetimi. IoT sensör verileri, sunucu metrikleri, Grafana entegrasyonu ve Flux sorgu dili.
InfluxDB ve Zaman Serisi Veritabanları
Zaman serisi veritabanları, zamana göre sıralanmış veri noktalarını depolamak için özelleştirilmiştir. Sunucu metrikleri, IoT sensör verileri ve finansal veriler için idealdir.
Zaman Serisi Veritabanı Ne Zaman Kullanılır?
- Sunucu izleme: CPU, RAM, disk kullanımı metrikleri
- IoT: Sıcaklık, nem, güç sensörleri
- Finansal: Hisse senedi fiyatları, işlem verileri
- Uygulama metrikleri: Request/second, latency, error rate
- Altyapı metrikleri: Ağ trafiği, bandwidth
InfluxDB vs Geleneksel Veritabanları
| Özellik | InfluxDB | MySQL |
|---|---|---|
| Veri modeli | Zaman serisi | İlişkisel |
| Yazma hızı | Milyonlarca puan/sn | Binlerce kayıt/sn |
| Sorgulama | Zaman tabanlı | Genel amaçlı |
| Depolama sıkıştırma | Yüksek (%10 oranında) | Düşük |
| Otomatik veri temizleme | Retention policy | Manuel |
InfluxDB Kurulumu
# Ubuntu/Debian
curl -s https://repos.influxdata.com/influxdata-archive.key | gpg --dearmor > /etc/apt/trusted.gpg.d/influxdata.gpg
echo "deb https://repos.influxdata.com/ubuntu stable main" > /etc/apt/sources.list.d/influxdata.list
apt update && apt install influxdb2
systemctl enable --now influxdb
# İlk kurulum
influx setup
# Kullanıcı adı, şifre, organizasyon, bucket adı girin
# Docker ile
docker run -d --name influxdb -p 8086:8086 influxdb:latest
Temel Kavramlar
- Bucket: Veri depolama birimi (retention policy ile)
- Measurement: Tablo benzeri veri grubu
- Tag: İndekslenmiş metadata (sunucu adı, bölge)
- Field: Gerçek metrik değeri (CPU %, RAM MB)
- Point: Tek bir zaman damgası + tag + field kombinasyonu
Veri Yazma
CLI ile:
influx write --bucket sunucu_metrikleri --precision s 'cpu_usage,host=web01,region=eu-tr value=75.5'
# Birden fazla veri
influx write --bucket sunucu_metrikleri 'cpu_usage,host=web01 value=75.5 1609459200
memory_usage,host=web01 value=4096 1609459200
disk_usage,host=web01 value=85.0 1609459200'
Python ile:
from influxdb_client import InfluxDBClient, Point
from influxdb_client.client.write_api import SYNCHRONOUS
from datetime import datetime
client = InfluxDBClient(
url="http://localhost:8086",
token="api_token_buraya",
org="buyukweb"
)
write_api = client.write_api(write_options=SYNCHRONOUS)
# Veri yaz
point = Point("cpu_usage") .tag("host", "web01") .tag("region", "eu-tr") .field("value", 75.5) .time(datetime.utcnow())
write_api.write(bucket="sunucu_metrikleri", record=point)
Node.js ile:
const { InfluxDB, Point } = require('@influxdata/influxdb-client');
const client = new InfluxDB({
url: 'http://localhost:8086',
token: 'api_token_buraya'
});
const writeApi = client.getWriteApi('buyukweb', 'sunucu_metrikleri', 's');
const point = new Point('cpu_usage')
.tag('host', 'web01')
.floatField('value', 75.5);
writeApi.writePoint(point);
await writeApi.close();
Flux Sorgu Dili
# Son 1 saatteki CPU kullanımı
from(bucket: "sunucu_metrikleri")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "cpu_usage")
|> filter(fn: (r) => r.host == "web01")
|> mean()
# 5 dakikalık ortalama
from(bucket: "sunucu_metrikleri")
|> range(start: -24h)
|> filter(fn: (r) => r._measurement == "cpu_usage")
|> aggregateWindow(every: 5m, fn: mean, createEmpty: false)
# Tüm host'ların karşılaştırması
from(bucket: "sunucu_metrikleri")
|> range(start: -1h)
|> filter(fn: (r) => r._measurement == "cpu_usage")
|> group(columns: ["host"])
|> mean()
Retention Policy
Eski verileri otomatik sil:
# Bucket oluştururken retention belirt
influx bucket create --name sunucu_metrikleri --retention 30d
# Mevcut bucket'ı güncelle
influx bucket update --name sunucu_metrikleri --retention 7d
Telegraf ile Otomatik Metrik Toplama
apt install telegraf
# telegraf.conf
[[outputs.influxdb_v2]]
urls = ["http://localhost:8086"]
token = "api_token"
organization = "buyukweb"
bucket = "sunucu_metrikleri"
[[inputs.cpu]]
percpu = true
totalcpu = true
[[inputs.mem]]
[[inputs.disk]]
ignore_fs = ["tmpfs", "devtmpfs"]
[[inputs.net]]
[[inputs.nginx]]
urls = ["http://localhost/nginx_status"]
systemctl enable --now telegraf
Grafana ile Görselleştirme
apt install grafana
systemctl enable --now grafana-server
# Tarayıcı: http://localhost:3000 (admin/admin)
- Data Source → InfluxDB ekle
- URL: http://localhost:8086
- Token, Organization, Bucket girin
- Dashboard oluşturun
Alternatif Zaman Serisi Veritabanları
| Veritabanı | Güçlü Yanı | Kullanım |
|---|---|---|
| InfluxDB | Kolay kullanım, Telegraf | Sunucu metrikleri |
| Prometheus | Pull tabanlı, alerting | Kubernetes, microservice |
| TimescaleDB | PostgreSQL üzerine | SQL + zaman serisi |
| VictoriaMetrics | Yüksek performans | Büyük ölçek |
| QuestDB | SQL desteği, hız | Finansal veriler |
Büyükweb VDS sunucularında InfluxDB + Telegraf + Grafana stack kurarak sunucu metriklerinizi gerçek zamanlı izleyebilirsiniz.
Veritabani Performans Optimizasyonu
Veritabani web uygulamalarinin kalbidir.
MySQL/MariaDB Tuning
innodb_buffer_pool_size'i RAM'in %60-70'ine ayarlayin. slow_query_log ile yavas sorgulari tespit edin. max_connections optimize edin.
Indeksleme
WHERE, JOIN, ORDER BY sutunlarina indeks ekleyin. EXPLAIN ile sorgu planlari analiz edin. Composite index kullanin.
Baglanti Havuzu
ProxySQL ile gelismis baglanti yonetimi. Connection pooling ile maliyet azaltma. Persistent connections kullanin.
Replikasyon
Master-Slave ile okuma yukunu dagitin. Galera Cluster ile multi-master yuksek erisilebilirlik. Semi-senkron replikasyon degerlendirin.
Yedekleme
mysqldump mantiksal, xtrabackup fiziksel yedek. Binary log ile point-in-time recovery. Incremental yedekleme ile tasarruf.
Sik Sorulan Sorular
MySQL mi PostgreSQL mi?
MySQL cogu web uygulamasi ile uyumlu. PostgreSQL gelismis veri tipleri ve JSON icin ideal. CMS'ler genelde MySQL kullanir.
Veritabanim buyudu ne yapmaliyim?
Gereksiz verileri temizleyin, tablo optimize edin, arsivleme yapin, partitioning kullanin.
Ne siklikla yedek almaliyim?
Kritik veritabanlari saatlik, standart siteler gunluk. Buyuk degisikliklerden once manuel yedek.
Sonuc
Veritabani optimizasyonu uygulama performansini dogrudan etkiler. Indeksleme, tuning ve yedekleme ile veri katmaninizi guclendirin.
Veritabani Boyut Yonetimi
Buyuk Tablolar icin Stratejiler
- Partitioning: Tarihe gore tablolari bolumlendirin. Sorgu performansi artar.
- Arsivleme: Eski verileri arsiv tablolarina tasiyin.
- Sikistirma: InnoDB sikistirmasi ile disk kullanimini %50-75 azaltin.
WordPress Veritabani Optimizasyonu
- wp_options autoload: Gereksiz autoload kayitlari temizleyin.
- Post revisions: wp-config.php'de WP_POST_REVISIONS sinirlayin.
- Transient veriler: Suresi dolmus verileri duzenli temizleyin.
- Spam yorumlar: Toplu silin.
Veritabani Guvenlik
- Varsayilan portu degistirin
- Uygulama bazli kullanici olusturun
- Minimum gerekli yetki verin
- SSL ile baglanti sifreleyin
- Duzenli guvenlik taramasi yapin
Turkiye'de Hosting Sektoru 2025-2026
Sektorel Trendler
Turkiye hosting pazari hizla buyumektedir. E-ticaretin genislemesi, dijitallesme calismalarI ve uzaktan calisma trendi hosting talebini artirmaktadir. NVMe SSD, HTTP/3 ve edge computing gibi teknolojiler hosting performansini yeni seviyelere tasimaktadir.
Dikkat Edilmesi Gerekenler
Hosting sektoru rekabetci bir pazardir. Dusuk fiyat vaat eden ancak altyapı kalitesinden odun veren firmalardan kacinin. Gizli maliyet, yenileme fiyat artisi ve yetersiz destek en sik karsilasilan sorunlardir.
Hosting Firmasi Secim Kriterleri
- Veri merkezi lokasyonu: Turkiye'de veri merkezi olan firmalari tercih edin
- Uptime garantisi: Minimum %99.5, ideal %99.8+
- Teknik destek: 7/24 Turkce destek zorunlu
- Guvenlik: DDoS korumasi, SSL, WAF dahil olmali
- Yedekleme: Gunluk otomatik yedekleme olmali
- Olceklenebilirlik: Ihtiyac artiginda kolayca yukseltme yapilabilmeli
- Musteri yorumlari: Gercek kullanici deneyimlerini arastirin
Buyukweb 2009'dan beri bu kriterlerin tumunu karsilayarak 5.200+ musteriye guvenilir hosting hizmeti sunmaktadir. Sorulariniz icin 0850 302 60 70 numarasini arayabilir veya destek@buyukweb.com adresine yazabilirsiniz.
Sik Yapilan Hosting Hatalari
Hosting secimi ve yonetiminde en sik karsilasilan hatalar:
1. Sadece Fiyata Bakmak
En ucuz hosting her zaman en iyi secim degildir. Performans, guvenlik ve destek kalitesi fiyattan daha onemlidir. Dusuk maliyetli hostinglerde yenileme fiyatlari genellikle cok daha yuksektir.
2. Yedekleme Almamak
Otomatik yedekleme olsa bile, onemli degisikliklerden once manuel yedek almak hayati onem tasir. Yedeklerin geri yuklenebilirligini test etmeyen sirketler veri kaybi yasadiginda ciddi sorunlarla karsilasir.
3. Guncellemeleri Ertelemek
WordPress, eklentiler ve isletim sistemi guncellemelerini ertelemek guvenlik aciklarına davetiye cikarir. Otomatik guvenlik guncellemeleri yapilandirmak en temel onlemdir.
4. SSL Kullanmamak
Hala SSL sertifikasi olmayan web siteleri mevcut. SSL olmadan Google siralama duser, ziyaretci guveni azalir ve veri guvenligi tehlikeye girer. Ucretsiz Let's Encrypt sertifikasi bile yeterlidir.
5. Kaynak Planlamasi Yapmamak
Trafik artisina hazirliksiz yakalanmak, sitenizin cokmesine neden olabilir. Trafik trendlerini izleyin ve ihtiyac halinde kaynakları zamaninda artirin.
Baslangic Rehberi: Ilk Adimlar
Bu konuda yeniyseniz, asagidaki adimlarla baslayabilirsiniz:
Adim 1: Ihtiyac Analizi
Projenizin gereksinimlerini belirleyin. Trafik beklentisi, disk alani ihtiyaci, veritabani boyutu ve ozel yazilim gereksinimleri listenizin basinda olmalidir.
Adim 2: Uygun Hizmet Secimi
Ihtiyaciniza gore paylasimli hosting, VDS veya dedicated sunucu secin. Buyukweb.com uzerinden paketleri karsilastirabilirsiniz.
Adim 3: Kurulum ve Yapilandirma
Hosting paketinizi aldiktan sonra domain yonlendirmesi, SSL kurulumu ve uygulama kurulumunu yapin. cPanel ve Plesk ile bu islemler oldukca kolaydir.
Adim 4: Guvenlik Onlemleri
SSL sertifikasi, guclu sifre politikasi, duzenli yedekleme ve guvenlik guncellemelerini ilk gunden uygulayin.
Adim 5: Izleme ve Bakım
Duzenli yedekleme kontrolu, performans izleme ve guvenlik taramasi ile sunucunuzun sagligini koruyun.
Bu adimlarda herhangi bir noktada takilirtsaniz Buyukweb teknik destek ekibi size yardimci olacaktir. Ucretsiz danismanlik icin bize ulasin.
Etiketler:

