SlideShare una empresa de Scribd logo
TECNOLOGIAS DETRÁS DE
LAS REDES SOCIALES
Tecnologías detrás de Facebook
• En esta oportunidad tomaremos a Facebook para
descubrir su funcionalidad. Ya que se ha
convertido en una de las redes sociales mas
famosas en los ultimos años contando actualmente
con mas de 1350 millones de usuarios y usada a
nivel mundial.
• Muchas personas creen que Facebook está hecho
solo en PHP, pero esto es un error ya que Facebook
utiliza un conjunto de tecnologías que hacen que la
plataforma funcione correctamente.
Plataforma de Facebook:
• Sistema operativo Linux
• Memcache
• Apache Cassandra
• Apache Hive
• Apache Thrift
• Scribe
• Lenguajes: PHP, Java, C++, Erlang, .NET, PEARL
• HipHop para PHP
• Tornado Web Server
• Mysql
• Protocolo XMPP
Apache Thrift
• Thrift es un conjunto de herramientas y librerías software creadas por
Facebook para acelerar el desarrollo e implementación de servicios
backend eficientes y escalables. El principal objetivo es permitir
comunicaciones eficientes y fiables a través de lenguajes de
programación mediante la abstracción de porciones de cada lenguaje en
una librería común, específicamente Apache Thrift permite a los
desarrolladores definir los tipos de datos e interfaces de servicios en un
archivo único en lenguaje neutral y generar todo el código necesario
para construir clientes RPC y servidores.
• Actualmente Thrift soporta los siguientes lenguajes C++, Java, Python,
PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk y OCaml.
Facebook utiliza esta tecnología para su sistema de búsqueda
integrando así un backend desarrollado en C++ con un frontend escrito
en PHP.
Facebook utilizo esta tecnología para utilizar las librerías de Java y que en PHP no existen, como por ejemplo la
librería para realizar el envío de SMS.
Apache Cassandra
• Apache Cassandra es una Base de Datos no
relacional, distribuida y basada en un modelo
de almacenamiento de Clave-Valor, escrita en
Java, además de Facebook, sitios como
Reddit y Twitter también usan Cassandra, la
usan para almacenar los datos de los
usuarios de forma estructurada y distribuida.
Se dice que Cassandra pertenece a una
segunda generación de bases de datos, a un
paradigma llamado NoSQL. Facebook hizo
público el código de Cassandra al tiempo que
lo entregó a la comunidad Apache en el 2008,
Facebook no podría escalar sin Cassandra.
Apache Hive
• Este es un proyecto auspiciado por la
Fundación Apache. Entre sus varias
funcionalidades destaca una que es
fundamental para el funcionamiento
de Facebook: el análisis de grandes
conjuntos de datos sobre los cuales es
posible inquirir, buscar información
en ellos, Facebook no podría ofrecer
su servicio de búsqueda sin Hive.
Scribe
• Lo que hace Scribe es muy sencillo: es
un sistema de distribución y registro
de mensajes en los servidores, es
tolerante a fallas y capaz de funcionar
sobre una gran cantidad de equipos,
gracias a Scribe Facebook logra
gestionar con mayor facilidad y
eficiencia sus miles de servidores.
HipHop para PHP
• La parte visible de Facebook está escrita en su mayoría con
lenguaje PHP, por lo que su desempeño es crítico para todo el
sistema. Siendo un lenguaje interpretado tiene limitaciones
de desempeño que los lenguajes compilados no tienen.
• Una gran cantidad de peticiones PHP impone un consumo
excesivo de CPU, y en Facebook han logrado solucionar el
problema con este desarrollo en el que llevaban trabajando
más de 3 años y que permite convertir el código PHP en
código C++, que luego se compila con g++ para obtener un
código objeto mucho más eficiente en consumo de recursos
de lo que era el código PHP original, el resultado es un
software de igual funcionalidad, pero optimizado para un alto
desempeño. De hecho, Facebook afirma que gracias a HipHop
para PHP usa hasta 50% menos CPU que antes, Facebook
sería más lento sin la ayuda de HipHop para PHP.
Tornado web Server
• Tornado es un framework de servidor
Web y está liberado bajo la licencia
Apache versión 2, está escrito en
Python y está diseñado para permitir
el procesamiento de miles de
conexiones simultaneas. Facebook no
podría “sentirse” en tiempo real sin
Tornado.
Protocolo XMPP
• Extensible Messaging and Presence Protocol (XMPP) es un protocolo
para comunicación en tiempo real, la cual sirve de base para un
amplio rango de aplicaciones, incluyendo mensajería instantánea,
información de presencia o también llamada “listas de contactos”,
charlas con múltiples participantes, voz, video llamadas,
colaboración, sindicalización de contenidos y enrutamiento
generalizado de datos en XML.
• El chat de Facebook y la integración con sistemas como Windows
Live no sería posible sin XMPP con DIGEST-MD5.
• Bueno ahora que ya saben Facebook no es solo PHP y no sería
posible sin el uso de todas las tecnologías antes mencionadas.
• Para finalizar te debo decirles que la información presentada fue
tomada de “Pensamientos Ágiles” perteneciente a Aditya Agarwal, el
director de ingeniería de Facebook.

