Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > Java / JSP

Cevapla
 
LinkBack Seçenekler
Eski 10/08/2004, 13:46   #1 (permalink)
.
 
yildizib Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 10/2003
Mesaj: 629
Varsayılan Bir database sistemi

Bu yapıldı mı bilmiyorum?Serialization ile alışılmışın dışında, sıradışı ve direkt olarak işletim sisteminin dosyalama sistemini kullanan bir database sistemi yapılabilir mi, yapılmışmıydı?

Sihirbaz classımız java.io.File classı.

Örneğin klasik olarak üyelerin bulunacağı bilgi dosyalarını bir database kullanarak tutmak isteyelim.Tablolara yazmak gerekecek.Kullanmak için ise sql ile sorgusu ile bilgileri almak gerekecek.kayıtlar çok uzunsa bu arama işlemi uzayacaktır haliyle.

birde şöyle düşünelim.

File classı yaratılırken String değişkeni alıyor kurucusunda değil mi?

Bununla sorgulama işlerini daha hızlı hatta karşılaştırma yapmaksızın yapma imkanı doğuruyor.

Ne demek istiyorum?

dosyaların saklanacağı bir root folder olsun.

Ben serialization ile kullanıcı bilgilerini (username,password...)bir objede tutabilirim.ve diyelimki ir kullanıcıya ait olan dosyayı alacağım diyelim.

Kod:
File rootfolder=new File(...);
String username=blah,blah..
String extention=".yildizdat"
File member=new File(rootfolder,username+extention);
İşte ilgili username dosyası (objesi) elimde.Daha sonra ne yapacaksanız yapın.passwordunu karşılaştırın doğrumu yanlışmı kontrol edin vs vs...

Enson 10/08/2004 18:14 tarihinde yildizib tarafından düzenlenmiştir..
yildizib hatta değil   Alıntı Yaparak Yanıtla
Eski 10/08/2004, 14:47   #2 (permalink)
Luke is back...
 
mkarabulut Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2002
Yer: ../Dark_Side
Mesaj: 2,443
Varsayılan

Kendi fikrimi söylemek isterim :

Bence bu sistemin dezavantajları avantajlarında çok.

Böyle bi sistemde en büyük sorun yavaşlık olabilir sanırım. Mesela serileştirme işleminin çok hızlı bi işlem olduğunu sanmıyorum. Zaten I/O kendi başına bi yavaşlık sebebi.

+ SQL ile karşılaştırıldığında aynı karmaşıklıktaki bazı işler bu sistemde daha yorucu olacaktır.
+ Standarta oturtmadan sadece sana özel bi sistem olarak kalacaktır.

Yine de kendin için bazı ihtiyaçlarını görebilirsin kanımca.

Kolay gelsin
__________________
Do or do not. There is no try.
mkarabulut hatta değil   Alıntı Yaparak Yanıtla
Eski 10/08/2004, 16:32   #3 (permalink)
Üye
 
Üyelik Tarihi: 03/2004
Mesaj: 551
Varsayılan

+1
I/O nun yavaşlığı sorun çıkarır tahminimce deneme yamulma yöntemine gidin derim
indream hatta değil   Alıntı Yaparak Yanıtla
Eski 10/08/2004, 18:22   #4 (permalink)
.
 
yildizib Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 10/2003
Mesaj: 629
Varsayılan

jdbc ile ikisinin hızını ölçmedim.Ölçmedim ama jdbc odbc köprüsüne ihtiyaç duymuyorsunuz.Ayrıca tableye yazarken text (object databeseler çıktı ama..)yazıyorsunuz.Burada ise direkt objelerle çalışıyorsunuz.Bu ise sınırsız özgürlük verir çünkü obje sadece text (String) içermeyebilir.

Sizin "Bazı işlemler daha zahmetli olabilir" demekle kastınızdan sıralama yapmayı anlıyorum.Evet öyle ama database sistemleri de muhtemelen bunları kendi içinde uzun uzadıya metot ve fonksiyonlarla yapmakta.Onun yaptığını ben neden yapmayayım.yani sıralamayı bende yapabilirim.Seçmek için fazla bir şey yapmak zorunda kalmayacağım.Çünkü nerede nasıl sakladığımın formatı belli.

