firebird row limit?

Firebird ve Interbase veritabanları ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

firebird row limit?

Mesaj gönderen gkimirti »

firebird 1.5 kullanarak bir program hazırlayacagım
yıllık yaklasık 8 milyon kadar belki daha fazla kayıt girilecek
bu kayıtlardan sorgular yoluyla casitli raporlar alınacak (tarih ve saat
alanları baz alınarak)
firebird de girilen satırların sayısında bir sınırlama varmı?
eger yoksa bu sekilde nu kadar kayıt arasında sorgulama yapmak (sum ve
gruplama işlemleri)
cok uzun zaman alırmı
tek tablo da 10 tane falan alan olacak
data boyutları o kadar fazla olmayacak genelde sayı...
tesekkurler
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Bütün veritabanlarinin teorik sınırlari vardır. Fakat bu teorik sınırlar da oyle kolay kolay zorlanabilecek gibi sınırlar degildir. Bu anlamda kayitlarinizi almasi yonunden kesinlikle bir sorun yasamazsiniz.

Amaca gore veritabanı secimi onemlidir. bahsettiginiz veriler ciddi boyutlar. Eger veritabanı maliyetine katlanma durumunuz varsa ucreti karsiliginda sizi daha guvenli kılacak ve performans acisindan daha iyi olacak bir veritabani kullanabilirsiniz. (Sybase, Oracle gibi...)

Mesela tarih saat alanlari uzerinde SQl cumleleri icinde kullanilacak bir cok fonksiyona ihtiyaciniz olabilir. Interbase kullandigim bir projede bunlarin eksikligini epey hissetmistim. Firbird 1.5 da durumu bilemiyorum ama Kullandigim Sybase Adaptive Server Anywhere'deki sadece tarih ve zaman fonksiyonlarının sayisi bile Delphi ile yarisabilecek capta idi....

Kolay gelsin....
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

öncelikle cevabınız icin tesekkurler,
aslında yapmak istedigim sistem dakikada yaklasık 5-6 ornek alıp (agırlık bilgisi) bunları gun, ay,yıl, ve belli saatlere gore belirlenmiş vardiyalara gore raporlamak bu aralıklardaki verilerin toplamını raporlamak belki grafiklerini cizdirmek.
anladıgım kadarıyla bu islem icin firebird yeterli gibi geldi
bir sorumda triggerlar hakkında olacak:
ben her bir kayıtı gun,tarih ve cihaz no degerleri ile 10 saniyede bir varitabanına aktaracagım
sorgularla dedigim raporları hazırlayacagım
kayıt sayısı milyonları buldugu zaman bu raporları hazırlamak yani vt den sorgulamak cok zaman alırmı? bu durumda herbir kayıt girisinde bunu triggerlar yada stored proclar ile toplam tablolarına yazsam (toplayarak) mesela gunluk,aylık ve yıllık tablolarım olsa
bunlar uzerinden rapor hazırlasam
yani ne tur bir yaklasım efektif olur?
tesekkurler
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7588
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

bence de eğer limit 8 milyon ise Interbase/FireBird yeterli olur. Ama bu sayı hızla artacak ise, Fahrettin abinin dediği gibi daha uygun bir veritabanı seçilebilir.

Önerilerim :

1. Indexleri çok iyi ayarlaman lazım. Uygun yapılan indexlemeler, indexsiz hale göre 10-15 kat hızlı çalışmanızı sağlayabilir.

2. Mümkün olduğu kadar veritabanı bazlı çalışın, trigger ve stored procedure kullanın.

3. Delphi tarafında işlem yaparken aşağıdaki kurallara uymaya gayret edin.

http://www.delphiturkiye.com/ipdb.htm#hizlandirma

Kolay gelsin.
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

8 milyon kaitlik bir tablodan ne hizda cevap arayacaginiza gore ve tabi raporlarin komplekligine gore hizlar degisir. Bunlari denemeden birsey soylemek zor. Ya da sizin tatmin olmaniz da kolay olmaz.

Ben boyle bir ise baslayacak olsam tabloma test amacli 1 milyon kayit ekler ve bunun uzerinden gerekli orgularimin performansini test ederim. Eger sonuclar iyi ise bu testi veri miktarini 10 milyon belki 20 milyon ile de denerdim. Yok eger performansi begenmiyorsam da o zaman sizin onerdigimiz gibi triggerlar vasitasi ile bir takim toplam tablolari kullanirdim. Bu sekilde toplam tablolari kullanmanin tek dezavantaji insert hizi biraz yavaslar ki cok onemli oldugunu sanmiyorum faka buna karsilik raporlariniz hizlanir. triggerlar vasitasi ile bu toplamlari yaptirma yontemi de onemlidir. Bu konu ile ilgili faydası olacağı umuıdyla ilk firsatta (bir kac gun icinde insallah) bir makale yazmayi dusunuyorum.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

cevaplar icin cok tesekkurler
makalenizi de okumak icin bekliyorum
ornek data girerek performansına bakacagım
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

Bahsettigim şekilde trigger ve stored procedure kullanımı ile ilgili bir makale yazdım.
viewtopic.php?t=644
linkinden ulaşabilirsiniz.
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

makaleniz gercekten cok guzel ve faydalı hmen okudum ve yugulamaya gececegim
sanırım bir satırda kelime hatası var

"Bunun haricinde Oracle, Sybase ve trigger gibi veritabanları row level trigger desteği vermektedirler. "
cumlesinde <ve trigger> ve FireBird yada InterBase mi olacak
yoksa baska bir veri tabanı adı mı?
ayrıca makalenizde StoredProc ların en etkin kullanıldıgı yer olarak rapor hazırlamayı vermissiniz
pek anlamadım
bi ornekle acıklayabilirmisiniz

mesela ben belli bir tarih aralıgındaki gunluk yada aylık stok hareketlerini raporlamak istesem (sizin hazırladıgınız ornekte) bunu nasıl SP ler ile yapabilirim
Tesekkurler,bu bilgiler için

Gökmen Kımırtı
Kullanıcı avatarı
fahrettin
Admin
Mesajlar: 2619
Kayıt: 11 Haz 2003 10:38
Konum: İstanbul
İletişim:

Mesaj gönderen fahrettin »

trigger isimli bir veritabanı ben de hatırlayamayınca interbase'e dönüştürdüm. :) teşekkürler...

Bahsettiğiniz şekilde bir rapor örneğini de ekledim....

iyi çalışmalar....
Cevapla