Más contenido relacionado

La actualidad más candente

Final
FinalFinal
Tecnología detrás de las redes sociales
Tecnología detrás de las redes socialesTecnología detrás de las redes sociales
Tecnología detrás de las redes sociales
Junior Medrano
 
WordPress PHP
WordPress PHPWordPress PHP
WordPress PHP
CODECTION
 
Ultimo de Ofimatica
Ultimo de OfimaticaUltimo de Ofimatica
Ultimo de Ofimatica
Raphael-ochoa
 
Colegio francisca de las llagas informatica
Colegio francisca de las llagas informaticaColegio francisca de las llagas informatica
Colegio francisca de las llagas informatica
Joselyn Joss
 
Aplicaciones para el aprendizaje
Aplicaciones para el aprendizaje Aplicaciones para el aprendizaje
Aplicaciones para el aprendizaje
ayerim08
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1anaynaroa
 
Tecnología detrás de las redes sociales
Tecnología detrás de las redes socialesTecnología detrás de las redes sociales
Tecnología detrás de las redes sociales
Isabel Florian Guardia
 
Word
WordWord

La actualidad más candente (14)

Final
FinalFinal
Final
 
Tecnología detrás de las redes sociales
Tecnología detrás de las redes socialesTecnología detrás de las redes sociales
Tecnología detrás de las redes sociales
 
CHAT Y REDES SOCIALES
CHAT Y REDES SOCIALESCHAT Y REDES SOCIALES
CHAT Y REDES SOCIALES
 
WordPress PHP
WordPress PHPWordPress PHP
WordPress PHP
 
Ultimo de Ofimatica
Ultimo de OfimaticaUltimo de Ofimatica
Ultimo de Ofimatica
 
Colegio francisca de las llagas informatica
Colegio francisca de las llagas informaticaColegio francisca de las llagas informatica
Colegio francisca de las llagas informatica
 
Awa6
Awa6Awa6
Awa6
 
Joomla 2005-3087
Joomla 2005-3087Joomla 2005-3087
Joomla 2005-3087
 
Ragan
RaganRagan
Ragan
 
Aplicaciones para el aprendizaje
Aplicaciones para el aprendizaje Aplicaciones para el aprendizaje
Aplicaciones para el aprendizaje
 
PresentacióN1
PresentacióN1PresentacióN1
PresentacióN1
 
UTILIDADES
UTILIDADESUTILIDADES
UTILIDADES
 
Tecnología detrás de las redes sociales
Tecnología detrás de las redes socialesTecnología detrás de las redes sociales
Tecnología detrás de las redes sociales
 
Word
WordWord
Word
 

Destacado

MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOPMONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
Jorge E. López de Vergara Méndez
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduce
Victoria López
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Socketsmallita
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetosNanda Moran
 
Hadoop
HadoopHadoop
Hadoop
camposer
 
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume  Elasticsearch HDFS KibanaLog -Analytics with Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
Felix Rodriguez
 
Big data, Hadoop, HDInsight
Big data, Hadoop, HDInsightBig data, Hadoop, HDInsight
Big data, Hadoop, HDInsight
Gustavo Alzate Sandoval
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Joseph Lopez
 
Big Data a traves de una implementación
Big Data a traves de una implementaciónBig Data a traves de una implementación
Big Data a traves de una implementación
Diego Krauthamer
 
Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1
Moisés Martínez Mateu
 
Hadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadasHadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadas
Tomás Fernández Pena
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshop
Restorando
 
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
David Albela Pérez
 
Como de grandes son tus datos
Como de grandes son tus datosComo de grandes son tus datos
Como de grandes son tus datosAntonio Rodriguez
 
