sql >> Base de Datos >  >> RDS >> Mysql

MySql vs NoSql:estructura e implementación de datos de comentarios y notificaciones de redes sociales

La pregunta es extremadamente amplia, pero intentaré responderla lo mejor que pueda.

Por lo general, no me gusta responder preguntas como esta porque parece que investigaste muy poco antes de llegar a SO. También parece que está confundido con los roles de aplicación y base de datos. Al menos comenzaré con algunos materiales/ideas y dejaré que decidas por tu cuenta.

No existe una "bala de plata" para un diseño de back-end, especialmente cuando se trata de bases de datos. Las bases de datos SQL son generalmente muy buenas en la mayoría de las funciones de la base de datos, y con razón; es una tecnología que es muy madura y ha resistido la prueba del tiempo por una razón. La mayoría de las soluciones NOSQL están especializadas para propósitos particulares. Por ejemplo:si estaba registrando una gran cantidad de información, es posible que desee ver a Cassandra. Si estuviera tratando con una gran cantidad de datos relacionales, le gustaría usar algo como Neo4j (o PostgreSQL/MySQL para RMDBS). Si estuviera tratando con una gran cantidad de datos en tiempo real, es posible que desee consultar Redis.

Es tonto preguntar NOSQL vs SQL por algunas razones:

NOSQL es un mal término en general. Y no significa "Sin SQL". Significa "No solo SQL". Desafortunadamente, el término ha encapsulado incluso el polo opuesto de las bases de datos.

Solo usted conoce la funcionalidad completa de su aplicación. Incluso si supiera los conceptos básicos de lo que querías lograr, aún no podría darte una respuesta definitiva. Tampoco puede nadie más. Es muy subjetivo y, de nuevo, solo USTED sabe EXACTAMENTE lo que debe hacer su aplicación.

La razón principal:es 2014. ¿Por qué una base de datos? Hace diez años, "DatabaseX vs DatabaseY" habría sido una pregunta práctica. Ahora, puede configurar muchos marcos de aplicaciones para usar de manera confiable múltiples bases de datos en cuestión de minutos. Moraleja de la historia:use cada base de datos para su propósito específico. Más información sobre la persistencia políglota aquí .

En lo que respecta a Facebook:una búsqueda en Google de cinco minutos revela qué tecnologías de back-end han usado en el pasado, y no es tan difícil investigar algunas de sus soluciones de back-end actuales. No eres Facebook. No necesita prepararse para mil millones de usuarios en este momento. Comience con tecnologías simples y probadas. Esto le permitirá escalar su aplicación de forma natural. Cuando esas tecnologías comiencen a convertirse en un cuello de botella, preocúpese por la escalabilidad.

Espero que esto lo haya ayudado a comenzar su viaje de codificación, pero use Stack Overflow como último recurso si tiene problemas con el código. No es una opción inmediata.