SGBD Y TECNOLOGIAS USADAS POR APLICACIONES WEB 2.0
1.
2. Un Sistema Gestor de Bases de Datos (SGBD) o DGBA (Data Base
Management System) es un conjunto de programas no visibles
que administran y gestionan la información que contiene una base de
datos. A través de él se maneja todo acceso a la base de datos con el
objetivo de servir de interfaz entre ésta, el usuario y las aplicaciones.
3. Algunos ejemplos de SGBD son Oracle, DB2, PostgreSQL, MySQL, MS
SQL Server, etc.
Un SGBD debe permitir:
• Definir una base de datos: especificar tipos, estructuras y restricciones
de datos.
• Construir la base de datos: guardar los datos en algún medio
controlado por el mismo SGBD
• Manipular la base de datos: realizar consultas, actualizarla, generar
informes.
4.
5. 1. Linux
Aquí sería más preciso decir que se trata del ecosistema Linux, en particular
de LAMP:
Linux, el sistema operativo que administrar los recursos de cada servidor en
Facebook,
Apache, el servidor de páginas web,
MySQL, el manejador de bases de datos, el que almacena de forma estructurada
los datos de los usuarios,
Y PHP, el lenguaje de programación que automatiza la creación de páginas web.
Facebook no sería posible sin Linux.
6. 2. Cassandra
Y, ¿qué es lo que hace? Además de Facebook, sitios como Reddit y Twitter también usan
Cassandra 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.
3. Hive
Este es un proyecto auspiciado por la Fundación Apache. Entre sus varias
funcionalidades destaca una fundamental para Facebook: el análisis de grandes
conjuntos de datos sobre los cuales es posible inquirir, buscar información en ellos.
7. 4. Thrift
Podría decirse que Thrift es un kit de herramientas, uno
especializado en la interoperabilidad de lenguajes de programación.
A través de Thrift Facebook ha combinado el uso de lenguajes tan
distintos entre sí como C++, Java, Python, PHP, Ruby, Haskell, y
más, a lo largo de todos sus equipos de desarrollo.
5. Scribe
Lo que hace Scribe es muy sencillo: es un sistema de distribución y
registro de mensajes en los servidores, tolerante a fallas y capaz de
funcionar sobre una gran cantidad de equipos.
8. 6. HipHop for PHP
Este es uno de mis favoritos. 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. HipHop for PHP es un transformador de
código PHP en código C++, por lo que el resultado es un software de igual
funcionalidad, pero optimizado para un alto desempeño. De hecho, Facebook
afirma que gracias a HipHop for PHP usa hasta 50% menos CPU que antes.
7. Tornado
Este es otro kit de herramientas de software, en este caso especializado en
los servicios web escalables --es decir, los que crecen sin afectar el desempeño o las
funciones del sistema--. En particular, es capaz de gestionar miles de conexiones web
de forma simultánea y veloz. Está escrito en el lenguaje Python y su diseño está
basado en el que tiene FriendFeed.
9. MySQL usada principalmente para almacenar los Tweets. Ellos han desarrollado su
propio fork para ajustarlo a la necesidades, por supuesto, abierto a la comunidad. En
él se ha prestado especial atención en la optimización y en el rendimiento, claves para
el servicio.
El abanico de proyectos Apache usados en su infraestructura y que nos estamos
acostumbrando en ver en las grandes redes sociales: Cassandra, Hadoop, Lucene, Pig.
En muchos de ellos Twitter los ha esponsorizado.
No podía faltar un clásico como Memcached para manejar la caché y escalar el
creciente tráfico de la plataforma. De ahí ha salido un interesante proyecto abierto
que han liberado recientemente, Twemcache, ajustando sus necesidades a la base de
Memcached
10. Base de Datos Youtube utiliza la base de datos MySQL con sharding para manejar
muchos registros. Debe almacenar usuarios, listas de reproducción, canales,
metadatos de video, etc. en Mysql Database. HTML5 es un lenguaje de marcado
utilizado para estructurar y presentar contenido en la World Wide Web.
Lenguaje de Programación El uso Python en las grandes empresas de la web
como Google, Yahoo, YouTube o corporaciones tecnologicas como la NASA, es una
de las principales referencias de éste exitoso lenguaje de programación.
11. Cloud Bigtable es el servicio de base de datos de Big Data NoSQL de Google. Se
trata de la misma base de datos que utilizan muchos de los principales servicios de
Google, como la Búsqueda, Analytics, Maps y Gmail.
GO : Es un lenguaje rápido, compilado estáticamente, que se siente como un
lenguaje interpretado de forma dinámica.
Material Design : es un sistema unificado que combina teoría, recursos y
herramientas para crear experiencias digitales.
AngularJS: le permite escribir aplicaciones web del lado del cliente como si tuviera
un navegador más inteligente. Le permite usar buenos viejos HTML (o HAML,
Jade y amigos!).Sincroniza automáticamente los datos de su UI (vista) con sus
objetos de JavaScript (modelo) mediante el enlace de datos bidireccional
12. esta hecho con la base de datos MySQL ,es una herramienta importante para los
nuevos proyectos de almacenamiento de Uber Engineering, como Schemaless. En
muchos casos, encontraron MySQL más favorable para sus usos. Analizan
específicamente cómo funciona MySQL con el motor de almacenamiento InnoDB.
No solo usan InnoDB en Uber; es quizás el motor de almacenamiento MySQL más
popular.