Polybase
PolybasePolybase
Polybase
SolidQ
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
Socialmetrix
 
Monta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaMonta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu Empresa
Urko Zurutuza
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
Nicolás Bello Camilletti
 
Creación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaCreación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con Cloudera
David Albela Pérez
 
Big Data Open Source Analytics (español)
Big Data Open Source Analytics (español)Big Data Open Source Analytics (español)
Big Data Open Source Analytics (español)
Stratebi
 

Destacado (20)

MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOPMONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
MONITORIZACIÓN Y ANÁLISIS DE TRÁFICO DE RED CON APACHE HADOOP
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduce
 
Comparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De SocketsComparacion Entre Rmi Y Api De Sockets
Comparacion Entre Rmi Y Api De Sockets
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 
Hadoop
HadoopHadoop
Hadoop
 
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume  Elasticsearch HDFS KibanaLog -Analytics with Apache-Flume  Elasticsearch HDFS Kibana
Log -Analytics with Apache-Flume Elasticsearch HDFS Kibana
 
Big data, Hadoop, HDInsight
Big data, Hadoop, HDInsightBig data, Hadoop, HDInsight
Big data, Hadoop, HDInsight
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
 
Big Data a traves de una implementación
Big Data a traves de una implementaciónBig Data a traves de una implementación
Big Data a traves de una implementación
 
Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1
 
Hadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadasHadoop: tecnologias relacionadas
Hadoop: tecnologias relacionadas
 
nerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshopnerdear.la 2016 - Docker workshop
nerdear.la 2016 - Docker workshop
 
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache HadoopHerramientas y ejemplos de trabajos MapReduce con Apache Hadoop
Herramientas y ejemplos de trabajos MapReduce con Apache Hadoop
 
Como de grandes son tus datos
Como de grandes son tus datosComo de grandes son tus datos
Como de grandes son tus datos
 
Polybase
PolybasePolybase
Polybase
 
¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?¿Por que cambiar de Apache Hadoop a Apache Spark?
¿Por que cambiar de Apache Hadoop a Apache Spark?
 
Monta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu EmpresaMonta una Infraestructura para Big Data en tu Empresa
Monta una Infraestructura para Big Data en tu Empresa
 
Introducción a Docker
Introducción a DockerIntroducción a Docker
Introducción a Docker
 
Creación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con ClouderaCreación de un clúster de Hadoop con Cloudera
Creación de un clúster de Hadoop con Cloudera
 
Big Data Open Source Analytics (español)
Big Data Open Source Analytics (español)Big Data Open Source Analytics (español)
Big Data Open Source Analytics (español)
 

Similar a TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II

Lp2
Lp2Lp2
Tecnologías detrás de las redes sociales
Tecnologías detrás de las redes socialesTecnologías detrás de las redes sociales
Tecnologías detrás de las redes sociales
Bertha Peña
 
SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0
SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0
SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0
Jeremi Sixto Perales
 
Tecnologías detrás de las aplicaciones
Tecnologías detrás de las aplicacionesTecnologías detrás de las aplicaciones
Tecnologías detrás de las aplicaciones
Anthony Criollo Valencia
 
Tecnologías que implementa facebook
Tecnologías que implementa facebookTecnologías que implementa facebook
Tecnologías que implementa facebook
Angel Vega
 
Tecnologias detras de las aplicaciones sociales
Tecnologias detras de las aplicaciones socialesTecnologias detras de las aplicaciones sociales
Tecnologias detras de las aplicaciones sociales
AngelSanchez407
 
Tecnología detrás de las redes sociales.
Tecnología detrás de las redes sociales.Tecnología detrás de las redes sociales.
Tecnología detrás de las redes sociales.
Erick Tito
 
Las tecnologías detrás de las redes sociales
Las tecnologías detrás de las redes socialesLas tecnologías detrás de las redes sociales
Las tecnologías detrás de las redes sociales
Diego Vi Re
 
Tecnologias detrás de las redes sociales
Tecnologias detrás de las redes socialesTecnologias detrás de las redes sociales
Tecnologias detrás de las redes sociales
pool
 
Redes sociales (tecnología)
Redes sociales (tecnología)Redes sociales (tecnología)
Redes sociales (tecnología)
Mirella Paico
 
Tecnologías detrás de las redes sociales
Tecnologías detrás de las redes socialesTecnologías detrás de las redes sociales
Tecnologías detrás de las redes sociales
Brian Guillen Caviedes
 
