İçeriğe atla

MyISAM

MyISAM
Geliştirici(ler)Sun Microsystems
PlatformTüm platformlar
TürVeri tabanı motoru
LisansGNU Genel Kamu Lisansı
Resmî sitesihttp://www.mysql.com

MyISAM, MySQL ilişkisel veri tabanı yönetim sisteminin kullandığı ön tanımlı kayıt motorudur. Öncülü ISAM kodu temel alınarak geliştirilen MyISAM birçok yararlı özelliğe sahiptir. Ne var ki, MySQL'in son sürümleri aktarım ve veri tutarlılığı kısıtlamaları desteği sunan ve yüksek eşgüdüm öngören InnoDB'yi yeğlemektedir.

Her MyISAM tablosu sabit disk üzerinde üç ayrı dosyada saklanır. Dosya adları tablo adıyla başlamakta ve dosya türünü belirten bir uzantıyla sonlanmaktadır. MySQL, tablo tanımlarını .frm dosyalarında saklar ancak bu dosya MyISAM motoruna değil sunucuya aittir. Veri dosyası .MYD (MYData), indeks dosyası .MYI (MYIndex) uzantılıdır.

InnoDB ile karşılaştırma

  1. InnoDB, sistem göçmelerinde kayıt dosyalarını yeniden okuyup veri tabanını eski durumuna döndürebilmektedir. MyISAM ise bu işlemi gerçekleştirebilmek için değiştirilmiş tüm tabloları baştan sona taramalıdır. InnoDB'nin veri dosyalarının boyutuna bağlı olmaksızın çalışabilmesi onun büyük veritabanlarında yeğlenmesini zorunlu kılmaktadır.
  2. MyISAM, satır okuma ve yazma işlemlerini önbelleğe almak için işletim sistemine gerek duyarken InnoDB bu işlevi doğrudan motor bünyesinde görmektedir. InnoDB, kirli (değiştirilmiş) veri tabanı sayfalarını işletim sistemine hemen göndermemekte, bu durum zaman zaman hızlandırıcı bir etken olmaktadır.
  3. InnoDB, satırları ana anahtara göre sıralamakta, MyISAM ise bu satırları girildikleri sırada saklamaktadır. Satırların ana anahtara göre sıralanması MS SQL Server'ın "kümelenmiş indeksler" özelliğine ve Oracle'ın "indekse dayalı tablolar" tanımı ile uyumludur. Bu olgu, ana anahtarın ortak sorgularda sıkça geçtiği durumlarda kayda değer hız artışı sağlamaktadır. Örneğin, bir müşterinin banka kayıtları InnoDB'de müşteriye göre öbeklendirilirken MyISAM, son işlem zamanını kullanacaktır. Bu durumda, bir müşterinin banka hesabı geçmişini elde etmek InnoDB'nin daha az zamanını alır. Ne var ki, ana anahtarı kullanmayan ekleme sorguları InnoDB'nin veriyi birçok kez yeniden düzenlemesine neden olacak, bu da başarımı olumsuz etkileyecektir.
  4. InnoDB, sıkıştırma ve kısa satır biçimlerini desteklememektedir. Bu, kullanılan RAM miktarının artmasına yol açabilir.
  5. Tümüyle ACID uyumlu kiplerde çalıştırıldığında InnoDB, sabit diske birkaç aktarımda bir yazmalıdır. Bu, sabit diskin saniyede 200 güncelleme aktarımı kısıtlamasına takılmaktadır. Daha yüksek aktarım hızlarına gerek duyulan durumlarda önbellekli ve yedek pilli sabit disk denetleyicileri kullanılmalıdır. InnoDB, bu etkinin sorun yaratmayacağı kiplerde de çalıştırılabilmektedir. MyISAM'ın aktarım desteğinden yoksun olması bu tür bir sorunla karşılaşmasını engeller.
  6. MyISAM birçok web uygulamasında hala kullanılmaktadır. Bunun nedeni, MyISAM'ın veri tabanı erişimlerinin çoğunluğunun okuma işlemi gerektirdiği durumlarda InnoDB'ye oranla daha hızlı çalışmasıdır.

