Come si decide quale tipo di database utilizzare?


31

Non mi piace molto il nome "NoSQL", perché non è molto descrittivo. Mi dice ciò che i database non sono dove sono più interessati 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 è lo strumento migliore per.

Alcune ipotesi che vorrei fare (e che ti chiederei di fare):

  1. Supponiamo che tu abbia la capacità di assumere un numero qualsiasi di ingegneri brillanti che abbiano ugualmente esperienza con ogni tecnologia di database che sia mai esistita.
  2. Supponiamo che tu abbia l'infrastruttura tecnica per supportare qualsiasi dato 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 di avere il 100% di buy-in dalla direzione.
  5. Supponi di avere una quantità infinita di soldi da buttare al problema.

Ora, mi rendo conto che i presupposti di cui sopra eliminano molte considerazioni valide che sono coinvolte nella scelta di un database, ma il mio obiettivo è quello di capire quale database è meglio per il lavoro a livello puramente tecnico. Quindi, dati i presupposti di cui sopra, la domanda è: quali lavori sono ciascun database (inclusi SQL e NoSQL) lo strumento migliore e perché?


Hai qualche possibilità di scegliere due esempi di questi database e quale sarebbe la loro categoria?
JeffO,

Risposte:


6

I database relazionali (SQL) sono ottimi per i dati secondo cui il modello sottostante rimane stabile. Molte implementazioni sono in circolazione da un po 'di tempo (Oracle, DB2, SqlServer) e sono stabili e sicure. Inoltre, è molto facile trovare persone con esperienza per amministrarle - e gli amministratori del database sono un must! I programmatori non dovrebbero avere a che fare con autorizzazioni, impostazioni e messa a punto. Dovrebbero essere in grado di concentrarsi sulla programmazione e lasciare che gli amministratori si preoccupino di mantenere il database attivo. I database relazionali sono anche relativamente facili da interrogare e ci sono molti strumenti là fuori che aiutano a trovare i dati da essi.


5

SQL

Oggetto relazionale. Server stabili con controllo accurato delle autorizzazioni.

NoSQL

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


1

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

Mentre i database SQL sono strumenti follemente utili, il loro monopolio di ~ 15 anni sta volgendo al termine. Ed era solo il momento: non riesco nemmeno a contare le cose che sono state forzate in database relazionali, ma non le ho mai adattate.
Ma le differenze tra i database NoSQL sono molto più grandi di quanto non lo siano mai state tra un database SQL e l'altro. Ciò significa che è una responsabilità più grande per gli architetti del software scegliere quello appropriato per un progetto all'inizio.
In questa luce, ecco un confronto tra Cassandra, Mongodb, CouchDB, Redis, Riak, Membase, Neo4j e HBase [...]


-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,

per un piccolo lavoro senza dati enormi, sqlight potrebbe andare bene.
per un'azienda che utilizza il prodotto Microsoft, MSSQL è buono.
per lo sviluppo web, MySql è molto facile da usare.
per banche, Oracle o couchbase (se si tratta di problemi di trancation).
per un piccolo lavoro con molti dati, MongoDB è buono.
per un'azienda con enormi dati e una sola tabella gentile, Cassandra.
per un'azienda con enormi dati, Couchbase.
per l'ecosistema hadoop, HBase.
per grafico, immagine, in memoria, ...


5
Sono curioso di sapere perché consiglieresti MySQL per un negozio Microsoft su SQL Server?
Becuzz,

lo correggo, intendevo Mssql.
Hossein Vatani,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.