bildirgec.org

tayfurboler

11 yıl önce üye olmuş, 22 yazı yazmış. 0 yorum yazmış.

Mysql Cluster

tayfurboler | 30 April 2009 10:33

Mysql Cluster,

Yüksek trafiğe ve yüksek miktarda veri alış verişine sahip bir
database’iniz varsa, ve bu database’iniz ölüp ölüp diriliyorsa
artık cluster’a geçme vakti gelmiş demektir. Cluster kelime anlamı
olarak kümeleme demektir. Mysql Clustering dataları tablo boyutunda,
cluster’e dahil ndb node’larda kümeler halinde tutar. Ve yine bu
node’lar kendi aralarında data kopya tutma işlerini bu şekilde yaparlar.
Yani tabloları farklı fiziksel makinalarda tutup , datanın kopyalarını
oluştururlar. İstenirse kümeye yeni makinalar(ndb node) eklenebilir.
Bu şekilde bir büyüme de sağlanmış olur.

Mysql 6.0.6 ile gelen Maria Depolama Motoru

tayfurboler | 20 April 2009 12:09

Mysql 6.0.6 ile gelen Maria Depolama Motoru

Bu yazımda size Mysql 6.0. versiyonu ile gelen MARIA depolama motoru
hakkında bilgi vermek istiyorum. Maria Table engine’i Myisam’ın
daha güvenli versiyonudur. Myisam ile temel işlevsellik olarak
tam uyumludur fakat çökme durumunda kurtarma desteği mevcuttur.
Maria, Myisamın esneklik kazanmış versiyonudur diyebiliriz.

Eşzamanlı insert ve selectlere yanıt verebilmektedir.

1
CREATE TABLE maria_deneme_table (id int) ENGINE = Maria;

The Falcon Storage Engine (Mysql’de Perfomansın Yeni Adı)

tayfurboler | 17 April 2009 16:02

Mysql 6.0.4 ile Gelen FALCON Depolama Motoru,

FALCON
depoloma motoru (table engine) : modern veritabanı gereksinimlerinde ,
yüksek hacimli Web hizmet uygulamalarında veya yüksek performans gerektiren
ortamlarda kullanılmak üzere tasarlanmıştır.

FALCON
32 bit ve 64 bit Windows sistemlerde, Linux üstünde,
Mac OS X, PowerPC ve Solaris / Linux SPARC platformlarında çalışmaktadır.
Gelecek Mysql sürümlerinde de FALCON ek platformlarda hizmet
vermeyi düşünmektedir. 2 ,4,8 çekirdekli sistemlerde ve 32 bit
sistemlerde de kullanılabilmektedir.

MSSQL Log Temizleme

tayfurboler | 17 April 2009 11:00

MSSQL Log Temizleme,

Bildiğiniz gibi Mssql de datalar .mdf ve .ldf dosyalarında tutulur.
.mdfde datalarınız, .ld de ise loglarınız tutulur.Ama bu log dosyanız
zamanla şişer ve sorun olmaya başlar.Aşırı büyük log dosyasının
dezavantajları sql serverınızın performansında düşüşler başlar. Ve
backuplarınızın boyutları büyümeye başlar.

Mssql de eğer standart bir kurulum yaptıysanız datalarınız
c:Program FilesMicrosoft Sql ServerMSSQL.1MSSQLData
klasörünün altında tutulur.Önce aşağıda vereceğim kodu çalıştımadan
bu klasörün içine gidip .ldfuzantılı dosyanın boyutuna bakın ,
bir yere not edin. Aşağıdaki kodu çalıştırdıktan sonra gidip tekrar
bakın aradaki farkı göreceksiniz.

Linux’da Faydalı Bilgiler

tayfurboler | 14 April 2009 15:23

Linux da Faydalı Bilgiler

Bu makalede linux hakkında birkaç faydalı bilgiyi sizinle paylaşmak istiyorum.
Linux serverlar üstündeki mysql serverınızın yönetiminde sizlere
kolaylık sağlayacaktır.

scp:Datalarınızı bir yerden başka bir yere kopyalamanızı sağlar. Bu kopyalama
işlemi aynı makina içinde de olabilir farklı makinalar arasında da olabilir.

Örnek:

1
scp -r /home/tayfur/ xxx.xxx.xxx.xxx:/var/lib

Mysql Table Partition (LIST Partition Örnekleri)

tayfurboler | 13 April 2009 10:15

Mysql Table Partition (LIST Partition Örnekleri),

Table Partiton Çeşitlerinde List Partition’u şimdi örneklerle anlamaya çalışalım.

List Partition:

Örnek: Aşağıdaki müşteri tablomuzda id,unvan,adi,soyadi,kodu kolonları mevcuttur.
Burada yapmak istediğimiz kodu kolonundaki değerlere göre tabloyu 4 parçaya bölmek.
kodu 1,3,5,7,9,10 olanlar p0 bölümüne, 11,13,15 olanlar p1 bölümüne , 17,19,20 olanlar
p2 bölümüne ,21,23,25 olanlar p3 bölümüne atılacaktır.