Kaynakça

Ayrıca bakınız

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">MySQL</span>

MySQL, altı milyondan fazla sistemde yüklü bulunan çoklu iş parçacıklı, çok kullanıcılı, hızlı ve sağlam bir veri tabanı yönetim sistemidir.

SQL, verileri yönetmek ve tasarlamak için kullanılan bir dildir. SQL, kendi bir programlama dili olmamasına rağmen birçok kişi tarafından programlama dili olarak bilinir. SQL herhangi bir veri tabanı ortamında kullanılan bir alt dildir. SQL ile yalnızca veri tabanı üzerinde işlem yapılabilir; veritabanlarında bulunan sistemlere bilgi ekleme, bilgi değiştirme, bilgi çıkarma ve bilgi sorgulama için kullanılmaktadır. Özellikle de ilişkisel veritabanı sistemleri üzerinde yoğun olarak kullanılmaktadır. SQL'e özgü cümleler kullanarak veri tabanına kayıt eklenebilir, olan kayıtlar değiştirilebilir, silinebilir ve bu kayıtlardan listeler oluşturulabilir.

Veritabanları, yapılandırılmış bilgi veya verilerin depolandığı alanlardır. Bilgi artışıyla birlikte bilgisayarda bilgi depolama ve bilgiye erişim konularında yeni yöntemlere ihtiyaç duyulmuştur. Veritabanları; büyük miktardaki bilgileri depolamada geleneksel yöntem olan "dosya-işlem sistemine" alternatif olarak geliştirilmiştir. Telefonlardaki kişi rehberi günlük hayatta çok basit bir şekilde kullanılan veri tabanı örneği olarak kabul edilebilir. Bunların dışında internet sitelerindeki üyelik sistemleri, akademik dergilerin ve üniversitelerin tez yönetim sistemleri de veritabanı kullanımına örnektir. Veritabanları sayesinde bilgilere ulaşılabilir ve onları düzenlenebilir. Veritabanları genellikle bireysel olarak satın alınamayacak kadar yüksek meblağlara sahip olmasına karşın; ücretsiz kullanıma açılan akademik veritabanları da bulunmaktadır. Akademik veritabanları aracılığıyla bazen bibliyografik bilgi bazen de tam metinlere erişmek mümkündür. Veritabanları, veritabanı yönetim sistemleri aracılığıyla oluşturulur ve yönetilir. Bu sistemlere; Microsoft Access, MySQL, IBM DB2, Informix, Interbase, Microsoft SQL Server, PostgreSQL, Oracle ve Sysbase örnek olarak verilebilir.

<span class="mw-page-title-main">PostgreSQL</span> Veri tabanı yönetim sistemi

PostgreSQL ya da Postgres, özgür ve açık kaynak kodlu, SQL destekli bir ilişkisel veritabanı yönetim sistemidir.

Veri tabanı yönetim sistemi, veri tabanlarını tanımlamak, yaratmak, kullanmak, değiştirmek ve veri tabanı sistemleri ile ilgili her türlü işletimsel gereksinimleri karşılamak için tasarlanmış sistem ve yazılımdır. Bu sistemlere örnek olarak MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database ve Microsoft Access gösterilebilir.

<span class="mw-page-title-main">PiSi Paket Yöneticisi</span>

PiSi, 2011.2 sürümüne kadar Pardus'un güncel olarak da Pisi Linux ve Solus'un paket yöneticisidir. Bağımlılıkları takip ederek paket inşa etme, kurma, kaldırma, yükseltme ve benzeri işlevleri yerine getirir. Kullanıcı dostu bir grafiksel arayüz ve kapsamlı bir komut satırı arayüzü içerir. Geliştiriciler için tanıdık ve basit bir geliştirme ortamı sunar.

