merhaba arkadaşlar. ben daha önce de benzer bi konu için başlık açtım ama tatmin edecek bi cevap alamadım. sanırım yanlış kategoride açtım konuyu.
benim sormak istediğim şey. bir tane web sitem var. ve ben bir program üzerinde çalışıyorum. yazdığım programın veritabanı olarak da mysql kullanmak istiyorum. henüz bi bilgimin olmaması ayrı bi tartışma konusu ama asıl konumuza dönelim. web sitesinden herhangi bir kayıt yapıldığında site benim localimdeki veritabanımı güncelleyecek ve aynı şekilde ben localden bi kayıt girişi yaptığımda ya da kayıt sildiğimde serverdaki veritabanında güncellem yapacak.
bazen kendime şunu soruyorum. acaba program veritabanını serverdakini mi kullansa. yani localde hiç veritabanı açmasam da bütün verileri serverdan alıp oraya mı kaydetsem?
siz ne diyorsunuz? bana bir fikir verebilir misiniz?
sarp_halit yazdı:merhaba arkadaşlar. ben daha önce de benzer bi konu için başlık açtım ama tatmin edecek bi cevap alamadım. sanırım yanlış kategoride açtım konuyu.
benim sormak istediğim şey. bir tane web sitem var. ve ben bir program üzerinde çalışıyorum. yazdığım programın veritabanı olarak da mysql kullanmak istiyorum. henüz bi bilgimin olmaması ayrı bi tartışma konusu ama asıl konumuza dönelim. web sitesinden herhangi bir kayıt yapıldığında site benim localimdeki veritabanımı güncelleyecek ve aynı şekilde ben localden bi kayıt girişi yaptığımda ya da kayıt sildiğimde serverdaki veritabanında güncellem yapacak.
bazen kendime şunu soruyorum. acaba program veritabanını serverdakini mi kullansa. yani localde hiç veritabanı açmasam da bütün verileri serverdan alıp oraya mı kaydetsem?
siz ne diyorsunuz? bana bir fikir verebilir misiniz?
teşekkür ederim. herkese kolay gelsin.
Hosting firman dışarıdan bağlantıya izin vereceğiniz sanmıyorum...
canlı olmasada farklı bir çözüm var. aktarılan kayıtlara işaret koy sitede. işretsiz olanları xml al ve kendi pc de işleyip import et
merhaba arkadaşım. hosting firmam kesinlikle sorun değil. benim kontrol panelim var ve istediğim dosyalara istediğim erişim hakkını verebiliyorum. bunlara veritabanı da dahil. kendi serverimdaki veritabanına yine kendi yaptığım başka bir web sitesinden kayıt girebiliyorum. bunu da anti parantez içinde belirteyim.
benim xml hakkında hiçbir bilgim yok. o yüzden bildiğim şeylerle halletmeye çalışıcam. ilginden ötürü sağol
Bu tür web üzerinden çalışan uygulamalar daha önceden çokça konuşuldu. Arabirim olarak java kullanmak her zaman çok daha avantajlıdır. Hosting şirketinin nazına tuzuna da gerek yok, statik ip ile internete bağlanan güçlü bir bilgisayar kurarsan ve Adsl modemin Vpn ayarlarını yaparsan süper olur.
Hosting firmasından kaynaklanan bir sorunun yoksa, ZeosLib bileşen setiyle veritabanına bağlanabilirsin. Replikasyon olayına gelince tablona replikasyon yapıldı diye bir boolean alan koyman yeterli olacaktır sanırım. Server a bağlandığında replikasyon yapılmamış alanları sekip local e insert edebilirsin. Aynı şekilde localde olupda serverda olmayanlarıda bu şekilde bulabilirsin.
Ancak ilerleyen aşamalarda update ve delete olan kayıtlarda işin içine girecektir. Bu durumda yapıyla biraz daha oynaman gerekebilir..
kolay gelsin..
Sayın sarp_halit
Öncelikle sunu bilmelisiniz ki Replikasyon işi zor bir iştir..... İhtiyac ıtarif etmek 2 cümle tutuyor diye insan işin çok zor olmadığı gibi bir yanlış kanaate kapılıor... Fakat tecrübe ile sabittir ki replikasyon işi zordur.... Hele çift taraflı replikasyon işi çok daha zordur....
Tecrübeli olmadığınızı söylemenizden hareketle repliasyon işine girmeyin derim... Ben tek yönlü bir replikasyon yazdım ve sahada merkezi bir veritabanındaki değişiklikleri alan yüzlerce farkli noktadaki veritabanları var. Sybase in geniş imkanları ile ancak başarabildiğimi açık olarak soylemeliyim. Bu işi otur mysql ile yap deseler mumkun değil yapamam... Ya da temkinli konusayim mysql hakkında bildiklerim kadari ile bu zor.
Ben şöyle bir teknik kullandım.... Her tablomun insert update ve delete triggerlarindan yazdığım bir stored Procuedur'u çağırıyorum.... Bu SP de o an yapılan iş ne ise o işi tekrar yapabilecek SQL cümlesini yazıyor... Yani bir inser işlemi ise insert into .... şekelinde bir cümle yaziyor. Update ve delete için de benzer şekilde sql cümlelerini yazip bir tabloda topluyor. Client makinalar da yazılmış SQL cümlelerini çekip kendi veritabanı üzerinde çalıştırıyor.... Ama dediğim gibi olay çift yonluye dondu mu çözülmesi gereken bir çok ilave problem daha ortaya çıkabiliyor....
Siz en iyisi B planınızı uygulayın.... tek veritabanı uzerinde calisin. Kaynak tek olsun... Bu çok daha kolay ve güvenli olacaktır....
Fahrettin hocam. iş zor diyerek vazgeçmemek gerekiyor öyle değil mi? şu nasıl olur peki. programda serverdaki veritabanını kullansam. bağlantıyı localdeki ile değil de serverdaki veritabanında yapsam. sonuçta benim için önemli olan nokta hem programdan giriş yapabilmek ve internetten yapılan girişleri de programda görebilmek. sizce bu benim amacımı gerçekleştirmek için yeterli olur mu? ben bunu deneyip en kısa zamanda sonucu sizlerle paylaşacağım. benim için çok önemli bir proje.
Şu sıralar benzer bir proje tasarımı aşamasında olmamız sebebiyle aynı sorunlarla karşılaşmaya göğüs germeye kendimi yoğunlaştırmaktayım
Fahrettin hocamın bahsettiği gibi yineleme/reklikasyon yapısı bir veritabanını diğer bir veritabanına eş-zamanlı/senkron/synchronous hale getirme olayında uygulama aşamasında beklenmedik durumlarla karşılaşmak mümkündür Doğrusu ana sunucuda tek bir veritabanını paylaşmak ve tüm verileri tek bir yerde tutmaktır. Fakat perfomans açısından yerel/local/terminal lerin kendi bilgisayarlarının güçlerini kullanmaları hem merkez veritabanı motorunun zorlanmasını önleyecek hem de ağ bağlantısı sorunlarında aynı bilgiler yerel bilgisayarda olduğundan iş aksamadan sürdürülebilecektir. Yeterli güçteki bir veritabanı sunucu, yeterli hızlı ve sürekli açık bir ağ bağlantısında replikasyon tercih edilmeyebilir. Yine de bağlantının kopma ihtimaline karşı bir B planı olmalı