Storie dalla Sala Macchine


Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Imposta lingua:en it | Login/Register


Si SQL, No SQL...

Tanto tempo fa... Esistevano la carta e la penna. In effetti, carta e penna sono esistiti per parecchio tempo. Magari non era proprio "carta" o "penna" nel modo che lo intendiamo noi, ma sempre di roba sui cui si scriveva (o si tracciavano, in qualche modo, dei segni ben precisi) si trattava.

E le cose che venivano scritte piu' di che altro erano... elenchi. Elenchi di roba per la precisione. Liste di prodotti conservati in magazzini, prodotti che venivano scambiati per altri prodotti, prodotti che dovevano essere presi, dati, ritornati e roba cosi'. Quello che oggi noi chiameremmo un "database".

Ho gia' detto che i database sono una delle invenzioni piu' vecchie del mondo e sono stati usati, in una forma o nell'altra, per millenni. E non e' che ci sia qualche cosa di sbagliato. Solo che... Un database e' uno strumento particolare, pensato per uno scopo particolare e che deve essere utilizzato per quello scopo particolare. Se lo strumento non si adatta allo scopo, non bisognerebbe usare lo strumento.

Come al solito, c'e' gente che conosce uno strumento e cerca di usarlo in qualunque situazione, anche quando tale situazione e' completamente inadatta allo strumento.

I database per esempio... Se anche voi siete della 'vecchia sQuola', sarete abituati a "mostri" che macinano un sacco di dati e blaterano SQL (uno dei tanti dialetti), se siete un pelo piu' giovani magari state pensando ad altri cosi, sempre "SQL" ma meno mostruosi.

Tutti questi arnesi si basano su una serie di semplici ma precise regole che distinguono un "database" da altre cose, che possono "sembrare" database all'occhio non allenato, ma che database proprio non sono (e non fatemi parlare di Excel per la carita').

Tutto questo panegirico per specificare che non esiste (in genere) un "proiettile d'argento" che risolve tutti i problemi, e che per ogni problema bisogna cercare la soluzione che meglio si adatta. E se il nostro "strumento del cuore" non sembra adattarsi tanto bene, magari e' il caso di non usarlo.

E con questo, passiamo a parlare di $sgambetti, una societa' che si occupava di varie cose, una delle quali era una specie di applicazione che memorizzava roba e poi la presentava in ordinate tabelle molto elaborate.

I dati venivano recuperati in diversi modi, in genere mediante delle procedure automatiche che leggevano files o altre sorgenti (on-line o off-line) e tutta sta roba veniva infilata in un database che poi veniva analizzato per produrre queste tabelle. Se non fosse che non usavano sorgenti di dati via rete cellulare, direi che la struttura di base l'avevano copiata da $noimisuriamoroba, dei quali ho parlato precedentemente.

In effetti i problemi di questa gente erano QUASI identici a quelli di $noimisuriamo, salvo il fatto che il problema non era tanto nella struttura dell'applicazione, ma nel fatto che questa genta aveva deciso di usare come base dati un database SQL... Senza poi fare niente che richiedeva SQL in effetti.

Mi spiego meglio. Un "database" SQL in genere utilizza un "ottimizzatore" per trasformare la query che viene fornita in una serie di "filtri" che sono poi applicati ai dati presenti nei vari indici in modo da estrarre i dati richiesti nel modo piu' efficiente possibile. Perche' questo ottimizzatore funzioni in modo.. hemmm... ottimale, ci deve essere una precisa distinzione di TIPO nei dati che sono memorizzati. Questo perche' gli indici vengono costruiti in modo piu' efficiente e si utilizza un "filtro" diverso a seconda del tipo di dato. Percui e' necessario che le tabelle che sono costuite siano costruite in modo da massimizzare l'uso degli indici e minimizzare la "dispersione" delle informazioni.

Piu' il database utilizza i suoi indici per accedere alle informazioni piu' rapido e preciso e' il reperimento delle informazioni.