<span class="mw-page-title-main">İnternet forumu</span> internet üzerinden tartışma platformu

İnternet forumu ya da mesaj panoları, insanların iletiler biçiminde tartışma yürütebileceği platformlardır. Mesajlar genellikle bir satırdan uzun olur, başlıklara ve kategorilere ayrılır. Bu özellikler, forumları diğer sohbet odalarından ayıran özelliklerden bazılarıdır.

<span class="mw-page-title-main">Microsoft SQL Server</span>

Microsoft SQL Server, Microsoft tarafından geliştirilen ve yönetilen bir ilişkisel veritabanı yönetim sistemidir. SQL Server, büyük ve karmaşık veritabanlarını depolamak, yönetmek, sorgulamak ve işlemek için kullanılan bir yazılım ürünüdür. Veri depolama, veri güvenliği, yedekleme, geri yükleme, veri entegrasyonu, analiz ve raporlama gibi çeşitli veritabanı yönetimi işlevlerini destekler.

InnoDB, MySQL AB tarafından dağıtılan tüm paketlerde yer alan standart MySQL veri tabanı motorudur. Sistemi diğer kayıt motorlarından ayıran en önemli özellik ACID uyumlu olması, aktarım ve yabancı anahtar desteği sunmasıdır.

<span class="mw-page-title-main">Disk bölümlendirme</span>

Bölümlere ayırma, bilgisayarda sabit disk üzerinde işletim sistemlerine özgü mantıksal formatlamaya izin veren mantıksal bölümlerin oluşturulması, bilgisayar mühendisliğinde sabit disk sürücüsünün bölümlere ayırılması ile gerçekleştirilir. Diskin bölümlere ayrılması mantıksal hacim yönetiminin önünü açan bir tekniktir.

İlişkisel bütünlük. Herhangi bir tablonun yabancı anahtar kolonunda bulunan her bir değerin referansının bulundugu kaynak tabloda birincil anahtar değeri olarak var olması zorunluluğunu gerektiren özelliğe veri yapılarında ilişkisel bütünlük denir.

<span class="mw-page-title-main">Sistem Geri Yükleme</span>

Sistem geri yükleme, Microsoft Windows'ta kullanıcının bilgisayarlarının durumunu önceki bir zamana geri döndürmesine olanak tanıyan ve sistem sorunlarından kurtulmak için kullanılabilen bir özelliktir.

Veri kurtarma veya Data recovery, cep telefonu, bilgisayar, notebook gibi ikincil depolama cihazlarındaki bilgilerin, herhangi bir nedenle bu bilgilere ulaşılamaması durumunda, bilgilerin yeniden ulaşılabilir hale getirilmesini, bir başka deyişle kaybolmuş bilgilerin geri getirilmesini ifade eder.

<span class="mw-page-title-main">SQL enjeksiyonu</span>

SQL enjeksiyonu, veri tabanına dayalı uygulamalara saldırmak için kullanılan bir atak tekniğidir; burada saldırgan SQL dili özelliklerinden faydalanarak standart uygulama ekranındaki ilgili alana yeni SQL ifadelerini ekler.. SQL enjeksiyonu, uygulamaların yazılımları içindeki bir güvenlik açığından faydalanır, örneğin, uygulamanın kullanıcı giriş bilgileri beklediği kısma SQL ifadeleri gömülür, eğer gelen verinin içeriği uygulama içerisinde filtrelenmiyorsa veya hatalı şekilde filtreleniyorsa, uygulamanın, içine gömülmüş olan kodla beraber hiçbir hata vermeden çalıştığı görülür. SQL enjeksiyonu, çoğunlukla web siteleri için kullanılan bir saldırı türü olarak bilinse de SQL veri tabanına dayalı tüm uygulamalarda gerçeklenebilir.