Detras de las redes sociales
Detras de las redes socialesDetras de las redes sociales
Detras de las redes sociales
Brian Guillen Caviedes
 
Tecnologias detras de las redes sociales
Tecnologias detras de las redes socialesTecnologias detras de las redes sociales
Tecnologias detras de las redes sociales
Jesus anthony Quispe
 
Tecnologias redes sociales
Tecnologias redes socialesTecnologias redes sociales
Tecnologias redes sociales
Alexis Garcia
 
presentacion php
presentacion phppresentacion php
presentacion php
Chaeryllelena
 

Similar a TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II (20)

Tecnologías detrás de las redes sociales
Tecnologías detrás de las redes socialesTecnologías detrás de las redes sociales
Tecnologías detrás de las redes sociales
 
Lp2
Lp2Lp2
Lp2
 
Lp2
Lp2Lp2
Lp2
 
Tecnologías detrás de las redes sociales
Tecnologías detrás de las redes socialesTecnologías detrás de las redes sociales
Tecnologías detrás de las redes sociales
 
SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0
SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0
SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0
 
Tecnologías detrás de las aplicaciones
Tecnologías detrás de las aplicacionesTecnologías detrás de las aplicaciones
Tecnologías detrás de las aplicaciones
 
Tecnologías que implementa facebook
Tecnologías que implementa facebookTecnologías que implementa facebook
Tecnologías que implementa facebook
 
Tecnologias detras de las aplicaciones sociales
Tecnologias detras de las aplicaciones socialesTecnologias detras de las aplicaciones sociales
Tecnologias detras de las aplicaciones sociales
 
Tecnología detrás de las redes sociales.
Tecnología detrás de las redes sociales.Tecnología detrás de las redes sociales.
Tecnología detrás de las redes sociales.
 
Las tecnologías detrás de las redes sociales
Las tecnologías detrás de las redes socialesLas tecnologías detrás de las redes sociales
Las tecnologías detrás de las redes sociales
 
Tecnologias detrás de las redes sociales
Tecnologias detrás de las redes socialesTecnologias detrás de las redes sociales
Tecnologias detrás de las redes sociales
 
Redes sociales (tecnología)
Redes sociales (tecnología)Redes sociales (tecnología)
Redes sociales (tecnología)
 
Exposicion
ExposicionExposicion
Exposicion
 
Tecnologías detrás de las redes sociales
Tecnologías detrás de las redes socialesTecnologías detrás de las redes sociales
Tecnologías detrás de las redes sociales
 
Detras de las redes sociales
Detras de las redes socialesDetras de las redes sociales
Detras de las redes sociales
 
Tecnologias detras de las redes sociales
Tecnologias detras de las redes socialesTecnologias detras de las redes sociales
Tecnologias detras de las redes sociales
 
Investigación
InvestigaciónInvestigación
Investigación
 
Software rizo
Software rizoSoftware rizo
Software rizo
 
Tecnologias redes sociales
Tecnologias redes socialesTecnologias redes sociales
Tecnologias redes sociales
 
presentacion php
presentacion phppresentacion php
presentacion php
 

Último

ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Telefónica
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
AlejandraCasallas7
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
AlejandraCasallas7
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
ItsSofi
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
Leidyfuentes19
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 

Último (20)

ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.Desarrollo de Habilidades de Pensamiento.
Desarrollo de Habilidades de Pensamiento.
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdfDesarrollo de Habilidades de Pensamiento.docx (3).pdf
Desarrollo de Habilidades de Pensamiento.docx (3).pdf
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Estructuras básicas_ conceptos básicos de programación.pdf
Estructuras básicas_  conceptos básicos de programación.pdfEstructuras básicas_  conceptos básicos de programación.pdf
Estructuras básicas_ conceptos básicos de programación.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 

