Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [Zend Framework] Utilizzare NoSQL con Zend

    Ciao a tutti,
    stavo facendo un applicazione dove la maggior parte delle richieste al dB sono in lettura dati e quindi avevo pensato di utilizzare un NoSQL dB in quanto è più leggero.
    Ora il mio quesito, non avendo mai lavorato con dB NoSQL, è quale utilizzare??
    Avevo pensato Cassandra perchè sembra più stabile di altri, voi che mi consigliate??
    Inoltre essendo Zend basato sul pattern MVC come mi dovrei comportare con il Model?? Finora ho sempre considerato i model del pattern MVC come una rappresentazione delle tabelle del dB, ma ora come faccio dato che con questi dB ad ogni chiave potrebbero essere associati un numero di campi differenti???

    Vi ringrazio in anticipo, spero riusciate ad illuminarmi (magari anche con qualche guida se pensiate che ho delle lacune maggiori)....;-)

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao,
    non avevo mai sentito parlare prima di NoSQL.
    Premettendo che non ho capito granchè anche leggendo la definizione di Wiki, quello che posso dirti riguardante Zend Framework che un modello NON è una dbtable.

    Nella tua dir 'models' puoi creare una classe modello che non estende nulla con al suo interno metodi che ti restituiscano i dati che desideri.

    ad ogni chiave potrebbero essere associati un numero di campi differenti
    esempio?

    Ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    di norma db no sql come cassandra o project voldemort servono per quando gestisci database enormi (ebay ad esempio) non quando gestisci database piccoli

  4. #4
    Allora i dB NoSQL sono dB key-value e pertanto tu associ ad ogni chiave quante properties vuoi per quella chiave e questo lo puoi decidere anche solo in fase di inizializzazione di una singola entità.
    Un esempio semplice è questo:

    Oggetto/tabella Persona
    key : 1 Nome = pippo Cognome = pluto Città = new Citta { Nome = Roma}
    key : 2 Nome = pluto Cognome = pippo Nazione = new Nazione { Nome = Italia}
    key : 3 Nome = paperino

    Nei model mi creerei solo il model Persona?? e come mappo le properties su e dal db??


    di norma db no sql come cassandra o project voldemort servono per quando gestisci database enormi (ebay ad esempio) non quando gestisci database piccoli
    Cassandra serve ANCHE e SOPRATTUTTO per dB enormi ma non solo....poi a me serviva proprio gestire un grosso flusso di informazioni.

    Grazie per il supporto...;-)

  5. #5
    Ciao,
    il problema è che ne in PHP ne in Zend esistono
    funzioni/adapters per db no sql quindi a meno che non sviluppi in C
    la vedo un po dura

    Se hai da gestire dati specialmente in lettura una buona
    alternativa è sqlite.

    Per il model cosa cambia penso proprio niente.




    Aspe qualcosa ci sta

    http://wiki.apache.org/cassandra/ThriftExamples#PHP
    ma se non hai un virtual server o un server dedicato ..........
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    comunque anche usando altri db più classici se imposti l'engine su archive hai performance notevoltemente superiori rispetto a InnoDB e MyISAM

  7. #7
    Utente di HTML.it L'avatar di lloyd27
    Registrato dal
    Mar 2006
    Messaggi
    256
    Cassandra è ottimizzato per operazioni importanti, con redundancy e tutto quello che ci va dietro. Se ti serve qualcosa sempre sullo stesso stile ma più leggero, la scelta ricade soprattutto tra uno tra CouchDB e MongoDB, con il primo avvantaggiato dalla stabilità, mentre il secondo dalle prestazioni.
    Per ZF non so cosa esista, però se hai la possibilità di utilizzare PHP 5.3 allora ti consiglio Doctrine 2 + Doctrine ODM, per gestire MongoDB...

  8. #8
    Originariamente inviato da lloyd27
    Cassandra è ottimizzato per operazioni importanti, con redundancy e tutto quello che ci va dietro. Se ti serve qualcosa sempre sullo stesso stile ma più leggero, la scelta ricade soprattutto tra uno tra CouchDB e MongoDB, con il primo avvantaggiato dalla stabilità, mentre il secondo dalle prestazioni.
    Per ZF non so cosa esista, però se hai la possibilità di utilizzare PHP 5.3 allora ti consiglio Doctrine 2 + Doctrine ODM, per gestire MongoDB...
    cool

    http://php.net/manual/en/class.mongodb.php

    http://devzone.zend.com/article/12132
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  9. #9
    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  10. #10
    Vi ringrazio tutti per gli innumerevoli db NOSQL segnalati ma il mio problema principale era un'altro:

    In un applicazione con pattern MVC (come lo è anche Zend) io ho sempre utlizzato i model per rappresentare gli oggetti coincidenti con entità del dB, cioè mi spiego con un esempio:

    Nel dB ho una tabella Persona: con attributi Nome, Cognome, Età.
    Nei model inserivo una classe Persona con properties : Nome, Cognome, Età.
    In modo che mappare i dati dalle view al dB era più semplice.

    Ora quello che mi chiedo è: Non avendo tabelle precise e definite che ruolo svolgono i model??
    come posso creare un entità/oggetto se non so quali sono precise le sue proprietà??

    Forse mi sbagliavo io prima o forse non ho ben chiaro qualcosa....

    Accetto critiche (aiutano a crescere) ma soprattutto aiuti

    Grazie...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.