FireBird & MySQL Hangisini Kullanalım !

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen mussimsek »

A.S.

Eğer ki masaüstü (windowsta) çalışacak bir program olacaksa kesinlikle Firebird öneririm. Firebird yavaş ve emin adımlarla bedava veritabanları arasında hızla yükseliyor.

Eğer ki web tabanlı birşey yapacaksanız PostgreSQL veya MySQL kullanabilirsiniz. İlk tercihiniz PostgreSQL olsun bence. PostgreSQL çok daha yetenekli/kullanışlı, MySQL hakkında da çok kaynak bulabilirsiniz. Buna göre seçiminizi yapabilirsiniz.

Kolay gelsin.
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen hi_selamlar »

mussimsek yazdı:A.S.
Eğer ki masaüstü (windowsta) çalışacak bir program olacaksa kesinlikle Firebird öneririm. Firebird yavaş ve emin adımlarla bedava veritabanları arasında hızla yükseliyor.
Eğer ki web tabanlı birşey yapacaksanız PostgreSQL veya MySQL kullanabilirsiniz. İlk tercihiniz PostgreSQL olsun bence. PostgreSQL çok daha yetenekli/kullanışlı, MySQL hakkında da çok kaynak bulabilirsiniz. Buna göre seçiminizi yapabilirsiniz.
Kolay gelsin.
S.A.
Hocam teşekkür ederim.
Delphi 7 ile proje yazılacak. (Windows)
Bizim çekindiğimiz nokta FB ile internet üzerinde proje yapan arkadaşların çok sorunla karşılaştığını belirtmeleri.
Bu yüzden Delphi 7 ile MySQL kullanarak yazacağız gibi.

Delphi ile MySQL kullanılarak hazırlanmış bir örnek veya dökümantasyon bulmakta çok zorlanıyoruz.
Bu proje hem kendi ağımızdan hemde Internet üzerinden kullanılacak ??? :oops:
İnşallah başarılı bir sonuç alırız.

Ama tabiki her zaman tavsiye, görüş ve önerilere açığız.. :bravo:

Sevgiler, Saygılar.

S.A.
Herkes cahildir, bazi konularda.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen Battosai »

Delphi ile MySQL kullanılarak hazırlanmış bir örnek veya dökümantasyon bulmakta çok zorlanıyoruz.
Siz başlayın burda yardımcı oluruz/olunur...Aslında temel Query ve Table kullanımını biliyorsanız pek kaynağa ihtiyacınız yok çoğu şey standart zaten.
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen emin_as »

Her iki sistemin kendine göre avantajları var.
Mysql i fazla kullanmadığım için ben fb ile ilgili olan avantajları sayayım:
1- Kolay kurulum, sıfır ayar. FB yi kurmak için bir exe yi çalıştırmak yeterlidir ve fb yi kurduktan sonra ekstradan bir ayar yapmanıza gerek kalmaz.
2- FB de tüm veritabanı tek bir dosyada tutulur. Yedek alma, bilgileri başka makinaya taşıma vs çok basittir.
3- FB nin en önemli avantajı transactionlardır, bu şekilde bağlanan kullanıcılar kendi kopyalarında işlemleri yapıp, post işlemini yaparlar. Bir sorun çıkma ihtimali çok çok azdır.
4- FB nin kökleri 80 öncesine dayanır ve mysql triggerlari, stored procedure leri desteklemiyorken fb destekliyordu.

Bunlar ilk başta aklıma gelen avantajları, baglanma ile ilgili sorun yaşayanların nasıl bir tasarım yaptıklarını bilemiyorum. Eger tasarımını yaparken yeterince dikkatli olursan, bir sorun yaşayacagını sanmıyorum. Tabladaki tüm kayıtları açmaya kalkarsan, her veritabanı performans sorunu yaşayacaktır, çünkü bilgilerin akması gereken bant genişliği sınırlıdır.

