Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Accessi contemporanei

  1. #1

    Accessi contemporanei

    Ciao.
    Devo realizzare un db con un po' di tabelle che avranno parecchi record.
    Se a queste tabelle ci dovessero accedere (in scrittura) parecchi utenti, c'è pericolo di sovrapposizioni o problemi nella gestione delle connessioni multiple?

    Se si mi spiegate come è possibile risolverli?

    thanx

  2. #2
    Si fa presto a dire Database.

    Da quelli "no comment" tipo Access
    a quelli appena accettabili come Mysql
    fino a Interbase o SqlServer o Oracle o DB2
    e decine di altri che per lo più manco conosco.

    Ognuno di questi ha sue caratteristiche e offrono
    diverse risposte dalle concat key alle viste di validità
    o a vari tipi di look che possono aiutare o impedire
    il lavoro (Access lokka per blocchi ad esempio).

    Molti gestiscono le transazioni, ed in certi casi può
    essere sufficiente.

    Questo per i relazionali ovviamente.

    E poi, tutti questi utenti devono scrivere lo stesso record,
    record diversi della stessa tabella, tabelle distinte??

    Direi che mancano i dati necessari per poterti aiutare.

  3. #3
    scusami, hai ragione...
    Pensavo a mysql o postgress !

  4. #4
    gli utenti dovranno fare tutto: modifiche alla stessa tabella e modifiche anche alla stessa cella.

  5. #5
    Premesso che non conosco Postgres

    MySql dichiara di essere in grado di gestire le transazioni, ma non ne ho ancora avuto la prova.

    Facendo precedere un blocco di istruzioni di aggiornamento
    dal comando

    mysql_query("BEGIN", $this->db_connect_id)

    si apre una transazione che in DB evoluti provoca il look dei record che saranno interessati dai successivi aggiornamenti.

    Concluse le operazioni di aggiornamneto

    mysql_query("COMMIT", $this->db_connect_id)
    o in alternativa
    mysql_query("ROLLBACK", $this->db_connect_id)

    renderanno nuovamente disponibili tali record ad altri aggiornamenti.

    Non è in ogni caso garantito il look sulle singole tuple aggiornate, molto probabilmente il DB lavora per blocchi.

    Inoltre mysql può lokkare un'intera tabella

    LOCK TABLES
    tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
    [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...
    UNLOCK TABLES

    LOCK TABLES locks tables for the current thread. UNLOCK
    TABLES releases any locks held by the current thread. All tables that are locked by the current thread are implicitly unlocked when the thread issues another LOCK TABLES, or when the connection to the server is closed.

    Note:LOCK TABLES is not transaction-safe and implicitly
    commits any active transactions before attempting to lock the tables.


  6. #6
    grazie!
    adesso proverò a mettere insieme un po' di cose e vediamo se la tua soluzione funziona!

    Se qualcun altro sa consigliarmi l'uso di postgres o mysql mi fa un favore...

    thanx

  7. #7
    Se a queste tabelle ci dovessero accedere (in scrittura) parecchi utenti, c'è pericolo di sovrapposizioni o problemi nella gestione delle connessioni multiple?
    con mysql non ci sono problemi, con postgres nn so, ma non credo proprio. vai tranquillo, di queste cose si preoccupa il db , cmq dipende anche da cosa vuoi fare
    debian:~$ uname -r
    2.6.18-1-686
    debian:~$

    Il quiz manager è nato!!! visitate http://shenk.altervista.org !!

  8. #8
    Originariamente inviato da barbagianni
    a quelli appena accettabili come Mysql
    Mi sembra decisamente eccessivo dire "appena accettabile" di MySQL. Per il suo genere è decisamente buono.
    GdR Online - http://lenar.it/
    Yesterday is history. Tomorrow is mystery.
    Today is a gift. That's why it's called the present

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.