Buyukweb
InfluxDB ve Zaman Serisi Veritabanları: IoT ve Metrics Yönetimi

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.

Büyükweb Teknik Ekibi24 Nisan 20257 dakika okuma

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)
  1. Data Source → InfluxDB ekle
  2. URL: http://localhost:8086
  3. Token, Organization, Bucket girin
  4. 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

  1. Veri merkezi lokasyonu: Turkiye'de veri merkezi olan firmalari tercih edin
  2. Uptime garantisi: Minimum %99.5, ideal %99.8+
  3. Teknik destek: 7/24 Turkce destek zorunlu
  4. Guvenlik: DDoS korumasi, SSL, WAF dahil olmali
  5. Yedekleme: Gunluk otomatik yedekleme olmali
  6. Olceklenebilirlik: Ihtiyac artiginda kolayca yukseltme yapilabilmeli
  7. 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:

#influxdb#veritabanı#database#veri yönetimi

Bu yazıyı paylaş