TürkDB Kullanım Kılavuzu TürkDB kullanım kılavuzu — buradaki akışlar hedeflenen ürün deneyimini, kapsamı ve doğrulama noktalarını anlatır.
🔗 Uygulamanızı Bağlayın
TürkDB’nin hedef bağlantı deneyimi, uygulamanın kullanabileceği standart bir DSN/bağlantı bilgisini açıkça göstermektir. Pilot sırasında bu bilginin TLS, izin listesi ve uygulama ayarlarıyla birlikte doğrulanması gerekir.
Bağlantı bilgisini nereden alırsınız?
Web UI
Cluster listesi → Cluster adına tıklayın → Bağlantı sekmesi → DSN'yi kopyala.
CLI
turkdb cluster get my-cluster --output connection-string
REST API
GET https://api.turkdb.io/v1/clusters/{id}/connection
Authorization: Bearer <api-key>
Bağlantı formatları
| Veritabanı | DSN formatı |
|---|---|
| PostgreSQL | postgresql://app:<şifre>@<host>:5432/postgres?sslmode=require |
| MySQL | mysql://app:<şifre>@<host>:3306/app?tls=true |
| MongoDB | mongodb://app:<şifre>@<host>:27017/app?tls=true |
| ClickHouse | clickhouse://app:<şifre>@<host>:8443/default?secure=true |
| Redis | rediss://default:<şifre>@<host>:6380 |
Tüm bağlantılar TLS şifreli olarak kurulur. sslmode=disable veya TLS'yi devre dışı bırakan ayarlar reddedilir.
Şifre değişirse ne olur?
Cluster detayında Erişim Yönetimi sekmesinden şifreyi sıfırlayabilirsiniz. Yeni şifreyi uygulamanızın ortam değişkenlerine yazmanız yeterlidir.
📊 Cluster Durumları
| Durum | Açıklama | Yapmanız gereken |
|---|---|---|
| bekliyor | Sıraya alındı | Bekleyin (~saniyeler) |
| hazırlanıyor | Kurulum devam ediyor | Bekleyin (~2 dakika). E-posta bildirimi gelecek. |
| hazır | Cluster çalışıyor, bağlanabilir | DSN'yi alıp uygulamanıza ekleyin |
| duraklatıldı | Ödeme sorunu veya manuel durdurma | Faturalama sayfasını kontrol edin |
| hata | Kurulum başarısız | [email protected] — otomatik bildirim de gönderildi |
| siliniyor | Silinme sürecinde, KVKK 30 günlük bekleme | Bu süre içinde geri alabilirsiniz: destek iletişim kurun |
🌐 Web UI
app.turkdb.io — Cluster oluşturma, izleme, yedekleme ve hesap yönetimi için tek ekran.
Cluster Oluştur / Sil
Tip, boyut ve yaşam döngüsü akışının nasıl çalışması gerektiğini pilotta doğrulayın.
Bağlantı Bilgisi
DSN üretimi ve güvenli paylaşım davranışını ürün akışının temel parçası olarak değerlendirin.
Metrikler
CPU, bağlantı sayısı, disk, sorgu hızı.
Yedekleme
Manuel yedek + zamanlama + geri yükleme.
Migration Wizard
Başka bir kaynaktan veriyi görsel adımlarla taşıyın.
Audit Log
Tüm işlemlerin izlenebilir kaydı.
KVKK Uyum
Silme kuyruğu, veri export, ihlal takibi.
Faturalama
Plan, kullanım özeti, fatura geçmişi.
⌨️ CLI — turkdb
Web UI'deki her işlemi terminal üzerinden yapan tek binary. Scripting ve CI/CD için idealdir.
Kurulum
# macOS / Linux curl -sSfL https://get.turkdb.io | sh # Shell tamamlaması (opsiyonel) turkdb completion bash > /etc/bash_completion.d/turkdb # bash turkdb completion zsh > "${fpath[1]}/_turkdb" # zsh
Giriş
# Tarayıcı açar, hesabınızla giriş yapın turkdb login # CI/CD için API key ile turkdb login --api-key turkdb_xxxxxxxxxxxx
# Cluster oluştur — tier ile boyut seçin (turkdb cluster tiers ile listeleyin) turkdb cluster create \ --name my-pg --type postgres --version 16 \ --tier p9200-h-4 --region ist1 # Yüksek erişilebilirlik ile turkdb cluster create \ --name my-pg-ha --type postgres \ --tier p9200-h-8 --ha # Listele / detay / DSN turkdb cluster list turkdb cluster get my-pg turkdb cluster get my-pg --output connection-string # Kullanılabilir makine boyutları turkdb cluster tiers # HA cluster düğüm durumu turkdb cluster ha-status my-pg # Etiket ekle (ortam, takım vb.) turkdb cluster tag my-pg --set env=prod --set team=backend # Sil (KVKK gereği 30 gün bekleme başlar) turkdb cluster delete my-pg --confirm
# Manuel yedek al turkdb backup create my-pg # Yedek listesi turkdb backup list my-pg # Otomatik yedekleme zamanlaması (cron) turkdb backup schedule set my-pg \ --cron "0 3 * * *" --retention-days 14 turkdb backup schedule get my-pg
Yedekler plan sürenize göre otomatik saklanır. Seçtiğiniz makine boyutu dahilindeki depolamada yer tutar.
PITR yalnızca PostgreSQL ve MySQL için desteklenir.
# PITR'ı etkinleştir (WAL/binlog arşivleme başlar) turkdb cluster pitr enable my-pg --retention 168 # 168 saat = 7 gün # Kurtarma penceresini göster turkdb cluster pitr window my-pg # Belirli bir noktaya geri yükle → yeni cluster açılır turkdb cluster pitr restore my-pg \ --to "2026-05-20T14:30:00Z" \ --name my-pg-recovered # Restore geçmişi turkdb cluster pitr history my-pg # PITR'ı kapat turkdb cluster pitr disable my-pg
# Mevcut cluster'dan yeni cluster aç (altyapı kopyası — veri taşınmaz) turkdb cluster fork my-pg --name my-pg-staging # Farklı boyut ve bölge ile turkdb cluster fork my-pg \ --name my-pg-test \ --tier p9200-h-2 # Konfigürasyon parametrelerini de kopyala turkdb cluster fork my-pg \ --name my-pg-copy \ --include-config # Fork tamamlanana kadar bekle turkdb cluster fork my-pg --name my-pg-preview --wait
Fork, CI/CD pipeline'larında geçici test ortamı açmak için idealdir. Testten sonra turkdb cluster delete ile kaldırın.
# DB kullanıcılarını listele turkdb cluster users list my-pg # Yeni kullanıcı oluştur (şifre interaktif sorulur) turkdb cluster users create my-pg \ --username appuser \ --role readwrite # Salt okunur kullanıcı turkdb cluster users create my-pg \ --username reporter \ --role readonly # Kullanıcı sil turkdb cluster users delete my-pg <user-id>
Roller: readonly (yalnızca okuma), readwrite (okuma + yazma), admin (tam yetki). Her servis için ayrı kullanıcı açmanızı öneririz.
# İzinli IP'leri listele turkdb cluster allowlist list my-pg # IP veya CIDR bloğu ekle turkdb cluster allowlist add my-pg 203.0.113.0/24 \ --desc "Ofis ağı" # Kural kaldır turkdb cluster allowlist remove my-pg <rule-id> # Tüm kuralları temizle turkdb cluster allowlist clear my-pg --force
# Son 100 log satırı turkdb cluster logs my-pg # Son N satır turkdb cluster logs my-pg --tail 500 # Canlı log akışı (Ctrl+C ile çıkış) turkdb cluster logs my-pg --follow
# Webhook oluştur — cluster olaylarında sizin URL'nize POST gönderilir turkdb webhook create \ --url https://hooks.sirket.com/turkdb \ --secret gizli-anahtar # Belirli olaylar için (yoksa tüm olaylar) turkdb webhook create \ --url https://hooks.sirket.com/turkdb \ --events cluster.ready,cluster.failed # Listele / test / sil turkdb webhook list turkdb webhook test <webhook-id> turkdb webhook deliveries <webhook-id> turkdb webhook delete <webhook-id>
Her istek X-TurkDB-Signature başlığı ile HMAC-SHA256 imzalanır. Kendi sunucunuzda imzayı doğrulayarak sahte istekleri ayırt edebilirsiniz.
# KVKK uyum özeti turkdb compliance summary # Bekleyen veri silme kuyruğu (KVKK Md. 7) turkdb compliance deletion-status # Veri erişim talebi (KVKK Md. 11) turkdb compliance export request turkdb compliance export list turkdb compliance export get <export-id> # Veri ihlali kaydı — 72 saat Kurul bildirim geri sayımı başlar (Md. 12) turkdb compliance breach report \ --title "Yetkisiz Erişim" \ --description "Detaylı açıklama..." \ --severity high \ --affected 150 turkdb compliance breach list turkdb compliance breach close <breach-id>
# Plan ve tüm seçenekler turkdb billing plan # Bu dönemin kullanımı ve tahmini fatura turkdb billing usage # Fatura geçmişi turkdb billing invoices turkdb billing get <invoice-id>
# Ekip üyelerini listele turkdb member list # Yeni üye davet et turkdb member invite [email protected] --role admin # Rolü değiştir turkdb member role <member-id> readonly # Üyeyi kaldır turkdb member remove <member-id>
🔗 REST API
Tüm işlemler REST API üzerinden de yapılabilir. CI/CD scriptleri, özel yönetim araçları ve üçüncü taraf entegrasyonlar için kullanın.
Base URL: https://api.turkdb.io/v1
Auth: Authorization: Bearer <api-key>
# Cluster oluştur curl -s -X POST https://api.turkdb.io/v1/clusters \ -H "Authorization: Bearer turkdb_xxx" \ -H "Content-Type: application/json" \ -d '{"name":"my-pg","type":"postgresql","tier":"p9200-h-4","region":"ist1","engine_profile":"geo-postgis","enabled_capabilities":["postgis"]}' # Bağlantı bilgisini al curl -s https://api.turkdb.io/v1/clusters/{id}/connection \ -H "Authorization: Bearer turkdb_xxx"
Temel Endpoint'ler
{"capability":"postgis","target_state":"enable"}{"cron_expression":"0 3 * * *","retention_days":14}?tail=100)Tam OpenAPI 3.1 spec: api.turkdb.io/openapi.yaml
🏗️ Terraform Provider
Infrastructure as Code ile cluster'larınızı Terraform state'inde yönetin.
# versions.tf terraform { required_providers { turkdb = { source = "turkdb/turkdb" version = "~> 0.4" } } } provider "turkdb" { api_key = var.turkdb_api_key } # PostgreSQL cluster resource "turkdb_cluster" "main" { name = "my-app-db" type = "postgresql" provider_id = "plusclouds" machine_tier_id = "p9200-h-4" region = "tr-ist-1" postgresql_version = "16" storage_gb = 50 replicas = 2 engine_profile = "geo-postgis" enabled_capabilities = ["postgis"] tags = { env = "production" team = "backend" } } data "turkdb_cluster_connection" "main" { cluster_id = turkdb_cluster.main.id } output "dsn" { value = data.turkdb_cluster_connection.main.dsn sensitive = true }
Terraform provider'da genel kaynak adı turkdb_cluster'dır. Hassas DSN değerini state'e yazmak yerine turkdb_cluster_connection data source'u ile okuyun ve çıktıyı sensitive işaretleyin.
☸️ Kubernetes Operator
Kubernetes kullanıyorsanız TürkDB cluster'ını bir K8s kaynağı gibi yönetin. Bağlantı bilgisi otomatik olarak bir Secret'a yazılır — uygulamanız doğrudan bu Secret'ı okuyabilir.
# Cluster tanımı (GitOps'a commit edebilirsiniz) apiVersion: database.turkdb.io/v1alpha1 kind: PostgreSQLCluster metadata: name: my-app-db namespace: production spec: forProvider: tier: p9200-h-4 region: ist1 backup: enabled: true retentionDays: 14 writeConnectionSecretToRef: namespace: production name: my-app-db-conn # bu Secret otomatik doldurulur
Secret içinde host, port, username, password ve dsn alanları hazır gelir. Deployment'ınızda envFrom ile doğrudan kullanabilirsiniz.
🗄️ Hangi Veritabanını Seçmeli?
| Veritabanı | Ne için? | PITR | HA |
|---|---|---|---|
| PostgreSQL 16 | Genel amaçlı, OLTP, transactional uygulamalar, JSON/JSONB, full-text | ✅ WAL | ✅ Patroni |
| MySQL 8 | Web uygulamaları, CMS, e-ticaret, mevcut MySQL altyapısı | ✅ Binlog | ✅ Group Replication |
| MongoDB 7 | Esnek şema, döküman modeli, hızlı prototip, yarı-yapılandırılmış veri | ❌ | ✅ Replica Set |
| ClickHouse 24 | OLAP, büyük hacimli analitik, log analizi, raporlama | ❌ | ✅ Shard/Replica |
| Redis 7 | Önbellek, oturum yönetimi, mesaj kuyruğu, düşük gecikmeli geçici veri | ❌ | Hedef: Sentinel |
🧩 Motor Profilleri ve Sonradan Açılan Özellikler
Her motor özelliği aynı riskte değildir. Bu yüzden TürkDB’de özellikler ikiye ayrılır: cluster açılışında seçilen motor profilleri ve mevcut cluster üstünde preflight/onay/doğrulama ile açılan capability değişiklikleri.
Cluster açılışında seçilen profiller
| Motor | Profil | Ne sağlar? | Neden baştan? |
|---|---|---|---|
| PostgreSQL | standard, geo-postgis | Standart CNPG veya PostGIS uyumlu imaj + init extension | PostGIS binary/imaj seçimi kurulumu etkiler. |
| MySQL | standard-oltp, ha-pitr, migration-cdc-ready | Percona MySQL, HA/PITR ve ROW binlog hazırlığı | Replication, binlog ve PITR politikası sonradan riskli değişir. |
| MongoDB | replica-set, sharded | Replica set veya config server + shard + mongos topolojisi | Sharding basit toggle değil, topoloji kararıdır. |
| ClickHouse | single-node-analytics, replicated-analytics, sharded-warehouse | Tek node, Keeper destekli replica veya shard/replica düzeni | Veri dağılımı ve Keeper topolojisi baştan tasarlanmalıdır. |
| Redis | cache, persistent-cache, sentinel-ha, redis-stack | Ephemeral cache, AOF/RDB, Sentinel HA veya Redis Stack modülleri | Kalıcı format, quorum ve imaj seçimi çalışma biçimini değiştirir. |
Mevcut cluster üstünde yapılabilecekler
| Motor | Capability | Operasyon sınıfı | Akış |
|---|---|---|---|
| PostgreSQL | PostGIS, CDC/logical replication, bazı parametreler | image_migration veya rolling_restart | PostGIS için fresh backup, destek onayı, agent execute ve geometry smoke test gerekir. |
| MySQL | Slow query log, max connections, binlog CDC, audit/performance eklentileri | online, rolling_restart veya image_migration | Percona apply ve binlog uyumluluğu preflight ile kontrol edilir. |
| MongoDB | TTL/text/2dsphere index, profiler; sharding migration | online veya new_cluster_migration | Index build etkisi gösterilir; sharding için yeni cluster/migration planı gerekir. |
| ClickHouse | Materialized view, dictionary, TTL, quota/settings | online | Materialized view talebi DDL detaylarıyla alınır, agent Job çalıştırır ve row-count smoke test ister. |
| Redis | Eviction policy, maxmemory, persistence, Sentinel, Redis Stack | online, rolling_restart, image_migration veya topology_migration | Veri kaybı ve restart etkisi plan ekranında açık gösterilir. |
engine_profile motor profilini, enabled_capabilities ise profil veya onaylı sonradan değişikliklerle aktif hale gelen özellikleri gösterir. Web UI, REST API ve Terraform provider aynı alanları kullanır.
PostGIS ihtiyacı baştan biliniyorsa yeni PostgreSQL cluster’ı geo-postgis profiliyle açmak en temiz yoldur. Mevcut cluster’da açılacaksa backup, onay ve smoke test adımları tamamlanmadan capability tamamlandı sayılmaz.
⚡ Yüksek Erişilebilirlik (HA)
HA seçeneğinde asıl değer, primary düşüşü olduğunda replikanın devralma süresi, uygulama reconnect davranışı ve veri kaybı riskinin açıkça ölçülebilmesidir. Üretim kapsamı bu ölçümler ve seçilen paketle birlikte netleştirilir.
HA, cluster oluşturma sırasında --ha flag'i ile veya Web UI'den etkinleştirilir. HA cluster'ları standart cluster'lardan daha fazla kaynak kullanır — fiyat etkilenir.
💰 Makine Boyutları ve Fiyatlandırma
TürkDB, PlusClouds Leo One Hybrid Value serisi üzerinde çalışır. Uygulamanızın ihtiyacına göre doğru boyutu seçin.
| Tier | vCPU | RAM | Dahili Disk | Aylık (~USD) |
|---|---|---|---|---|
p9200-h-1 | 2 | 1 GB | 10 GB | $3 |
p9200-h-2 | 2 | 2 GB | 20 GB | $6 |
p9200-h-4 | 2 | 4 GB | 40 GB | $12 |
p9200-h-8 | 4 | 8 GB | 80 GB | $24 |
p9200-h-16 | 8 | 16 GB | 160 GB | $48 |
p9200-h-32 | 8 | 32 GB | 320 GB | $96 |
p9200-h-64 | 8 | 64 GB | 640 GB | $192 |
Tüm tier listesi için: turkdb cluster tiers veya app.turkdb.io/pricing
Disk dahili depolamayı aşarsa GB başına ek ücret uygulanır. Web UI'den mevcut kullanımı ve tahmini faturayı görebilirsiniz.
💾 Yedekleme & Point-in-Time Recovery
Otomatik yedekleme
Tüm cluster'lar günlük otomatik yedek alır. Varsayılan saklama süresi 7 gündür; retention_days ile 365 güne kadar artırabilirsiniz.
Point-in-Time Recovery (PITR)
PostgreSQL ve MySQL cluster'larında PITR etkinleştirirseniz sürekli WAL/binlog arşivleme başlar. Yanlış silinen veriler veya başarısız migration sonrası saniye hassasiyetiyle geri dönebilirsiniz.
PITR etkinleştirin
Web UI → Cluster → Yedekleme → PITR Aç. Ya da: turkdb cluster pitr enable my-pg
Kurtarma zamanını belirleyin
Örnek: migration hatası öncesi 5 dakika → 2026-05-20T14:25:00Z
Restore başlatın
turkdb cluster pitr restore my-pg --to "2026-05-20T14:25:00Z" --name my-pg-recovered
Verileri doğrulayın, sonra DSN'yi değiştirin
Orijinal cluster çalışmaya devam eder. Doğrulama tamamlanınca uygulamanızı yeni cluster'a yönlendirin.
Restore her zaman yeni bir cluster oluşturur — orijinal cluster'a dokunulmaz.
🍴 Cluster Fork
Var olan bir cluster'ın altyapı yapılandırmasını kopyalayarak yeni bir cluster açar. Veri taşınmaz — yalnızca aynı tip, versiyon ve parametreler kopyalanır.
- Üretim ortamını taklit eden staging ortamı açmak
- CI/CD'de pull request başına geçici test DB'si
- Küçük boyutlu geliştirme ortamı (farklı tier ile)
# Staging: aynı konfigürasyon, daha küçük boyut turkdb cluster fork prod-db \ --name staging-db --tier p9200-h-2 # Veriyle birlikte kopyalamak için önce fork, sonra migration başlatın
🚚 Veri Taşıma
Başka bir kaynaktan TürkDB'ye veri taşımak için Web UI'deki Migration Wizard'ı kullanın. Arka planda çalışan bir iş olarak başlar — bağlantınızı kesmenize gerek yok.
| Kaynak Tipi | Açıklama |
|---|---|
| Mevcut DB | Host/port/şifre ile başka bir DB'ye bağlanır, veriyi çeker |
| Dosya Yükleme | SQL dump veya CSV dosyası yükleyin |
| Canlı CDC | Sürekli değişim yakalama — sıfır kesinti geçiş için |
| Bulut Sağlayıcı | AWS RDS, Google Cloud SQL, Azure Database'den doğrudan |
| Kaynak Motor | Hedef |
|---|---|
| PostgreSQL | TürkDB PostgreSQL |
| MySQL | TürkDB MySQL |
| MongoDB | TürkDB MongoDB |
| ClickHouse | TürkDB ClickHouse |
| CSV / SQL dump | Herhangi bir TürkDB cluster |
Kaynak DB şifreniz sunucumuza gönderilir ancak veritabanımıza kaydedilmez. Migration tamamlandıktan sonra tüm kimlik bilgileri silinir.
👤 Veritabanı Kullanıcıları
Her cluster'a birden fazla veritabanı kullanıcısı ekleyebilirsiniz. Her servis veya takım için ayrı kullanıcı oluşturmak güvenlik açısından önerilir.
| Rol | Yetki | Kullanım |
|---|---|---|
readonly | Yalnızca SELECT | Raporlama, analiz araçları |
readwrite | SELECT + INSERT/UPDATE/DELETE | Uygulama servisleri |
admin | Tam yetki (DDL dahil) | Migration araçları, yönetim |
🛡️ IP İzin Listesi
Cluster'ınıza bağlanabilecek IP adreslerini veya CIDR bloklarını kısıtlayabilirsiniz. Yalnızca tanımlı kaynaklardan erişim gelir; diğerleri reddedilir.
- Ofis ağı CIDR'ı → geliştirici erişimi
- CI/CD runner IP'si → otomatik test ve deployment
- Uygulama sunucuları → belirli bir IP aralığı
📋 Loglar
Cluster'ın veritabanı log satırlarını Web UI'den veya CLI'dan görüntüleyebilirsiniz. Yavaş sorgular, bağlantı hataları ve uyarılar burada yer alır.
turkdb cluster logs my-pg # son 100 satır turkdb cluster logs my-pg --tail 500 # son N satır turkdb cluster logs my-pg --follow # canlı akış
📈 Metrikler
Nerede bulunur?
app.turkdb.io → Cluster listenize gidin
Cluster adına tıklayın
Cluster Detay sayfası açılır.
Metrikler sekmesine tıklayın
Bu sekme yalnızca hazır durumundaki cluster'larda görünür. Cluster henüz hazır değilse sekme aktif olmaz.
Metrikler her 30 saniyede otomatik yenilenir — sayfayı yenilemenize gerek yok.
Metrikler sekmesinde ne görürsünüz?
Sorgular / Saniye
Anlık QPS değeri. Zaman serisi grafiğiyle son birkaç dakikayı gösterir.
Ortalama Gecikme
Sorgu başına ortalama yanıt süresi (ms). Zaman serisi grafiğiyle izlenir.
Replikasyon Gecikmesi
HA cluster'larında primary → standby veri aktarım gecikmesi (sn). > 1 sn turuncu, > 30 sn kritik.
Son Yedekleme
Son otomatik yedeklemenin durumu ve zamanı.
Depolama Kullanımı
Halka grafik: kullanılan / toplam disk. %85 üzeri uyarı rengiyle gösterilir.
Bağlantı Havuzu
Aktif bağlantı sayısı / maksimum. %60+ sarı, %80+ kırmızı renkte gösterilir.
Yavaş Sorgular sekmesi
Cluster Detay sayfasında Yavaş Sorgular sekmesi ayrı bir performans aracıdır. Hangi sorgularınızın yavaş çalıştığını görüp optimizasyon yapabilirsiniz.
| Gösterilen bilgi | Açıklama |
|---|---|
| Ortalama süre (ms) | Bu sorgunun tüm çağrılarının ortalama süresi |
| Maksimum süre | En yavaş tek çalışma |
| Çağrı sayısı | Sorgu kaç kez çalıştı |
| Cache hit oranı | >%95 yeşil, altı sarı — düşükse index veya sorguda sorun var |
| Satır / çağrı | Her çağrının döndürdüğü ortalama satır sayısı |
| Tam sorgu metni | Satıra tıklayınca açılır, kopyalanabilir |
Yavaş Sorgu eşiğini (ms) kendiniz ayarlayabilirsiniz. Varsayılan olarak belirli bir sürenin üzerindeki sorgular listelenir. "Sıfırla" butonu istatistikleri temizler.
API ile metrik okuma
GET https://api.turkdb.io/v1/clusters/{id}/metrics
Authorization: Bearer <api-key>
Yanıtta şu alanlar gelir: queries_per_second, avg_query_latency_ms, replication_lag_seconds, active_connections, max_connections, storage_used_bytes, storage_total_bytes, backup_status, last_backup_at, timestamp.
🔔 Webhook
Cluster olayları gerçekleştiğinde belirlediğiniz URL'e otomatik POST isteği gönderilir. Slack bildirimi, PagerDuty alarmı veya kendi otomasyon sistemleriniz için kullanın.
| Olay | Ne zaman tetiklenir? |
|---|---|
cluster.ready | Cluster hazır duruma geçti |
cluster.failed | Provisioning veya HA hatası |
cluster.deleted | Cluster silindi |
backup.completed | Yedekleme tamamlandı |
backup.failed | Yedekleme başarısız |
ha.failover | Primary değişti |
Her istek X-TurkDB-Signature başlığı ile imzalanır. Alıcı tarafta imzayı doğrulayarak sahte isteklerden korunun.
💳 Faturalama
Faturalama seçilen makine tier'ına göre hesaplanır. Her ayın 1'inde iyzico (BDDK lisanslı) üzerinden otomatik çekim yapılır.
| Kalem | Nasıl hesaplanır? |
|---|---|
| Cluster maliyeti | Tier'ın saatlik ücreti × çalışma saati |
| Ek disk | Dahili depolamayı aşan GB × birim fiyat |
| HA surcharge | HA cluster'larda ekstra düğüm maliyeti |
Ödeme başarısız olursa cluster'lar silinmez, duraklatılır. 7 gün içinde ödeme yapılırsa otomatik devreye girer.
👥 Ekip Yönetimi
Birden fazla kişinin aynı tenant üzerinde çalışması için üye ekleyebilir ve rol atayabilirsiniz.
| Rol | Cluster yönetimi | Fatura görüntüleme | Üye yönetimi | Tenant silme |
|---|---|---|---|---|
| owner | ✅ | ✅ | ✅ | ✅ |
| admin | ✅ | ✅ | ❌ | ❌ |
| member | Görüntüle | ❌ | ❌ | ❌ |
| readonly | Listele | ❌ | ❌ | ❌ |
Terraform ve Kubernetes Operator için admin rolünde bir API key kullanın.
🏛️ KVKK Uyumu
TürkDB’nin uyum tarafındaki hedefi veri yerleşimi, erişim kaydı, silme talebi ve export gibi süreçleri görünür kılmaktır. KVKK yükümlülükleri pilot kapsamı, sözleşme ve hukuki değerlendirmeyle birlikte netleştirilmelidir.
| KVKK Maddesi | Gereklilik | TürkDB'de nasıl karşılanır? |
|---|---|---|
| Genel | Kişisel veri belirli bölgede kalmalı | Veri yerleşimi, yedek konumu ve destek erişimi pilot/sözleşme kapsamında açıkça belirlenmelidir |
| Genel | Erişim log kaydı | Hangi işlemlerin ne kadar süre auditleneceği pilot kapsamı ve uyum gereksinimine göre netleştirilmelidir |
| Md. 7 | Silme talebi 30 gün içinde yerine getirilmeli | Silme kuyruğu, imha kanıtı ve raporlama akışı pilot/sözleşme kapsamında doğrulanmalıdır |
| Md. 11 | Veri sahibi verilerinin kopyasını talep edebilir | Web UI → Uyum → Veri Export / turkdb compliance export request |
| Md. 12 | İhlal 72 saat içinde Kurul'a bildirilmeli | İhlal kayıt ve bildirim takibi hukuki süreçle birlikte ele alınmalıdır |
Veri ihlali tespitinde 72 saat içinde Kişisel Verileri Koruma Kurulu'na bildirim zorunludur. turkdb compliance breach report komutu bu süreyi kayıt altına alır ve hatırlatır.
Aylık KVKK kontrol rutini
- Web UI → Uyum → Özet: açık ihlal veya bekleyen silme var mı?
- Bekleyen silmelerde kalan gün < 5 ise imha yaklaşıyor
- Audit Log'u gözden geçirin: beklenmedik erişim var mı?
- Gelen veri export taleplerini yanıtlayın
❓ Sık Sorulan Sorular
Uygulamam hangi adrese bağlanmalı?
Web UI veya CLI'dan bağlantı bilgisini alın. Bu adres bağlantı yönetimi içerir — doğrudan veritabanı sunucusuna bağlanmıyorsunuz, bağlantı katmanı üzerinden geçiyorsunuz.
Sildiğim cluster'ın verisi ne zaman tamamen yok edilir?
KVKK Md. 7 gereği silme talebinden 30 gün sonra kalıcı imha gerçekleşir. Bu süre içinde destek birimiyle iletişime geçerek kurtarma talep edebilirsiniz.
Bağlantı limitine ulaştım, ne yapmalıyım?
İki seçenek: (1) Daha büyük bir tier'a geçin. (2) Uygulama tarafında connection pool kütüphanesi kullanın (PgBouncer, HikariCP, vb.).
Hangi veritabanını seçmeliyim?
Genel web uygulamaları için PostgreSQL, mevcut MySQL altyapısıyla uyumluluk için MySQL, esnek döküman modeli için MongoDB, büyük ölçekli analitik için ClickHouse, önbellek ve oturum için Redis.
Migration'da kaynak DB şifrem güvende mi?
Kimlik bilgileriniz yalnızca migration işi süresince şifreli olarak tutulur ve iş tamamlandıktan sonra silinir. Veritabanımıza yazılmaz.
HA cluster ile standart cluster arasındaki fark?
HA cluster birden fazla düğüm çalıştırır. Primary düştüğünde replika otomatik devreye girer — uygulamanız kısa bir yeniden bağlanma süresinin ardından çalışmaya devam eder. Standart cluster'da ise Primary düştüğünde sizden manuel müdahale gerekebilir.
Tier'ı sonradan değiştirebilir miyim?
Evet. Web UI'de Cluster → Ayarlar → Tier Değiştir. Küçük bir kesinti (genellikle < 30 sn) oluşabilir.
API key'im sızdı, ne yapmalıyım?
Hemen Web UI → API Keys veya turkdb api-key delete <id> ile iptal edin. Ardından yeni bir key oluşturun ve sistemlerinize güncelleyin.