¿Cómo decide qué tipo de base de datos usar?


31

Realmente no me gusta el nombre "NoSQL", porque no es muy descriptivo. Me dice cuáles no son las bases de datos , donde estoy más interesado en cuáles son las bases de datos . Realmente creo que esta categoría realmente abarca varias categorías de bases de datos. Solo estoy tratando de tener una idea general del trabajo para el que cada base de datos es la mejor herramienta.

Algunas suposiciones que me gustaría hacer (y le pediría que haga):

  1. Suponga que tiene la capacidad de contratar cualquier cantidad de ingenieros brillantes que tengan la misma experiencia con todas las tecnologías de bases de datos que haya existido.
  2. Suponga que tiene la infraestructura técnica para admitir cualquier base de datos (incluidos los servidores y administradores de sistemas disponibles que pueden admitir dicha base de datos).
  3. Suponga que cada base de datos tiene el mejor soporte posible de forma gratuita.
  4. Suponga que tiene el 100% de aceptación de la administración
  5. Suponga que tiene una cantidad infinita de dinero para arrojar al problema.

Ahora, me doy cuenta de que los supuestos anteriores eliminan muchas consideraciones válidas que están involucradas en la elección de una base de datos, pero mi enfoque está en averiguar qué base de datos es la mejor para el trabajo en un nivel puramente técnico. Entonces, dados los supuestos anteriores, la pregunta es: ¿para qué trabajos es la mejor herramienta para cada base de datos (incluidos SQL y NoSQL) y por qué?


¿Alguna posibilidad de elegir dos ejemplos de estas bases de datos y cuál sería su categoría?
JeffO

Respuestas:


6

Las bases de datos relacionales (SQL) son excelentes para los datos que el modelo subyacente se mantiene estable. Muchas implementaciones han existido por un tiempo (Oracle, DB2, SqlServer) y son estables y seguras. Además, es muy fácil encontrar personas con experiencia para administrarlos, ¡y los administradores de bases de datos son imprescindibles! Los programadores no deberían tener que lidiar con los permisos, la configuración y el ajuste. Deben poder concentrarse en la programación y dejar que los administradores se preocupen por mantener la base de datos activa. Las bases de datos relacionales también son relativamente fáciles de consultar, y existen muchas herramientas para ayudar a encontrar datos de ellas.


5

SQL

Objeto relacional. Servidores estables con control de grano fino sobre los permisos.

NoSQL

Almacenamiento flexible Alta capacidad de escalabilidad y fragmentación.


1

Hay muy buena información sobre esto en este artículo: Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4j comparación :

Si bien las bases de datos SQL son herramientas increíblemente útiles, su monopolio de ~ 15 años está llegando a su fin. Y era solo el tiempo: ni siquiera puedo contar las cosas que se forzaron en las bases de datos relacionales, pero nunca las encajé.
Pero las diferencias entre las bases de datos NoSQL son mucho más grandes que nunca entre una base de datos SQL y otra. Esto significa que es una responsabilidad mayor para los arquitectos de software elegir el apropiado para un proyecto desde el principio.
En este sentido, aquí hay una comparación de Cassandra, Mongodb, CouchDB, Redis, Riak, Membase, Neo4j y HBase [...]


-3

Supongo que esta no es una buena pregunta, por ejemplo, ¿qué tipo de vehículos es bueno? ¿Bugatti, BWM, automóvil, mini máquina, tren, locomotora, avión?
Eso depende de tu situacion,

para un trabajo pequeño sin grandes datos, sqlight puede ser bueno.
Para una empresa que utiliza el producto de Microsoft, MSSQL es bueno.
para el desarrollo web, MySql es muy fácil de usar.
para bancos, Oracle o couchbase (si se maneja el problema de la transferencia).
para un trabajo pequeño con muchos datos, MongoDB es bueno.
para una empresa con gran cantidad de datos y una única tabla amable, Cassandra.
para una empresa con grandes datos, Couchbase.
para el ecosistema hadoop, HBase.
para gráfico, imagen, en memoria, ...


55
Tengo curiosidad por qué recomendaría MySQL para una tienda de Microsoft en lugar de SQL Server.
Becuzz

corrijo eso, quise decir Mssql.
Hossein Vatani
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.