Aslında yapacagın programın veritabanını hem mysql hem de firebird için düzenle ve daha sonra performans testleri yap, başka sunucuya taşımayı dene, hangisi daha avantajlı kendi testlerin sonucu görmüş olursun.
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen hi_selamlar »

emin_as yazdı:Her iki sistemin kendine göre avantajları var.
Mysql i fazla kullanmadığım için ben fb ile ilgili olan avantajları sayayım:
1- Kolay kurulum, sıfır ayar. FB yi kurmak için bir exe yi çalıştırmak yeterlidir ve fb yi kurduktan sonra ekstradan bir ayar yapmanıza gerek kalmaz.
2- FB de tüm veritabanı tek bir dosyada tutulur. Yedek alma, bilgileri başka makinaya taşıma vs çok basittir.
3- FB nin en önemli avantajı transactionlardır, bu şekilde bağlanan kullanıcılar kendi kopyalarında işlemleri yapıp, post işlemini yaparlar. Bir sorun çıkma ihtimali çok çok azdır.
4- FB nin kökleri 80 öncesine dayanır ve mysql triggerlari, stored procedure leri desteklemiyorken fb destekliyordu.

Bunlar ilk başta aklıma gelen avantajları, baglanma ile ilgili sorun yaşayanların nasıl bir tasarım yaptıklarını bilemiyorum. Eger tasarımını yaparken yeterince dikkatli olursan, bir sorun yaşayacagını sanmıyorum. Tabladaki tüm kayıtları açmaya kalkarsan, her veritabanı performans sorunu yaşayacaktır, çünkü bilgilerin akması gereken bant genişliği sınırlıdır.

Aslında yapacagın programın veritabanını hem mysql hem de firebird için düzenle ve daha sonra performans testleri yap, başka sunucuya taşımayı dene, hangisi daha avantajlı kendi testlerin sonucu görmüş olursun.
S.A.

Bütün arkadaşlara bilgilerinden dolayı teşekkür ederim.
MySQL Trigger, SP, View, Transaction özellikleri mevcut. ama önce, ama sonra eklenmiş olması çok şeyi değiştirmeyecektir. belki başta
bazı bug lar olacaktır ama sonunda onuda çözeceklerdir.

Bu arada hocam hiç int. üzerinde kullandığınız bir projeniz varmı? (Delphi ile yazılmış.)
Kaç kullanıcı kullanıyor..??
Kaç adet table var...??
Kullanıcılardan biri hiç sorun yaşadımı ? Ne gibi sorunlar ?
Ana sisteminizin özellikleri neler?

Sevgiler, Saygılar

S.A.
Herkes cahildir, bazi konularda.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen Battosai »

Ben kullanıyorum şuan sadece kendim bağlanıyorum ama sanki localde çalışırmış gibi oluyor....Programın performanslı olması için bir çok parametre var.
-Programın kodlanma biçimi;
Bir çok kişinin bağlanacağı ve uzak bağlantıların kullanılacağı sistemlerde kod yazarken bu yapıya dikkat ederek kodlama yapmalısınız.
*Örneğin sadece gerektiği kadar ve lazım olduğunda kayıtları çekmelisiniz...
*Listelerde sayfalama yapılmalı...
*Aramalarda index kullanımına özen gösterilmeli
* Döngü içinde sorgu çalıştırlmamalı script şeklindeki sorgular script olarak gönderilmeli...
*MySQL de tablo yapısı olarak MyISAM en performanslı tablo tipidir.Tablo yapısını seçerken dikkat edin. innoDB ve MyISAM farklılıklarını araştırın..tavsiyem MyISAM dır.

Birde işin MySQL ayarları,bulunduğu server'ın performansı,bant genişliği vs gibi diğer etkenler bulunmakta...
emin_as
Üye
Mesajlar: 559
Kayıt: 01 Eki 2008 10:05
Konum: izmir
İletişim:

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen emin_as »

