Pregunta

Estoy investigando un nuevo proyecto que será un sitio de estilo de las redes sociales. Estoy leyendo sobre RavenDb y me gusta el aspecto de una gran cantidad de sus características. No he leído en nosql todo lo que mucho pero me pregunto si hay un nicho con lo mejor y SQL vieja escuela encaja sigue siendo la mejor opción para otras cosas.

Estoy pensando que los permisos se enchufan sería ideal para un sitio de estilo tejido social - sino que en realidad llevar a cabo en un entorno donde será recibiendo golpes la base de datos - o está optimizado para un sistema de estilo más informes en donde está posible seguir tirando nuevas estructuras de datos en la base de datos e informar sobre esas estructuras.

Estoy ansioso por utilizar la herramienta adecuada para el trabajo -. Voy a estar utilizando MVC3, Windsor + cualquiera de servidor SQL o Nhibernate + RavenDb

En caso me quedo con el viejo sql escuela o ir con el nuevo chico en el bloque:? Ravendb

¿Fue útil?

Solución

Esta pregunta puede llegar a estar muy cerca de ser subjetiva (a pesar de que no es realmente), que está hablando NoSQL como si fuera una sola cosa, y que no es el caso.

tiene

  • bases de datos de gráfico (Neo4j etc),
  • map / reduce bases de datos documentales de estilo (Couch, Raven),
  • bases de datos documentales que tratan de sentirse como bases de datos comunes (Mongo),
  • tiendas de clave / valor (Cassandra etc)
  • Moar va aquí.

Cada uno de ellos intenta resolver un problema diferente a través de diferentes medios, y si tendrá que utilizar uno de ellos más de una tienda tradicional es relacional

  • Una cuestión de conveniencia
  • Una cuestión de preferencia personal

Al final del día, para el principal de almacenamiento de datos para un solo sistema, una base de datos de documentos o tienda relacional es probablemente lo que quiere, aunque por diferentes partes de su sistema es muy posible que terminar la utilización de una base de datos gráfica (para el cálculo de vecinos, etc.), o una tienda de clave / valor (como Facebook hace / hizo para los mensajes de la bandeja de entrada).

La principal ventaja de elegir un almacén de documentos como el almacén principal sobre la de un ser relacional, es que usted no tiene que preocuparse por tratar de asignar los objetos en una colección de tablas, y hay menos sobrecarga que implica la configuración al hacerlo.

La otra desventaja / al revés sería que usted tiene que aprender algo nuevo y errores hacer a lo largo del camino.

Así que mi respuesta si voy a ser directo?

  • RavenDB sería adecuado
  • SQL sería adecuado

¿Qué prefieres usar? En estos días yo probablemente ir a por Raven, sabiendo que puedo volcar datos en un almacén relacional para la elaboración de informes y probablemente hagan lo mismo para otras partes de mi sistema, y ??hacer búsqueda de texto libre y fastish-escribe / lee rápido sin tener que ir a través del esfuerzo de definir las tiendas de lectura / escritura por separado es una victoria en la general.

Pero ese soy yo, y yo soy parcial.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top