Bilmek istediğin her şeye ulaş

Veri Tabanı

Veri tabanı düzenli bilgiler topluluğudur. Kelimenin anlamı bilgisayar ortamında saklanan düzenli verilerle sınırlı olmamakla birlikte, daha çok bu anlamda kullanılmaktadır. Bilgisayar terminolojisinde, sistematik erişim imkânı olan, yönetilebilir, güncellenebilir, taşınabilir, birbirleri arasında tanımlı ilişkiler bulunabilen bilgiler kümesidir. Bir başka tanımı da, bir bilgisayarda sistematik şekilde saklanmış, programlarca işlenebilecek veri yığınıdır.

Haziran 2014

Hakan Köse  yeni bir  gönderide  bulundu.

SQL Server maksimum ve minimum RAM düzeyi

SQL Server ayarlarında genellikle gözden kaçan ufak bir düzenlemeyi buraya not etmek istiyorum. Aslında bu bilgi çok çok uzun zamanın öncesinin konusu ancak yine de bundan sonra herkes faydalanabilsin ve arandığında burada bulunsun.

Normalde, eğer sunucunuzun donanım seviyesi ile SQL Server versiyonu arasında mantıklı bir bağ yok ise donanımınızı arttırmanız gerekir. Donanımınız yeterli sayılabilecek durumda ise ayarları düzeltmekte fayda var.

SQL Server çok fazla RAM tüketiyor
SQL Server bu RAM tüketimini daha çok "Buffer Pool" gerçekleştiriyor ve bunun bir üst limiti "varsayılan ayarlarda" yok. Yani, işletim sisteminin daha stabil çalışabilmesi için gereken hafıza dahil olmak üzere zamanla SQL Server hafıza sömürmeye başlıyor. Sunucuyu restart edince durum düzeliyor ancak zamanla yeniden aynı durum oluşuyor.

Bu durumda SQL Server Management Studio ile sunucuya bağlanıp şu ayarı yapmanız gerekiyor:

Server Sağ tık -> Properties (Ayarlar) -> Memory

3327


Buradaki ayarlardan "Server Memory Options" kısmında "Maximum server memory (in MB) " ayarlaması varsayılan olarak çok yüksek bir rakam olarak belirlenmiş (sınırsız hafızaya karşılık gelecek biçimde) . Bunu kendi fiziksel donanımınıza göre uygun bir değere limitlemeniz gerekir.

Maksimum RAM limitini nasıl belirlerim?
Çok genel olsa da internette benim de aklıma yatan şöyle bir öneri tablosu bulmuştum, hemen onu paylaşayım:

Fiziksel RAM - Max. RAM Ayarı
2GB - 1500
4GB - 3200
6GB - 4800
8GB - 6400
12GB - 10000
16GB - 13500
24GB - 21500
32GB - 29000
48GB - 44000
64GB - 60000
72GB - 68000
96GB - 92000
128GB - 124000

Bu ayarlamayı yaptığınızda sunucu çok daha stabil çalışacaktır.

Aynı ayarlamayı ayrıca T-SQL komutu ile de şu şekilde yapabilirsiniz:

-- Turn on advanced options
EXEC sp_configure 'Show Advanced Options',1;
GO
RECONFIGURE;
GO
-- Set max server memory = 3072MB
EXEC sp_configure 'max server memory (MB)',3072;
GO
RECONFIGURE;
GO
-- See what the current values are
EXEC sp_configure;


Umarım faydalı olur bu bilgiler, çünkü bazı bilgiler basittir ama hayat kurtarır :)
Aralık 2013

Goul Chakir Katsapoulos, bir soruya yanıt verdi.

USİS neyin kısaltmasıdır?

united states information service
Kasım 2013

Eski Inploider, bir soruya yanıt verdi.

Sql Server'da kayıtlar içerisinde oluşan Türkçe karakter hatasını nasıl düzeltebilirim?

Sql Server tarafında başlangıçta veritabanı oluştururlurken dikkat edilmesi gereken Collation Settings ayarı var öncelikle bu kontrol edilmelidir.

"Collation Settings ayarı ile Sql Server'da verilerin sıralanmasını hangi karakter setine göre yapılacağı, sorgulayacağı ve saklayacağı belirlenir. Karakter seti Amerikan Standart Karakterleri (ANSI) dışındaki karakterlerle ilgili olarak sunucunun nasıl davranacağını belirler. Örneğin Colltion'ı Türkçe olarak ayarlanmamış bir Sql Server'da "ş" harfi "s"den sonra değil "z"den sonra gelecektir. " Kadir Çamoğlu'nun Sql Server kitabından.