1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE TABLE musteri (
id INT NOT NULL,
unvan VARCHAR(30),
adi VARCHAR(30),
soyadi VARCHAR(30),
kodu int
)
PARTITION BY LIST(kodu) (
PARTITION p0 VALUES IN (1,3,5,7,9,10),
PARTITION p1 VALUES IN (11,13,15),
PARTITION p2 VALUES IN (17,19,20),
PARTITION p3 VALUES IN (21,23,25)
);

Bu tabloyu create ettikden sonra insertler geldikçe Mysql, kodu kolonunu değerlerine
göre gelen dataları uygun bölümlere yerleştirecektir.

1
2
PARTITION p3 VALUES IN (21,22,23,24,25) yerine
VALUES LESS THAN(MAXVALUE)

ibaresi kullanarak ta 25 den büyük kodlar gelirse bunları da
p3 bölümünde tutmasını sağlayabiliriz. Aksi durumda siz 26 kodlu bir satır insert
etmeye kalktığınızda uygun partition bulunamadı hatası alırsınız.

Tayfur BÖLER
Database Administrator
www.mysqlsupport.net

Mysql Table Partition (RANGE Partition Örnekleri)

tayfurboler | 07 April 2009 12:20

Mysql Table Partition (RANGE Partition Örnekleri)

Mysql Table Partition 2,

Şimdi örneklerle table partitionu anlamaya başlayalım.


RANGE Partition:
Aşağıdaki örnekte personel isimli tablomuz
id,adi,soyadi,isBasiTarih,isSonuTarih,isKodu kolonlarına sahiptir.
Bu tablomuzda yapmak istediğimiz isKoduna göre
5 den küçük isKodlarına sahip olan satırlar p0 parçasına,
5 ile 10 arası isKodlarına sahip olan satırlar p1 parçasına,
10 ie 15 arası isKodlarına sahip olan satırlar p2 parçasına,
15 ile 20 arası isKodlarına sahip olan satırlar p3 parçasına atılmasıdır.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
CREATE TABLE personel (
id INT NOT NULL,
adi VARCHAR(30),
soyadi VARCHAR(30),
isBasiTarih DATE NOT NULL DEFAULT ‘1970-01-01′,
isSonuTarih DATE NOT NULL DEFAULT ‘9999-12-31′,
isKodu INT NOT NULL
)
PARTITION BY RANGE (isKodu) (
PARTITION p0 VALUES LESS THAN (5),
PARTITION p1 VALUES LESS THAN (10),
PARTITION p2 VALUES LESS THAN (15),
PARTITION p3 VALUES LESS THAN (20)
);

Bu tabloyu yarattıkdan sonra /var/lib/mysql/(db ismi) altına baktığımızda,

Mysql Table Partition

tayfurboler | 06 April 2009 12:14

Mysql Table Partition

Büyük bir tabloyu herhangi bir kolondaki değerlere göre parçalara bölmeye table partition denir.
Table parititon da datalar fiziksel olarak farklı dosyalarda tutulur.Hatta farklı disklerde tutma
sanşımız da vardır.Bu özelliği Mysql 5.1 versiyonu ile kazanmıştır.

1
SHOW VARIABLES LIKE ‘%partition%’;

Mysql Cursor

tayfurboler | 03 April 2009 15:32

Mysql’de Cursor Kullanımı

Kayıtlara satır satır erişmek ve bu kayıtlar üzerinde işlem yapabilmemiz için kullanılır.
Mysql de Cursorlar Stored Procedure,Trigger ve Fonksiyonlarla birlikte kullanılabilirler.
Cursor bir select ifadesi için tanımlanır ve select işleminin sonucunda dönen her sutun için
bir değişken tanımlanır. Ve döngü içine sokularak bu datalar üzerinde istediğimiz işlemi
yaparız. Update , insert , vs gibi.

Şimdi Örnek üzerinde anlamaya çalışalım.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE DEFINER=`root`@`localhost` PROCEDURE `td_albumSongsUpdate`()
BEGIN
DECLARE id_ int;
DECLARE done INT DEFAULT 0;
DECLARE albumID_ varchar(30);
DECLARE cur1 CURSOR FOR SELECT id,albumID FROM Albums;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
OPEN cur1;
REPEAT
FETCH cur1 INTO id_,albumID_;
update td_albumSongs
set as_albumID=albumID_
where as_ID=id_ ;
UNTIL
done
END REPEAT;
close cur1;
END$$

Root userının Call edebileceği `td_albumSongsUpdate` isimli bir procedure
yarattık. Ve procedurun içinde ;

Mysql Mantıksal Operatorler ve Fonksiyonlar 6

tayfurboler | 31 March 2009 13:08

Mysql Mantıksal Operatorler ve Fonksiyonlar 6,

Count() : Verilen alanın kayıtlar arasında kaç defa yazıldığını sayar.

Select count(adi) from personel where adi=’tayfur’;

Bu query de adi tayfur olan kaç kayıt varı buluruz.

Select count(*) from personel where adi=’tayfur’;

Bu query de de adı tayfur olan satır varı buluruz.

Max() : Verilen alanın maximum değerini bulur.

Select max(maas) from peronel;

Bu query de maası en yüksek olanı buluruz.

Min() :Verilen alanın minumum değerini bulur.