{"id":36157,"date":"2025-12-09T11:31:15","date_gmt":"2025-12-09T08:31:15","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/"},"modified":"2025-12-09T11:31:15","modified_gmt":"2025-12-09T08:31:15","slug":"uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/","title":{"rendered":"Uygun Maliyetli AB Veri Egemenli\u011fi: Hetzner ile Y\u00f6netilen DB"},"content":{"rendered":"<p><body><\/p>\n<p>Hetzner&#8217;in uygun fiyatl\u0131 sunucular\u0131nda nas\u0131l y\u00f6netilen bir veritaban\u0131 hizmeti kurabilece\u011finizi ke\u015ffedin. AB bulut egemenli\u011fini sa\u011flarken maliyetleri d\u00fc\u015f\u00fcr\u00fcn ve veri g\u00fcvenli\u011finizi art\u0131r\u0131n.<\/p>\n<p>G\u00fcn\u00fcm\u00fczde bir\u00e7ok i\u015fletme ve geli\u015ftirici, veritaban\u0131 y\u00f6netimi gibi kritik altyap\u0131 ihtiya\u00e7lar\u0131 i\u00e7in b\u00fcy\u00fck bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131n sundu\u011fu &#8220;y\u00f6netilen hizmetlere&#8221; y\u00f6neliyor. AWS RDS, Azure SQL Database veya Google Cloud SQL gibi servisler, veritaban\u0131 kurulumu, yedekleme, g\u00fcncelleme ve \u00f6l\u00e7eklendirme gibi zahmetli g\u00f6revleri otomatikle\u015ftirerek bize b\u00fcy\u00fck bir kolayl\u0131k sa\u011fl\u0131yor. Ancak bu kolayl\u0131\u011f\u0131n genellikle y\u00fcksek bir maliyeti ve baz\u0131 durumlarda veri egemenli\u011fi konusunda ciddi endi\u015feleri beraberinde getirdi\u011fini g\u00f6r\u00fcyoruz. \u00d6zellikle Avrupa Birli\u011fi (AB) i\u00e7indeki kurulu\u015flar i\u00e7in, veri nerede saklan\u0131yor, kim eri\u015febilir ve hangi yasalara tabi gibi sorular giderek daha \u00f6nemli hale geliyor.<\/p>\n<p>Peki, y\u00fcksek maliyetlerden ka\u00e7\u0131n\u0131rken, veri egemenli\u011fi endi\u015felerini giderebilir ve hatta kendi &#8220;y\u00f6netilen&#8221; veritaban\u0131 hizmetimizi uygun fiyatl\u0131 sunucular \u00fczerinde kendimiz in\u015fa edebilir miyiz? Cevap evet! \u00d6zellikle Hetzner gibi Avrupa merkezli, maliyet etkin ve g\u00fcvenilir bir altyap\u0131 sa\u011flay\u0131c\u0131s\u0131 ile bu m\u00fcmk\u00fcn. Bu makalede, \u20ac3 gibi sembolik bir maliyetle sunulan Hetzner sunucular\u0131 \u00fczerinde nas\u0131l kendi y\u00f6netilen veritaban\u0131 hizmetinizi kuraca\u011f\u0131n\u0131z\u0131, bunun ekonomik ve hukuki boyutlar\u0131n\u0131 ve AB bulut egemenli\u011fi ba\u011flam\u0131ndaki \u00f6nemini ad\u0131m ad\u0131m inceleyece\u011fiz. Amac\u0131m\u0131z, bu s\u00fcreci teknik olarak anla\u015f\u0131l\u0131r k\u0131lmak ve en ba\u015ftan itibaren kendi kontrol\u00fcn\u00fczde bir veritaban\u0131 altyap\u0131s\u0131n\u0131n nas\u0131l olu\u015fturulabilece\u011fini g\u00f6stermektir. Bu yolculuk, sadece maliyet avantaj\u0131 sa\u011flamakla kalmayacak, ayn\u0131 zamanda veri g\u00fcvenli\u011fi ve hukuki uyumluluk konular\u0131nda da sizlere tam bir kontrol imkan\u0131 sunacakt\u0131r. Bu nedenle, kendi altyap\u0131n\u0131z\u0131 kurman\u0131n getirece\u011fi zorluklar\u0131n yan\u0131 s\u0131ra, uzun vadede sa\u011flayaca\u011f\u0131 avantajlar\u0131 da g\u00f6z \u00f6n\u00fcnde bulundurmak \u00f6nemlidir. \u00d6zellikle k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli i\u015fletmeler (KOB\u0130&#8217;ler) ve ba\u015flang\u0131\u00e7 a\u015famas\u0131ndaki giri\u015fimler i\u00e7in bu yakla\u015f\u0131m, b\u00fct\u00e7e dostu bir alternatif sunarken, b\u00fcy\u00fck bulut sa\u011flay\u0131c\u0131lar\u0131na ba\u011f\u0131ml\u0131l\u0131\u011f\u0131 azaltma potansiyeli ta\u015f\u0131r. B\u00f6ylece, hem finansal hem de operasyonel anlamda daha esnek ve ba\u011f\u0131ms\u0131z bir yap\u0131ya sahip olabilirsiniz. \u0130lk olarak, &#8220;y\u00f6netilen veritaban\u0131&#8221; kavram\u0131n\u0131n asl\u0131nda ne anlama geldi\u011fini netle\u015ftirelim ve ard\u0131ndan kendi \u00e7\u00f6z\u00fcm\u00fcm\u00fcz\u00fc in\u015fa etmek i\u00e7in gerekli temel kavramlara ge\u00e7elim.<\/p>\n<h2>Temel Kavramlar: Y\u00f6netilen Veritaban\u0131 Hizmeti Ne Anlama Geliyor?<\/h2>\n<p>Kendi &#8220;y\u00f6netilen&#8221; veritaban\u0131 hizmetimizi in\u015fa etmeye ba\u015flamadan \u00f6nce, &#8220;y\u00f6netilen veritaban\u0131 hizmeti&#8221; teriminin ne anlama geldi\u011fini netle\u015ftirmek \u00f6nemlidir. Genellikle bu terim, veritaban\u0131 sunucusunun kurulumu, yamalar\u0131, yedeklemeleri, kurtarma operasyonlar\u0131, \u00f6l\u00e7eklendirme ve temel izleme gibi operasyonel g\u00f6revlerin bir \u00fc\u00e7\u00fcnc\u00fc taraf (bulut sa\u011flay\u0131c\u0131s\u0131) taraf\u0131ndan \u00fcstlenildi\u011fi bir hizmet modelini ifade eder. Bu, geli\u015ftiricilerin ve \u015firketlerin veritaban\u0131 altyap\u0131s\u0131n\u0131n karma\u015f\u0131kl\u0131\u011f\u0131yla u\u011fra\u015fmak yerine, do\u011frudan uygulama geli\u015ftirmeye odaklanabilmeleri anlam\u0131na gelir. Ancak, kendi \u00e7\u00f6z\u00fcm\u00fcm\u00fcz\u00fc kurdu\u011fumuzda, bu operasyonel g\u00f6revlerin bir k\u0131sm\u0131n\u0131 yine bizim \u00fcstlenmemiz gerekecektir, fakat bunu tamamen kendi kontrol\u00fcm\u00fcz alt\u0131nda, kendi belirledi\u011fimiz ara\u00e7lar ve s\u00fcre\u00e7lerle yapaca\u011f\u0131z. Asl\u0131nda, &#8220;y\u00f6netilen&#8221; ifadesini burada &#8220;otomatize edilmi\u015f ve standardize edilmi\u015f&#8221; olarak d\u00fc\u015f\u00fcnebiliriz.<\/p>\n<p>Bu ba\u011flamda Hetzner&#8217;in rol\u00fc devreye giriyor. Neden Hetzner? Hetzner, Almanya merkezli, uygun maliyetli ve y\u00fcksek performansl\u0131 sunucular sunan bir bulut sa\u011flay\u0131c\u0131s\u0131d\u0131r. \u20ac3 gibi olduk\u00e7a d\u00fc\u015f\u00fck fiyatlarla sanal \u00f6zel sunucular (VPS) sunmalar\u0131, k\u00fc\u00e7\u00fck projeler, test ortamlar\u0131 veya ba\u015flang\u0131\u00e7 a\u015famas\u0131ndaki uygulamalar i\u00e7in cazip bir se\u00e7enek haline getirir. Hetzner, sundu\u011fu hizmetlerin maliyet-performans dengesiyle tan\u0131n\u0131r. Ayr\u0131ca, Avrupa Birli\u011fi&#8217;nde bulunmas\u0131, \u00f6zellikle AB veri egemenli\u011fi ve Genel Veri Koruma T\u00fcz\u00fc\u011f\u00fc (GDPR) uyumlulu\u011fu a\u00e7\u0131s\u0131ndan \u00f6nemli avantajlar sunar. Verilerinizin AB s\u0131n\u0131rlar\u0131 i\u00e7inde kalaca\u011f\u0131n\u0131 bilmek, bir\u00e7ok \u015firket i\u00e7in b\u00fcy\u00fck bir g\u00f6n\u00fcl rahatl\u0131\u011f\u0131d\u0131r.<\/p>\n<p>Peki, &#8220;AB Bulut Egemenli\u011fi&#8221; tam olarak nedir ve neden bu kadar \u00f6nemli? AB Bulut Egemenli\u011fi, AB vatanda\u015flar\u0131n\u0131n ve kurulu\u015flar\u0131n\u0131n verilerinin, AB yasalar\u0131na ve d\u00fczenlemelerine uygun olarak i\u015flenmesini ve saklanmas\u0131n\u0131 sa\u011flama ilkesini ifade eder. \u00d6zellikle GDPR, ki\u015fisel verilerin korunmas\u0131n\u0131 s\u0131k\u0131 bir \u015fekilde d\u00fczenler ve bu verilerin AB d\u0131\u015f\u0131na aktar\u0131lmas\u0131n\u0131 belirli ko\u015fullara ba\u011flar. Amerika Birle\u015fik Devletleri&#8217;nin bulut sa\u011flay\u0131c\u0131lar\u0131 i\u00e7in ge\u00e7erli olan CLOUD Act gibi yasalar, AB vatanda\u015flar\u0131n\u0131n verilerine eri\u015fim konusunda endi\u015felere yol a\u00e7m\u0131\u015ft\u0131r. Schrems II karar\u0131 ise, AB-ABD aras\u0131ndaki veri aktar\u0131m mekanizmalar\u0131n\u0131n g\u00fcvenilirli\u011fini sorgulam\u0131\u015f ve AB \u015firketlerinin verilerini ABD merkezli bulut sa\u011flay\u0131c\u0131lar\u0131nda bar\u0131nd\u0131r\u0131rken daha dikkatli olmalar\u0131 gerekti\u011fini ortaya koymu\u015ftur. Bu nedenle, Hetzner gibi AB i\u00e7inde faaliyet g\u00f6steren bir sa\u011flay\u0131c\u0131 kullanmak, veri egemenli\u011fi ve hukuki uyumluluk a\u00e7\u0131s\u0131ndan kritik bir ad\u0131md\u0131r. Kendi sunucumuz \u00fczerinde veritaban\u0131 kurarak, verilerin fiziksel olarak nerede bar\u0131nd\u0131r\u0131ld\u0131\u011f\u0131 ve hangi yasalara tabi oldu\u011fu konusunda tam kontrol sahibi oluruz. Bu kontrol, \u00f6zellikle hassas verilerle \u00e7al\u0131\u015fan veya belirli sekt\u00f6r d\u00fczenlemelerine tabi olan kurulu\u015flar i\u00e7in paha bi\u00e7ilmezdir. Dolay\u0131s\u0131yla, sadece maliyet odakl\u0131 bir yakla\u015f\u0131mdan ziyade, yasal uyumluluk ve veri g\u00fcvenli\u011fi perspektifinden de kendi y\u00f6netilen veritaban\u0131 \u00e7\u00f6z\u00fcm\u00fcm\u00fcz\u00fc in\u015fa etme ihtiyac\u0131 do\u011fmaktad\u0131r. Bu temel kavramlar\u0131 anlad\u0131ktan sonra, bir sonraki ad\u0131mda Hetzner sunucusu se\u00e7imi ve ilk kurulum ad\u0131mlar\u0131na ge\u00e7ebiliriz.<\/p>\n<div class=\"uzman-ipucu\">\n  Uzman \u0130pucu: AB Bulut Egemenli\u011fi, sadece GDPR uyumlulu\u011fu sa\u011flamakla kalmaz, ayn\u0131 zamanda uluslararas\u0131 veri transferi mekanizmalar\u0131ndaki belirsizliklere kar\u015f\u0131 i\u015fletmenizi korur. Kendi kontrol\u00fcn\u00fczdeki bir altyap\u0131, bu belirsizlikleri minimize etmenin en do\u011frudan yoludur.\n<\/div>\n<h2>Hetzner Se\u00e7imi ve \u0130lk Ad\u0131mlar: \u20ac3 Sunucu Yeterli mi?<\/h2>\n<p>Hetzner&#8217;in bulut sunucular\u0131 aras\u0131nda, &#8220;Cloud&#8221; serisindeki en d\u00fc\u015f\u00fck maliyetli se\u00e7enekler genellikle CX11 veya CX21 gibi modellerdir. Bu makalenin odak noktas\u0131 olan \u20ac3&#8217;l\u00fck fiyat etiketi, genellikle CX11 modeline denk gelir. CX11, genellikle 1 vCPU, 2 GB RAM ve 20 GB NVMe depolama alan\u0131 sunar. Peki, bu kaynaklar bir y\u00f6netilen veritaban\u0131 hizmeti i\u00e7in yeterli mi? Cevap, &#8220;kullan\u0131m senaryosuna ba\u011fl\u0131d\u0131r&#8221; \u015feklindedir.<\/p>\n<p>K\u00fc\u00e7\u00fck \u00f6l\u00e7ekli uygulamalar, ki\u015fisel bloglar, geli\u015ftirme\/test ortamlar\u0131, d\u00fc\u015f\u00fck trafikli web siteleri veya belirli API&#8217;ler i\u00e7in bu kaynaklar fazlas\u0131yla yeterli olabilir. \u00d6zellikle sadece birka\u00e7 y\u00fcz veya binlerce kayd\u0131 i\u015fleyecek, e\u015f zamanl\u0131 ba\u011flant\u0131 say\u0131s\u0131 az olan veritabanlar\u0131 i\u00e7in ideal bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r. NVMe depolama sayesinde disk I\/O performans\u0131 olduk\u00e7a iyi oldu\u011fundan, k\u00fc\u00e7\u00fck veritaban\u0131 i\u015flemleri \u015fa\u015f\u0131rt\u0131c\u0131 derecede h\u0131zl\u0131 ger\u00e7ekle\u015febilir. Ancak, y\u00fcksek trafikli e-ticaret siteleri, b\u00fcy\u00fck veri analizi platformlar\u0131 veya binlerce e\u015f zamanl\u0131 kullan\u0131c\u0131ya hizmet veren uygulamalar i\u00e7in bu sunucu yetersiz kalacakt\u0131r. Bu durumda daha y\u00fcksek kaynaklara sahip (CX31, CX41 vb.) Hetzner sunucular\u0131na veya daha geli\u015fmi\u015f mimarilere ge\u00e7i\u015f yapmak gerekir.<\/p>\n<p>\u015eimdi bir Hetzner sunucusu se\u00e7imi ve temel kurulum ad\u0131mlar\u0131na g\u00f6z atal\u0131m:<\/p>\n<ol>\n<li><strong>Hetzner Hesab\u0131 Olu\u015fturma:<\/strong> Hetzner Cloud paneli \u00fczerinden bir hesap olu\u015fturun. Bu s\u00fcre\u00e7 olduk\u00e7a basittir ve birka\u00e7 dakikan\u0131z\u0131 al\u0131r.<\/li>\n<li><strong>Sunucu Olu\u015fturma:<\/strong> Panele giri\u015f yapt\u0131ktan sonra &#8220;Add Server&#8221; (Sunucu Ekle) butonuna t\u0131klay\u0131n.<\/li>\n<li><strong>Konum Se\u00e7imi:<\/strong> Veri egemenli\u011fi a\u00e7\u0131s\u0131ndan Almanya veya Finlandiya gibi bir AB \u00fclkesini tercih edin. Bu, verilerinizin AB s\u0131n\u0131rlar\u0131 i\u00e7inde kalmas\u0131n\u0131 garanti alt\u0131na alacakt\u0131r.<\/li>\n<li><strong>\u0130\u015fletim Sistemi Se\u00e7imi:<\/strong> Genellikle Ubuntu LTS (Uzun S\u00fcreli Destek) veya Debian \u00f6nerilir. Bu da\u011f\u0131t\u0131mlar kararl\u0131, g\u00fcvenli ve geni\u015f topluluk deste\u011fine sahiptir. \u00d6rne\u011fin, Ubuntu 22.04 LTS se\u00e7ebiliriz.<\/li>\n<li><strong>Sunucu Tipi Se\u00e7imi:<\/strong> &#8220;Standard&#8221; alt\u0131ndan CX11&#8217;i se\u00e7in.<\/li>\n<li><strong>SSH Anahtar\u0131 Ekleme:<\/strong> Sunucunuza g\u00fcvenli bir \u015fekilde ba\u011flanmak i\u00e7in bir SSH anahtar\u0131 eklemeniz kritik \u00f6neme sahiptir. Hen\u00fcz bir anahtar\u0131n\u0131z yoksa, yerel makinenizde <code>ssh-keygen<\/code> komutu ile olu\u015fturup genel anahtar\u0131 Hetzner paneline ekleyin.<\/li>\n<li><strong>Sunucu \u0130smi ve Olu\u015fturma:<\/strong> Sunucunuza a\u00e7\u0131klay\u0131c\u0131 bir isim verin ve &#8220;Create &#038; Buy&#8221; (Olu\u015ftur ve Sat\u0131n Al) butonuna t\u0131klay\u0131n. K\u0131sa bir s\u00fcre i\u00e7inde sunucunuz haz\u0131r olacakt\u0131r.<\/li>\n<\/ol>\n<p>Sunucunuz haz\u0131rland\u0131ktan sonra, SSH arac\u0131l\u0131\u011f\u0131yla ba\u011flanarak temel g\u00fcvenlik yap\u0131land\u0131rmalar\u0131n\u0131 yapmal\u0131s\u0131n\u0131z. \u00d6rne\u011fin:<\/p>\n<pre><code>\nssh root@SUNUCU_IP_ADRESINIZ\n<\/pre>\n<p><\/code><\/p>\n<p>\u0130lk olarak, sisteminizi g\u00fcncelleyin:<\/p>\n<pre><code>\nsudo apt update && sudo apt upgrade -y\n<\/pre>\n<p><\/code><\/p>\n<p>Ard\u0131ndan, g\u00fcvenlik duvar\u0131n\u0131 (UFW - Uncomplicated Firewall) yap\u0131land\u0131r\u0131n. Yaln\u0131zca gerekli portlar\u0131 a\u00e7mak, sunucunuzu d\u0131\u015f sald\u0131r\u0131lara kar\u015f\u0131 korur. SSH (Port 22), HTTP (Port 80) ve HTTPS (Port 443) ve veritaban\u0131 i\u00e7in kullanaca\u011f\u0131n\u0131z portu (\u00f6rne\u011fin PostgreSQL i\u00e7in 5432) a\u00e7man\u0131z gerekebilir. D\u0131\u015far\u0131dan veritaban\u0131na eri\u015fim planlam\u0131yorsan\u0131z, veritaban\u0131 portunu sadece localhost'a veya uygulaman\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucunun IP'sine a\u00e7mak en g\u00fcvenli y\u00f6ntemdir.<\/p>\n<pre><code>\nsudo ufw default deny incoming\nsudo ufw default allow outgoing\nsudo ufw allow ssh\nsudo ufw allow http\nsudo ufw allow https\n# E\u011fer d\u0131\u015far\u0131dan eri\u015fim gerekecekse, sadece belirli bir IP'den (\u00f6rn: 192.168.1.100) izin ver:\n# sudo ufw allow from 192.168.1.100 to any port 5432\n# Veya sadece localhost'tan eri\u015fime izin verin (uygulama sunucusu ile ayn\u0131 sunucudaysa):\n# sudo ufw allow from 127.0.0.1 to any port 5432\nsudo ufw enable\n<\/pre>\n<p><\/code><\/p>\n<p><strong>Vaka Analizi: K\u00fc\u00e7\u00fck Bir Uygulaman\u0131n Veritaban\u0131 \u0130htiyac\u0131<\/strong><br \/>\nDiyelim ki, yeni ba\u015flayan bir giri\u015fim i\u00e7in basit bir \"g\u00f6rev y\u00f6netim\" uygulamas\u0131 geli\u015ftiriyorsunuz. Bu uygulama, kullan\u0131c\u0131lar, g\u00f6revler ve projeler gibi temel verileri depolayacak. Ba\u015flang\u0131\u00e7ta 50-100 aktif kullan\u0131c\u0131n\u0131z olacak ve g\u00fcnde birka\u00e7 y\u00fcz ila bin veritaban\u0131 i\u015flemi ger\u00e7ekle\u015ftireceksiniz. Bu senaryoda, bir Hetzner CX11 sunucusu, PostgreSQL veya MySQL veritaban\u0131 ile birlikte bu uygulaman\u0131n ihtiya\u00e7lar\u0131n\u0131 fazlas\u0131yla kar\u015f\u0131layabilir. Y\u00fcksek maliyetli bir y\u00f6netilen veritaban\u0131 hizmeti kullanmak yerine, CX11 \u00fczerindeki kendi \u00e7\u00f6z\u00fcm\u00fcn\u00fcz size \u00f6nemli maliyet avantaj\u0131 sa\u011flayacakt\u0131r. Bu sayede, ba\u015flang\u0131\u00e7 b\u00fct\u00e7enizi daha \u00e7ok \u00fcr\u00fcn geli\u015ftirmeye ay\u0131rabilirsiniz. \u0130lk ad\u0131mlar\u0131m\u0131z\u0131 tamamlad\u0131\u011f\u0131m\u0131za g\u00f6re, \u015fimdi s\u0131ra veritaban\u0131 kurulumuna geldi.<\/p>\n<h2>Veritaban\u0131 Kurulumu ve Yap\u0131land\u0131rmas\u0131: PostgreSQL veya MySQL ile Nas\u0131l Ba\u015flan\u0131r?<\/h2>\n<p>Temel sunucu kurulumunu ve g\u00fcvenlik yap\u0131land\u0131rmalar\u0131n\u0131 tamamlad\u0131ktan sonra, s\u0131ra veritaban\u0131 y\u00f6netim sistemini (DBMS) kurmaya geliyor. Piyasadaki en pop\u00fcler a\u00e7\u0131k kaynakl\u0131 se\u00e7eneklerden ikisi PostgreSQL ve MySQL\/MariaDB'dir. Her ikisinin de kendine g\u00f6re avantajlar\u0131 ve kullan\u0131m senaryolar\u0131 bulunur.<\/p>\n<ul>\n<li><strong>PostgreSQL:<\/strong> G\u00fc\u00e7l\u00fc bir nesne-ili\u015fkisel veritaban\u0131 sistemidir. Veri b\u00fct\u00fcnl\u00fc\u011f\u00fc, geli\u015fmi\u015f \u00f6zellik setleri (JSONB, CTE'ler, pencereli fonksiyonlar) ve karma\u015f\u0131k sorgular i\u00e7in m\u00fckemmel bir se\u00e7imdir. \u00d6zellikle veri analizi, finans uygulamalar\u0131 ve konum tabanl\u0131 servisler gibi alanlarda tercih edilir. Genellikle daha \"akademik\" bir yakla\u015f\u0131ma sahip oldu\u011fu ve ANSI SQL standartlar\u0131na daha s\u0131k\u0131 uydu\u011fu kabul edilir.<\/li>\n<li><strong>MySQL\/MariaDB:<\/strong> Daha \u00e7ok web uygulamalar\u0131 ve dinamik siteler i\u00e7in pop\u00fclerdir. Kolay kurulumu, geni\u015f topluluk deste\u011fi ve performans\u0131 ile bilinir. MariaDB, MySQL'in topluluk destekli bir \u00e7atal\u0131d\u0131r ve genellikle MySQL ile tam uyumlu olup ek \u00f6zellikler ve performans iyile\u015ftirmeleri sunar. Basit CRUD (Create, Read, Update, Delete) i\u015flemleri yo\u011fun olan uygulamalar i\u00e7in idealdir.<\/li>\n<\/ul>\n<p>Bu makalede, geli\u015fmi\u015f \u00f6zellik seti ve sa\u011flaml\u0131\u011f\u0131 nedeniyle PostgreSQL'i tercih edece\u011fiz, ancak ad\u0131mlar MySQL\/MariaDB i\u00e7in de benzer olacakt\u0131r. Ayr\u0131ca, k\u00fc\u00e7\u00fck bir sunucu \u00fczerinde bile PostgreSQL'in esnekli\u011fi sayesinde \u00e7o\u011fu ihtiyac\u0131 kar\u015f\u0131layabilece\u011fini unutmamak \u00f6nemlidir.<\/p>\n<h3>PostgreSQL Kurulumu ve Temel Yap\u0131land\u0131rma Ad\u0131mlar\u0131<\/h3>\n<p>Ubuntu veya Debian tabanl\u0131 sunucunuzda PostgreSQL kurulumu olduk\u00e7a basittir:<\/p>\n<pre><code>\n# Paket listesini g\u00fcncelleyin\nsudo apt update\n\n# PostgreSQL ve ek ara\u00e7lar\u0131 kurun\nsudo apt install postgresql postgresql-contrib\n\n# PostgreSQL servisini ba\u015flat\u0131n ve sistem ba\u015flang\u0131c\u0131nda otomatik \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flay\u0131n\nsudo systemctl start postgresql\nsudo systemctl enable postgresql\n<\/pre>\n<p><\/code><\/p>\n<p>Kurulumdan sonra PostgreSQL, <code>postgres<\/code> ad\u0131nda bir s\u00fcper kullan\u0131c\u0131 ve ayn\u0131 isimde bir Linux kullan\u0131c\u0131s\u0131 olu\u015fturur. \u00d6ncelikle bu <code>postgres<\/code> kullan\u0131c\u0131s\u0131na ge\u00e7erek veritaban\u0131 ortam\u0131na eri\u015febiliriz:<\/p>\n<pre><code>\nsudo -i -u postgres\npsql\n<\/pre>\n<p><\/code><\/p>\n<p>\u015eimdi yeni bir veritaban\u0131 ve kullan\u0131c\u0131 olu\u015ftural\u0131m. Veritaban\u0131n\u0131z i\u00e7in g\u00fc\u00e7l\u00fc bir parola belirlemeyi unutmay\u0131n.<\/p>\n<pre><code>\n# Yeni bir veritaban\u0131 kullan\u0131c\u0131s\u0131 olu\u015fturun (\u00f6rn: myuser)\nCREATE USER myuser WITH PASSWORD 'guclu_parolaniz';\n\n# Yeni bir veritaban\u0131 olu\u015fturun (\u00f6rn: mydatabase)\nCREATE DATABASE mydatabase OWNER myuser;\n\n# Yetkileri yap\u0131land\u0131r\u0131n (opsiyonel, genelde OWNER yeterlidir)\nGRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;\n\n# psql konsolundan \u00e7\u0131k\u0131n\n\\q\n<\/pre>\n<p><\/code><\/p>\n<p>Veritaban\u0131 kullan\u0131c\u0131s\u0131n\u0131n parolas\u0131n\u0131 de\u011fi\u015ftirmek isterseniz:<\/p>\n<pre><code>\nALTER USER myuser WITH PASSWORD 'yeni_guclu_parolaniz';\n<\/pre>\n<p><\/code><\/p>\n<h3>A\u011f Eri\u015fimi ve G\u00fcvenlik Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>Varsay\u0131lan olarak PostgreSQL yaln\u0131zca <code>localhost<\/code> (127.0.0.1) \u00fczerinden gelen ba\u011flant\u0131lar\u0131 kabul eder. E\u011fer uygulaman\u0131z veritaban\u0131 ile ayn\u0131 sunucudaysa bu ayar g\u00fcvenlidir ve yeterlidir. Ancak uygulaman\u0131z ba\u015fka bir sunucuda veya yerel makinenizden eri\u015fmeniz gerekiyorsa, PostgreSQL'in a\u011f yap\u0131land\u0131rma dosyas\u0131n\u0131 (<code>postgresql.conf<\/code>) d\u00fczenlemeniz gerekir.<\/p>\n<pre><code>\nsudo nano \/etc\/postgresql\/14\/main\/postgresql.conf\n<\/pre>\n<p><\/code><\/p>\n<p>(Versiyon numaras\u0131 sizin kurulumunuza g\u00f6re farkl\u0131l\u0131k g\u00f6sterebilir, \u00f6rne\u011fin 14 yerine 15 veya 16 olabilir.)<\/p>\n<p>Bu dosya i\u00e7inde <code>listen_addresses<\/code> sat\u0131r\u0131n\u0131 bulun ve a\u015fa\u011f\u0131daki gibi de\u011fi\u015ftirin:<\/p>\n<pre><code>\nlisten_addresses = 'localhost,SUNUCU_IP_ADRESINIZ' # Sadece kendi IP'nizden veya\n# listen_addresses = '*' # T\u00fcm aray\u00fczlerden (Dikkatli kullan\u0131lmal\u0131!)\n<\/pre>\n<p><\/code><\/p>\n<p>De\u011fi\u015fikli\u011fi kaydettikten sonra, client kimlik do\u011frulama yap\u0131land\u0131rma dosyas\u0131n\u0131 (<code>pg_hba.conf<\/code>) d\u00fczenlemelisiniz:<\/p>\n<pre><code>\nsudo nano \/etc\/postgresql\/14\/main\/pg_hba.conf\n<\/pre>\n<p><\/code><\/p>\n<p>Bu dosyaya, yeni bir ba\u011flant\u0131 kural\u0131 ekleyerek <code>myuser<\/code> kullan\u0131c\u0131s\u0131n\u0131n <code>mydatabase<\/code> veritaban\u0131na belirli bir IP adresinden (<code>my_app_server_ip<\/code>) veya herhangi bir yerden (<code>0.0.0.0\/0<\/code>) ba\u011flanmas\u0131na izin verebilirsiniz. En g\u00fcvenli yol, sadece uygulaman\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucunun IP adresini belirtmektir:<\/p>\n<pre><code>\n# PostgreSQL veritaban\u0131 eri\u015fimini yap\u0131land\u0131r\u0131n\n# TYPE  DATABASE        USER            ADDRESS                 METHOD\nhost    mydatabase      myuser          my_app_server_ip\/32     scram-sha-256\n# Veya t\u00fcm IP'lerden eri\u015fime izin vermek isterseniz (g\u00fcvenlik riski ta\u015f\u0131r!):\n# host    mydatabase      myuser          0.0.0.0\/0               scram-sha-256\n<\/pre>\n<p><\/code><\/p>\n<p>De\u011fi\u015fiklikleri kaydettikten sonra PostgreSQL servisini yeniden ba\u015flat\u0131n:<\/p>\n<pre><code>\nsudo systemctl restart postgresql\n<\/pre>\n<p><\/code><\/p>\n<h3>Performans Ayarlar\u0131 \u0130\u00e7in \u0130lk \u0130pu\u00e7lar\u0131<\/h3>\n<p>CX11 gibi d\u00fc\u015f\u00fck kaynakl\u0131 sunucularda performans ayarlar\u0131 daha da kritik hale gelir. <code>postgresql.conf<\/code> dosyas\u0131nda k\u00fc\u00e7\u00fck de\u011fi\u015fiklikler yaparak \u00f6nemli iyile\u015ftirmeler elde edebilirsiniz:<\/p>\n<ul>\n<li><code>shared_buffers<\/code>: Genellikle toplam RAM'in %25'i civar\u0131nda ayarlan\u0131r. 2GB RAM i\u00e7in 512MB (<code>512MB<\/code>) iyi bir ba\u015flang\u0131\u00e7 olabilir.<\/li>\n<li><code>work_mem<\/code>: S\u0131ralama (sort) ve karma (hash) i\u015flemlerinde kullan\u0131lan bellek miktar\u0131. K\u00fc\u00e7\u00fck sunucular i\u00e7in varsay\u0131lan de\u011feri yeterli olabilir, ancak karma\u015f\u0131k sorgular\u0131n\u0131z varsa art\u0131rmay\u0131 d\u00fc\u015f\u00fcnebilirsiniz (\u00f6rn: <code>16MB<\/code>).<\/li>\n<li><code>maintenance_work_mem<\/code>: Vakum ve indeks olu\u015fturma gibi bak\u0131m i\u015flemleri i\u00e7in kullan\u0131l\u0131r. Yine 2GB RAM i\u00e7in <code>128MB<\/code> veya <code>256MB<\/code> gibi de\u011ferler uygun olabilir.<\/li>\n<li><code>max_connections<\/code>: E\u015f zamanl\u0131 ba\u011flant\u0131 say\u0131s\u0131n\u0131 belirler. K\u00fc\u00e7\u00fck bir uygulama i\u00e7in 50-100 ba\u011flant\u0131 yeterli olacakt\u0131r.<\/li>\n<\/ul>\n<p>Bu ayarlar\u0131 sunucunuzun kaynaklar\u0131na ve uygulaman\u0131z\u0131n ihtiya\u00e7lar\u0131na g\u00f6re dikkatlice ayarlamal\u0131s\u0131n\u0131z. Yanl\u0131\u015f yap\u0131land\u0131rmalar performans\u0131 d\u00fc\u015f\u00fcrebilir veya sistem karars\u0131zl\u0131\u011f\u0131na yol a\u00e7abilir. Bu ad\u0131mlarla birlikte, art\u0131k temel bir PostgreSQL veritaban\u0131na sahipsiniz. \u015eimdi bu veritaban\u0131n\u0131 \"y\u00f6netilen\" bir hizmete d\u00f6n\u00fc\u015ft\u00fcrmenin yollar\u0131n\u0131 ke\u015ffedebiliriz.<\/p>\n<h2>Y\u00f6netilen \u00d6zellikleri Geli\u015ftirmek: Yedekleme, \u0130zleme ve Y\u00fcksek Eri\u015filebilirlik<\/h2>\n<p>Bir veritaban\u0131 sadece kurulmakla kalmaz, ayn\u0131 zamanda d\u00fczenli olarak bak\u0131m\u0131 yap\u0131lmal\u0131, izlenmeli ve beklenmedik durumlar i\u00e7in haz\u0131rl\u0131kl\u0131 olunmal\u0131d\u0131r. Bu b\u00f6l\u00fcm, kendi y\u00f6netilen veritaban\u0131 hizmetinizin temelini olu\u015fturacak otomasyon ve g\u00fcvenlik ad\u0131mlar\u0131n\u0131 ele almaktad\u0131r. \u00d6zellikle \u20ac3'l\u00fck bir sunucu \u00fczerinde bu \u00f6zellikleri en verimli \u015fekilde nas\u0131l sa\u011flayaca\u011f\u0131m\u0131z\u0131 inceleyece\u011fiz.<\/p>\n<h3>Yedekleme Stratejileri: Verilerinizi Nas\u0131l Korursunuz?<\/h3>\n<p>Veritaban\u0131 yedeklemesi, bir felaket an\u0131nda veri kayb\u0131n\u0131 \u00f6nlemek i\u00e7in en kritik ad\u0131md\u0131r. Otomatik yedekleme sistemleri kurmak, bu \"y\u00f6netilen\" deneyimin olmazsa olmaz\u0131d\u0131r. PostgreSQL i\u00e7in <code>pg_dumpall<\/code> veya <code>pg_dump<\/code>, MySQL\/MariaDB i\u00e7in ise <code>mysqldump<\/code> gibi yerle\u015fik ara\u00e7lar mevcuttur. Basit bir Cron i\u015fi (cron job) ile bu yedeklemeleri otomatikle\u015ftirebiliriz.<\/p>\n<p><strong>\u00d6rnek bir PostgreSQL yedekleme beti\u011fi:<\/strong><\/p>\n<pre><code>\n<pre><code>\n#!\/bin\/bash\n\n# Yedekleme dizini\nBACKUP_DIR=\"\/var\/backups\/postgresql\"\nTIMESTAMP=$(date +%Y%m%d%H%M%S)\nBACKUP_FILE=\"$BACKUP_DIR\/mydatabase_$TIMESTAMP.sql.gz\"\nDB_NAME=\"mydatabase\"\nDB_USER=\"myuser\"\n\n# Yedekleme dizini yoksa olu\u015ftur\nmkdir -p \"$BACKUP_DIR\"\n\n# Veritaban\u0131n\u0131 yedekle ve s\u0131k\u0131\u015ft\u0131r\nPGPASSWORD='guclu_parolaniz' pg_dump -U \"$DB_USER\" -d \"$DB_NAME\" | gzip > \"$BACKUP_FILE\"\n\n# Yedeklemenin ba\u015far\u0131l\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol et\nif [ $? -eq 0 ]; then\n    echo \"Veritaban\u0131 '$DB_NAME' ba\u015far\u0131yla yedeklendi: $BACKUP_FILE\"\n    # Eski yedekleri temizle (son 7 g\u00fcn\u00fc sakla)\n    find \"$BACKUP_DIR\" -type f -name \"*.sql.gz\" -mtime +7 -delete\n    echo \"Eski yedekler temizlendi.\"\nelse\n    echo \"Veritaban\u0131 yedekleme ba\u015far\u0131s\u0131z oldu!\"\nfi\n<\/pre>\n<p><\/code><br \/>\n<\/code><\/p>\n<p>Bu beti\u011fi <code>\/usr\/local\/bin\/backup_db.sh<\/code> olarak kaydedip \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirin (<code>chmod +x \/usr\/local\/bin\/backup_db.sh<\/code>). Ard\u0131ndan, Cron kullanarak d\u00fczenli olarak \u00e7al\u0131\u015ft\u0131rabilirsiniz. \u00d6rne\u011fin, her gece saat 03:00'te \u00e7al\u0131\u015ft\u0131rmak i\u00e7in:<\/p>\n<pre><code>\nsudo crontab -e\n# \u0130\u00e7ine \u015fu sat\u0131r\u0131 ekleyin:\n0 3 * * * \/usr\/local\/bin\/backup_db.sh >> \/var\/log\/backup_db.log 2>&1\n<\/pre>\n<p><\/code><\/p>\n<p><strong>Depolama Stratejisi:<\/strong> Yedekleri ayn\u0131 sunucuda tutmak, sunucu \u00e7\u00f6kmesi durumunda i\u015fe yaramaz. Bu nedenle, yedekleri ba\u015fka bir konuma ta\u015f\u0131mak \u00f6nemlidir. Hetzner'in kendi Storage Box hizmeti, uygun maliyetli ve g\u00fcvenli bir d\u0131\u015f depolama se\u00e7ene\u011fidir. Rclone veya SCP\/SFTP kullanarak yedekleri Storage Box'a veya ba\u015fka bir S3 uyumlu depolama hizmetine (\u00f6rn: Backblaze B2, DigitalOcean Spaces) otomatik olarak senkronize edebilirsiniz.<\/p>\n<pre><code>\n# Rclone kurulumu (\u00f6rne\u011fin)\n# rclone config ile Storage Box ba\u011flant\u0131s\u0131n\u0131 yap\u0131land\u0131r\u0131n\nrclone sync \"$BACKUP_DIR\" \"my-hetzner-storagebox:backups\/mydatabase\"\n<\/pre>\n<p><\/code><\/p>\n<p>Bu komutu yedekleme beti\u011finizin sonuna ekleyerek yedeklerinizi otomatik olarak d\u0131\u015far\u0131ya aktarabilirsiniz.<\/p>\n<div class=\"uzman-ipucu\">\n  Uzman \u0130pucu: Sadece yedekleme yapmak yetmez, d\u00fczenli aral\u0131klarla yedeklerinizin ger\u00e7ekten geri y\u00fcklenebilir oldu\u011funu test edin. Bir yedekleme plan\u0131, ancak test edildi\u011finde g\u00fcvenilirdir.\n<\/div>\n<h3>\u0130zleme ve Uyar\u0131lar: Sorunlar\u0131 Nas\u0131l Tespit Edersiniz?<\/h3>\n<p>Bir y\u00f6netilen hizmetin \u00f6nemli bir par\u00e7as\u0131 da izlemedir. Sunucunuzun ve veritaban\u0131n\u0131z\u0131n performans\u0131n\u0131 s\u00fcrekli izlemelisiniz. K\u00fc\u00e7\u00fck bir sunucu i\u00e7in Prometheus ve Grafana gibi a\u011f\u0131r ara\u00e7lar yerine daha hafif \u00e7\u00f6z\u00fcmlerle ba\u015flayabiliriz:<\/p>\n<ul>\n<li><strong>Sistem Kaynaklar\u0131:<\/strong> <code>top<\/code>, <code>htop<\/code>, <code>dstat<\/code> veya <code>glances<\/code> gibi ara\u00e7larla CPU, RAM ve disk kullan\u0131m\u0131n\u0131 anl\u0131k olarak izleyebilirsiniz.<\/li>\n<li><strong>Disk Alan\u0131 Takibi:<\/strong> Disk alan\u0131 dolmadan uyar\u0131 almak kritiktir. Basit bir betik yaz\u0131p Cron ile \u00e7al\u0131\u015ft\u0131rarak diskin belli bir y\u00fczdesinin \u00fczerine \u00e7\u0131kt\u0131\u011f\u0131nda e-posta g\u00f6nderebilirsiniz.<\/li>\n<li><strong>Veritaban\u0131 Loglar\u0131:<\/strong> PostgreSQL'in kendi log dosyalar\u0131n\u0131 (<code>\/var\/log\/postgresql\/<\/code>) d\u00fczenli olarak kontrol edin. Hata mesajlar\u0131, yava\u015f sorgular veya beklenmedik aktiviteler hakk\u0131nda bilgi edinebilirsiniz. <code>log_min_duration_statement<\/code> gibi ayarlar\u0131 <code>postgresql.conf<\/code> i\u00e7inde yap\u0131land\u0131rarak yava\u015f sorgular\u0131 tespit edebilirsiniz.<\/li>\n<li><strong>Basit Uyar\u0131lar:<\/strong> <code>monit<\/code> gibi hafif bir sistem izleme arac\u0131 kurarak veritaban\u0131 servisinin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 veya disk kullan\u0131m\u0131n\u0131n belirli bir e\u015fi\u011fi a\u015f\u0131p a\u015fmad\u0131\u011f\u0131n\u0131 kontrol edebilir ve size e-posta ile bildirim g\u00f6ndermesini sa\u011flayabilirsiniz.<\/li>\n<\/ul>\n<p><strong>Vaka Analizi: Bir E-ticaret Sitesinin Yedekleme \u0130htiyac\u0131<\/strong><br \/>\nD\u00fc\u015f\u00fck b\u00fct\u00e7eli bir butik e-ticaret sitesinin verilerini Hetzner CX11 \u00fczerinde bar\u0131nd\u0131rd\u0131\u011f\u0131n\u0131 d\u00fc\u015f\u00fcnelim. Her g\u00fcn yeni sipari\u015fler, m\u00fc\u015fteri bilgileri ve \u00fcr\u00fcn g\u00fcncellemeleri yap\u0131l\u0131yor. Bu verilerin kayb\u0131, i\u015fletme i\u00e7in feci sonu\u00e7lar do\u011furabilir. Yukar\u0131da bahsedilen otomatik yedekleme beti\u011fi, her gece bu kritik veritaban\u0131n\u0131 yedekleyip Hetzner Storage Box'a y\u00fckleyerek felaket kurtarma senaryolar\u0131na kar\u015f\u0131 bir kalkan olu\u015fturur. Ayr\u0131ca, disk doluluk oran\u0131n\u0131 izleyen bir betik, disk dolmadan \u00f6nlem al\u0131nmas\u0131n\u0131 sa\u011flayarak kesintisiz hizmete katk\u0131da bulunur. Bu yakla\u015f\u0131m, b\u00fcy\u00fck bulut servislerindeki otomatik yedekleme kadar sofistike olmasa da, benzer bir g\u00fcvenlik seviyesi sunar ve k\u00fc\u00e7\u00fck i\u015fletmeler i\u00e7in son derece maliyet etkindir.<\/p>\n<h3>Y\u00fcksek Eri\u015filebilirlik (HA): \u20ac3 B\u00fct\u00e7eyle Ne Kadar M\u00fcmk\u00fcn?<\/h3>\n<p>Y\u00fcksek eri\u015filebilirlik (HA), bir sistemin ar\u0131za durumunda bile \u00e7al\u0131\u015fmaya devam etmesini sa\u011flamakt\u0131r. \u20ac3'l\u00fck tek bir sunucuda ger\u00e7ek y\u00fcksek eri\u015filebilirlik sa\u011flamak zordur, zira HA genellikle en az iki veya daha fazla sunucu gerektirir. Ancak tek bir sunucuda bile \"y\u00fcksek eri\u015filebilirlik benzeri\" baz\u0131 ad\u0131mlar at\u0131labilir:<\/p>\n<ul>\n<li><strong>Otomatik Yeniden Ba\u015flatma:<\/strong> Veritaban\u0131 servisinin \u00e7\u00f6kmesi durumunda sistemin otomatik olarak yeniden ba\u015flat\u0131lmas\u0131n\u0131 sa\u011flamak (<code>systemd<\/code> ile kolayca yap\u0131land\u0131r\u0131labilir).<\/li>\n<li><strong>Yedekleme ve Geri Y\u00fckleme H\u0131z\u0131:<\/strong> H\u0131zl\u0131 yedekleme ve kurtarma mekanizmalar\u0131na sahip olmak, bir felaket an\u0131nda sistemi k\u0131sa s\u00fcrede aya\u011fa kald\u0131rman\u0131n anahtar\u0131d\u0131r.<\/li>\n<\/ul>\n<p>Daha geli\u015fmi\u015f HA \u00e7\u00f6z\u00fcmleri (\u00f6rne\u011fin PostgreSQL i\u00e7in replikasyon, Patroni, PgBouncer veya MySQL i\u00e7in Galera Cluster), birden fazla sunucu ve daha karma\u015f\u0131k bir yap\u0131land\u0131rma gerektirir. Bu \u00e7\u00f6z\u00fcmler, tek bir \u20ac3 sunucunun \u00f6tesine ge\u00e7se de, projeniz b\u00fcy\u00fcd\u00fck\u00e7e Hetzner'deki daha g\u00fc\u00e7l\u00fc sunuculara veya ek sunuculara ge\u00e7erek bu t\u00fcr yap\u0131land\u0131rmalar\u0131 uygulamak m\u00fcmk\u00fcnd\u00fcr. \u00d6zetle, tek bir CX11 sunucusunda tam bir HA sa\u011flamak ger\u00e7ek\u00e7i de\u011fildir, ancak temel \"y\u00f6netilen\" \u00f6zelliklerle kesinti s\u00fcresini minimize etmek ve veri kayb\u0131n\u0131 \u00f6nlemek i\u00e7in \u00f6nemli ad\u0131mlar at\u0131labilir. Bu b\u00f6l\u00fcmle birlikte, kendi y\u00f6netilen veritaban\u0131 hizmetimizi bir ad\u0131m daha ileri ta\u015f\u0131m\u0131\u015f olduk. \u015eimdi, veri egemenli\u011fi ve g\u00fcvenlik konular\u0131na daha derinlemesine bakal\u0131m.<\/p>\n<h2>G\u00fcvenlik ve Uyum: Veri Egemenli\u011fi Nas\u0131l Sa\u011flan\u0131r?<\/h2>\n<p>Veritaban\u0131 hizmeti kurarken g\u00fcvenlik, yaln\u0131zca teknik bir zorunluluk de\u011fil, ayn\u0131 zamanda AB i\u00e7inde i\u015f yapan \u015firketler i\u00e7in yasal bir uyumluluk gereklili\u011fidir. \u00d6zellikle veri egemenli\u011fi ve GDPR (Genel Veri Koruma T\u00fcz\u00fc\u011f\u00fc) ile birlikte d\u00fc\u015f\u00fcn\u00fcld\u00fc\u011f\u00fcnde, g\u00fcvenlik katmanlar\u0131 daha da \u00f6nem kazanmaktad\u0131r. Hetzner sunucular\u0131 \u00fczerinde kendi veritaban\u0131m\u0131z\u0131 bar\u0131nd\u0131rman\u0131n en b\u00fcy\u00fck avantajlar\u0131ndan biri, verilerinizin fiziksel olarak AB topraklar\u0131nda kalaca\u011f\u0131n\u0131 garanti edebilmektir. Ancak bu, t\u00fcm g\u00fcvenlik sorumlulu\u011funun ortadan kalkt\u0131\u011f\u0131 anlam\u0131na gelmez.<\/p>\n<h3>GDPR ve Veri Lokasyonu: Neden \u00d6nemli?<\/h3>\n<p>GDPR, AB vatanda\u015flar\u0131n\u0131n ki\u015fisel verilerinin nas\u0131l i\u015flenece\u011fini ve saklanaca\u011f\u0131n\u0131 d\u00fczenleyen kapsaml\u0131 bir yasad\u0131r. Bu yasa, verilerin nerede bulundu\u011funa, kimin eri\u015febildi\u011fine ve hangi yasalara tabi oldu\u011funa b\u00fcy\u00fck \u00f6nem verir. \u00d6zellikle Schrems II karar\u0131 sonras\u0131nda, AB d\u0131\u015f\u0131ndaki (\u00f6zellikle ABD'deki) bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131 kullanmak, AB \u015firketleri i\u00e7in yasal belirsizlikler yaratm\u0131\u015ft\u0131r. Hetzner gibi Almanya merkezli bir sa\u011flay\u0131c\u0131 kullanmak, verilerinizin AB veri koruma yasalar\u0131na tam olarak tabi olmas\u0131n\u0131 sa\u011flar ve bu yasal belirsizlikleri ortadan kald\u0131r\u0131r. Bu, veri egemenli\u011fi yolculu\u011funda at\u0131lacak en sa\u011flam ad\u0131mlardan biridir.<\/p>\n<h3>G\u00fcvenlik Katmanlar\u0131: Veritaban\u0131n\u0131z\u0131 Nas\u0131l Korursunuz?<\/h3>\n<p>Kendi y\u00f6netti\u011finiz bir veritaban\u0131n\u0131n g\u00fcvenli\u011fini sa\u011flamak i\u00e7in birden fazla katman\u0131 d\u00fc\u015f\u00fcnmeniz gerekir:<\/p>\n<ol>\n<li><strong>A\u011f G\u00fcvenli\u011fi (Firewall):<\/strong> Daha \u00f6nce de belirtti\u011fimiz gibi, Uncomplicated Firewall (UFW) gibi bir ara\u00e7 kullanarak sunucunuza gelen trafi\u011fi s\u0131k\u0131 bir \u015fekilde kontrol edin. Sadece gerekli portlar\u0131 (SSH, HTTP, HTTPS ve veritaban\u0131 eri\u015fimi i\u00e7in belirli IP'lerden) a\u00e7\u0131n. Veritaban\u0131 portunu (<code>5432<\/code> for PostgreSQL) sadece uygulaman\u0131z\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131 sunucunun IP adresinden gelen ba\u011flant\u0131lara a\u00e7mak en g\u00fcvenli y\u00f6ntemdir.<\/li>\n<li><strong>Veritaban\u0131 Kimlik Do\u011frulamas\u0131:<\/strong> G\u00fc\u00e7l\u00fc ve karma\u015f\u0131k parolalar kullan\u0131n. Parolalar\u0131 d\u00fczenli olarak de\u011fi\u015ftirin. PostgreSQL'de <code>scram-sha-256<\/code> gibi g\u00fcvenli kimlik do\u011frulama y\u00f6ntemlerini tercih edin. Asla varsay\u0131lan kullan\u0131c\u0131 adlar\u0131n\u0131 ve parolalar\u0131 kullanmay\u0131n.<\/li>\n<li><strong>SSL\/TLS ile \u015eifreleme:<\/strong> Veritaban\u0131 ile uygulama sunucunuz aras\u0131ndaki ileti\u015fimi SSL\/TLS ile \u015fifreleyin. Bu, trafi\u011fi dinleyen k\u00f6t\u00fc niyetli ki\u015filerin verilerinizi ele ge\u00e7irmesini engeller.\n<pre><code>\n# PostgreSQL i\u00e7in SSL\/TLS'i yap\u0131land\u0131rmak amac\u0131yla <code>postgresql.conf<\/code> i\u00e7inde\n# ssl = on\n# ssl_cert_file = '\/path\/to\/server.crt'\n# ssl_key_file = '\/path\/to\/server.key'\n# gibi ayarlar yap\u0131l\u0131r. Sertifikalar\u0131 Let's Encrypt gibi bir yerden alabilirsiniz.\n        <\/pre>\n<p><\/code>\n    <\/li>\n<li><strong>D\u00fczenli Yamalar ve G\u00fcncellemeler:<\/strong> \u0130\u015fletim sisteminizi ve veritaban\u0131 yaz\u0131l\u0131m\u0131n\u0131z\u0131 d\u00fczenli olarak g\u00fcncelleyin. G\u00fcvenlik a\u00e7\u0131klar\u0131, genellikle yeni yamalarla kapat\u0131l\u0131r. Bir <code>apt update && apt upgrade<\/code> rutini olu\u015fturmak kritiktir.<\/li>\n<li><strong>Veri \u015eifrelemesi (at Rest):<\/strong> Hassas verileri veritaban\u0131nda \u015fifreli olarak saklamay\u0131 d\u00fc\u015f\u00fcn\u00fcn. Bu, veritaban\u0131na yetkisiz eri\u015fim sa\u011flansa bile verilerin okunmas\u0131n\u0131 zorla\u015ft\u0131r\u0131r. Disk \u015fifrelemesi (LUKS gibi) de sunucu seviyesinde bir koruma sa\u011flayabilir, ancak bu \u20ac3 sunucunun performans\u0131n\u0131 biraz etkileyebilir.<\/li>\n<li><strong>Yetkilendirme ve Eri\u015fim Kontrol\u00fc:<\/strong> Veritaban\u0131 kullan\u0131c\u0131lar\u0131na sadece ihtiya\u00e7 duyduklar\u0131 minimum yetkileri verin (principle of least privilege). \u00d6rne\u011fin, bir web uygulamas\u0131 kullan\u0131c\u0131s\u0131na sadece <code>SELECT<\/code>, <code>INSERT<\/code>, <code>UPDATE<\/code>, <code>DELETE<\/code> yetkileri verin, <code>CREATE TABLE<\/code> veya <code>DROP DATABASE<\/code> gibi yetkileri de\u011fil.<\/li>\n<li><strong>Audit Loglar\u0131 ve \u0130zleme:<\/strong> Veritaban\u0131 eri\u015fimlerini ve de\u011fi\u015fikliklerini kaydeden denetim (audit) g\u00fcnl\u00fcklerini etkinle\u015ftirin. Bu loglar\u0131 d\u00fczenli olarak inceleyerek \u015f\u00fcpheli aktiviteleri tespit edebilirsiniz. PostgreSQL i\u00e7in <code>log_statement<\/code> veya <code>pgaudit<\/code> gibi uzant\u0131lar kullan\u0131labilir.<\/li>\n<\/ol>\n<p>Kendi sunucunuzda bu g\u00fcvenlik \u00f6nlemlerini uygulamak, b\u00fcy\u00fck bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131n sundu\u011fu standart g\u00fcvenlik \u00f6zelliklerine benzer bir koruma katman\u0131 olu\u015fturman\u0131z\u0131 sa\u011flar. Ancak en b\u00fcy\u00fck fark, t\u00fcm bu yap\u0131land\u0131rmalar\u0131n sizin kontrol\u00fcn\u00fczde olmas\u0131d\u0131r. Bu kontrol, \u00f6zellikle hassas verilerle u\u011fra\u015fan finans, sa\u011fl\u0131k veya hukuk sekt\u00f6r\u00fcndeki \u015firketler i\u00e7in vazge\u00e7ilmezdir. AB veri egemenli\u011fi ba\u011flam\u0131nda, bu t\u00fcr detayl\u0131 g\u00fcvenlik kontrol\u00fc, yasal uyumlulu\u011fun temelini olu\u015fturur. Sonu\u00e7 olarak, g\u00fcvenlik, maliyet avantaj\u0131ndan daha \u00f6nemli bir fakt\u00f6r olarak ele al\u0131nmal\u0131 ve s\u00fcrekli bir s\u00fcre\u00e7 olarak y\u00f6netilmelidir.<\/p>\n<h2>Maliyet Analizi ve \u00d6l\u00e7eklenebilirlik: Ger\u00e7ekten K\u00e2rl\u0131 m\u0131?<\/h2>\n<p>Kendi y\u00f6netilen veritaban\u0131 hizmetimizi \u20ac3'l\u00fck Hetzner sunucular\u0131 \u00fczerinde kurman\u0131n teknik detaylar\u0131n\u0131 ele ald\u0131k. \u015eimdi ise bu yakla\u015f\u0131m\u0131n ekonomik boyutunu ve gelecekteki \u00f6l\u00e7eklenebilirlik potansiyelini de\u011ferlendirelim. Bu, \u00f6zellikle maliyet bilincine sahip giri\u015fimler ve KOB\u0130'ler i\u00e7in hayati \u00f6nem ta\u015f\u0131maktad\u0131r.<\/p>\n<h3>B\u00fcy\u00fck Bulut Sa\u011flay\u0131c\u0131lar\u0131yla Maliyet Kar\u015f\u0131la\u015ft\u0131rmas\u0131<\/h3>\n<p>B\u00fcy\u00fck bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131n (AWS, Azure, GCP) y\u00f6netilen veritaban\u0131 hizmetleri, sa\u011flad\u0131klar\u0131 kolayl\u0131k ve otomasyon seviyesi g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda genellikle daha pahal\u0131d\u0131r. Basit bir kar\u015f\u0131la\u015ft\u0131rma yapal\u0131m:<\/p>\n<ul>\n<li><strong>Hetzner CX11 (kendi y\u00f6netimi):<\/strong> Yakla\u015f\u0131k \u20ac3\/ay. Buna i\u015f g\u00fcc\u00fc maliyetini (kurulum, bak\u0131m, izleme i\u00e7in harcanan zaman) eklemeniz gerekir. Ancak bu, d\u00fc\u015f\u00fck trafikli senaryolar i\u00e7in ba\u015flang\u0131\u00e7 maliyetini inan\u0131lmaz derecede d\u00fc\u015f\u00fcr\u00fcr.<\/li>\n<li><strong>AWS RDS (\u00f6rne\u011fin db.t3.micro - 2 vCPU, 1 GB RAM, 20 GB GP2):<\/strong> Bu konfig\u00fcrasyon, b\u00f6lgeye ve rezervasyon tipine g\u00f6re de\u011fi\u015fmekle birlikte, ayl\u0131k ortalama 20-30 USD civar\u0131nda bir maliyete sahiptir. Buna ek olarak veri transfer \u00fccretleri, I\/O i\u015flemleri ve ek depolama maliyetleri de eklenebilir.<\/li>\n<li><strong>Azure SQL Database (Basic tier - 5 DTU, 2 GB):<\/strong> Ayl\u0131k ortalama 10-15 USD civar\u0131nda bir maliyetle ba\u015flar.<\/li>\n<li><strong>GCP Cloud SQL (PostgreSQL, db-f1-micro - 1 vCPU, 0.6 GB RAM, 10 GB depolama):<\/strong> Ayl\u0131k ortalama 10-20 USD civar\u0131nda bir maliyetle ba\u015flar.<\/li>\n<\/ul>\n<p>G\u00f6r\u00fcld\u00fc\u011f\u00fc \u00fczere, \u20ac3'l\u00fck bir Hetzner sunucusu, b\u00fcy\u00fck bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131n en k\u00fc\u00e7\u00fck y\u00f6netilen veritaban\u0131 \u00f6rneklerinden bile belirgin \u015fekilde daha ucuzdur. Bu maliyet avantaj\u0131, \u00f6zellikle ba\u015flang\u0131\u00e7 a\u015famas\u0131ndaki veya d\u00fc\u015f\u00fck b\u00fct\u00e7eli projeler i\u00e7in caziptir. Elbette, bu maliyetlere kendi zaman\u0131n\u0131z\u0131 veya bir uzman\u0131n zaman\u0131n\u0131 eklemek zorundas\u0131n\u0131z, ancak k\u00fc\u00e7\u00fck bir uygulaman\u0131n bak\u0131m\u0131 ilk ba\u015fta \u00e7ok fazla zaman almayabilir.<\/p>\n<h3>\u20ac3 Sunucunun S\u0131n\u0131rlar\u0131 ve Ne Zaman Y\u00fckseltme Yap\u0131lmal\u0131?<\/h3>\n<p>\u20ac3'l\u00fck CX11 sunucu, belirli bir noktaya kadar iyi hizmet verecektir. Ancak uygulaman\u0131z b\u00fcy\u00fcd\u00fck\u00e7e veya trafik artt\u0131k\u00e7a, a\u015fa\u011f\u0131daki durumlarda daha g\u00fc\u00e7l\u00fc bir sunucuya (veya birden fazlas\u0131na) ge\u00e7i\u015f yapmay\u0131 d\u00fc\u015f\u00fcnmelisiniz:<\/p>\n<ul>\n<li><strong>CPU Kullan\u0131m\u0131:<\/strong> Veritaban\u0131 sorgular\u0131n\u0131z s\u00fcrekli olarak CPU kaynaklar\u0131n\u0131 %80-90'\u0131n \u00fczerinde kullan\u0131yorsa.<\/li>\n<li><strong>RAM Kullan\u0131m\u0131:<\/strong> S\u00fcrekli olarak diskte swap alan\u0131 kullan\u0131l\u0131yorsa (RAM yetersizli\u011fi).<\/li>\n<li><strong>Disk I\/O Bottleneck:<\/strong> Disk okuma\/yazma h\u0131zlar\u0131 veritaban\u0131 performans\u0131n\u0131z\u0131 s\u0131n\u0131rl\u0131yorsa (\u00f6zellikle NVMe olsa bile b\u00fcy\u00fck veritabanlar\u0131 veya yo\u011fun i\u015flemler i\u00e7in).<\/li>\n<li><strong>Artan Gecikme:<\/strong> Uygulaman\u0131zda veritaban\u0131 sorgular\u0131n\u0131n yan\u0131t s\u00fcreleri belirgin \u015fekilde art\u0131yorsa.<\/li>\n<li><strong>E\u015f Zamanl\u0131 Ba\u011flant\u0131 Say\u0131s\u0131:<\/strong> Veritaban\u0131n\u0131n kald\u0131rabilece\u011finden daha fazla e\u015f zamanl\u0131 ba\u011flant\u0131 talebi geliyorsa.<\/li>\n<\/ul>\n<p>Hetzner Cloud paneli \u00fczerinden sunucunuzu daha g\u00fc\u00e7l\u00fc bir modele (\u00f6rne\u011fin CX21, CX31 veya CX41 gibi daha fazla vCPU, RAM ve depolama sunan) y\u00fckseltmek olduk\u00e7a kolayd\u0131r. Genellikle sunucuyu kapat\u0131p yeniden boyutland\u0131r\u0131p tekrar a\u00e7man\u0131z yeterlidir. Bu, \"dikey \u00f6l\u00e7ekleme\" (vertical scaling) olarak bilinir.<\/p>\n<h3>\u00d6l\u00e7eklenebilirlik \u00c7\u00f6z\u00fcmleri: Yatay ve Dikey \u00d6l\u00e7ekleme<\/h3>\n<p>Projeniz daha da b\u00fcy\u00fcd\u00fc\u011f\u00fcnde, sadece dikey \u00f6l\u00e7ekleme yeterli olmayabilir. Bu durumda \"yatay \u00f6l\u00e7ekleme\" (horizontal scaling) \u00e7\u00f6z\u00fcmlerini d\u00fc\u015f\u00fcnmeniz gerekir:<\/p>\n<ul>\n<li><strong>Veritaban\u0131 Replikasyonu (Replication):<\/strong> Bir ana (primary) veritaban\u0131 ve bir veya daha fazla ikincil (standby\/replica) veritaban\u0131 kurarak okuma i\u015flemlerini ikincil sunuculara da\u011f\u0131tabilirsiniz. Bu, veritaban\u0131 \u00fczerindeki y\u00fck\u00fc azalt\u0131r ve okuma yo\u011fun uygulamalar i\u00e7in performans\u0131 art\u0131r\u0131r. PostgreSQL'de Streaming Replication veya MySQL'de binlog replikasyonu bu amaca hizmet eder.<\/li>\n<li><strong>Sharding:<\/strong> Verilerinizi birden fazla veritaban\u0131 sunucusuna b\u00f6lmek (her sunucu verinin bir alt k\u00fcmesini bar\u0131nd\u0131r\u0131r). Bu, \u00e7ok b\u00fcy\u00fck veritabanlar\u0131 ve \u00e7ok y\u00fcksek trafikli uygulamalar i\u00e7in daha karma\u015f\u0131k ama etkili bir \u00e7\u00f6z\u00fcmd\u00fcr. Ancak, bu \u00e7\u00f6z\u00fcm genellikle uygulama taraf\u0131nda \u00f6nemli de\u011fi\u015fiklikler gerektirir ve tek bir \u20ac3 sunucu senaryosunun \u00f6tesindedir.<\/li>\n<li><strong>Veritaban\u0131 Havuzlama (Connection Pooling):<\/strong> PgBouncer (PostgreSQL i\u00e7in) gibi ara\u00e7lar kullanarak veritaban\u0131 ba\u011flant\u0131lar\u0131n\u0131 y\u00f6netebilir ve sunucudaki ba\u011flant\u0131 y\u00fck\u00fcn\u00fc azaltabilirsiniz.<\/li>\n<\/ul>\n<p>Kendi y\u00f6netilen veritaban\u0131 hizmetinizi kurmak, maliyet a\u00e7\u0131s\u0131ndan b\u00fcy\u00fck avantajlar sunarken, \u00f6l\u00e7eklenebilirlik konusunda da size tam kontrol sa\u011flar. Hetzner'in esnek bulut altyap\u0131s\u0131 sayesinde, k\u00fc\u00e7\u00fck bir \u20ac3'l\u00fck sunucudan ba\u015flay\u0131p, projenizin ihtiya\u00e7lar\u0131 do\u011frultusunda kolayca daha b\u00fcy\u00fck, daha g\u00fc\u00e7l\u00fc veya da\u011f\u0131t\u0131lm\u0131\u015f mimarilere ge\u00e7i\u015f yapabilirsiniz. \u00d6nemli olan, maliyet ve kontrol dengesini do\u011fru kurmak ve projenizin ger\u00e7ek ihtiya\u00e7lar\u0131n\u0131 anlamakt\u0131r.<\/p>\n<h2>Sonu\u00e7: AB Veri Egemenli\u011fi Yolculu\u011funda Kendi \u00c7\u00f6z\u00fcm\u00fcm\u00fcz<\/h2>\n<p>Bu makale boyunca, \u20ac3'l\u00fck Hetzner sunucular\u0131 \u00fczerinde kendi y\u00f6netilen veritaban\u0131 hizmetimizi in\u015fa etmenin teknik ad\u0131mlar\u0131n\u0131, ekonomik boyutlar\u0131n\u0131 ve \u00f6zellikle AB bulut egemenli\u011fi ba\u011flam\u0131ndaki \u00f6nemini detayl\u0131 bir \u015fekilde inceledik. G\u00f6rd\u00fc\u011f\u00fcm\u00fcz gibi, bu yakla\u015f\u0131m sadece maliyet avantajlar\u0131 sunmakla kalm\u0131yor, ayn\u0131 zamanda veri g\u00fcvenli\u011fi, hukuki uyumluluk ve altyap\u0131 \u00fczerinde tam kontrol gibi paha bi\u00e7ilmez faydalar da sa\u011fl\u0131yor.<\/p>\n<p>Kendi veritaban\u0131 hizmetinizi kurmak, ba\u015flang\u0131\u00e7ta biraz daha fazla teknik bilgi ve zaman gerektirse de, uzun vadede size \u00f6nemli \u00f6l\u00e7\u00fcde esneklik ve ba\u011f\u0131ms\u0131zl\u0131k kazand\u0131r\u0131r. B\u00fcy\u00fck bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131n \"kilitleme\" etkilerinden ka\u00e7\u0131nabilir, veri egemenli\u011fi gereksinimlerini daha kolay kar\u015f\u0131layabilir ve b\u00fct\u00e7enizi daha stratejik alanlara y\u00f6nlendirebilirsiniz. Hetzner'in AB merkezli altyap\u0131s\u0131 sayesinde, GDPR gibi d\u00fczenlemelerle uyumlu kalarak, verilerinizin AB s\u0131n\u0131rlar\u0131 i\u00e7inde kalmas\u0131n\u0131 ve AB yasalar\u0131na tabi olmas\u0131n\u0131 sa\u011flayabilirsiniz.<\/p>\n<p>Elbette, bu \u00e7\u00f6z\u00fcm\u00fcn baz\u0131 s\u0131n\u0131rlamalar\u0131 da vard\u0131r. B\u00fcy\u00fck \u00f6l\u00e7ekli, k\u00fcresel eri\u015filebilirli\u011fi olan veya \u00e7ok y\u00fcksek trafikli uygulamalar i\u00e7in, b\u00fcy\u00fck bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131n sundu\u011fu sofistike k\u00fcresel altyap\u0131lar ve tam otomasyon avantajlar\u0131 daha cazip olabilir. Ancak, k\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli i\u015fletmeler, yeni ba\u015flayan giri\u015fimler, geli\u015ftirme ve test ortamlar\u0131 veya hassas verilere sahip projeler i\u00e7in Hetzner \u00fczerindeki kendi \u00e7\u00f6z\u00fcm\u00fcn\u00fcz, ideal bir denge noktas\u0131 sunar. Bu, sadece bir teknik uygulama de\u011fil, ayn\u0131 zamanda dijital egemenli\u011fe do\u011fru at\u0131lan bilin\u00e7li bir ad\u0131md\u0131r.<\/p>\n<h3>S\u0131k\u00e7a Sorulan Sorular (SSS)<\/h3>\n<h4>\u20ac3 Hetzner sunucusu hangi t\u00fcr uygulamalar i\u00e7in yeterlidir?<\/h4>\n<p>\u20ac3'l\u00fck Hetzner CX11 sunucusu, d\u00fc\u015f\u00fck-orta trafikli web siteleri, ki\u015fisel bloglar, k\u00fc\u00e7\u00fck e-ticaret siteleri, API arka u\u00e7lar\u0131, geli\u015ftirme\/test ortamlar\u0131 ve ba\u015flang\u0131\u00e7 a\u015famas\u0131ndaki mobil uygulamalar gibi senaryolar i\u00e7in yeterlidir. G\u00fcnl\u00fck birka\u00e7 y\u00fcz ila birka\u00e7 bin veritaban\u0131 i\u015flemi ve s\u0131n\u0131rl\u0131 e\u015f zamanl\u0131 kullan\u0131c\u0131 say\u0131s\u0131 olan uygulamalar i\u00e7in ideal bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/p>\n<h4>Y\u00fcksek trafikli bir site i\u00e7in bu yakla\u015f\u0131m uygun mu?<\/h4>\n<p>Hay\u0131r, y\u00fcksek trafikli (\u00f6rne\u011fin g\u00fcnl\u00fck y\u00fcz binlerce veya milyonlarca istek alan) bir site i\u00e7in tek bir \u20ac3'l\u00fck sunucu yetersiz kalacakt\u0131r. Bu t\u00fcr senaryolarda Hetzner'in daha g\u00fc\u00e7l\u00fc sunucular\u0131n\u0131 (dikey \u00f6l\u00e7ekleme) veya birden fazla sunucu kullanarak veritaban\u0131 replikasyonu, sharding gibi yatay \u00f6l\u00e7ekleme \u00e7\u00f6z\u00fcmlerini d\u00fc\u015f\u00fcnmeniz gerekir. B\u00fcy\u00fck bulut sa\u011flay\u0131c\u0131lar\u0131n\u0131n k\u00fcresel da\u011f\u0131t\u0131k sistemleri bu durumda daha uygun olabilir.<\/p>\n<h4>Y\u00f6netilen veritaban\u0131 hizmeti kurmak ne kadar teknik bilgi gerektirir?<\/h4>\n<p>Bu makalede a\u00e7\u0131klanan ad\u0131mlar\u0131 uygulamak i\u00e7in temel Linux komut bilgisi, SSH kullan\u0131m\u0131 ve veritaban\u0131 y\u00f6netim sistemlerinin (PostgreSQL veya MySQL) temel prensipleri hakk\u0131nda bilgi sahibi olmak gerekir. Ayr\u0131ca, g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmas\u0131, cron jobs olu\u015fturma ve temel betik yazma becerileri de faydal\u0131 olacakt\u0131r. Orta seviye bir geli\u015ftirici veya sistem y\u00f6neticisi i\u00e7in y\u00f6netilebilir bir s\u00fcre\u00e7tir.<\/p>\n<h4>Hetzner'in kendi y\u00f6netilen veritaban\u0131 hizmeti yok mu?<\/h4>\n<p>Evet, Hetzner, yak\u0131n zamanda Managed Databases (Y\u00f6netilen Veritabanlar\u0131) hizmetini duyurmu\u015ftur. Bu hizmet, PostgreSQL ve MySQL gibi veritabanlar\u0131n\u0131 y\u00f6netilen bir hizmet olarak sunar ve yedekleme, \u00f6l\u00e7eklendirme gibi operasyonel y\u00fckleri Hetzner'in \u00fcstlenmesini sa\u011flar. Bu makale, Hetzner'in kendi y\u00f6netilen hizmeti olmasa bile, ayn\u0131 hizmeti manuel olarak nas\u0131l olu\u015fturabilece\u011finizi veya mevcut Hetzner hizmetine bir alternatif veya tamamlay\u0131c\u0131 olarak kendi kontrol\u00fcn\u00fczde nas\u0131l bir \u00e7\u00f6z\u00fcm kurabilece\u011finizi g\u00f6stermektedir. Kendi \u00e7\u00f6z\u00fcm\u00fcn\u00fcz\u00fc kurmak, maliyetleri daha da d\u00fc\u015f\u00fcrme ve baz\u0131 spesifik yap\u0131land\u0131rmalar \u00fczerinde tam kontrol sa\u011flama potansiyeli sunar.<\/p>\n<h4>AB d\u0131\u015f\u0131ndan eri\u015fim veri egemenli\u011fini nas\u0131l etkiler?<\/h4>\n<p>Verileriniz fiziksel olarak bir AB \u00fclkesindeki Hetzner sunucusunda bar\u0131nsa bile, e\u011fer bu verilere AB d\u0131\u015f\u0131ndan eri\u015fim sa\u011flan\u0131yorsa (\u00f6rne\u011fin ABD'deki bir geli\u015ftirici ekibi taraf\u0131ndan), bu durum veri aktar\u0131m\u0131 olarak kabul edilir ve GDPR'\u0131n ilgili maddeleri (B\u00f6l\u00fcm V - \u00dc\u00e7\u00fcnc\u00fc \u00dclkelere veya Uluslararas\u0131 Kurulu\u015flara Ki\u015fisel Veri Aktar\u0131m\u0131) devreye girer. Bu durumda, standart s\u00f6zle\u015fme maddeleri (SCC'ler) veya di\u011fer ge\u00e7erli aktar\u0131m mekanizmalar\u0131 gibi uygun \u00f6nlemlerin al\u0131nmas\u0131 gerekebilir. Veri egemenli\u011fi, sadece fiziksel lokasyon de\u011fil, ayn\u0131 zamanda veriye kimin, hangi ko\u015fullarda ve hangi yasalara tabi olarak eri\u015febildi\u011fi ile de ilgilidir.<\/p>\n<p><\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Hetzner&#8217;in uygun fiyatl\u0131 sunucular\u0131nda nas\u0131l y\u00f6netilen bir veritaban\u0131 hizmeti kurabilece\u011finizi ke\u015ffedin. AB bulut egemenli\u011fini sa\u011flarken maliyetleri d\u00fc\u015f\u00fcr\u00fcn ve&hellip;","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":[1],"tags":[],"class_list":{"0":"post-36157","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","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>Uygun Maliyetli AB Veri Egemenli\u011fi: Hetzner ile Y\u00f6netilen DB<\/title>\n<meta name=\"description\" content=\"Hetzner&#039;in uygun fiyatl\u0131 sunucular\u0131nda nas\u0131l y\u00f6netilen bir veritaban\u0131 hizmeti kurabilece\u011finizi ke\u015ffedin. AB bulut egemenli\u011fini sa\u011flarken maliyetleri d\u00fc\u015f\u00fcr\u00fcn ve veri g\u00fcvenli\u011finizi art\u0131r\u0131n.\" \/>\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\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Uygun Maliyetli AB Veri Egemenli\u011fi: Hetzner ile Y\u00f6netilen DB\" \/>\n<meta property=\"og:description\" content=\"Hetzner&#039;in uygun fiyatl\u0131 sunucular\u0131nda nas\u0131l y\u00f6netilen bir veritaban\u0131 hizmeti kurabilece\u011finizi ke\u015ffedin. AB bulut egemenli\u011fini sa\u011flarken maliyetleri d\u00fc\u015f\u00fcr\u00fcn ve veri g\u00fcvenli\u011finizi art\u0131r\u0131n.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-09T08:31:15+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=\"30 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Uygun Maliyetli AB Veri Egemenli\u011fi: Hetzner ile Y\u00f6netilen DB\",\"datePublished\":\"2025-12-09T08:31:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/\"},\"wordCount\":5523,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/\",\"name\":\"Uygun Maliyetli AB Veri Egemenli\u011fi: Hetzner ile Y\u00f6netilen DB\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-09T08:31:15+00:00\",\"description\":\"Hetzner'in uygun fiyatl\u0131 sunucular\u0131nda nas\u0131l y\u00f6netilen bir veritaban\u0131 hizmeti kurabilece\u011finizi ke\u015ffedin. AB bulut egemenli\u011fini sa\u011flarken maliyetleri d\u00fc\u015f\u00fcr\u00fcn ve veri g\u00fcvenli\u011finizi art\u0131r\u0131n.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Uygun Maliyetli AB Veri Egemenli\u011fi: Hetzner ile Y\u00f6netilen DB\"}]},{\"@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":"Uygun Maliyetli AB Veri Egemenli\u011fi: Hetzner ile Y\u00f6netilen DB","description":"Hetzner'in uygun fiyatl\u0131 sunucular\u0131nda nas\u0131l y\u00f6netilen bir veritaban\u0131 hizmeti kurabilece\u011finizi ke\u015ffedin. AB bulut egemenli\u011fini sa\u011flarken maliyetleri d\u00fc\u015f\u00fcr\u00fcn ve veri g\u00fcvenli\u011finizi art\u0131r\u0131n.","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\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/","og_locale":"tr_TR","og_type":"article","og_title":"Uygun Maliyetli AB Veri Egemenli\u011fi: Hetzner ile Y\u00f6netilen DB","og_description":"Hetzner'in uygun fiyatl\u0131 sunucular\u0131nda nas\u0131l y\u00f6netilen bir veritaban\u0131 hizmeti kurabilece\u011finizi ke\u015ffedin. AB bulut egemenli\u011fini sa\u011flarken maliyetleri d\u00fc\u015f\u00fcr\u00fcn ve veri g\u00fcvenli\u011finizi art\u0131r\u0131n.","og_url":"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-09T08:31:15+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"30 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Uygun Maliyetli AB Veri Egemenli\u011fi: Hetzner ile Y\u00f6netilen DB","datePublished":"2025-12-09T08:31:15+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/"},"wordCount":5523,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/","url":"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/","name":"Uygun Maliyetli AB Veri Egemenli\u011fi: Hetzner ile Y\u00f6netilen DB","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-09T08:31:15+00:00","description":"Hetzner'in uygun fiyatl\u0131 sunucular\u0131nda nas\u0131l y\u00f6netilen bir veritaban\u0131 hizmeti kurabilece\u011finizi ke\u015ffedin. AB bulut egemenli\u011fini sa\u011flarken maliyetleri d\u00fc\u015f\u00fcr\u00fcn ve veri g\u00fcvenli\u011finizi art\u0131r\u0131n.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/uygun-maliyetli-ab-veri-egemenligi-hetzner-ile-yonetilen-db\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Uygun Maliyetli AB Veri Egemenli\u011fi: Hetzner ile Y\u00f6netilen DB"}]},{"@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\/36157","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=36157"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/36157\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=36157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=36157"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=36157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}