Come decidi quale tipo di database usare?

32

Non mi piace il nome "NoSQL", perché non è molto descrittivo. Mi dice che i database non sono dove sono più interessato a ciò che i database sono . Penso davvero che questa categoria comprenda davvero diverse categorie di database. Sto solo cercando di avere un'idea generale di quale lavoro ogni particolare database sia lo strumento migliore per.

Alcune ipotesi che vorrei fare (e vorrei chiederle di fare):

  1. Supponiamo che tu abbia la capacità di assumere un numero qualsiasi di ingegneri brillanti con uguale esperienza con ogni tecnologia di database che sia mai esistita.
  2. Supponiamo che tu disponga dell'infrastruttura tecnica per supportare qualsiasi database (inclusi server e amministratori di sistema disponibili che possono supportare detto database).
  3. Supponiamo che ogni database abbia il miglior supporto possibile gratuitamente.
  4. Supponiamo che tu abbia il 100% di buy-in dalla gestione.
  5. Immagina di avere una quantità infinita di soldi da buttare al problema.

Ora, mi rendo conto che le ipotesi di cui sopra eliminano molte considerazioni valide che sono implicate nella scelta di un database, ma il mio obiettivo è capire quale sia il database migliore per il lavoro a livello puramente tecnico. Quindi, date le ipotesi di cui sopra, la domanda è: quali lavori sono ciascun database (compresi SQL e NoSQL) lo strumento migliore e perché?

    
posta Jason Baker 10.12.2010 - 21:35
fonte

4 risposte

6

I database relazionali (SQL) sono ottimi per i dati che il modello sottostante rimane stabile. Molte implementazioni sono in circolazione da un po '(Oracle, DB2, SqlServer) e sono stabili e sicure. Inoltre, è molto facile trovare persone con esperienza per amministrarle - e gli amministratori di database sono un must! I programmatori non dovrebbero avere a che fare con permessi, setup e tuning. Dovrebbero essere in grado di concentrarsi sulla programmazione e lasciare che gli amministratori si preoccupino di mantenere il database attivo. Anche i database relazionali sono relativamente facili da interrogare e ci sono molti strumenti utili per trovare dati da loro.

    
risposta data 10.12.2010 - 21:55
fonte
5

SQL

Oggetto relazionale. Server stabili con controllo a grana fine su permessi.

NoSQL

Archiviazione flessibile. Elevate capacità di scalabilità e sharding.

    
risposta data 10.12.2010 - 21:49
fonte
1

Ci sono alcune ottime informazioni su questo in questo articolo: Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j confronto :

While SQL databases are insanely useful tools, their monopoly of ~15 years is coming to an end. And it was just time: I can't even count the things that were forced into relational databases, but never really fitted them.
But the differences between NoSQL databases are much bigger than it ever was between one SQL database and another. This means that it is a bigger responsibility on software architects to choose the appropriate one for a project right at the beginning.
In this light, here is a comparison of Cassandra, Mongodb, CouchDB, Redis, Riak, Membase, Neo4j and HBase [...]

    
risposta data 31.12.2010 - 05:38
fonte
-3

Immagino che questa non sia una buona domanda, ad esempio, che tipo di veicoli è buono? Bugatti, BWM, automobile, mini macchina, treno, locomotiva, aereo?
dipende dalla tua situazione,

for a small job with no huge data, sqlight may good.
for a company who use Microsoft's product, MSSQL is good.
for web developing, MySql is very easy to use.
for banks, Oracle or couchbase(if handle trancation issue).
for a small job with a lot of data, MongoDB is good.
for a company with huge data and only one kind table, Cassandra.
for a company with huge data, Couchbase.
for hadoop ecosystem, HBase.
for graph, image, in Memory, ...

    
risposta data 20.06.2017 - 13:16
fonte

Leggi altre domande sui tag