Quindi... cosa succede se ci ritroviamo a dover gestire una massa di dati abbastanza amorfa e priva di una struttura ben precisa, in cui la suddivisione delle informazioni ha poca (o nessuna) relazione tra i vari "tipi"?

Succede che quello che otteniamo si adatta molto male ad un database di tipo "classico" e cercare di gestire questa roba come tale risulta in un sistema che e' molto, ma molto, inefficiente.

Ed inefficiente era un modo molto "blando" per definire l'intero accrocchio. Oltre ad attese che avrebbero messo a dura prova la pazienza di Giobbe, oltre un certo livello cominciano a presentarsi "errori" inattesi nell'intera faccenda. Cioe' gli errori erano "inattesi" per i programmatroti ed i vari UL/SL di $sgambetti, personalmente, dopo aver dato un'occhiata alla sruttura della cosa, avevo dato per scontato che una serie di "timeout" erano inevitabili quando le varie procedure cercavano di macinare milioni di righe di dati per estrarne una manciata, creare una tabella temporanea e poi macinare di nuovo per estrarre un'altra manciata di informazioni da presentare al contorno e dopo tutto quello, il risultato finale era magari una tabellina con 3 righe.

E come possiamo aspettarci, $sgambetti comincio' a lamentarsi con noi della "inaccettabile lentezza" dell'infrastruttura. Ovviamente, la lentezza era "inaccettabile" ma questo non vuole dire che $sgambetti progettava di andarsene a portare la loro robaccia da altri providers che (secondo $sgambetti) "promettevano prestazioni superiori di svariate grandezze", la mia lettura della cosa e' che magari gli altri provider promettevano, ma dietro pagamento di sostanziali somme di denaro che $sgambetti manco si sognava di pagare.

Ed ovviamente, dato che il mondo gira sempre nello stesso modo. Qualcuno venne "scelto come volontario" per "ottimizzare" la faccenda. E come potete immaginare, tutti quanti sono dei geni indiscussi di tutto lo scibile umano, finche' si tratta di parlare a vanvera e blaterare buzzword in meeting, ma quando si tratta di tirarsi su le maniche ed applicare in pratica tutta quella incredibile "conoscenza", tutti quanti decidono che "i loro progetti sono tutti urgenti ed in ritardo" ma non e' che sono abbastanza urgenti ed in ritardo che decidi di arrivare in ufficio all'ora a cui dovresti arrivare eh?

Onde per cui cio', io mi ritrovo a dover spiegare per la millionesima volta ad un programmatroto (CL) che non ha la piu' pallida idea di cosa sta facendo, che l'idea di usare un database relazionale per immagazzinare informazioni che relazionali non sono e' veramente una pessima idea.

