Re: [Python] Django + Postgres
On Sunday, December 15, 2013, Simone Federici wrote: Se parlate di una dimensione progetto. Ok. Ma se si sviluppa un prodotto? Valgono le stesse riflessioni? Dipende cosa intendi con prodotto. Siccome ho sempre un customer, nel mio caso i progetti sono in certo senso anche prodotti. E si, se. Lo sforzo di sviluppo o di ops cresce troppo, io voto per cambiare i componenti colpevoli. Anche se sono db. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] R: [OT] Che distro usate per il vostro server (WAS desktop)
Se posso scegliere: Ubuntu server. Motivi: - ha apt - rispetto a Debian mi sembra un pelo meno conservativa (vedi più aggiornata) ma cmq seria / affidabile - la uso gia su desktop Sempre se sono io a poter scegliere cerco di non farmi condizionare troppo dal package manager. Per dire, compilare Python 3.4 da sorgenti è veramente semplice: http://stackoverflow.com/questions/12023773/python-3-3-source-code-setup-modules-were-not-found-lzma-sqlite3-tkinter/20468723#20468723 ...e per quanto ne so io non ha particolari controindicazioni (ma non è il mio mestiere e potrei sbagliarmi). --- Giampaolo https://code.google.com/p/pyftpdlib/ https://code.google.com/p/psutil/ https://code.google.com/p/pysendfile/ ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Django + Postgres
On Sunday, December 15, 2013, Alberto Granzotto wrote: Secondo me la vera cosa che rende schiavi e' l'avere dei dati semi-denormalizzati. Non è che ti rende schiavo. Ti rende pazzo e ti tira scemo. Dopo di che lo sai come va. Sql è old ed enterprise, nosql è ggiovane. Semplicemente ci sono cose che fai meglio con uno e con l'altro. Oltretutto ci sono quintali di nosql diversi, ognuno che va bene a fare vose diverse. -- . ..: -enrico- ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Django + Postgres
2013/12/16 enrico franchi enrico.fran...@gmail.com Dipende cosa intendi con prodotto. Siccome ho sempre un customer, nel mio caso i progetti sono in certo senso anche prodotti. se hai un solo customer, è un progetto. se il tuo customer è la tua azienda, che vende il prodotto che sviluppi tramite molteplici canali a migliaia di clienti finali allora direi che è un prodotto. Diciamo che possiamo generalizzare dicendo che un prodotto lo sviluppi per un customer ma il cliente finale non corrisponde al tuo customer. E si, se. Lo sforzo di sviluppo o di ops cresce troppo, io voto per cambiare i componenti colpevoli. Anche se sono db. Scegliere il DB per un prodotto è una cosa difficile. Per esigenze di vendita in differenti realtà il requisito del tuo cliente (stessa azienda) potrebbe essere supportare i maggiori DB. Un ORM semplifica la vita. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python, redis e bottleneck
Il giorno dom, 15/12/2013 alle 22.24 +, A. Cavallo ha scritto: Dipende tutto dalla mole di dati. Sopra 1T? Fino a diciamo 500Gb la soluzione più semplice è un disco sdd pcie, oramai costano sotto i 1000euri e puoi usare un DB tradizionale. Redis è adatto in certi scenari ma non rimpiazza un DB (può in sempre usare un DB relazionale come nosql). ?! Nel mio scenario, se dovessi (costretto con le spalle al muro) sostituire Redis lo sostituirei con un dizionario Python, che potrebbe aumentare un po' l'efficienza, a costo però di costringermi a legare i dati ad un processo specifico. Quindi se vuoi sono i dump di Redis che rimpiazzano veramente un database per me. E in questa situazione se volessi investire in hardware, comprerei più RAM (dato che gli SSD sono almeno un ordine di grandezza più lenti). (per la cronaca: se ci fosse un modo più pratico/rodato/efficiente per fare il dump e ricaricare dei singoli database json sarei interessatissimo - ma non ho trovato niente, e non ho voglia di scrivermi codice ad hoc) Vorrei solo capire dov'è il bottleneck, dato che né CPU né disco (né RAM) sono utilizzati al massimo. Ma è una curiosità intellettuale (dato che comunque la CPU è utilizzata all'80%, quindi il guadagno pratico da un'eventuale illuminazione sarebbe limitato). ciao Pietro Pietro Battiston m...@pietrobattiston.it wrote: Salve a tutti, dopo l'ultima discussione in cui sono stato invitato a verificare se ci guadagnassi veramente qualcosa a mappare con oggetti le mie tabelle SQL, mi sono reso conto... che l'SQL era semplicemente lo strumento sbagliato per me. Ed ho scoperto redis. L'unico mio problema con redis è che devo usare svariati database diversi, che non stanno tutti in memoria. Però posso caricarli quando mi servono, con redis-dump-load.¹ Qui veniamo alla domanda: per fare ciò, i database devono essere salvati su disco in formato json (e qui l'efficienza è un problema secondario, dato che lo faccio una volta sola) e ricaricati. Ricaricarli è un'operazione che mi prende parecchio tempo (nel senso che devo anche farla svariate volte). Ha certamente a che fare con il fatto che il mio computer non è una scheggia (N.B: il bottleneck non è il disco), però comunque mi stupisce che, su due core che ho, l'utilizzo (verificato con un brutale top) rimanga intorno al 80% di python + i 35% di redis. Non ho altri processi impegnino il processore in maniera significativa (tant'è che nella successiva fase di analisi dei dati, python è fisso al 100%). Ho letto che redis può essere nettamente più efficiente se si usa un socket unix invece che TCP-IP, ed in effetti provando ho notato un certo incremento di prestazioni (con il TCP-IP, le cifre erano piuttosto 70% di python + 30% di redis). Sapete dirmi se potrei fare qualcosa di più? O se dovrei arrendermi? grazie Pietro ¹ : https://github.com/p/redis-dump-load/ __ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Che distro usate per il vostro server (WAS desktop)
2013/12/13 Marco Beri marcob...@gmail.com: Parlando di questo thread con un mio collega, si è detto molto interessato alla cosa e mi ha detto: bello, ma per un server? RHEL/CentOS. Il supporto Red Hat non si batte. C'è comunque da dire che all'epoca del cloud, la distro usata sta diventando sempre meno importante. Per dire, se Fedora mi offre (solo?) 13 mesi di update, con uno qualunque dei sistemi di automazione menzionati altrove posso tirare su una nuova istanza già bella e pronta in pochi minuti. -- Gianluca Sforna http://morefedora.blogspot.com http://identi.ca/giallu - http://twitter.com/giallu ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Che distro usate per il vostro server (WAS desktop)
2013/12/16 Gianluca Sforna gia...@gmail.com: C'è comunque da dire che all'epoca del cloud, la distro usata sta diventando sempre meno importante. Per dire, se Fedora mi offre (solo?) 13 mesi di update, con uno qualunque dei sistemi di automazione menzionati altrove posso tirare su una nuova istanza già bella e pronta in pochi minuti. Visto che menzioni questo, m'hai fatto venire in mente che ad astrarre ancora di più le differenze ora ci sono anche figaggini come Docker: http://www.docker.io/ ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Che distro usate per il vostro server (WAS desktop)
On 12/16/2013 04:18 PM, Dario Bertini wrote: Visto che menzioni questo, m'hai fatto venire in mente che ad astrarre ancora di più le differenze ora ci sono anche figaggini come Docker: http://www.docker.io/ Che non è production-ready comunque :-) Anch'io sto studiando Docker, se a qualcuno interessa possiamo fare il gruppo-studio :-) Fabrizio. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] [OT] Che distro usate per il vostro server (WAS desktop)
2013/12/16 Fabrizio Soppelsa fsoppelsa...@gmail.com: Anch'io sto studiando Docker, se a qualcuno interessa possiamo fare il gruppo-studio :-) +1 -- Gianluca Sforna http://morefedora.blogspot.com http://identi.ca/giallu - http://twitter.com/giallu ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Accoppiare due liste
Ho due liste di oggetti fatti da me: uno è una testata e l'altra sono le righe. I dati sono pre-elaborazioni di due csv di qualche migliaio di righe. Ad ogni testata dovrei ora associare le righe. Lo faccio con questo criterio: for riga in righe: testata = [ft for ft in fatture if ft.numero_fattura == riga._nr_fattura][0] testata.aggiungi_riga(riga) Bello (beh, insomma...), però per 1000 righe ci impiega circa 30 secondi con un tempo di lavoro di circa 40 min per la mole di dati che ho. Secondo voi, come posso velocizzare l'elaborazione? Grazie, Simone ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Accoppiare due liste
2013/12/16 simozack simozac...@gmail.com for riga in righe: testata = [ft for ft in fatture if ft.numero_fattura == riga._nr_fattura][0] testata.aggiungi_riga(riga) Prova così. fatture = dict([(ft.numero_fattura, ft) for ft in fatture]) for riga in righe: fatture[riga._nr_fattura].aggiungi_riga(riga) Ciao. Marco. -- http://beri.it/ - Un blog http://beri.it/i-miei-libri/ - Qualche libro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Accoppiare due liste
Il 16 dicembre 2013 17:56, Marco Beri marcob...@gmail.com ha scritto: Prova così. fatture = dict([(ft.numero_fattura, ft) for ft in fatture]) for riga in righe: fatture[riga._nr_fattura].aggiungi_riga(riga) Bah, qualche piccolo miglioramento... :) PS: per la cronaca siamo nell'ordine di qualche decina di migliaia di volte, a ben vedere... :) Grazie mille per la lezione, Simone ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Accoppiare due liste
2013/12/16 simozack simozac...@gmail.com Bah, qualche piccolo miglioramento... :) PS: per la cronaca siamo nell'ordine di qualche decina di migliaia di volte, a ben vedere... :) Grazie mille per la lezione, My pleasure :-) Ciao. Marco. -- http://beri.it/ - Un blog http://beri.it/i-miei-libri/ - Qualche libro ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Python, redis e bottleneck
On 12/16/2013 01:22 PM, Pietro Battiston wrote: Nel mio scenario, se dovessi (costretto con le spalle al muro) sostituire Redis lo sostituirei con un dizionario Python, che potrebbe aumentare un po' l'efficienza, a costo però di costringermi a legare i dati ad un processo specifico. Per me stai continuando a sbagliare strumento. Redis e` un database NoSQL di tipo key value con qualche struttura di gestione semplice del dato, mentre tu parli di dizionari e JSON. Con queste premesse, e` molto piu` conviente orientarsi su di un database di dipo document store, che permettono tra l'altro la navigabilita` del documento. Sistemi adatti sono quindi MongoDB, Cassandra (un po' meno), CouchDB, OrientDB e, non ultimo PostgreSQL (il datatype JSON e` completamente navigabile). A questo punto ti consiglio di valutare e di provare uno dei sistemi che ti ho appena citato, indubbiamente saranno molto piu` adatti di Redis per quello che ti prefiggi Enrico ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python