Veri tabanları; depolamaya ihtiyaç duyduğumuz tüm verileri kaydedebilmemizi sağlayan ve bu verilere kolayca erişebilmek, raporlama yapabilmek gibi imkanları sağlayan özel yazılımlardır. Bu yazımızda günümüzün en popüler veritabanlarından MySQL‘i inceleyeceğiz…
MySQL, Yapısal Sorgu Dili‘ne dayanan Oracle destekli ve açık kaynak ilişkisel veritabanı yönetim sistemidir (RDBMS).
MySQL, Linux, UNIX ve Windows dahil olmak üzere neredeyse tüm platformlarda çalışır. Çok çeşitli uygulamalarda kullanılma imkanına rağmen, MySQL çoğunlukla web uygulamaları ve online yayıncılık alanında kullanılmaktadır.
MySQL, LAM olarak adlandırılan açık kaynaklı enterprise oluşumunun önemli bir bileşenidir. LAMP, işletim sistemi olarak Linux, web sunucusu olarak Apache , ilişkisel veritabanı yönetim sistemi olarak MySQL ve nesne odaklı kodlama dili olarak PHP kullanan bir web geliştirme platformudur. (Bazen Perl veya Python yazılım dilleri PHP yerine kullanılabilir.)
Başlangıçta İsveçli MySQL AB şirketi tarafından tasarlanan MySQL, Sun Microsystems tarafından 2008 yılında satın alındı, ardından Oracle 2010 yılında Sun’ı satın aldı. Geliştiriciler MySQL’i GNU Genel Kamu Lisansı altında kullanabilir (GPL), ancak işletmeler Oracle’dan ticari lisans satın almalıdır.
Günümüzde MySQL, dünyanın en iyi web sitelerinin çoğunun ve Facebook, Twitter ve YouTube gibi sayısız kurumsal ve tüketiciye dönük web tabanlı uygulamanın arka planında kullanılan veri tabanı sistemidir.
İçerik Tablosu
MySQL nasıl çalışır?
MySQL, istemci-sunucu modeli üzerine kuruludur. MySQL’in çekirdeği, tüm veritabanı komutlarını (SQL komutları) işleyen MySQL sunucusudur. MySQL sunucusu, istemci-sunucu ağ ortamında kullanılmak üzere ayrı bir program olarak ve ayrı uygulamalara gömülebilen (veya bağlanabilen) bir kütüphane olarak mevcuttur.
MySQL, MySQL veritabanlarının yönetimini destekleyen çeşitli destek programlarla birlikte çalışır. Komutlar, bilgisayarda yüklü MySQL istemcisi aracılığıyla MySQLServer‘a gönderilir.
MySQL ilk olarak büyük veritabanlarını hızlı bir şekilde yönetebilmek için geliştirilmiştir. MySQL genellikle sadece bir makine üzerinde kurulsa da, kullanıcılar farklı MySQL istemci arayüzleri üzerinden veritabanına erişebildiği için veritabanını birden fazla konuma gönderebilir. Bu arayüzler sunucuya SQL sorguları gönderir ve sonuçları görüntüler.
Temel MySQL özellikleri
MySQL, verilerin InnoDB, MyISAM, CSV ve NDB gibi depolama motorları üzerinden saklanmasına ve ulaşılabilmesine izin verir. MySQL, daha iyi performans sunabilmek ve dayanıklılık için verileri ve bölümleme tablolarını çoğaltma yeteneğine de sahiptir.
MySQL kullanıcılarının yeni komutları öğrenmeleri gerekmez; standart SQL komutlarını kullanarak verilerine erişebilirler.
Yeni Başlayanlar için MySQL Hakkında Kısa Bilgiler
MySQL C ve C ++ programlama dillerinde yazılmıştır ve Mac, Windows, Linux ve Unix dahil olmak üzere 20’den fazla platformlarından erişilmekte ve kullanılabilmektedir.
MYSQL, milyonlarca kaydı olan büyük veritabanlarını ve 1, 2, 3, 4 ve 8 bayt uzunluğundaki imzalı veya imzasız tamsayıları destekler; FLOAT, DOUBLE, CHAR, VARCHAR, BINARY, VARBINARY, METİN (STRING), BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, ENUM, ve OpenGIS mekansal türleri gibi. Sabit ve değişken uzunlukta dizi türleri de desteklenmektedir.
Ayrıca İlişkisel veritabanı yapısı sayesinde farklı tablolara kolayca erişim ve bağlantı kurabilmenize olanak tanır. bu sayede kuracağınız veritabanı modeli performnslı bir şekilde çalışacaktır.
Güvenlik için MySQL, hosting sağlayıcı üzerinden doğrulama sağlayan bir erişim sistemi ve şifrelenmiş parola sistemi kullanır. MySQL istemcileri, herhangi bir platformdaki TCP / IP portları da dahil olmak üzere çeşitli protokoller kullanarak MySQL Sunucusuna bağlanabilir. MySQL ayrıca bir dizi istemci ve yardımcı programı, komut satırı programlarını ve MySQL Workbench gibi yönetim araçlarını da destekler.
MySQL’in uzantıları aynı zamanda farklı sürümleri olarak da bilinir, aşağıdakileri içerir:
- Drizzle, MySQL 6.0 tabanlı geliştirme aşamasında olan hafif bir açık kaynaklı veritabanı yönetim sistemidir; Ancak artık kullanılmıyor.
- Mariadb, MySQL API’lerini ve komutlarını kullanan, popüler bir topluluk tarafından geliştirilen MySQL’in bir”drop-in” yedeğidir; ve XtraDB’li Percona Sunucusu, yatay ölçeklenebilirlik özelliği ile bilinen MySQL’in gelişmiş bir sürümüdür.
MySQL İçin Kullanabileceğiniz Programlar
MySQL’i kullanabilmek için öncelikle MySQL Server’ı bilgisayarınıza kurmalısınız. Mysql’i kolayca kullanabilmenizi sağlayan programlar aşağıdaki gibidir.
- XAMPP
- MySQL Workbench
- Wamp Server
- MAMMP ( MAC )
- AMPPS (MAC – Windows)
Bu programlar sayesinde kolayca MySQL’e sahip olabilir, geliştirme ortamınızı hazırlayabilirsiniz. Ayrıca saydığımız programlar paket içeriğine göre PHP, PYTHON, PERL gibi dilleri de varsayılan olarak desteklemektedir.
Web üzerinde kullanacağınız Mysql için ekstra bir kurulum yapmanıza gerek yoktur. IHS Telekom hosting paketlerinde MySQL’i ücretsiz bir şekilde kullanımıza sunmaktadır.
MySQL ve SQL Arasındaki Farklar
2016’dan önce, MySQL ve SQL arasındaki temel fark, MySQL’in birden fazla platformda kullanılabilmesi, SQL’in ise sadece Windows’ta kullanılabilmesiydi. Microsoft, 2017’de yürürlüğe giren bir değişiklik ile Linux’u desteklemek için SQL’in kapsamını genişletti. MySQL, Linux üzerinden kurulduğunda, paket yönetim sistemi güvenlik ve optimizasyon ayarlarını yapmak için özel yapılandırma gerektirmektedir.
MySQL, ayrı tablolar için birden fazla depolama motorunu kullanabildiği için, kullanıcıların herhangi bir tablo için en etkili depolama motorunu seçmelerine izin verir. MySQL’in motorlarından biri InnoDB’dir. InnoDB, yüksek kullanılabilirlik için tasarlanmıştır. Bu nedenle, diğer motorlar kadar hızlı değildir. Ayrıca InnoDB dışında MyIsam adında farklı bir motor da kullanılabilir fakat MyIsam motorunda foreign key desteği olmadığından ilişkisel veritabanı modellerinde kullanılabilmesi mümkün değildir.
SQL kendi depolama sistemini kullanır, ancak veri kaybına karşı birden fazla koruma sağlar. Her iki sistem de yüksek kullanılabilirlik için gruplarla çalışabilir.
SQL Server, çok çeşitli veri analizi ve raporlama araçları sunar. SQL Server Raporlama Servisleri en popüler olan yazılımdır ve ücretsiz olarak indirilebilir.
MySQL için benzer analiz araçları üçüncü taraf yazılım şirketleri tarafından sunulmaktadır, örneğin Crystal Reports XI ve Accuate BIRT gibi.
Diğer Servislerle Uyumluluk
MySQL diğer sistemlerle uyumlu olacak şekilde tasarlanmıştır. MySQL için Amazon RDS , MariaDB için Amazon RDS ve Amazon Aurora için MySQL gibi araçlarla sanallaştırılmış ortamlarda kullanımı destekler. Kullanıcılar AWS Şema Dönüştürme Aracı ve AWS Veritabanı Geçiş Hizmeti gibi veritabanı taşıma araçlarını kullanarak verilerini SQL Server veritabanına aktarabilir.
Sonuç
Mysql veritabanı hızlı bir şekilde kurulup, yönetilebilir ve üstelik ücretsiz olarak kullanabileceğiniz bir veritabanı yönetim sistemi olarak oldukça avantajlıdır. Genellikle web alanında kullanması sebebiyle PHP dili ile özdeşleşmiş olduğundan neredeyse tüm web projelerinde sıklıkla tercih edilmektedir.
Performans ve ihtiyaçlara yönelik çözümleriyle En çok tercih edilen veritabanı sistemidir. Siz de Kendi İhtiyaçlarınıza Yönelik olarak Mysql’i tercih edebilir, geliştirme ortamlarında hızlıca yol almak için projelerinize MySQL’i tercih edebilirsiniz.