IO - ...quindi la vostra struttura dati e' definitivamente sbagliata per questo tipo di cose.
CL - La struttura dati non l'ho progettata io, era gia' esistente.
IO - E mi sta bene, ma rimane il fatto che sia inadatta allo scopo. E questo e' il motivo per cui l'intero sistema e' cosi' lento.
UL - (che non sa un tubo di database, non capisce un tubo di computers, non conosce la struttura dell'applicazione e non e' chiaro che cosa ci faccia in questa riunione, a parte rompere i marroni) Ma se noi la ottimizzassimo? Quale miglioramento di prestazioni si potrebbe ottenere?
IO - Qui non c'e' niente da ottimizzare, e' come cercare di correre un gran premio di formula uno con un trattore.
CL - Che c'entrano i trattori adesso?
IO - Hanno potenza da vendere ma sono progettati per andare piano. E questo e' il vostro problema. Il vostro database ha potenza da vendere ma e' progettato per fare un lavoro completamente diverso.
UL - Ma se ha potenza da vendere perche' non produce risultati piu' in fretta?
IO - Quale parte di "progettato per andare piano" non era chiara?
CL - E come si potrebbe modificare per farlo andare piu' veloce?
IO - Sostituendolo in toto con qualche cosa d'altro. Dato l'uso che volete fare di questa roba ritengo che qualche cosa come Mongo o Redis sarebbe piu' indicato.
CL - Monche?
IO - No che, go. Mon-go. Mai sentito parlare di database non relazionali?
CL - Non relazionali? Come diavolo fai ad avere un database non relazionale?
IO - Bhe ok, parlare di 'database' e' magari un uso erroneo del termine, ma in assenza di un termine migliore...
UL - E perche' il vostro database non supporta questa "mongocosa"?
IO - Perche' e' il VOSTRO database, non il NOSTRO, noi forniamo la piattaforma, quello che ci fate funzionare sopra sono affari piu' che altro vostri.
CL - Ma mettiamo che noi dobbiamo fare una query che fa una join...
IO - No, non fai una join, quello che fai e' estrarre tutti i dati e poi cercare le corrispondenze da altre parti se vuoi farlo in quel modo.
CL - Ma noi abbiamo tutte le query che...
IO - Non funzionano. Ed il punto e' proprio quello. Con i dati che avete e come volete gestirli non potete fare 'query'. Bisogna cambiare l'approccio.
CL - IMPROPONIBILE! Cambiare l'approccio richiederebbe la riprogettazione di tutto il backend!
IO - Infatti.
UL - E se noi mettessimo il mongo sopra al nostro database?
IO - No, non funziona cosi'.
CL - RIPROGETTARE TUTTO IL BACKEND?? Ci vorrebbero dei mesi!
UL - $altroprovider ci ha assicurato che il loro sistema fornisce prestazioni almeno 4 volte superiori.
IO - Ed allora consiglio che usiate loro, e non vi diro' di fare una prova o avere queste "prestazioni" scritte nel contratto perche' sono sicuro che non sono dei deficienti e quindi nel contratto non ci sara' nessuna misura verificabile.
UL - (intuendo che io preferirei vederli migrare verso alri lidi - al contrario di quello che MarketingMan preferirebbe) ... Ma se invece ci concentrassimo sull'ottimizzare le prestazioni del database? Per esempio, se aggiungessimo della ram?

...No, non imparano o capiscono mai.

Davide
23/09/2019 10:38

Precedente Successivo

I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.

22 messaggi this document does not accept new posts

Anonymous coward

Di Anonymous coward postato il 14/10/2019 12:03

uff, la solita storia dei clienti imbecilli: cambiano le teste che lo indossano, ma il cappello dice sempre "idiota".

E come già detto, qui lo ripeto: dagli-quello-che-vogliono-purchè-paghino

Piu ram? ok, costa X.

Altre cpu? perfetto, costano Y.

Un load balancer nuovo? costa Z.

Ovviamente devono FIRMARE che lo hanno voluto loro e che tu hai detto che non avrebbe fatto la differenza.

