Forum
>>
Programmazione Python
>>
Database
>>
sqlite3 in rete
Pagina: 1 2 3 Avanti
Esegui il login per scrivere una risposta.
Scritto da trescon |
2024-02-29 13:01:14 - sqlite3 in rete
|
Salve a tutti, volendo usare un database "leggero" come SQLlite3 in rete come posso fare ?
Al lavoro utilizzo un programma che lavora con Access, e nella cartella del server c'e' un database riferito ad ogni utente, oltre naturalmente al core.mdb che è il db principale. Ipotizzando di avere 5/6 utenti che accedano al mio Sqlite , potrei applicare lo stesso concetto ? (ammesso che i db degli utenti servano a questo) In pratica i farei un db principale e poi farei tanti db quanti sono gli utenti; vorrei fare in modo che gli utenti quando leggono il db leggano il principale mentre quando scrivono il db scrivino su quello personale; pensavo poi di fare una procedura sul server che con scadenza di 20/30 secondi controlli se nei vari db locali ci sai quancosa di nuovo e... se si lo copia nel db principale "leggibile da tutti". Se avete capito cosa intendo fare , dice che sia fattibile ?? In questo modo dovrei evitare di incorrere nella possibilità di trovare il db bloccato in scrittura. Accetto suggerimenti... Grazie Alberto ------
Alberto |
|
Scritto da ㎝ |
2024-02-29 13:55:32 - Re: sqlite3 in rete
|
Ciao Alberto,
forse potresti valutare l'utilizzo di https://litesync.io/en/ o https://litestream.io/ THE 🍺-WARE LICENSE (Revision ㊷):
<㎝🐌🐍.🇮🇹> wrote this post. As long as you retain this notice you can do whatever you want with this stuff. If we meet some day, and you think this stuff is worth it, you can buy me a 🍺 in return. -- ㎝ |
|
Scritto da trescon |
2024-02-29 14:12:03 - Re: sqlite3 in rete
|
Ciao cm , questo applicativo però mi sembra che faccia il backup del db , il mio discorso era che scrivo sul mio db personale e poi ogni tanto copio aggiornando il db principale con i mei dati.
O forse non ho capito come dovrei/potrei usare il software che mi hai linkato ? Grazie ------
Alberto |
|
Scritto da nuzzopippo |
2024-02-29 15:13:10 - Re: sqlite3 in rete
|
Scusa la domanda, in genere utilizzo altri db per certe cose, ma c'è un qualche motivo che rende difficile l'utilizzo di un singolo database con accesso concorrente?
Tutto sommato i tempi di scrittura non dovrebbero essere eccessivi, la concorrenza minima con 5-6 utenti e racchiudendo l'operazione di scrittura in blocchi "begin concurrent -> commit" l'interferenza dovrebbe essere minima. Fatti non foste a viver come bruti... |
|
Scritto da Daniele aka Palmux |
2024-02-29 15:21:58 - Re: sqlite3 in rete
|
Ciao caro, sì ho capito la richiesta e mi sembra una pessima idea (se posso permettermi). Questo è uno di quei casi in cui si cerca una soluzione che però porta più guai che altro. Ma poi, quali e quanti tipi di dati devi scrivere, per così pochi utenti possibile sia necessario un DB a persona?
Ti consiglierei di rivedere il flusso ipotizzato e fare comunque delle prove usando un solo DB sia il lettura che in scrittura, io almeno fare così se fossi nella tua situazione. Se poi i risultati fossero pessimi, più che consigliarti multipli DB, andrei semplicemente su qualcosa di un po' più "carrozzato" di SQLite. Cya |
|
Scritto da trescon |
2024-02-29 17:51:29 - Re: sqlite3 in rete
|
Il database “at personam” lo avevo pensato per evitare che se due scrivessero qualcosa casualmente in contemporanea non avrei avuto problemi.
Poi visto che qualcuno più esperto di me mi dice perché non uso altri tipi di db (io ho sol una minima esperienza in SQLite) … potrei anche provare ma non saprei cosa usare che abbia la contemporaneità eventuale e che non sia troppo “complesso”. Per rispondere ad una domanda i datai da scrivere sarebbero pochi, una riga di db con una 10na di campi. Grazie ------
Alberto |
|
Scritto da Daniele aka Palmux |
2024-02-29 18:22:04 - Re: sqlite3 in rete
|
Beh potresti avere ritardi nella scrittura, ma non credo altri disagi visti gli accessi esigui.
Penserei di implementare un sistema un po' diverso, con il database trasparente per gli utenti. Si accederebbe solo la tua macchina, tramite magari un web-framework alla FastAPI (che è semplicissimo), ricevendo/esponendo/scrivendo le richieste poi dal/al DB. In questo modo potresti gestirti in maniera piuttosto semplice anche le code in entrata e non aver paura di qualche perdita accidentale. utenti <--> framework <--> database Però certo, capisco quello che stai pensando, se è una singola riga con 10 valori... beh beh beh disse la pecora, forse la fatica supera il gusto e lascerei il tutto come è adesso. Ma chissà, vedi tu quanto ti vuoi ancora divertire, sarebbe una cosa non necessaria, ma una scusa per imparare una cosa nuova. Cya |
|
Scritto da trescon |
2024-02-29 18:26:33 - Re: sqlite3 in rete
|
Teniamo conto che ci sono pochissime possibilità che 2 utenti scrivano in contemporanea.
In tutti i casi che framework mi suggeriresti, oppure che database multi utente; cosi magari ci do un occhio. Con i miei accessi contemporanei (quasi nulli) dici che si inutile la soluzione di più database ? Grazie ------
Alberto |
|
Scritto da Daniele aka Palmux |
2024-02-29 18:30:43 - Re: sqlite3 in rete
|
Eh infatti.
Te l'ho scritto, FastAPI. Per me sarebbe non solo inutile, ma fioriera di problemi, non la seguirei come soluzione.
Di nulla figurati, buon divertimento. Cya |
|
Scritto da trescon |
2024-04-04 17:48:19 - Re: sqlite3 in rete
|
Buonasera, da prove fatte sembre funzionare senza errori di accessi simultanei…. Ora il problema è diverso.
Avendo il db che lavora in solitaria su un Nas, ora sorge il problema di avvisare l’utente destinatario dell’ultimo messaggio inviato al db. (Che è arrivato un nuovo messaggio x lui) Come posso fare ? Interrogare ogni tot secondi per verificare la presenza di messaggi nuovi da parte di tutte le postazioni coinvolte? Come posso fare a capire se il messaggio è nuovo ? Nei campi del db non è previsto un campo ora ma solo la data. (Dovrei fare un confronto con uno stato precedente ….) Grazie per i suggerimenti che riuscirete a darmi. Alberto ------
Alberto |
Pagina: 1 2 3 Avanti
Esegui il login per scrivere una risposta.