Cómo utiliza Twitter Apache Cassandra para potenciar su plataforma de redes sociales

Publicado: 2022-11-17

Twitter es una plataforma de redes sociales que permite a los usuarios enviar y leer mensajes cortos llamados "tweets". Ha existido desde 2006 y desde entonces se ha convertido en una de las plataformas de redes sociales más populares. Si bien Twitter usa algunos sistemas de administración de bases de datos relacionales (RDBMS) para ciertas partes de su infraestructura, usa principalmente una base de datos NoSQL llamada Apache Cassandra. Cassandra fue diseñado para manejar grandes cantidades de datos con alta disponibilidad y rendimiento. Twitter usa Cassandra por varias razones. En primer lugar, es muy escalable. Twitter puede agregar fácilmente más nodos de Cassandra a medida que crece su base de usuarios. En segundo lugar, Cassandra tiene una gran disponibilidad. Incluso si un nodo de Cassandra falla, los otros pueden tomar el relevo. Finalmente, Cassandra es rápida. Esto es importante para una plataforma de redes sociales donde los usuarios esperan actualizaciones en tiempo real. Entonces, aunque Twitter usa algunas bases de datos relacionales, su base de datos principal es NoSQL. Esto permite que Twitter crezca rápidamente y brinde a sus usuarios una experiencia rápida y confiable.

Kevin Weil, director de desarrollo de productos de Twitter, brinda una explicación de cómo la empresa usa NoSQL en un video publicado a principios de este año. Todos los días, los usuarios de Twitter generan aproximadamente 12 petabytes de datos, lo que equivale a aproximadamente 4 petabytes por año. Hadoop, junto con su propio proyecto de código abierto llamado FlockDB, se utiliza para analizar datos sociales y analizar datos. Twitter recopila y utiliza toda la información que recopila para proporcionar contenido relevante. Según Weil, este SlideShare es un gran lugar para aprender más sobre cómo Twitter analiza los gráficos sociales. Twitter todavía está experimentando con el uso de Cassandra, la base de datos NoSQL de código abierto de Facebook, como servicio.

MySQL fue el principal almacén de datos de Twitter desde sus inicios, ya que la capa de persistencia creció hasta convertirse en una gran cantidad de clústeres. Twitter tiene una implementación considerable de MySQL desde su inicio. Hay miles de clústeres de MySQL con millones de nodos y se atienden consultas por segundo.

Google Cloud proporciona dos tipos de servicios de base de datos NoSQL: Cloud Firestore, que es una base de datos orientada a documentos, y Cloud Object Storage, que es un sistema de almacenamiento de datos. Es fácil de usar y se optimiza para documentos pequeños, lo que lo hace ideal para aplicaciones móviles. Bases de datos de documentos que se pueden escalar fácilmente, funcionan bien y son fáciles de usar en Cloud Datastore .

La tecnología NoSQL impulsa la aplicación móvil de Ryanair, la aerolínea con más tráfico del mundo, que atiende a más de 3 millones de usuarios al mes. Durante los últimos ocho años, Marriott ha utilizado NoSQL para ejecutar su sistema de reservas, que genera $38 mil millones en ingresos. Además de su sistema de gestión de contenido patentado, Presto, que es utilizado por el editor de periódicos número 1 de EE. UU., The Chronicle of Higher Education, utiliza NoSQL.

PostgreSQL y Cassandra son dos de los sistemas de bases de datos back-end de Instagram.

¿Qué tipo de base de datos utiliza Twitter?

Crédito de la imagen: sqlnethub.com

Twitter utiliza una base de datos relacional para almacenar sus tweets. Esta base de datos está diseñada para almacenar datos en una serie de tablas, y cada tabla contiene información sobre un aspecto específico de los tweets. Por ejemplo, hay una tabla para la información del usuario, una tabla para los tweets en sí y una tabla para las relaciones entre los usuarios.

Es posible que necesitemos parte de esta información para algunos de nuestros servicios, como solicitar que su solicitud se envíe a un servidor específico, pero no es obligatorio. Si desea enrutar su solicitud, no necesita conocer la marca de tiempo de su tweet.
A pesar de esto, los datos permanecen almacenados y procesados. No es necesario eliminar o anonimizar la información. El gobierno no puede acceder a nuestros datos, pero aún pueden usarse para recopilar información sobre usted.
Existen algunos problemas de privacidad como resultado del almacenamiento y procesamiento de esta información. También le permite al gobierno rastrear sus movimientos y actividades en primer lugar. Además, permite que el gobierno acceda a su información personal sin su consentimiento.
No almacenamos el texto de sus tweets. El nombre y la marca de tiempo de esta cuenta son lo único que conservamos. No almacenamos el contenido de sus tweets.
Sus tweets no vienen con ningún dato que podamos almacenar en ellos.
Solo almacenamos el nombre de la cuenta y la marca de tiempo al cargar la imagen.

Los beneficios de usar Mysql