Firebird ile yazdıgın her program, eger baglantı stringi dışarıdan verilebiliyorsa, internetten de kullanılabilir. Ek olarak sadece modem ve anamakinda bazı ayarlar yapmak gerekir.

Müşterilerim network altında kullanıyorlar, tabii onlar bant genişligi ne oldugunu bilmedikleri için hızı konusunda net fikir veremiyorlar, ama işlerini görüyor.

Eğer deneme yapmak istersen benim msn den ekle, 13.000 emlak ve 100.000 resim olan 3 gb bir deneme veritabanına baglantı yaptırayım, hızı kendin incele gör. Emlak dosyalarına ilk girişte sorun olmuyor, rahat rahat geziyorsun, ama gittikçe ilerleyince şu sorunla karşılaşıyorsun, delphi bileşenleri yüklenen bilgileri cache tutuyorlar, bu nedenle hafıza şişmeye başlıyor, normalde 70-80 mb kullanan program, 500 mb - 600 mb lara çıkıyor. Emlak dosyalarının kendisi yeterince büyük ve her emlakta 15-20 tane jpg resim kayıtlı.

Benim msn adresim görünüyor olması lazım, eklersen denemeler yaptırırım, süzmeleri vs yi deneyip, farklı durumlardaki hızı ölçersin. Eğer senin veritabanında resim vs olmayacaksa, hız konusunda bir sorun yaşamaman lazım. Sadece bilgileri açarken mutlaka sınırlamalarla aç. Şu tarihteki evraklar, şu stoga ait kartlar gibi.

Bazı kullanıcılar baglantı düşünce, socket hatası yaşıyorlar. Ciddi bir sorun değil, duruma göre girdikleri bilgileri yeniden girmeleri gerekebiliyor.

Bu söylediklerim çogunlukla network üzerinden kullananlar için geçerli, net üzerinden kullanan fazla yok.

Genel olarak firebird u uzun süre kullanıyorum ve neredeyse hiç sorun yaşamadım diyebilirim. Bilgi kaybı vs sorunları hiç olmadı. Zamanında paradox saç baş yolduruyordu. İndex hataları, makinanın aniden kapanması vs hepsi dertti.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen vkamadan »

Merhaba ,
MySQL ile ilgili önemli bir not ;
MyISAM motoru oldukça hızlıdır fakat Transaction desteği sağlamaz.
InnoDb motoru daha yavaştır fakat Transaction desteği sağlar, eğer uygulamanız sırasında her hangi bir işleminiz birden fazla tabloyu etkileyecekse transactional bir yapı kullanımanız kaçınılmazdır.
Ayrıca MyISAM 'ın hız farkı Kayıt ekleme işlemlerine mahsustur, sorgularda doğru indexlerle MyISAM performansı yakalabilir.
MyISAM ,InnoDb ye nazaran çok daha kolay bozulur fakat tamiride bir okadar kolaydır, tamir esnasında row kayıpları yaşanması muhtemeldir.

Şahsi önerim Win32 uygulamalarında MySQL tercih edilecekse motor olarak InnoDb kullanılması yerinde olacaktır.

İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen Battosai »

vkamadan benim görüşüm tam tersi, inno şuan tam güvenilir değil eksikleri çok ve hız konusunda MyISAM harici diğer veritabanlarına göre oldukça düşük...bi ara bu hız meselesini select,insert,update bazında gösteren bir tablo vardı denk gelirse linki atayım...Kısaca MyISAM şuan local de veya net üzerinde en hızlı select ve insert hızına sahip...burda en önemli olan select hızı zaten. Eğer MySQL kullanılacaksa MyISAM kullanılmalı yoksa Firebird daha iyi bir tercih...
MyISAM transaction destekliyor bu arada....
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen vkamadan »