Cosi' soldi in piu' per te (cioe', per DB) e di certo soddisfazone per te: che e' danaro ma che spessissimo vale PIU' dei soldi.

Perche non fai dei prestampati con  commento fisso "tanto non funziona, io vi ho avvisato, ma se volete così, che così sia basta che poi non ve ne lamentiate con me" e con spazio libero per $costo, $risorsahadwaredacambiare, $nomecliente, $firmacliente?

Tanto vogliono sempre la stessa cosa: tentare di "salvare" con hardware cioò che è stato mal concepito in software.

-- Anonymous coward

Guido

@ Anonymous coward Di Guido postato il 15/10/2019 08:33

Cosi' soldi in piu' per te (cioe', per DB) e di certo soddisfazone per te: che e' danaro ma che spessissimo vale PIU' dei soldi.

La soddisfazione ce l'hai pero' il problema rimane. E indovina un po' poi a chi tocca? Magari dopo mesi (o anni) e quindi peggiorato dalla furia  (se non da altri problemi sopraggiunti nel frattempo)?

 

-- who uses Debian learns Debian but who uses Slackware learns Linux

Anonymous coward

Di Anonymous coward postato il 14/10/2019 14:03

CL - RIPROGETTARE TUTTO IL BACKEND?? Ci vorrebbero dei mesi!

Che è il motivo per cui da me abbiamo ancora applicazioni di 20 anni fa, con i sistemi castrati per far funzionare quelle porcherie...

-- Anonymous coward

Guido

@ Anonymous coward Di Guido postato il 15/10/2019 08:37

Che è il motivo per cui da me abbiamo ancora applicazioni di 20 anni fa, con i sistemi castrati per far funzionare quelle porcherie...

Poi quando la libreria X o la versione Y del linguaggio che stai usando non e' piu' supportata da nessuno ti ritrovi con un sistema di botto non funzionante - e piu' aspetti ad aggiornarti e piu' il passo diventa grosso... Chiedi a $ENTE dove lavoro. Sono anni che gli dicevo che la Java 1.6 (su jsf1 + jboss5) non era il caso di tenerla. Passare alla 1.8 comportava una riscrittura totale dell'applicativo (che in effetti avevo messo quasi clandestinamente in cantiere) perche' cambia tutta l'architettura di wildfly & co. Aruba ha aggiornato i certificati TLS a 1.2 e java 1.6 e 1.7 sono automaticamente tagliate fuori. La pec non funziona piu' - adesso hanno furia e il progetto clandestino e' diventato ufficiale. M'avessero dato retta 3 anni fa non si sarebbe a questi punti.

 

 

-- who uses Debian learns Debian but who uses Slackware learns Linux

Anonymous coward

@ Guido Di Anonymous coward postato il 16/10/2019 11:36

 

Che è il motivo per cui da me abbiamo ancora applicazioni di 20 anni fa, con i sistemi castrati per far funzionare quelle porcherie...

Poi quando la libreria X o la versione Y del linguaggio che stai usando non e' piu' supportata da nessuno ti ritrovi con un sistema di botto non funzionante - e piu' aspetti ad aggiornarti e piu' il passo diventa grosso... Chiedi a $ENTE dove lavoro. Sono anni che gli dicevo che la Java 1.6 (su jsf1 + jboss5) non era il caso di tenerla. Passare alla 1.8 comportava una riscrittura totale dell'applicativo (che in effetti avevo messo quasi clandestinamente in cantiere) perche' cambia tutta l'architettura di wildfly & co. Aruba ha aggiornato i certificati TLS a 1.2 e java 1.6 e 1.7 sono automaticamente tagliate fuori. La pec non funziona piu' - adesso hanno furia e il progetto clandestino e' diventato ufficiale. M'avessero dato retta 3 anni fa non si sarebbe a questi punti.

--------------------------------------------------------

dove lavoravo io la procedura sarebbe stata:

A. chiusura immediata del tuo progetto "semi clandestino" avente come conseguenza:

caso uno. SE VA BENE: megacazziatone nei tuoi confronti per aver avviato un progetto NON autorizzato, comportante drenaggio di risorse che avrebbero potuito essere profiquamente impiegati per attività "lecite", additamento della tua persona a tutta l'azienda quale "testa calda", "inaffinabile", "anarchico", "indisciplinato", ecc ecc

caso due. SE VA MALE: caso 1 + lettera di richiamo ufficiale che "peserà" su tuo futuro aziendale (bonus, promozioni, ecc)

 

B. avvio di un progetto UFFICIALE che è concettualmente identico al tuo, ma:

1. costa il triplo

2. verrà implementato in tempi 5 volte superiori

3. sarà tecnologicamente arretrato e (quindi nascerà "vecchio") oppure talmente avanzato da essere instabile e incompatibile col resto del mondo.

-- Anonymous coward

Guido

@ Anonymous coward Di Guido postato il 21/10/2019 11:16

I cazziatoni ci sono stati. Mi ha salvato $PROVIDER che ha aggiornato a TLS 1.2 e quindi ha tagliato tutto cio' che era inferiore a java 1.8 (che e' un requisito MINIMO quindi si nasce gia' vecchio...)

 

Che è il motivo per cui da me abbiamo ancora applicazioni di 20 anni fa, con i sistemi castrati per far funzionare quelle porcherie...

Poi quando la libreria X o la versione Y del linguaggio che stai usando non e' piu' supportata da nessuno ti ritrovi con un sistema di botto non funzionante - e piu' aspetti ad aggiornarti e piu' il passo diventa grosso... Chiedi a $ENTE dove lavoro. Sono anni che gli dicevo che la Java 1.6 (su jsf1 + jboss5) non era il caso di tenerla. Passare alla 1.8 comportava una riscrittura totale dell'applicativo (che in effetti avevo messo quasi clandestinamente in cantiere) perche' cambia tutta l'architettura di wildfly & co. Aruba ha aggiornato i certificati TLS a 1.2 e java 1.6 e 1.7 sono automaticamente tagliate fuori. La pec non funziona piu' - adesso hanno furia e il progetto clandestino e' diventato ufficiale. M'avessero dato retta 3 anni fa non si sarebbe a questi punti.

 

 

-- who uses Debian learns Debian but who uses Slackware learns Linux

Davide Bianchi

@ Guido Di Davide Bianchi postato il 22/10/2019 08:30

Che è il motivo per cui da me abbiamo ancora applicazioni di 20 anni fa, con i sistemi castrati per far funzionare quelle porcherie...

Poi quando la libreria X o la versione Y del linguaggio che stai usando non e' piu' supportata da nessuno

Si', e poi succede come successe da $formaggini, di cui ho parlato in casino di tempo fa:

https://www.soft-land.org/storie/09/story51

 

-- Davide Bianchi

Guido

@ Davide Bianchi Di Guido postato il 23/10/2019 08:04

Qui su $ENTE adesso piangono perche' non funziona piu' la pec (aruba rispondendo ad un requisiti agid ha aggiornato TLS a 1.2 tagliando fuori tutto cio' che non lo usa aka tutte le versioni di java precedenti alla 1.8). Purtroppo c'e' stato un problema di fondo: nessuno si e' mai preso la briga di tenere il sw aggiornato, per cui passare dalla 1.6 alla 1.7 (e da jboss 5 a 6) e dalla 1.7 alla 1.8 (e a wildfly) sarebbero stati tutti piccoli passi perfettamente fattibili. Solo che nessuno aveva voglia di rompersi i cosiddetti (e nessuno aveva voglia di far presente al cliente che 'ste robe sarebbero state necessarie). Per cui piu' il tempo passava piu' il passo diventava grosso e nessuno aveva voglia di farlo. Poi e' diventato talmente grosso da essere sostanzialmente una riscrittura e ovviamente il cliente non ne ha capito la necessita' finche' non ci ha battuto il muso di brutto. Oltretutto che piu' ancora aspetti e piu' il problema continua a crescere.

Senza considerare l'aspetto sicurezza. Java 1.6 ha delle falle clamorose ed entrambi (lei e jboss 1.5) sono EOL per cui niente piu' aggiornamenti o patch - sei sostanzialmente a rischio...

 

PS la storia di formaggini la lessi illibus temporibus ;\)

Che è il motivo per cui da me abbiamo ancora applicazioni di 20 anni fa, con i sistemi castrati per far funzionare quelle porcherie...

Poi quando la libreria X o la versione Y del linguaggio che stai usando non e' piu' supportata da nessuno

Si', e poi succede come successe da $formaggini, di cui ho parlato in casino di tempo fa:

https://www.soft-land.org/storie/09/story51

 

 

 

-- who uses Debian learns Debian but who uses Slackware learns Linux

Anonymous coward

Di Anonymous coward postato il 14/10/2019 15:43

Vedi Davide, il lavoro degli UL non è produrre risultati ottimali, e tantomeno ottimizzati, al contrario.

Lo scopo degli UL è proprio quello di usare più risorse possibile in modo da "pesare" il più possibile in azienda, e una volta che questa stira le zampe (anche grazie alla loro inettitudine) migrare ad altri lidi scrivendo nel CV di avere "gestito" progetti con n uomini e del valore di x euri, dove più sono alti n e x tanto meglio figurano nel CV.

I risultati, quelli, comunque ben pochi SL arebbero in grado di valutarli e comunque non sempre sono applicabili ad altri contesti - parlo dell'UL medio che un giorno "vende" cravatte e l'anno dopo "progetta" bulloni.

Quindi nel momento in cui gli riveli che vanno incontro a molta spesa per poca resa, in realtà gli stai indicando che in effetti è proprio ciò che serve al loro modello bacato di fare carriera.

-- Anonymous coward

Anonymous coward

@ Anonymous coward Di Anonymous coward postato il 28/10/2019 20:56

"Lo scopo degli UL è proprio quello di usare più risorse possibile in modo da "pesare" il più possibile in azienda, e una volta che questa stira le zampe (anche grazie alla loro inettitudine) migrare ad altri lidi scrivendo nel CV di avere "gestito" progetti con n uomini e del valore di x euri, dove più sono alti n e x tanto meglio figurano nel CV."

Medhi Ali, il UBER LUSER DEGLI UBER LUSER - e chi mastiC=a come me sa di cosa parlo...

 

 

 

-- Anonymous coward

Brott

@ Anonymous coward Di Brott postato il 31/10/2019 14:55

Medhi Ali, il UBER LUSER DEGLI UBER LUSER - e chi mastiC=a come me sa di cosa parlo...

Uscito Tramiel dai giochi, per C= iniziò il declino... La mela morsicata sta per fare la stessa fine, dopo l'abbandono per cause di forza maggiore (ahem!) del suo fondatore.

 

 

 

 

 

-- Brott

Antonio Pennino

Di Antonio Pennino postato il 14/10/2019 19:07

Questa storia puo' essere facilmente ambientata nella mitica sala riunioni di $brancodipaguri. Purtroppo sonio tutti uguali, vogliono la soluzione senza cambiare nulla, senza spendere nulla, soprattutto senza pensare.

-- Antonio Pennino

Messer Franz

Di Messer Franz postato il 14/10/2019 19:25

>RIPROGETTARE IL BACKEND? Ci vorrebbero dei mesi!

Ah beh, con la qualità dei loro programmatori forse anche anni...

Comunque io avrei un'idea: gli lasciarei l loro db, ma dividerei le tabelle in più server, così il lavoro viene distribuito e le prestazioni migliorano!

Direte voi: ma se legge una tabella, poi un'altra, poi un'altra ecc, che le legga da un server o più non cambia un ciufolo, la suddivisione dà vantaggi in altri casi...

Giusto, dico io: ma

A)Gli avete lasciato il loro db che ci tengono tanto

B)Gli avete affittato più server, e il MarketingMan sarà contento

C)Tempo che i loro programmatori preparino il programma per leggere da più server ci vorrà parecchio tempo, e tu avevi accennato che te ne volevi andare da là, quindi con un po' di fortuna quando si testa la cosa tu sei già volato via

