İç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.