Battosai yazdı: MyISAM transaction destekliyor bu arada....
10 yıllık programcılık geçmişimin 9 yılını MySQL ile geçirmiş biri olarak bu konuda ister istemez bir çok tecrübem oldu, eğer komplike bir uygulama MySQL üzerinde geliştirilecekse , eğer veri bütünlüğü önemliyse ( ki kesinlikle önemlidir) ve bu uygulama bir masaüstü uygulamaysa motor InnoDb olmalıdır, MySQL de Transaction yapılarını (kesinlike) sadece InnoDB ve Falcon motorları destekler zaten bu yüzden insertlerde yavaştır. Bence bir veritabanında veri güvenliği birinci sıradadır, hız sonraki adım olmalıdır, elbette hem veri güvenliği hemde performans bakımından çok farklı alternatifler vardır, fakat tercih MySQL olacaksa motor InnoDb olmalıdır bence...
Volkan KAMADAN
www.polisoft.com.tr
Kullanıcı avatarı
csunguray
Üye
Mesajlar: 855
Kayıt: 09 Ara 2006 05:08
Konum: Adana
İletişim:

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen csunguray »

Bence MySQL kullanmadan düşünmek lazım. Çünkü MySql ücretsiz bir ürün değildir. MySql i ticari uygulamalar için kullanıyorsanız ticari lisansa tabi olursunuz ve ürünü satın almanız gerekir. Firebird ise ücretsiz veya ticari uygulamalar için tamamen ücretsizdir.

Son yapılan satınalmalarla beraber (Oracle'ın Sun'ı satın alması) MySql, Oracle ın ürünü olmuştur.

Ben de vkamadan gibi veritabanında güvenliğin ve sağlamlığın hızdan kesinlikle daha önemli olduğunu düşünüyorum. Ayrıca program yazarken transaction kullanmaya o kadar alıştım ki, transaction kullanmadan bir program nasıl sağlam yazılır ona bile şaşırır oldum.
C. Sunguray
csunguray at netbilisim.kom
Net Bilişim Hizmetleri

