ODBC bağlantısı ile SQL Server Performansı

1 2 3
19/09/2016, 06:53

mengene2

Merhaba Arkadaşlar,

Yeni açacağım bir projeyi Access in kendi tabloları değilde Sql Serverda oluşturup Access ile ODBC bağlantısı yaparak çalıştırmak veri girmek, raporlamak ve sorgulamak Access in kendisinden ne kadar daha performanslı olur. 

Bu konuda yaşamış veya bunu test etmiş arkadaşlar fikirlerini yazarsa çok sevinirim. Gerçekten veritabanı olarak Sql Server ı kullanmak performans artışına sebep olabiliyormu. % kaç? performans artışı sağlanıyor.

Saygılarımla,
19/09/2016, 10:59

atoz112

Sayın mengene2,

Bahsettiğiniz talebinize yönelik olarak,aşağıdaki açıklamaların yapılması uygun görülmüştür.

bu açıklamalar,naçizane,beni bağlayan yorumlardır.katılma durumlarının olumlu / olumsuz olması söz konusu olabilir.

Sql Server ve Ms Access üzerine;her ne kadar aynı amaç için kullanım durumları söz konusu olsa da,yine de,her ikisi için kullanım yerleri ve amaçları bakımından farklılıkları söz konusu olmaktadır.

Sql Server;daha çok Kurumsal yönde kullanımlar için tasarlanmış bir sistem olarak kullanılmaktadır.çok gelişkin içeriğe sahip uygulamaların yer aldığı ve bu uygulamalar için yüksek güvenlik önlemlerinin de sağlandığı ve aynı zamanda çoklu kullanımların da yapılacağı sistem yapılandırmaları için önemi ileri düzeydedir.harici kod yazmanıza veya başka bir işlem yapmanıza gerek kalmaksızın,tüm gereksinimler içeriğinde barındığı için,kullanım rahatlığı söz konusudur.

Ms Access ise;daha gelişkin içeriğe ve kullanım imkanlarına sahip olan veritabanlarının hemen hemen çoğu özellikleri açısından eşdeğer nitelikte ve kullanımda olsa da,kimi zaman da sınırları olması nedeni ile de yetersiz kalma durumu ile karşılaştıran fakat yine de,küçük ya da bireysel işletmeler tarafından kullanılma tercihi olmaktadır.başlı başına tek bir halde değil,genel bir Office paketi içerisinde yer alan bir veritabanı olmaktadır.

maliyetler açısından bakıldığında da,bu gibi şirketler için,daha çok tercih edilmektedir.çünkü;Sql Server için sunucu ve bakım maliyetleri,çoklu kullanımlar için her birine dair lisanslama gerektirdiğinden dolayı,yüksek olması kaçınılmazdır.Ms Access ise,Office paketi içerisinde yer aldığında dolayı,edinmek için ayrı bir ücret gerekmemektedir.tabi bunlar,Kurumsal kullanım ve Lisanslı Sql Server kullanımları adına bahsedilmektedir.

Kullanım açısından da,Sql Server;her bir kısmı için bilgi ve tecrübe sahibi olmak ve yeterlilik seviyesi yüksek olması aranılan öncelikli şartlardır.fakat Ms Access için;bir Ofis uygulaması niteliğinde olduğundan dolayı,Kodlar yazabilme ve temel Sql bilgisi olan bir kişinin ya da uygulama geliştirme safhalarında yönlendirici Sihirbaz kullanımları ile dahi bazı çalışmaları yaparak uygulama elde edilebilecek kullanımlarının da olması imkanı ile rahatlıkla bazı uygulamaların oluşturulmasını sağlamaktadır.

Oluşturulan veritabanının barındırılması ve depolanması için de;Sql Server bu konuda daha yüksek imkanlar sağlamaktadır.kopyalama ve yedekleme hususlarında üstün olmaktadır.fakat Ms Access ise,belli bir kapasite veya miktar sınırlarına gelindiğinde,performans konusunda yetersiz kalmakta ve zorlanmaktadır.

aslında,öncelik olması adına,ilk etapta;şirketin durumuna ve kullanıcılar ile birlikte ihtiyaçlara göre,hangisine gereksinim duyulduğuna göre,kullanılacak uygulamanın her bir geçen zaman sürecinde girilecek olan verilerin yoğunluğuna ve işlem kapasitesine göre,daha güvenli bir çoklu kullanıcı durumlarına göre,v.s. kriterlerine göre iyice elekten geçirmek sureti ile değerlendirmek gerekmektedir.

Kurumsal durum söz konusu ise Sql Server tercih edilmeli.fakat,kimi basit veya belli bir seviyeye kadar yeterli olması muhtemel uygulamalar için de,Ms Access kullanımı geçerli olabilir kanısındayım.

Son olarak,uygun ifadeler ile site içi aramalarında bu hususlara dair çeşitli konular edinmeniz muhtemeldir.

Bilginize…iyi çalışmalar,saygılar.
19/09/2016, 11:13

alpeki99


  1. Eğer programı sürekli kullanacak iseniz MsSql tercih etmelisiniz. Sadece deneme amaçlı bir program yapacaksanız Access'i veritabanı olarak kullanabilirsiniz.
  2. Eğer MsSql kullanacaksanız o zaman MySql kullanmanızı tavsiye ederim. Hız açısından MsSql'e göre daha hızlı olacaktır.
  3. Hız göreceli bir kavram çünkü tek bir tablodaki 500 bin kayıt için MySql ile MsSql arasında sizin fark edemeyeceğiniz derecede küçük fark olacaktır. Milyonlarca kayıt söz konusu olunca hız devreye girer. Buradaki hız program değil veritabanı tarafına göredir.
  4. Programınızda Vba kodlarında yanlış yöntemler, kullanımlar olursa değil milyon kayıt 10 tane kayıt çekerken bile çok yavaş kalabilir.
  5. MsSql lisans parası söz konusu değil çünkü Express versiyonu ücretsiz. Yine MySql lisans söz konusu değil çünkü o da ücretsiz.
19/09/2016, 21:22

mengene2

Teşekkürler @alpeki99  ve @atoz112

Yapmak istediğim sadece Access tabloları yerine MS Sql tablolarını kullanmak. İleride MS Sql tabloları ile çalışmak ve ön uç dosya olarak Access i kullanmak bana normalde Access in kendi tablolarını kullanmaktan ne kadar daha performanslı olur demek istedim. Vba da kodlama ve veri tabanı tasarımının şekli performansı belirliyor biliyorum.

Sadece bu şekilde uygulama geliştirmek normalde ne kadar performans artırır diye merak ediyorum.

Saygılarımla
19/09/2016, 22:03

ozguryasin

mssql server de ve lisanslı ise çok performans artışı olur.  eğer local ve lisanssız ise pek birşey fark etmez kota haricinde. lisanssız ani express sürüm, 1 gb ram ve 1 çekirdek ile işlem yapıyor.
19/09/2016, 22:08

ozguryasin

birde tablo yapınız index leriniz verileri string - integer olarak tutmanız vb. etkiler. tabi bunlar milyonlarca kayıtta fark eder. 50 bin 100 bin 300 bin kayıt için Access veri tabanı kullanın dizin  yapın. zaten tahminimce 300 bin kayıtı 5-10 yılda geçemezsiniz. o yüzden sizin dediğiniz fanteziye kalıyor. ben firebird te dahi belli bir süre kayıt tuttum neden? fantezi işte. şuan mssql ve mysql kullanıyorum.
1 2 3