Twitter ha usado MySQL para almacenar tweets en el pasado. MySQL puede manejar una gran cantidad de solicitudes debido a su confiabilidad y naturaleza consistente. Facebook emplea MySQL para almacenar todos sus datos de redes sociales .

¿Facebook usa Sql o Nosql?

Crédito de la imagen: phoenixnap.com

Debido a que proporciona flexibilidad de modelado de datos y MySQL es omnipresente cuando se inició FB, SQL se usó como base de datos persistente y Memcache como caché de "búsqueda" en los primeros días de FB.

Una base de datos de Facebook almacena los perfiles de sus clientes, que representan aproximadamente el 23% del total de clientes. Los principios fundamentales que sustentan la arquitectura distribuida globalmente a escala de Internet de Facebook se aplican a una amplia gama de aplicaciones empresariales críticas para el negocio, incluido SaaS multiinquilino, y hay lecciones que aprender al comprender mejor la evolución de la base de datos en Facebook. La API TAO NoSQL Graph, que se basa en una versión fragmentada de la popular base de datos de código abierto Mystria , es una de las API NoSQL de FB. TAO particionó las 1000 bases de datos maestras-esclavas de MySQL saladas manualmente más antiguas de FB en miles de esclavas fragmentadas. Como resultado, la aplicación ya no usa la base de datos para realizar transacciones entre fragmentos y JOIN entre fragmentos. Como resultado, si se realizara este tipo de conmutación por error, se perderían los datos recientes. Dado que todos los objetos y asociaciones se almacenan en caché en los mismos servidores, se pueden almacenar en el mismo fragmento durante un período de tiempo indefinido.

Se determinó que el grado de colocación de datos es una técnica de optimización importante utilizada para maximizar el acceso a datos de latencia. La comunidad de desarrolladores abandonó SQL en favor de la API NoSQL personalizada de TAO después de que FB los obligó a renunciar a su API de consulta SQL. La base de datos Spanner de Google, creada hace más de una década, se creó como parte de la base de datos TAO de FB. El modelo de datos de Spanner, a diferencia de un gráfico social, era más una carga de trabajo tradicional de acceso aleatorio para OLTP. La segunda generación de bases de datos distribuidas se basa en la escalabilidad masiva y la distribución global de datos como parte de la capa de la base de datos. Spanner utiliza el consenso distribuido por fragmento para garantizar que cada fragmento (y no solo cada instancia) permanezca altamente disponible en caso de que falle un servicio. A pesar de que se ha cambiado la configuración del clúster de la aplicación, ésta sigue operativa.

Los datos relevantes para la región local seguirán clasificándose en la parte superior de la lista debido a funciones como la geopartición a nivel de tabla y de fila. Se utiliza un administrador de transacciones distribuidas en una transacción de fragmentos múltiples para administrar el proceso de confirmación de 2 fases, así como los desfases de reloj en cada nodo. Usamos TAO como una medida de reducción de costos en FB, lo que nos permitió mantener nuestra inversión en MySQL fragmentado. Google eligió tomar un camino diferente con Spanner, una base de datos completamente nueva con capacidades de escalado horizontal, capacidades de replicación geográfica sin interrupciones y facilidad para fallas de infraestructura.

Existen numerosas razones para que las bases de datos NoSQL ganen popularidad. El sistema utiliza un enfoque diferente para el almacenamiento de datos que es más eficiente cuando se trata de un gran volumen de datos.
Las bases de datos NoSQL son utilizadas por varias empresas conocidas, incluidas Amazon, Netflix, Microsoft, Snapchat y Dropbox. Elegir una base de datos NoSQL fue una de las mejores decisiones que tomaron porque sus aplicaciones manejan una gran cantidad de datos.
Como resultado, las bases de datos NoSQL brindan una mayor flexibilidad en la forma en que las empresas pueden almacenar datos. Como resultado, hay una mejor organización y acceso a los datos. Además, las bases de datos NoSQL tienen la ventaja de ser más rápidas en cuanto al procesamiento de grandes cantidades de datos.
Tiene perfecto sentido para las empresas que necesitan almacenar una gran cantidad de datos para considerar las bases de datos NoSQL. Como resultado de su enfoque único para el procesamiento de datos, son capaces de manejar datos a mayor velocidad y de manera más eficiente.


¿Usa Twitter la base de datos Graph?

Crédito de la imagen: metricool.com

Twitter guarda datos primarios como gráficos de interés, líneas de tiempo y datos de usuario en MySql. Twitter tiene cientos de esquemas y miles de nodos que atienden millones de consultas por segundo en su clúster más grande. Un servicio flockdb se utiliza en computación gráfica.