Sıradan her programcı bilgisayarın anlayabileceği kodlar yazabilir.
Sadece iyi programcılar insanların da anlayabileceği kodlar yazarlar.
Martin Fowler (http://martinfowler.com/)
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen Battosai »

Sağlam bir yapı veri güvenliği elbette daha önemli ben MySQL için hangi tablo yapısı olursa olsun yeterli veri güvenliği sağladığını düşündüğüm için performansa yöneldim...İlk başta bende inno ile başladım ama bazı araştırmalar ve foreign key kullanmaktan vazgeçmem üzerine doğal olarak MyISAM tercih ettim. Aslında MySQL için ikiside iyi, bence programlama tercihine göre seçilmeli tablolar...Ama performans unsurları göze alnımayacaksa Firebird kullanmanın daha iyi bir çözüm olduğunu düşünüyorum...
tugsat
Üye
Mesajlar: 132
Kayıt: 04 May 2009 09:30

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen tugsat »

Daha programcılıkta ilk senem ancak firebird ile mysql'i çok araştırdım

Firebird'ün bazı başlıca özellikleri:

* Tam Stored Procedure ve Trigger desteği
* Tam ACID uyumlu transaction
* Referential Integrity
* Çok Nesilli Mimari (MGA)
* Çok az yer kaplama
* Trigger ve procedure için tam özellikli, dahili dil (PSQL)
* Dışsal Fonksiyon (UDF) desteği
* Uzman DBA gerektirmez, ya da çok az
* Çoğunlukla ayar gerektirmez - sadece kur ve kullanmaya başla!
* Ücretsiz ve nitelikli destek alabileceğiniz Büyük topluluk ve yerler
* İsterseniz, CDROM katalogları, tek kullanıcı veya deneme versiyonu uygulamalar yaratmak için harika gömülü versiyon
* Onlarca destekleyici araç, Grafik arayüzlü yönetim araçları, çoğaltma araçları, vb.
* Güvenli Yazma - hızlı kurtarma, transaction log ihtiyacı duymadan!
* Veritabanınıza erişmek için birçok yol: Özgün/API, dbExpress sürücüleri, ODBC, OLEDB, .Net provider, JDBC native type 4 sürücü, Python modülü, PHP, Perl, vb.
* Tüm başlıca işletim sistemlerine özgün destek, Windows dahil, Linux, Solaris, MacOS.
* Incremental Backups Artışlı Yedekleme
* 64bit yapıya sahiptir
* PSQL içinde tam cursor uygulamaları

Bence FireBird hem freeware hemde sağlam veritabanı kayıt yapısına sahip olduğundan tercih edilmelidir.Yavaş diyorsunuzda hazırladığınız programı 10-15 kişi kullanacaksa eğer bence burda yavaşlık pek ön sıraya çıkacak bir sorun değil programı birçok kişi kullanmayacak ki ..
700 milyon kayda kadar veritabanı yapısı bozulmuyor ben FireBird derim..

Ancak bu işe yıllarını vermiş kişilerde MySql'i tercih ediyorlarsa bir bildikleri vardır herhal.. :roll:

İyi günler.
Kullanıcı avatarı
hi_selamlar
Üye
Mesajlar: 523
Kayıt: 05 May 2005 03:24
Konum: DelphiTürkiye.COM

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen hi_selamlar »

S.A. arkadaşlar.

ilgi ve alakanız inanın beni çok duygulandırdı. Hepinize ayrı ayrı teşekkür ederim. :bravo:

MySQL için
- MyISAM - Transaction Yok !
- InnoDB - Transaction Var !
Aralarındaki hız farkı nedir?

MySQL için hangi bağlantı component'i önerirsiniz ?

FB için transaction ayrı bir component olarak geliyor. Yanlış biliyorsam lütfen düzeltin. Burdan
gerekli ayarlamaları, gerekli bağlantıları yapıp işlemlerimizi gerçekleştiriyoruz.

Bunu MySQL için nasıl yapacağız. Bir component varmı ? Kodlamı yapıcaz ? Bu konuyu biraz açarmısınız lütfen !

Sevgiler, Saygılar.

S.A.
Herkes cahildir, bazi konularda.
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: FireBird & MySQL Hangisini Kullanalım !

Mesaj gönderen vkamadan »

Merhaba ,
MyISAM ile InnoDB arasında ki hız farkı daha çok Batch Insert işlemlerinde ortya çıkıyor, çok değil bir kaç hafta önce FALCON , InnoDB ve MyISAM ın INSERT hızlarını karşılaştrmak için küçük bir test yapmıştım , 4 alanlı bir tabloya 10.000 kayıt ekletmiştim , InnoDB 7sn de, MyISAM 1.02sn de eklemişti bariz bir hız farkı olduğu ortada , fakat uygulamanızda buna benzer binlerce kaydı bir seferde INSERT etme gibi ihtiyaçlarınız çok sık olmayacaksa, bir kaç kayıdın INSERT ü sırasında ki hız farkını anlamak pekte mümkün olmayacaktır, diğer bir yandan select performansı doğru indexler kullanıldığında MyISAM ile InnoDB arasında pekte farklı sürelerde gelmiyor.

Ben MySQL e bağlanmak için ücretli bir bileşen seti olan MyDAC ' ı tercih ettim memnunum , ücretsiz olan zeos u hiç denemedim ama sıkça kullanıldığını biliyorum. ücretsiz ODBC sürücülerini de temin edebilir BDE üzerinden de bağlanabilirsiniz ama bunu önermiyorum hem biraz performans kaybı yaşanır hemde dağıtılabilirliği biraz zahmetli olacaktır.

MySQL , bağlantı seviyesinde transactionları destekler, bu yüzden işleme başlamadan önce bağlantı nesnesinin transaction başlatma metodunu ( örn : myConnection.StartTransaction gibi...) başlatımanız , ve işlem sonunda aynen Commit yada Rollback uygulamanız yeterlidir.


İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Cevapla