D)E' un piano facilmente comprensibile da un UL (anche se non funziona, anzi, forse proprio per questo) e quindi gli piacerebbe

E,F,G->Z)La riunione finisce, si tolgono dalle pelotas per un po' e tu rifiati!

-- Messer Franz

Guido

Di Guido postato il 15/10/2019 08:32

 Ma se invece ci concentrassimo sull'ottimizzare le prestazioni del database? Per esempio, se aggiungessimo della ram?

Odio profondo ed incommensurabile quando odo questa frase (e si a lavoro la sento fin troppo spesso). Soluzione alla M$ non migliorare le prestazioni aumenta il sistema...

(Nel nostro caso cercavamo di fare capire che avere files su db e' male - la risposta da parte dei capoccia e' stata "Se ci sono problemi aumenteremo la ram")

Sigh

-- who uses Debian learns Debian but who uses Slackware learns Linux

Messer Franz

Di Messer Franz postato il 15/10/2019 08:45

Ditemi che non sono solo io che invece di $sgambetti continua a leggere $gamberetti... che so di avere problemi, ma così gravi non pensavo...

-- Messer Franz

Anonymous coward

@ Messer Franz Di Anonymous coward postato il 16/10/2019 11:29

 

Ditemi che non sono solo io che invece di $sgambetti continua a leggere $gamberetti... che so di avere problemi, ma così gravi non pensavo...

 

