![]()
From: info@teknobilge.com
Date: Thu 18 Dec 2003 - 06:02:05 EST
Merhabalar,
Firebird benim uzun zaman önce dikkatimi çakmiş bir veritabanı, ancak
çok detaylı inceleyemedim. Yani oturup kendim üzerinde uygulama/çözüm
geliştiremem, profesyonel sorumluluk ustlenemem. Veritabanları üzerinde
benden çok daha ciddi çalışan arkadaşlar vardır aramızda, eminim, ama
ben de söz konusu olunca yazmadan edemiyorum işte... Yanlışım olabilir,
gören düzeltebilir, sevinirim. Yaklaşık 1-1,5yıldır veritabaları ile
ciddi olarak ilgilenemiyorum.
Bence bu tür bir projede, Firebird veritabanının kurulmasının ciddi
avantajları var.
1) Her platformda çalışabilmesi. Yani, isterse, hala veznedeki memur
Windows vs. kullanabilir. Bu egitim/adaptasyon maliyetini dusurur.
2)Gercekten Multi-tier, dagitik yapisi. Bildigim kadari ile, bu ozellige
sahip tek acik kaynak veritabanı. PostgreSQL mesela, tek merkezlidir.
Çok merkezli, dagitik yapisi ile, Firebird, buyuk esneklik saglar. Her
Firebird veritabani sunucusu, birbirini sorgulayabilir ve veri
alisverisinde bulunabilir. Birbiri ile baglanmanin otesinde, atomik
islemler (transaction), iki asamali bildirim ile (2-phase commit)
bilgiler surekli tutarli kalir. Ayni zamanda bu sayede, eger bir noktada
kopma-cokme olursa, otomatik olarak diger veritabanindan veri
guncellenebilir. (*1)
3)Sadece standart bir RDMS olmanin otesinde, ayni zamanda karar verme
anlamindaki sorgulamalari da rahatlikla yapan Çok Kuşaklı
(Multi-generational) yapısı. Yani, mesela, bankanın kredi kartı
servisindesiniz, ve 2 milyon kredi kartı kullanıcısı arasında, yaş
grubuna göre ortalama aylık harcamayı belirlemek istiyorsunuz. Bu gibi
islemlerde normal RDMS veritabanlari, asiri yuklenir, ve uzun sure baska
birsey yapamaz hale gelirler. Bu gibi islemlerin kolay yapilabilmesi
icin, mesela MSSQL veritabani icin ayri bir urun var. Belirli
ortalamalari, toplamlari falan ayri bir veritabaninda tutuyor da,
gerektiginde hizla cikariyor, buna da OLAP diyor. Oracle'da
yanilmiyorsam ayri bir modul. Bunda tek urun uzerinde, diger islemleri
kitlemeden, hizla, karar vermeye yonelik sorgular da yapabiliyorsunuz. (*2)
4)Veri buyuklugu olarak, Firebird "yalnizca sistem kaynaklari ile
sinirli". Yani, toplam veritabani buyuklugunuz Terabyte'lar da olsa,
hard diskinizde yer varsa, Firebird icin sorun degil. (*3)
Yine de, dedigim gibi, uygulama ve destek sorumlulugu kimde ise, o en
rahat hangi cozume odaklaniyor ise, ya da musteri en cok neye guveniyor
ise, sonucta o kullanilabilir. Bir sirket cikar da ben Redhat AS ve
Oracle ile bu isi yaparim derse ve isi alirsa, hic sasirmam. Yani isi
yapanin dogru ve iyi yapmasi, en iyi araci kullanmasindan onemli oluyor
cogu zaman. Ama benim gonlumde yatan, bu capta bir isin, tamamen acik
kaynakla, mesela Debian/Firebird ile yapilmasi... Bu konuda Esref Bey'le
tamamen ayni fikirdeyim... Ayrıca, sorumluluk daha buyuktur tamamen acik
kaynak cozum uretmekle, ancak bu da, paranin sirket icinde kalmasi ile
gereken nitelikli insan gucune harcanarak kapatilabilir. 1000$ maasla en
iyi programcilari/teknik destek elemanlarini bulabiliyorsaniz, ve de
bunun gibi bir tek isin, yuz binlerce -hatta belki milyonlarca- dolar
getirecegini gorebiliyorsaniz, neden olmasin? Umarim bu dusuncede
sirketler vardir listede, onlardan biri alir bu isi...
Eskiden firebird'un dokumantasyonu online bulunmuyordu da, detaylı
inceleyememistim, simdi online olarak butun dokumantasyon
indirilebiliyor. Biraz daha detaylı inceleme firsatim olacak. Agir aksak
da olsa, artik "is" degil "hobi" olarak Linux'u ve acik kaynak
programlamayi ve veritabanlarini ogreniyor olsam da, yavas yavas,
Firebird uzerinde calisan basit uygulamalar yaratmak gibi heveslerim var...
Asagida, http://www.firebirdsql.org/index.php?op=guide&id=ib6_overview
adresinden verdigim bilgilerin aslini bulabilirsiniz...
(*1) Dagitik veritabani
Distributed Database - Application Flexibility
When you need to move your desktop database to something more
sophisticated or enlarge a small workgroup application so that several
departments can use it, InterBase is ideal. It was designed for
distributed database environments.
Multi-Database Access
InterBase is a truly distributed SQL database server that lets each
database system query and return information to any other InterBase server.
Automatic Two-Phase Commit
Multi-database transactions require more than just the ability to
connect to two databases. To be transactions, they must be consistent
and atomic. InterBase includes a two-phase commit that ensures that
distributed updates are consistent, automatically.
Distributed Two-Phase Commit Recovery
InterBase goes beyond a simple two-phase commit. It was the first
database to provide distributed recovery from a failure during a
two-phase commit. This ensures full recovery with no single point of
failure, since the co-ordination of the commit is distributed among all
the servers. A transaction that cannot commit across all servers, is
automatically rolled back on all servers.
(*2) Çok Kuşaklı Mimari, OLAP sorgularinda artan performans
Sophisticated Architecture Delivers Performance
The InterBase server implements a Multi-Generational Architecture [MGA].
This MGA provides unique 'versioning' capabilities that result in high
data availability for transaction processing users and decision-support
users simultaneously.
Traditional database servers support the On-Line Transaction Processing
(OLTP) model of database interaction, with many short, simple
transactions. The InterBase MGA engine performs well on short OLTP-style
transactions, but it excels in real world applications, outperforming
other databases because concurrent long-duration, decision-support
transactions do not degrade its performance.
/"InterBase... out performed all other SQL databases that we tested;
nothing else came close. Its speed and small footprint, combined with
its ability to handle data-intensive client/server applications, made it
an easy choice for us."
- Russ LeMaster, Dover Elevator Systems /
The versioning engine eliminates the need for transactions to lock the
records they read, making them contention-free - readers never block
writers. Unlike other databases, InterBase provides a time-consistent,
repeatable result for every query, without special programming. Because
long and short duration transactions can coexist, the InterBase
versioning engine maximises throughput for all transactions.
*(*3) Yuksek kapasite
*
*DATABASE CAPACITY*
* Maximum number of rows per table: approximately 2 billion.
* Maximum size of a table: limited by system resources.
* Maximum number of databases per system: limited by system resources.
* Maximum number of active users possible per system: limited by
system resources.
* Maximum number of tables per database: 64Kb.
* Maximum row size (excluding BLOb): 64Kb.
NOT: Bunlar Interbase 6.0 ozellikleri, Firebird, bunun uzerine yer yer
daha iyi ozelliklere de sahip olabilir...
NOT2: Eger bu isi listede ustlenmek isteyen, ancak henuz Firebird'e
iyice hakim olmadigi icin endise edenler var ise, kendi yetmedikleri
yerde ibphoenix'den destek alabilirler. Link asagida. Ayrica, herhangi
bir veritabaninda uygulama gelistirebilecek, tum ozelliklerini
kullanabilecek duzeyde biri icin, firebird'u ogrenmek de cok zor olmasa
gerek...
http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_services
Iyi calismalar,
Ozer Tayiz.
Esref Atak wrote:
>merhaba,
>
>
>FirebirdSQL hakkinda biraz arge yaptim. aslinda isminin buyuk harf/kucuk
>harf nasil yazildigi konusunda tam emin degilim!
>
>
>
>http://www.firebirdsql.org
>http://www.firebirdsql.com
>
>
>
>Oncelikle; "FirebirdSQL" nedir? :
>
>FirebirdT - Relational Database for the New Millennium
>
>
linux-sohbet listesinden cikmak ve tum listeci islemleri icin
http://liste.linux.org.tr/ adresini kullanabilirisniz.
Bu listeden cikmak icin <a href="mailto:linux-sohbet-request@liste.linux.org.tr?Subject=unsubscribe">tiklayiniz</a>
![]()