İlişkisel veritabanı, 1970 yılında Edgar Frank Codd tarafından önerildiği gibi, organizasyonu ilişkisel veri modeline dayanan bir dijital veritabanıdır. İlişkisel veritabanlarını korumak için kullanılan çeşitli yazılım sistemleri bir ilişkisel veritabanı yönetim sistemi (RDBMS) olarak bilinir. Neredeyse tüm ilişkisel veritabanı sistemleri, sorgulama ve veritabanının bakımı için dil olarak SQL(Structured Query Language) kullanmaktadırlar.

Bir veritabanı dizini, veri ve dizinin veri yapısını koruyan ve ek depolama alanı maliyetiyle bir veritabanı tablosundaki veri alma işlemlerinin hızını artıran bir veri yapısıdır. İndeksler, bir veritabanı tablosuna yapılan bütün erişimlerde, veritabanı tablosundaki her satırı tek tek aramaya gerek kalmadan hızlı bir şekilde verileri bulmak için kullanılır. İndeksler, hızlı rastgele aramalarda ve sipariş edilen kayıtların verimli bir biçimde erişimine olanak sağlayan bir veritabanı tablosunun bir veya daha fazla sütunu kullanılarak ve genişletilerek oluşturulabilir.

Navicat, PremiumSoft CyberTech Ltd. tarafından MySQL, MariaDB, Oracle, SQLite, PostgreSQL ve Microsoft SQL Server için üretilen bir grafik veritabanı yönetimi ve geliştirme yazılımı serisidir. Explorer benzeri bir grafik kullanıcı arayüzüne sahiptir ve yerel ve uzak veritabanları için birden fazla veritabanı bağlantısını destekler. Tasarımı, veritabanı yöneticileri ve programcılardan, müşterilere hizmet eden ve iş ortaklarıyla bilgi paylaşan çeşitli işletmeler/şirketlere kadar çeşitli izleyicilerin ihtiyaçlarını karşılamak üzere yapılır.

SQL Server Compact veya SQL CE Mobil cihazlar ve masaüstü uygulamalar için Microsoft tarafından üretilen kompakt bir ilişkisel veritabanıdır. Masaüstü platformunun tanıtımından önce, Windows CE ve SQL Server Mobile Edition için SQL Server olarak biliniyordu. En yeni sürüm SQL Server Compact 4.0, .NET Framework 4.0'ı destekliyor ve bu sürümde Windows Mobile için destek bırakıyor. Hem 32 bit hem de 64 bit yerel desteği içerir. SQL CE zaman zaman bağlı uygulamaları ve uygulamaları gömülü bir veritabanı ile hedefler. İndirmek ve yeniden dağıtmak serbesttir. SQL CE için bir ODBC sürücüsü yoktur ve planlanmamış biridir. Yerel uygulamalar, OLE DB aracılığıyla SQL CE'yi kullanabilir.

Amazon Aurora, Ekim 2014'ten itibaren Amazon Web Services tarafından geliştirilen ve dağıtılan ilişkisel bir veritabanı hizmetidir. Aurora yalnızca, Amazon İlişkisel Veritabanı Hizmeti'nin (RDS) bir parçası olarak kullanılabilir.

Bilgisayar biliminde, bellek içi işleme, bellek içi bir veritabanında depolanan verilerin işlenmesi için gelişen bir teknolojidir. Daha eski sistemler, SQL sorgu dilini kullanan disk depolama ve ilişkisel veritabanlarına dayanıyordu, ancak bunlar iş zekası (BI) ihtiyaçlarını karşılamada giderek yetersiz kalıyor. Depolanan verilere, rastgele erişimli belleğe (RAM) veya flash belleğe yerleştirildiğinde çok daha hızlı erişildiğinden, bellek içi işleme, verilerin gerçek zamanlı olarak analiz edilmesini sağlayarak iş dünyasında daha hızlı raporlama ve karar vermeyi mümkün kılar.