- Veri tabanı›
- Amazon RDS›
- MySQL İçin Amazon RDS
MySQL nedir?
MySQL nedir?
MySQL; pek çok popüler web sitesi, uygulama ve ticari ürün için birincil ilişkisel veri deposu işlevi görür. 25 yıldan uzun bir süredir topluluktan güç alan geliştirme ve destek sayesinde güvenilir, istikrarlı ve güvenli bir sorgu dili (SQL) tabanlı veri tabanı yönetim sistemidir.
MySQL veri tabanı; görev açısından kritik uygulamalar ve dinamik web siteleri dâhil olmak üzere çok çeşitli kullanım örnekleri için uygundur. MySQL aynı zamanda basitliği ve güvenilirliği nedeniyle modern uygulamalar için popüler bir SQL motorudur. Uygulama geliştiricileri, basit bir istemci-sunucu arabirimine sahip ve daha hızlı devreye alınabilen bir motor kazanır; kuruluşlar, eğitim maliyetlerinden tasarruf eder.
AWS, tam olarak yönetilen veri tabanı hizmeti MySQL İçin Amazon Relational Database Service (RDS) dahil olmak üzere çeşitli şekillerde MySQL'i destekler. Amazon Aurora MySQL Uyumlu Sürüm de MySQL kullanılarak oluşturulmuştur ve Amazon RDS, popüler MySQL yan projesi olan MariaDB'i desteklemektedir.
MySQL yazılımını Amazon EC2'de barındırabilir ve veri tabanını kendi kendinize yönetebilir ya da AWS Marketplace'teki üçüncü taraf MySQL tekliflerine göz atabilirsiniz.
MySQL'in Tarihçesi
MySQL Server'in ilk sürümü; David Axmark, Allan Larsson ve Michael Widenius'un kurduğu İsveçli MySQL AB şirketi tarafından 1995 yılında piyasaya sürüldü. MySQL, adını Widenius'un My adlı kızından alıyor. MySQL projesi, 2000 yılında GNU Genel Kamu Lisansı (GPL) altında açık kaynak olarak yayınlandı.
2001 yılına gelindiğinde MySQL 2 milyondan fazla aktif kuruluma ulaşmıştı. 2004 yılına gelindiğinde ise yazılım günde 30.000'den fazla kez indiriliyordu. MySQL, 2008 yılında Sun Microsystems tarafından satın alındı. Ardından Oracle 2009'da Sun'i satın aldığında MySQL'in de mülkiyetini devralmış oldu.
MySQL veri tabanını kullanmanın avantajları
Kullanım kolaylığı
MySQL veri tabanı; hem kullanım kolaylığı hem de tetikleyiciler, depolanmış prosedürler ve güncellenebilir görünümler gibi üretkenlik özellikleri nedeniyle web geliştiricilerinin beğenisini kazanmıştır. MySQL; bir yedekleme programı olan mysqldump, yönetimsel bir istemci olan mysqladmin, ayrıca yönetim ve geçiş çalışmaları için bir GUI olan MySQL Workbench gibi yardımcı programları içerir.
Performans
Zamanla MySQL; dizin sıkıştırmalı B-ağacı disk tabloları, iş parçacığı tabanlı bellek tahsisi ve optimize edilmiş iç içe döngü birleştirmeleri gibi özelliklerle performans yeteneklerini artırmıştır. Depolama motorundaki satır düzeyinde kilitleme ve tutarlı okumalar, MySQL'e çok kullanıcılı eş zamanlılık için ek performans avantajları sağlar. MySQL, minimum özellik kümesiyle temel işlevsellik sağlayarak daha hızlı performans için tasarım uygulamalarını takip ve teşvik eder.
Güvenilirlik ve güvenlik
MySQL'in InnoDB işlemsel depolama motoru; zaman içinde nokta kurtarma ve otomatik işleme dâhil olmak üzere veri korumasını iyileştiren ek yeteneklerle ACID modeline uyum sağlar. InnoDB, yabancı anahtar kısıtlamalarını destekleyerek tablolar arasında veri tutarsızlıklarını önler ve veri bütünlüğü sunar.
MySQL, ana sunucu tabanlı doğrulama ve parola trafiğinin şifrelenmesi gibi güçlendirilmiş ve esnek güvenlik özellikleri içerir. InnoDB, iki katmanlı şifreleme anahtarı mimarisi kullanan beklemedeki veri tablo alanı şifrelemesi ile ek güvenlik avantajları sunar.
Açık kaynak lisansı
MySQL'e, yüklediğinizde kaynak kodunu özgürce kullanmanıza ve değiştirmenize izin veren açık kaynak lisansı (GNU Genel Kamu Lisansı) altında erişilebilir. MySQL İçin Amazon RDS gibi MySQL'in yönetilen sürümleri, tescilli SQL motorlarının aksine MySQL motoru için ek lisanslama maliyeti talep etmez.
MySQL'in katkıda bulunanlardan ve meraklılardan oluşan geniş ve küresel topluluğu, veri tabanı sistemini kullanmaya uzun vadeli birçok ek avantaj sağlar. Örneğin, MySQL topluluğu, güvenlik sorunlarını ve hata düzeltmelerini takip ederek yazılımın genel dayanıklılığına katkıda bulunur. MySQL kullanıcı grupları, etkinlikler, forumlar ve posta listeleri; eğitim ve destek için yerleşik bir ağ sağlar.
MySQL için popüler kullanım örnekleri
Genel amaçlı OLTP veri tabanı
MySQL; görev açısından kritik uygulamalar ve yoğun trafiğe sahip web siteleri dâhil olmak üzere işlemsel bir SQL motoru gerektiren her uygulama için idealdir. MySQL, ACID ilkelerine bağlıdır ve ANSI/ISO Standart SQL uzantılarının yanı sıra XML ve JSON desteği içerir.
MySQL ayrıca yüksek erişilebilirliğe sahip veri tabanı kümelemesini destekler ve petabayt boyutlu veri tabanlarını işleyebilir. MySQL veri tabanını kullanan popüler uygulamalar arasında TYPO3, MODx, Joomla, WordPress, phpBB, MyBB ve Drupal bulunur.
E-ticaret uygulamaları
MySQL, e-ticaret platformları için en popüler işlem motorlarından biridir. MySQL özellikle müşteri verilerini, işlemleri ve ürün kataloglarını yönetmede kullanışlıdır.
E-ticaret çözümlerinde MySQL genellikle sipariş verilerini senkronize etmek ve ürün dışı verileri depolamak için belge ve anahtar-değer depoları gibi ilişkisel olmayan diğer veri tabanlarıyla birlikte kullanılır.
LAMP açık kaynak yığını
MySQL, LAMP açık kaynaklı yazılım yığınında (LAMP; Linux, Apache, MySQL ve PHP/Python/Perl anlamına gelir) çalışan sayısız uygulamanın ayrılmaz bir parçasıdır. LAMP, yaygın bir web hizmetleri çözüm yığınıdır. Dinamik web siteleri ve yüksek performanslı web uygulamaları için tercih edilen platform olarak kabul edilir.
MySQL yazılımı yan projeleri
MariaDB
MariaDB, veri tabanının GNU GPL kapsamında ücretsiz ve açık kaynaklı kalması vizyonuyla MySQL'in orijinal geliştiricileri tarafından kurulan MariaDB'nin sağladığı popüler bir MySQL yan projesidir. MariaDB; MySQL'den ayrı tutulursa da kütüphane ikili denkliği, uygulama programlama arabirimleri (API'ler) ile tam eşleştirme ve çeşitli yönetim araçları dâhil olmak üzere yüksek derecede MySQL uyumluluğunu korur. AWS, tam olarak yönetilen veri tabanı hizmeti olan MariaDB İçin Amazon RDS ile birlikte MariaDB'i destekler.
Percona Server
Percona Server, Percona tarafından sağlanan bir diğer popüler MySQL yan projesidir. Percona Server, Percona'nin InnoDB Depolama Motoru yan projesi olan XtraDB'i içerir.
Uygulama geliştirme için dil desteği
MySQL, temel olarak SQL dil desteği sağlar. MySQL ayrıca en önde gelen programlama dillerini ve protokollerini destekleyerek kullanıcılara Python, Java, Perl, Node.js, .NET, PHP, Ruby, Erlang, C/C++, Tcl, ODBC ve Objective-C dilleriyle çalışma olanağı sağlar.
MySQL ile PostgreSQL
MySQL ve PostgreSQL'in her ikisi de popüler açık kaynak ilişkisel veri tabanlarıdır. Geleneksel olarak MySQL hakkında kullanımının kolay ve hızlı olduğu yönünde bir algı mevcutken PostgreSQL hakkında ise zengin özelliklere sahip olduğu ve Oracle gibi ticari veri tabanlarının lisanslı sürümlerine daha fazla benzerlik taşıdığı yönünde bir algı bulunmaktadır. Bununla birlikte, MySQL ve PostgreSQL'in mevcut ana sürümlerinin her ikisi de sorgu performansı, güvenilirlik, güvenlik vb. açısından güçlü birçok özellik ve beceri sunmaktadır. PostgreSQL hakkında daha fazla bilgi edinebilir ve AWS Ücretsiz Kullanım yoluyla Amazon Aurora PostgreSQL veya PostgreSQL İçin Amazon RDS'i deneyebilirsiniz.
AWS'de MySQL barındırma seçenekleri
Amazon EC2'de kendi kendine yönetilen MySQL
Geçmişte ilişkisel veri tabanları şirket içindeydi ve kuruluşlar, veri tabanı iş yüklerinin buluta taşınmaya başladığı dönemde kendi veri tabanlarını çalıştırmak için Amazon EC2'den yararlandı. Bu yaklaşımda; donanım tedarik etme, veri tabanı kurulumu, ince ayar yapma, düzeltme eki uygulama, yedekleme ve MySQL ölçeklenebilirliği gibi şirket içi veri tabanlarının tüm olağan idare görevlerini yönetmeniz gerekir.
Amazon RDS'de tam olarak yönetilen MySQL
Amazon Relational Database Service (Amazon RDS), toplam sahip olma maliyeti karşılığında optimize edilmiş ve yönetilmesi kolay bir ilişkisel veri tabanı hizmetidir. Ayarlanması, çalıştırılması ve talebe göre ölçeklendirilmesi kolaydır. RDS; tedarik, yapılandırma, yedekleme ve düzeltme eki uygulama gibi tekdüze veri tabanı yönetimi görevlerini otomatikleştirir.
RDS, dakikalar içinde yeni bir veri tabanı oluşturmanıza olanak tanır ve veri tabanlarını, ihtiyaçlarını karşılayacak şekilde özelleştirme esnekliği sunar. İki okunabilir yedek, optimize edilmiş yazma ve okuma veya AWS Graviton4 tabanlı bulut sunucuları gibi özelliklerle performansı optimize edebilir ve maliyetleri etkin bir şekilde yönetmek için birden fazla fiyatlandırma seçeneği arasında tercih yapabilirsiniz.
Amazon Aurora MySQL ile Uyumlu Sürüm yardımıyla Modernleştirin
Amazon Aurora, MySQL için küresel ölçekte benzersiz yüksek performans ve erişilebilirlik sunar. Aurora, tam uyumlulukla MySQL'in 5 katı aktarım hızına sahiptir. Aurora; kapsamlı uyumluluk standartları ve kurumsal güvenlik özelliklerinin yanı sıra küresel olarak dağıtılan uygulamalar için destek sunar.
MySQL İçin Amazon RDS'i kullanmaya başlamak çok basittir
1
Amazon RDS'e kaydolun
Amazon RDS Ücretsiz Kullanım'a erişin.
2
Basit eğitimlerle öğrenin
3
Amazon RDS ile oluşturmaya başlayın
Amazon RDS'de MySQL kullanıcı kılavuzunun yardımıyla oluşturmaya başlayın.
MySQL veri tabanı geçiş süreci
Yerel ve üçüncü taraf MySQL veri tabanı geçiş yaklaşımları
SQL döküm ve çoğaltma hizmetleri
MySQL ilişkisel veri tabanı yönetim sistemi geçişine en pratik yerel yaklaşım, bir SQL dökümü gerçekleştirmek ve ardından veri tabanları arasında senkronizasyon sağlamak için çoğaltma etkinlikleri yürütmektir. MySQL'in yerleşik bir yedekleme programı olan mysqldump, MySQL sunucu veri tabanı geçişi için bir altyapı görevi görür. Mysqldump, tüm veri tabanını bir dump dosyasıyla döker ve veri tabanını yeniden oluşturmak için bir dizi SQL ifadesi sağlar. Bu yöntem, hızlı ve kararlı bir internet bağlantınız olduğunda ve veri taşıma süresi kritik olmadığında, boyutu 10 GB'in altında olan bir veri tabanı için kullanışlıdır.
Percona XtraBackup ve Amazon S3
ÖncePercona XtraBackup dosyalarını ve yedeklemeleriniAmazon S3'e aktararak veri tabanı sunucularını kaynak veri tabanından yeni bir MySQL İçin Amazon RDS veya Aurora DB kümesine bire bir taşıyabilirsiniz. Veri yüklemek için bu veri taşıma dönüştürme işlemini kullanmak mysqldump işlevini kullanmaktan önemli ölçüde daha hızlı olabilir.
INFORMATION_SCHEMA Veri Tabanı
Yerleşik INFORMATION_SCHEMA Veri Tabanı, MySQL meta veri gezgini olarak kullanılabilir. Bu MySQL meta veri gezginini AWS DMS Şema Dönüştürme Aracı ile birlikte kullanarak kaynak veri tabanı şemalarınızın hedef veri tabanı şemalarınız ve veri türlerinizle eşleşip eşleşmediğini öğrenebilir, düzeltmeniz gereken boşlukları belirleyebilirsiniz.
Yönetilen MySQL veri taşıma hizmetleri
AWS Database Migration Service
AWS Database Migration Service (DMS); MySQL veri tabanı iş yüklerini bulur, değerlendirir, dönüştürür ve AWS'ye taşır. Böylece manuel düzenleme ve çabayı azaltır. AWS DMS geçiş sihirbazı; Değişiklik Verisi Yakalama (CDC) ile otomatik çoğaltmayı kullanarak hem kaynak hem de hedef altyapıyı seçmenize olanak tanır, otomatik değerlendirme ve hedef nesne önerileri içeren raporlar oluşturur. MySQL ile MySQL arası taşıma işlemlerinde şemaları veya nesne tanımlarını dönüştürmeye gerek yoktur. Verileri taşımadan önce MySQL sunucu veri tabanlarınızdaki bağımlılıkları keşfetmek için AWS Uygulama Keşif Hizmeti'nden yararlanın.
AWS Uygulama Taşıma Hizmeti
Verileri şirket içi MySQL sunucunuzdan EC2'ye taşımak için basit bir olduğu gibi taşıma işlemi gerçekleştiriyorsanız AWS Uygulama Taşıma Hizmeti'ni kullanarak sunucunuzun tamamını EC2'ye taşıyabilirsiniz. Bu tekniği, münferit veri tabanları veya birden çok veri tabanı nesnesi için uygulayabilirsiniz.