No no, anch'io :D

-- Anonymous coward

Bennt

@ Messer Franz Di Bennt postato il 17/10/2019 13:42

Ditemi che non sono solo io che invece di $sgambetti continua a leggere $gamberetti... che so di avere problemi, ma così gravi non pensavo...

 

Quazzzzpita! Anch'io avevo letto $gamberetti! Sono andato a rileggere il post e ho correttamente letto $gambetti. È proprio vero che non leggiamo mai tutte le parole, ma solo l'inizio e la fine e deduciamo il resto (in questo caso male).

 

-- Bennt

Marco

@ Messer Franz Di Marco postato il 19/10/2019 22:53

 

Ditemi che non sono solo io che invece di $sgambetti continua a leggere $gamberetti... che so di avere problemi, ma così gravi non pensavo...

Immagina che io leggevo gambetti, e non ci arrivavo a capire cosa potessero centrare gli scacchi con questa storia

 

-- Marco

Piripakken

Di Piripakken postato il 15/10/2019 09:39

La tua immagine di presentazione è azzeccata: ci vuole un martello.

Da dare sulla crapa di UL, ovviamente.

Poi, vogliono migrare ad $altroprovider? Ma prego; a nemico che fugge, ponti d'oro...

-- Piripakken

Darathorn

Di Darathorn postato il 22/10/2019 12:19