TECNOLOGIA DETRAS DE LAS REDES SOCIALES(FACEBOOK) - LENGUAJE DE PROGRAMACION II

  • 1. TECNOLOGIAS DETRÁS DE LAS REDES SOCIALES
  • 2. Tecnologías detrás de Facebook • En esta oportunidad tomaremos a Facebook para descubrir su funcionalidad. Ya que se ha convertido en una de las redes sociales mas famosas en los ultimos años contando actualmente con mas de 1350 millones de usuarios y usada a nivel mundial. • Muchas personas creen que Facebook está hecho solo en PHP, pero esto es un error ya que Facebook utiliza un conjunto de tecnologías que hacen que la plataforma funcione correctamente.
  • 3. Plataforma de Facebook: • Sistema operativo Linux • Memcache • Apache Cassandra • Apache Hive • Apache Thrift • Scribe • Lenguajes: PHP, Java, C++, Erlang, .NET, PEARL • HipHop para PHP • Tornado Web Server • Mysql • Protocolo XMPP
  • 4. Apache Thrift • Thrift es un conjunto de herramientas y librerías software creadas por Facebook para acelerar el desarrollo e implementación de servicios backend eficientes y escalables. El principal objetivo es permitir comunicaciones eficientes y fiables a través de lenguajes de programación mediante la abstracción de porciones de cada lenguaje en una librería común, específicamente Apache Thrift permite a los desarrolladores definir los tipos de datos e interfaces de servicios en un archivo único en lenguaje neutral y generar todo el código necesario para construir clientes RPC y servidores. • Actualmente Thrift soporta los siguientes lenguajes C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, Smalltalk y OCaml. Facebook utiliza esta tecnología para su sistema de búsqueda integrando así un backend desarrollado en C++ con un frontend escrito en PHP. Facebook utilizo esta tecnología para utilizar las librerías de Java y que en PHP no existen, como por ejemplo la librería para realizar el envío de SMS.
  • 5. Apache Cassandra • Apache Cassandra es una Base de Datos no relacional, distribuida y basada en un modelo de almacenamiento de Clave-Valor, escrita en Java, además de Facebook, sitios como Reddit y Twitter también usan Cassandra, la usan para almacenar los datos de los usuarios de forma estructurada y distribuida. Se dice que Cassandra pertenece a una segunda generación de bases de datos, a un paradigma llamado NoSQL. Facebook hizo público el código de Cassandra al tiempo que lo entregó a la comunidad Apache en el 2008, Facebook no podría escalar sin Cassandra.
  • 6. Apache Hive • Este es un proyecto auspiciado por la Fundación Apache. Entre sus varias funcionalidades destaca una que es fundamental para el funcionamiento de Facebook: el análisis de grandes conjuntos de datos sobre los cuales es posible inquirir, buscar información en ellos, Facebook no podría ofrecer su servicio de búsqueda sin Hive.
  • 7. Scribe • Lo que hace Scribe es muy sencillo: es un sistema de distribución y registro de mensajes en los servidores, es tolerante a fallas y capaz de funcionar sobre una gran cantidad de equipos, gracias a Scribe Facebook logra gestionar con mayor facilidad y eficiencia sus miles de servidores.
  • 8. HipHop para PHP • La parte visible de Facebook está escrita en su mayoría con lenguaje PHP, por lo que su desempeño es crítico para todo el sistema. Siendo un lenguaje interpretado tiene limitaciones de desempeño que los lenguajes compilados no tienen. • Una gran cantidad de peticiones PHP impone un consumo excesivo de CPU, y en Facebook han logrado solucionar el problema con este desarrollo en el que llevaban trabajando más de 3 años y que permite convertir el código PHP en código C++, que luego se compila con g++ para obtener un código objeto mucho más eficiente en consumo de recursos de lo que era el código PHP original, el resultado es un software de igual funcionalidad, pero optimizado para un alto desempeño. De hecho, Facebook afirma que gracias a HipHop para PHP usa hasta 50% menos CPU que antes, Facebook sería más lento sin la ayuda de HipHop para PHP.
  • 9. Tornado web Server • Tornado es un framework de servidor Web y está liberado bajo la licencia Apache versión 2, está escrito en Python y está diseñado para permitir el procesamiento de miles de conexiones simultaneas. Facebook no podría “sentirse” en tiempo real sin Tornado.
  • 10. Protocolo XMPP • Extensible Messaging and Presence Protocol (XMPP) es un protocolo para comunicación en tiempo real, la cual sirve de base para un amplio rango de aplicaciones, incluyendo mensajería instantánea, información de presencia o también llamada “listas de contactos”, charlas con múltiples participantes, voz, video llamadas, colaboración, sindicalización de contenidos y enrutamiento generalizado de datos en XML. • El chat de Facebook y la integración con sistemas como Windows Live no sería posible sin XMPP con DIGEST-MD5. • Bueno ahora que ya saben Facebook no es solo PHP y no sería posible sin el uso de todas las tecnologías antes mencionadas. • Para finalizar te debo decirles que la información presentada fue tomada de “Pensamientos Ágiles” perteneciente a Aditya Agarwal, el director de ingeniería de Facebook.