Ayrıca eğer söyleyecekleriniz aksi yönde şeyler idiyse "sanmıyorum" 'dan daha fazla şeyler beklerdim sizden.
yildizib hatta değil   Alıntı Yaparak Yanıtla
Eski 10/08/2004, 18:51   #5 (permalink)
Matafleur
 
darky_dark Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 02/2003
Mesaj: 592
Varsayılan

sadece hiz onemli degil, sistemin maintenance i nasil olacak?
backup-restore vs? bu arada mysql de myisam tipindeki butun tablolar ayri birer dosyadir filesystem uzerinde.. innodb de ise tek bir dosya uzerindedir butun tabolar.. gerci eninde sonunda butun dbler cesitli dosyalarda tutulmakta zaten..

dosya erisimi genelde db erisiminden hizlidir ancak yukarida dediklerime ek olarak ayni anda ayni dosyaya pek cok erisimin oldugunu dusun, bunlari duzene sokmak, burada olusabilecek kilitlenmeleri engelleyebilmek kolay degil..

cok genis bir sistem kullanmayacaksan bahsettigin yontem daha olumlu sonuc verecektir; ancak dedigim gibi soruna ozel bir cozum olacaktir; cunku genel bir yapiya oturtarak gelistirmesi oldukca vakit alacaktir diye dusunuyorum.


sevgi, saygi..

_DD_
__________________
if u wanna fuck with the eagles
u've gotta learn 2 fly
darky_dark hatta değil   Alıntı Yaparak Yanıtla
Eski 10/08/2004, 19:43   #6 (permalink)
Luke is back...
 
mkarabulut Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2002
Yer: ../Dark_Side
Mesaj: 2,443
Varsayılan

Burada bir yanlış anlama var gibi, düzelteyim

Bir kere aslına bakılırsa serialization kullanarak bir nesneyi text dosyaya gömmek ve ObjectInputStream veya ObjectOutputStream ile okuma-yazma işlemi yapmak iyi bir fikir gibi görünüyor...Oldukça basit bir şekilde kompleks verileri text dosyalarda tutabilir ve kolayca okuyabilirsin. Buraya kadar tamam.

Yalnız büyük bir sisteme alternatif bir sistem olabilir mi ? Hayır.. Sebeplerden bir kısmı bahsedildi.

Ben kendine özel bir çözüm olarak düşünme işine sıcak bakıyorum, gerçekten ihtiyacı görebilecek bir şeyler çıkabilir.

Kolay gelsin
__________________
Do or do not. There is no try.
mkarabulut hatta değil   Alıntı Yaparak Yanıtla
Eski 10/08/2004, 19:55   #7 (permalink)
Luke is back...
 
mkarabulut Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 05/2002
Yer: ../Dark_Side
Mesaj: 2,443
Varsayılan

Bu arada java'nın default serialization mekanizması hakkında biraz araştırma yapınca performans açısından bazı eksikleri olduğunu bulabilirsin.

Çoğu yerde kendi metodunu/protokolünü geliştirmen öneriliyor.
__________________
Do or do not. There is no try.
mkarabulut hatta değil   Alıntı Yaparak Yanıtla
Eski 11/08/2004, 02:08   #8 (permalink)
İptal Durumu
 
karamemed Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 07/2003
Mesaj: 195
Varsayılan

Bence iyi bir fikir değil. Çünkü;

1) Çok fazla diske erişim olur(Her kullanıcı için farklı bir öbek kullanılacak)
2) Disk şişer (İşletim sistemlerinin dosya yönetim sistemlerinin çoğu bir dosya için -boyutuna bakmaksızın- birkaç öbek yer ayırır)
3) Güvenlik İşletim sistemine bırakılmış olur

Peki bir Veritabanı yönetim sistemlerinin amaçları nelerdir?
1) Hız = Diske erişim sayısını minumum tutmak
2) Diski verimli kullanmak
3) Güvenlik = yedekleme, yetkilendirme vs..
.
.
karamemed hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
c++ database I2sync C / C++ 0 06/11/2006 19:06
vb .net ve database musalpay Visual Basic 1 24/01/2006 11:16
VB.NET database skapula Visual Basic 0 06/09/2004 11:42
! Database ! Masterphp Veritabanları & SQL 6 01/08/2003 21:29


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 18:25.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net