İçeriğe geç
MariaDB / MySQL

MySQL; 1995’te başlamış, 2008’de Sun (sonra Oracle) tarafından satın alınmış, web ekosisteminin yıllarca temel direği olan açık-kaynak ilişkisel veritabanı sistemidir. MariaDB, MySQL’in orijinal yaratıcısı Monty Widenius tarafından 2009’da topluluk tabanlı bir fork olarak başlatılmış; bugün tamamen açık-kaynak, daha hızlı sürüm kadansı ve Galera Cluster gibi yerleşik özellikleriyle kurumsal kullanımda öne çıkıyor.

LAMP yığını, WordPress / Magento / Moodle gibi onlarca olgun açık-kaynak uygulamasının tercih ettiği veritabanı olduğu için yetenekli operatör havuzu büyük; modern özellikler (window functions, CTE, JSON tipi) son sürümlerde gelmiş olsa da ekosistem geçmişin teknik borcunu hâlâ taşır.

Mono’nun yaklaşımı

Mono müşterilerimizin %70’i yeni projelerde PostgreSQL’e geçiyor; mevcut MariaDB/MySQL kurulumları için ise:

  • Versiyon: MariaDB 10.11 LTS veya 11.4 LTS (yeni); MySQL tarafında 8.0 LTS.
  • HA: MariaDB Galera Cluster (3 veya 5 node) veya primary-replica + ProxySQL/HAProxy.
  • Replication: GTID-based (manual binlog koordinatları yerine); semi-sync kritik veri için.
  • Yedekleme: mariabackup/xtrabackup + binlog; pgBackRest dengi olmasa da operatör scripti + S3.
  • Connection pooling: ProxySQL (read/write split + query cache + sharding hazırlığı). Uygulama tarafı her zaman pool kullanır.
  • Karakter seti: utf8mb4 + utf8mb4_0900_ai_ci (MySQL) veya utf8mb4_unicode_ci (MariaDB). Eski utf8 (3-byte) kabul edilemez.

Tipik üretim mimarisi

Mono’nun standart kurulumu:

  1. UygulamaProxySQL (read/write split, query cache).
  2. ProxySQL → MariaDB cluster (Galera 3 node veya primary + 2 replica).
  3. mariabackup ile günlük + binlog retention; off-site S3.
  4. Read replica raporlama/analitik (ana cluster’dan ayrı).
  5. PMM (Percona Monitoring) veya mysqld_exporter + Grafana.

Yaygın sorunlar ve çözümler

  • Yavaş ALTER TABLE: Online DDL kullanın (ALGORITHM=INPLACE, LOCK=NONE); büyük tablolarda gh-ost veya pt-online-schema-change.
  • Too many connections: ProxySQL ile pool; uygulama tarafı idle_timeout‘u kısalt.
  • Replication lag: Single-threaded SQL thread bottleneck. Parallel replication (slave_parallel_workers > 0) veya GTID + multi-source.
  • InnoDB log dolması: innodb_log_file_size artırılır (24h veri büyüklüğüne uygun).
  • Yavaş sorgular: slow_query_log + pt-query-digest ile profil; explain plan + index önerileri.

İlgili hizmetlerimiz

Sıkça sorulan sorular

MariaDB mi MySQL mi?
Yeni projeler için MariaDB öneriyoruz: tamamen açık-kaynak yönetişim, daha hızlı sürüm kadansı, Galera Cluster entegrasyonu native. Oracle MySQL ekosistem entegrasyonuna ihtiyaç olan kurumlarda (örn. Oracle Cloud / belirli ticari ürünler) MySQL tercih edilebilir.
InnoDB mi başka bir engine mi?
Genel kural: InnoDB. ACID + foreign key + crash recovery + row-level locking. MyISAM yalnızca özel durumlarda (yoğun read, full-text) kalmıştır ve onun yerine modern InnoDB full-text veya Elasticsearch ihtiyacı karşılar.
Galera Cluster ne zaman?
Sync multi-primary gerekiyorsa (örn. coğrafi olarak yakın 2-3 bölge, write konfliği nadir). Async replication yeterli olduğunda primary-replica basitlik kazandırır. Galera 3-5 node arası; yazma performansı tek node’a göre düşebilir, latency yazımlarda primary olur.
Yedekleme stratejisi?
mariabackup veya xtrabackup ile online tam + diferansiyel; binlog ile point-in-time recovery; off-site S3 kopyası. Mono varsayılanı: günlük tam + saatlik diferansiyel + 7 gün binlog retention.

Bir sonraki dönüşümü birlikte planlayalım.

Ekibimiz teknik gereksinimlerinizi anlamak ve hızlıca prototip çıkarmak için hazır.

Bir sonraki dönüşümü birlikte planlayalım.

Ekibimiz teknik gereksinimlerinizi anlamak ve hızlıca prototip çıkarmak için hazır.