Se analiza el uso de bases de datos de gráficos , su aplicación a los datos de COVID-19 y el lenguaje de elección para los gráficos. Después del chat, puede leer sus puntos de vista aquí. Participe en nuestro chat de tweet a la 1:00 p. m. EST de hoy titulado El estado de las bases de datos de gráficos en 2020. Presentaremos varias preguntas que se utilizarán para facilitar la discusión. Las bases de datos de gráficos han demostrado ser muy útiles en el pasado. Debido a su capacidad para conectar datos, manejar cantidades masivas de datos y funcionar admirablemente, es requerido por todas las organizaciones con mentalidad analítica. Se distinguen por el hecho de que se pueden utilizar para conectar datos de múltiples fuentes en lugar de bases de datos.

Los usuarios ahora pueden usar estos gráficos para beneficiarse de funciones específicas que se encuentran en una base de datos de gráficos durante el análisis de datos. Muchos usuarios nuevos pueden conocer #knowledgegraph como el primer caso de uso porque muchas empresas requieren #análisis de una amplia gama de fuentes de datos estructurados y no estructurados. Cuando se trata de #PNL y combinar su salida con varias fuentes, #graphdb es la mejor solución. COVID-19 se discutirá con más profundidad en GraphDB Q2. # GraphDB podría tener mucho uso en el segundo trimestre como una solución de rastreo de contactos. Como resultado, los datos son inJUSTOS para las grandes organizaciones en la forma en que la información es Localizable, Accesible, Interoperable y Reutilizable. RDF* es un gráfico de propiedades.

No hay duda de que hay confusión. La federación es un tema intrigante en este momento. Estos datos se deben ingerir en el archivo #graphdbs. Si lo modela correctamente, no necesariamente necesita usar RDF*. El uso de la ciencia de datos gráficos para conectar y correlacionar conjuntos de datos dispares es una excelente manera de hacerlo. Actualmente, no existe una diferencia significativa entre CDR* y GLP. Los proveedores habilitados para RDF suelen admitir propiedades etiquetadas, lo que permite que los algoritmos gráficos y otras funciones analíticas sean completamente invisibles para los RDF anteriores.

¿Debo usar rdf o sparcl entre mi PC y las aplicaciones móviles? De hecho, no es ciencia espacial generar propiedades a partir de RDF, pero ML podría potencialmente generar triples a partir de propiedades en el DBMS gráfico #GraphDB @stevesarfield. Cuando miras una ontología, la estás modelando y te sigue hasta la cama. Además, nuestros editores han comenzado a interactuar con el mercado de GraphDB. Nuestro objetivo es elaborar una lista completa de los mejores productos disponibles para los consumidores. Se puede crear un gráfico de conocimiento con GraphDB mediante la combinación de datos estructurados y no estructurados, lo que permite su uso como herramienta de análisis. Muchos usuarios encontrarán que este es el comienzo de su viaje hacia las bases de datos de gráficos en el futuro.

Durante mucho tiempo, FOSS fue la fuente de referencia para los proyectos de código abierto, pero es posible que vuelva a destacarse en el futuro. # GraphDB puede ser la mejor manera de organizar todos los componentes dispares en un ecosistema #IoT a medida que maduran en organizaciones y ecosistemas. Las empresas de tarjetas de crédito utilizan GraphDB para detectar patrones de actividad sospechosos. Cuando necesite combinar esquemas imperfectos con otras fuentes imperfectas, usar #GraphDB puede ser una buena opción. Manténganse en contacto unos con otros y manténganse saludables también. La solución de base de datos GOLAP de Cambridge Semantics, AnzoGraphDB, proporciona contexto y significado a gran escala en una base de datos de gráficos de procesamiento paralelo masivo (MPP) en memoria. Una consulta transversal de gráficos se puede escalar para satisfacer las demandas de almacenamiento y análisis de datos complejos, y también puede manejar grandes franjas de agregación de datos. Pruebe AnzoGraphDB gratis para ver si puede ayudarlo a administrar mejor su vasta colección de datos.

Cómo los gigantes de las redes sociales utilizan las bases de datos de gráficos para mejorar sus plataformas

MySQL, un sistema de administración de bases de datos, se usó originalmente para almacenar datos de Twitter. Pasamos de una instancia de base de datos pequeña a una instancia de base de datos grande y luego de una instancia de base de datos grande a otra. La base de datos de Twitter se utilizó para almacenar toda la información de los usuarios, lo que le permitió convertirse en una de las empresas de redes sociales más poderosas . La empresa pudo mejorar su plataforma mediante el análisis del comportamiento de los usuarios y el seguimiento de su progreso. El motor de búsqueda de Instagram fue impulsado inicialmente por Elasticsearch, un motor de búsqueda con reconocimiento de gráficos sociales creado por Facebook, pero finalmente fue reemplazado por Unicorn. Además de usar una base de datos de gráficos para rastrear cómo interactúan los usuarios, Instagram la usa para rastrear cómo se relacionan los usuarios. Instagram puede mejorar su experiencia de usuario y brindar contenido más relevante al analizar los datos de las redes sociales. Facebook, Instagram y Twitter utilizan bases de datos gráficas y análisis para obtener una mejor comprensión de cómo sus usuarios interactúan entre sí y para construir mejores plataformas.