Domanda

Stack Overflow Architettura ho letto qualcosa chiamato NoSQL, non ho capito cosa vuol dire, e ho provato a cercare su google ma le cuciture che non riesco a ottenere esattamente che cosa è.

Qualcuno può spiegare che cosa significa NoSQL con parole semplici?

È stato utile?

Soluzione

Se hai mai lavorato con un database, probabilmente avete lavorato con un relazionale di database . Gli esempi sarebbero un database di Access, SQL Server, MySQL o. Quando si pensa a tabelle in questi tipi di basi di dati, in genere si pensa di una griglia, come in Excel. Bisogna nominare ogni colonna della tabella del database, e si deve specificare se tutti i valori in quella colonna sono interi, stringhe, ecc Infine, quando si vuole cercare informazioni in tale tabella, è necessario utilizzare un linguaggio chiamato SQL.

Una nuova tendenza si sta formando intorno a basi di dati non relazionali, cioè banche dati che non rientrano in una griglia ordinata. Non è necessario specificare che le cose sono interi e stringhe e booleani, ecc Questi tipi di database più flessibili, ma non si utilizza SQL, perché non sono strutturati in questo modo.

In parole povere, è per questo che sono database "NoSQL".

Il vantaggio di utilizzare un database NoSQL è che non c'è bisogno di sapere esattamente che cosa i vostri dati sarà simile prima del tempo. Forse avete una tabella Contatti, ma non si sa che tipo di informazioni si desidera memorizzare su ogni contatto. In un database relazionale, è necessario rendere le colonne come "Nome" e "Indirizzo". Se si scopre in seguito che avete bisogno di un numero di telefono, è necessario aggiungere una colonna per questo. Non c'è bisogno di questo tipo di pianificazione / strutturazione in un database NoSQL. Ci sono anche i potenziali vantaggi di scala, ma che è un po 'controversa, quindi non faranno alcun reclamo lì.

Svantaggi di database NoSQL è davvero la mancanza di SQL. SQL è semplice e onnipresente. SQL consente di sezionare i dati più facile ottenere risultati aggregati, mentre è un po 'più complicato nei database NoSQL (probabilmente utilizzare le cose come MapReduce, per i quali c'è un po' di una curva di apprendimento).

Altri suggerimenti

NoSQL Homepage

  

NoSQL è un portatile, veloce del sistema di gestione di database relazionale senza limiti arbitrari, (diverso dalla memoria e la velocità del processore) che funziona sotto, e interagisce con il sistema operativo UNIX 1. Esso utilizza il "Operatore-Stream paradigma" descritto in "Review Unix", marzo 1991, pagina 24, dal titolo "A 4GL Language". Ci sono un certo numero di "operatori" ciascuno dei quali svolge una funzione unica sui dati. Il "flusso" è fornita dal meccanismo di reindirizzamento di ingresso UNIX / Output. Quindi ogni operatore elabora alcuni dati e poi passa lungo all'operatore successivo attraverso la funzione pipe UNIX. Questo è molto efficiente come i tubi UNIX sono implementati in memoria. NoSQL è compatibile con il "modello relazionale".

Vorrei anche vedere questa risposta su StackOverflow .

NoSQL è la nuova filosofia base di dati che parla di tutte le carenze della progettazione di database relazionali, in particolare i problemi che hanno in scaling up per gli ambienti web esigenti di oggi.

NoSQL si sta rapidamente evolvendo in un movimento con nuovi strumenti, software e formati fino a venire in alternativa a SQL.

RDBMS è onnipresente come OOP e mentre entrambe queste metodologie di progettazione risolvere alcuni problemi meravigliosamente, non risolvono tutto.

Quindi, pensare di NoSQL come PROGRAMMAZIONE funzionale del mondo dei database.

Questa abbastanza semplice?

NoSQL è l'idea che i database SQL di tipo non soddisfano le richieste / esigenze di una base di dati pesantemente utilizzata che richiede operazioni di essere affidabile e sicura (o vicino ad esso). Questo si riallaccia alle idee di acido e di PAC, entrambe le cose merita di essere esaminata, ma non qualcosa da perdere il sonno a meno che non si esegue un sito molto popolare che è un'operazione pesante (ad esempio Amazon o Ebay). Per ottenere un buon inizio su questi temi, vi consiglio:

http://www.eflorenzano.com/blog/post/ my-pensieri-nosql /

e

http://www.julianbrowne.com/article/viewer/brewers -Cap-teorema

In parole povere, significa che non si utilizza un database relazionale per la memorizzazione dei dati.

Ecco un articolo in questione: http://www.computerworld.com/s/ articolo / 9135086 / No_to_SQL_Anti_database_movement_gains_steam_

qualcosa che tutti si considera un approccio "NoSQL" dovrebbe prendere in considerazione:

(Non mi rischiare di mettere l'immagine in questo post in quanto contiene una parolaccia, e non voglio bandiere offensivi Quindi clicker attenzione -.. C'è un f-word in là solo clic, se si dispone di un senso dell'umorismo.)

http://browsertoolkit.com/fault-tolerance.png

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top