MsSQL (Microsoft SQL Server)
Mevcut verilerin az ise elle düzeltmek bir seçenek ancak her zaman bunu yapamayabiliriz. Bu yüzden hangi Türkçe karaktere karşılık hangi hatalı karakter üretiliyor bunu tek tek tespit etmelisin.
Örneği Ş harfi yerine $% gibi bir karakter geldiğini ü yerine de {/* gibi bir şey yazıldığını tek tek tespit etmelisin.


Türkçe karakterlerin ğ, ü, ş, ç, ö, ı tek tek veritabanına ne şekilde hatalı kaydedildiğini tespit ettikten sonra ve collation Settngs ayarını düzelttikten sonra da veritabanı üzerinde gerekli düzeltmeye yapacak kodunu yazıp replace metodu ile hatalı olan karakterlerin yerine türkçe karakterleri yazabilirsin.

Şöyle bir yol izlenebilir.
Her kayıt içinde bu karakterlerden olup olmadığını search eden bir sorgun olabilir ve eğer varsa bu replace işlemini yapan metodun içerisine girip gerekli işlemi yapabilir.

Ben böyle bir replace işlemine kalkışacak olsaydım öncelikle veritabanını yedek alır ve aynı veritabanının bir kopyasını alarak development ortamında test ederek çalışırdım. Her şeyden emin olduktan sonra canlı db üzerinde servisleri durdurduktan sonra işlem yapardım.

Replace dışında sadece collation ayarlarını değiştirmek yeterli midir bunu kendi makinamda denemeye çalıştım ama olmadı
Ekim 2013

Eski Inploider, bir soruya yanıt verdi.

MySQL varken hem de lisans ücreti yokken, MSSQL tercih edilmesinin sebepleri nelerdir?

MSSQL kullanan bir developer için development maliyeti sıfırdır. Sql Express ile geliştirme maliyetiniz hiç yok. Hatta Sql Express'i projenizin yayınlandığı sunucuda da kullanabilirsiniz. Yanılmıyorsam en son SqlExpress ile 8GB'a kadar veri saklayabiliyordunuz ücretsiz. Daha fazlası için lisanslı olan Sql Server'a geçmeniz gerekiyor. 8GB'lık bir veritabanı büyüklüğü de standart bir web ajansının onlarca orta ölçekli web projelerinin veritabanı için fazlasıyla yeterli. Ortada "big data" ile çalışılan bir durum olmadıkça.

Ayrıca Microsoft'un "Biz Spark" programı çerçevesinde işletmelere ücretsiz sunduğu lisanslar var. Bunlar içinde Sql Server standart ya da üzeri sürümü de var diye hatırlıyorum. Yani bir süre bu desteği de alıyorsunuz.

Bu yüzden MySql ve MsSql karşılaştırması yapılırken ücretli/ücretsiz konusundaki bir karşılaştırma bence önemini yitirdi.

Eğer sıfırdan kendiniz bir sunucu kuruyorsanız belki o zaman karşılaşacağınız bir konu olabiliyor lisanslama. Bu da başlangıç için Sql Express ile başlanıp daha sonra Biz Spark programı çerçevesinde diğer destekleri arkanıza aldığınızda ne zaman lisans almaya ihtiyaç duyarsınız gerçekten bir zaman biçemiyorum.


Freelance developerlar ya da web ajanslarında yazılım evlerinde yapılan orta ölçekli işler için SqlExpress kurulu bir server fazlasıyla yeterli.
Ekim 2013

Sinan, bir soruya yanıt verdi.

Veri girişi ile kullanıcılar tarafından devamlı güncellenen ve veri eklenen veritabanındaki bir tablonun, indekslenmesi uygun mudur?

Elinizde, index oluşturmak için, sistem araçları yoksa, başvurularak yegane kaynak, update ve select cümlecikleridir. Bü cümleciklerin where kısmındaki sütunları kullanarak, tekli, ikili, ... indexler yaratabilirsiniz. Verinin select edilmesi her zaman update/insertten daha yoğundur, o yüzden index'in oluşturacağı minimum yavaşlık, sorgulardaki iyileşmenin yanında göze çarpmaz.
Eylül 2013

Özge Tığlı Kılıç, bir soruya yanıt verdi.

İnternetin çalışmasını sağladığı düşünülen LAMP yığını nedir?

LAMP YIĞINI (LAMP software bundle): İnternet Teknolojileri
  • Linux
  • Apache
  • MySql
  • Php, Perl, Python
Yazılımlarının baş harfleri baz alınarak oluşturulmuş, açık kaynak kodlu, bağımsız yazılımcılar tarafından sürekli geliştirilen ve test edilen, en önemlisi birbiriyle son derece uyumlu yazılım demetinin adıdır.
Daha fazla

40 kişi

Konunun Takipçileri

Alt Konu Başlıkları

Henüz bu konu başlığı ile ilgili konular bulunmuyor.