programmatore del gestionale (accrocchio in vb6 con db mssql):

vedi il problema ? le query vanno in errore perchè ha pochi processori e ram.

io:

8 core e 40 GB mi sembrano tutt'altro che pochi, comunque l'applicazione è in vb6 a 32 bit , più di un processore non usa

programmatore:

no no aumenta i processori e vedrai che non andranno più in timeout e non genereranno code

io:

semmai ci arriveranno prima, c'è qualcosa di sbagliato a livello di accesso ai dati

programmatore: aumenta i processori

io: e anche le query secondo me non sono ottimizzate

programmatore: aumenta i processori



una ora dopo, dopo aver spento la macchina , aumentato da 8 a 16 i core e riavviato



programmatore: adesso lanciamo 2-3 elaborazioni di quelle pesanti e vedrai che passano

io ed il DG: vediamo

programmatore: lanciato 

5 minuti dopo: errore timeout/deadlock 



io: ok che facciamo

DG: mumble

programmatore: ehm

 

-- Darathorn

Anonymous coward

@ Darathorn Di Anonymous coward postato il 23/10/2019 14:27

io: ok che facciamo

programmatore: ehm

------------

e poi lo hai legato per terra e gli hai cagato in faccia, vero? Dimmi che e' cosi!

 

 

-- Anonymous coward

Anonymous coward

@ Anonymous coward Di Anonymous coward postato il 28/10/2019 20:59

>io: ok che facciamo

>

>programmatore: ehm

>

>------------

>e poi lo hai legato per terra e gli hai cagato in faccia, vero? Dimmi che e' cosi!

Ma dai, RICOMPENSARLO anche? :\(

 

-- Anonymous coward

22 messaggi this document does not accept new posts

Precedente Successivo


Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.


Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.

Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".

Web Interoperability Pleadge Support This Project
Powered By Gojira