Şimdi Ara

Python ile yazdığım veri tabanının çökme olasılığı var mıdır?

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
1
Favori
1.017
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj



  • def register_database(input_data):

    with open('data.base','r') as database:
    lines = database.readlines()

    for line in lines:
    if input_data in line:
    data_exists = True
    break
    else:
    data_exists = False

    if data_exists == False:
    with open('data.base','a') as database:
    database.write(input_data)

    print(input_data + " Veritabanına başarıyla kaydedildi.")
    else:
    print(input_data + " Veritabanına zaten kayıtlı.")

    return 'OK'



    Kendim bir text based veritabanı yazmayı deniyorum. (yapacağım işte depolanacak ana 3 veri var sadece)

    Kullanıcıya bir post form verdim. Ve onu doldurduğunda sumbit dediğinde arkada bu veritabanı işlemleri gerçekleşiyor.

    Text based database olduğundan dolayı herhangi bir çökme olabilir mi veya herhangi bilmediğimiz bir sorun çıkarabilir mi?


    not : kullanıcının girdiği veri ile iki farklı veri generate ediliyor ve kullanıcı verisinin yanına boşluk ile yazdırılıyor.







  • aynı anda birden fazla kullanıcı veri yazdırmak istediğinde dosya başka bir kullanıcının verisini yazarken açık olduğu anda veri yazmayı reddedebilir belki.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Evet öyle bir sorun çıkması muhtemel. Fakat file modelar ile önlenebilir.

    Veritabanı çözümlerinde bunun bir adı var mı ?
  • codforc C kullanıcısına yanıt
    vt çözümlerinde lock veya simultaneous write gibi bir adı var.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • O yöntem biraz tehlikeli olabilir gibime geldi.


    Kullanıcının girdiği veri eğer veritabanında yok ise eklemek için bir sıraya eklenecek ve veri veritabanına eklenmek için sıradayken kullanıcıya gösterilecek.

    Yani olay şöyle çözülebilir gibime geliyor.

    1 - veriyi al
    2 - veriyi sıraya koy
    3 - veriyi sıradayken kullanıcıya göster
    4 - veriyi veritabanına kaydedip sıradan sil
    5 - sıradan silinen veriyi veritabanından çekip göster


    not : Tamamen düşünerek buldum. Belki başka bir yerde bu çözüm vardır fakat belki işinize yarıyabilir diye kendi deneyeceğim çözümü açıkladım.
  • codforc C kullanıcısına yanıt
    vt yönetim sistemi tasarlamak gibi olur bu. hobi olarak yapılabilir tabi ki ancak mysql, sqlite, mongodb vs gibi güvenilir olmaz.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.