SlideShare una empresa de Scribd logo
1 de 15
BigTableBigTable
Entendiendo el Modelo de Datos de GoogleEntendiendo el Modelo de Datos de Google
NoSQLNoSQL
 Los sistemas de bases de datos se clasificanLos sistemas de bases de datos se clasifican
mayormente en tres tipos:mayormente en tres tipos:
- RelacionalesRelacionales
- Orientadas a objetosOrientadas a objetos
- Relacionales orientadas a objetosRelacionales orientadas a objetos
Sin embargo, la mayoría de los motores de bases deSin embargo, la mayoría de los motores de bases de
datos más populares se basan en la arquitecturadatos más populares se basan en la arquitectura
relacional, y todos ellos utilizan el lenguaje de consultasrelacional, y todos ellos utilizan el lenguaje de consultas
SQL (con variaciones).SQL (con variaciones).
¿Por qué aparecen los sistemas NoSQL?¿Por qué aparecen los sistemas NoSQL?
 Gracias al transcurso de los años, hemos logrado aprender técnicas bastante comunes paraGracias al transcurso de los años, hemos logrado aprender técnicas bastante comunes para
normalizar las BD relacionales en la medida de lo posible, escalarlas según crece la demanda, ynormalizar las BD relacionales en la medida de lo posible, escalarlas según crece la demanda, y
utilizarlas como sistema de persistencia para almacenar información desde nuestro lenguajeutilizarlas como sistema de persistencia para almacenar información desde nuestro lenguaje
procedural u orientado a objetos (entre otros). La cuota de uso de software como SQLite,procedural u orientado a objetos (entre otros). La cuota de uso de software como SQLite,
MySQL, PostgreSQL u Oracle, es muy alta, encontrándose en la mayor parte de los desarrollosMySQL, PostgreSQL u Oracle, es muy alta, encontrándose en la mayor parte de los desarrollos
modernos.modernos.
 Pero llegó la web, el software como servicio, los servicios en la nube y lasPero llegó la web, el software como servicio, los servicios en la nube y las startupsstartups de éxito conde éxito con
millones de usuarios. Y con todo ello llegaron los problemas de alta escalabilidad. Si bien losmillones de usuarios. Y con todo ello llegaron los problemas de alta escalabilidad. Si bien los
modelos relacionales se pueden adaptar para hacerlos escalar incluso en los entornos más difíciles,modelos relacionales se pueden adaptar para hacerlos escalar incluso en los entornos más difíciles,
es cierto que se hacen cada vez menos intuitivos a medida que aumenta la complejidad.es cierto que se hacen cada vez menos intuitivos a medida que aumenta la complejidad.
Los sistemas NoSQL intentan atacar este problema proponiendo una estructura deLos sistemas NoSQL intentan atacar este problema proponiendo una estructura de
almacenamiento más versátil, aunque sea a costa de perder ciertas funcionalidades como lasalmacenamiento más versátil, aunque sea a costa de perder ciertas funcionalidades como las
transacciones que engloban operaciones en más de una colección de datos, o la incapacidad detransacciones que engloban operaciones en más de una colección de datos, o la incapacidad de
ejecutar el producto cartesiano de dos tablas (también llamado FULL JOIN) teniendo que recurrirejecutar el producto cartesiano de dos tablas (también llamado FULL JOIN) teniendo que recurrir
a la desnormalización de datos.a la desnormalización de datos.
 Algunas implementaciones NoSQL : CouchDB, MongoDB, RavenDB, Neo4j, Cassandra,Algunas implementaciones NoSQL : CouchDB, MongoDB, RavenDB, Neo4j, Cassandra,
BigTableBigTable, Dynamo, Riak, Hadoop, y otras muchas., Dynamo, Riak, Hadoop, y otras muchas.
Pero, ¿en qué se diferencianPero, ¿en qué se diferencian
exactamente?exactamente?
 Características:Características:
 -Ausencia de esquema en los registros de datos.-Ausencia de esquema en los registros de datos.
 -Escalabilidad horizontal sencilla.-Escalabilidad horizontal sencilla.
 -Velocidad (aunque esto último no siempre es cierto, pues muchos de estos sistemas aún no están-Velocidad (aunque esto último no siempre es cierto, pues muchos de estos sistemas aún no están
suficientemente maduros).suficientemente maduros).
 La primera característica significa que los datos no tienen una definición de atributos fija, es decir:La primera característica significa que los datos no tienen una definición de atributos fija, es decir:
Cada registro (o documento, como se les suele llamar en estos casos) puede contener unaCada registro (o documento, como se les suele llamar en estos casos) puede contener una
información con diferente forma cada vez, pudiendo así almacenar sólo los atributos que intereseninformación con diferente forma cada vez, pudiendo así almacenar sólo los atributos que interesen
en cada uno de ellos, facilitando el polimorfismo de datos bajo una misma colección deen cada uno de ellos, facilitando el polimorfismo de datos bajo una misma colección de
información.información.
 Con escalabilidad horizontal nos referimos a la posibilidad de aumentar el rendimiento del sistemaCon escalabilidad horizontal nos referimos a la posibilidad de aumentar el rendimiento del sistema
simplemente añadiendo más nodos, sin necesidad en muchos casos de realizar ninguna otrasimplemente añadiendo más nodos, sin necesidad en muchos casos de realizar ninguna otra
operación más que indicar al sistema cuáles son los nodos disponibles.operación más que indicar al sistema cuáles son los nodos disponibles.
 Por último, muchos de estos sistemas realizan operaciones directamente en memoria, y sóloPor último, muchos de estos sistemas realizan operaciones directamente en memoria, y sólo
vuelcan los datos a disco cada cierto tiempo.vuelcan los datos a disco cada cierto tiempo.
Entonces, no es la Gran SoluciónEntonces, no es la Gran Solución
 Desde luego que no. Ninguna herramienta deDesde luego que no. Ninguna herramienta de
software lo es. Pero sí es cierto que ensoftware lo es. Pero sí es cierto que en
determinados entornos donde hemos de escalardeterminados entornos donde hemos de escalar
rápidamente, es una solución muy buena, enrápidamente, es una solución muy buena, en
especial por el altísimo rendimiento que ofrecen.especial por el altísimo rendimiento que ofrecen.
No en vano, hoy en día se utilizan ya muchísimoNo en vano, hoy en día se utilizan ya muchísimo
no sólo como almacenamiento primario, sinono sólo como almacenamiento primario, sino
también como sistema de persistencia paratambién como sistema de persistencia para
guardar cachés, analíticas de uso, y otros datosguardar cachés, analíticas de uso, y otros datos
para los que lo primordial es la velocidad.para los que lo primordial es la velocidad.
ArquitecturaArquitectura
 Las arquitecturas NoSQL frecuentemente aportan escasasLas arquitecturas NoSQL frecuentemente aportan escasas
garantías de consistencia, tales como consistencia de eventos ogarantías de consistencia, tales como consistencia de eventos o
transaccional restringida a ítems únicos de datos.transaccional restringida a ítems únicos de datos.

Bastantes sistemas NoSQL emplean una arquitectura distribuída,Bastantes sistemas NoSQL emplean una arquitectura distribuída,
manteniendo los datos de forma redundante en varios servidores,manteniendo los datos de forma redundante en varios servidores,
usando frecuentemente una tabla hash distribuida. De estausando frecuentemente una tabla hash distribuida. De esta
forma, el sistema puede realmente escalar añadiendo másforma, el sistema puede realmente escalar añadiendo más
servidores, y el fallo en un servidor puede ser tolerado.servidores, y el fallo en un servidor puede ser tolerado.

Algunos defensores de NoSQL promueven interfaces simplesAlgunos defensores de NoSQL promueven interfaces simples
tales como los arrays asociativos o los pares clave-valor. Otrostales como los arrays asociativos o los pares clave-valor. Otros
sistemas, tales como las bases de datos nativas en XML,sistemas, tales como las bases de datos nativas en XML,
promueven el soporte del estándarpromueven el soporte del estándar XqueryXquery. Los sistemas mas. Los sistemas mas
novedosos tales como CloudTPS también soportan unión denovedosos tales como CloudTPS también soportan unión de
queries.queries.
VentajasVentajas
 Responden a las necesidades de escalabilidadResponden a las necesidades de escalabilidad
horizontal.horizontal.
 Pueden manejar enormes cantidades de datos.Pueden manejar enormes cantidades de datos.
 No generan cuellos de botella.No generan cuellos de botella.
 Escalamiento sencillo.Escalamiento sencillo.
 Diferentes DBs NoSQL para diferentesDiferentes DBs NoSQL para diferentes
proyecto.proyecto.
 Se ejecutan en clusters de máquinas baratas.Se ejecutan en clusters de máquinas baratas.
Bases de datosBases de datos
documentalesdocumentales
 CouchDB, de ApacheCouchDB, de Apache
Apache CouchDBApache CouchDB
 MongoDB, de 10genMongoDB, de 10gen
 RavenDz, deRavenDz, de
Hibernating Rhinos.Hibernating Rhinos.
 BaseXBaseX
 eXisteXist
 SimpleDBSimpleDB
 IBM Lotus DominoIBM Lotus Domino
 TerrastoreTerrastore
Bases de datosBases de datos
clave/valorclave/valor
 Cassandra, de Apache TheCassandra, de Apache The
Apache CassandraApache Cassandra
 BigTable, de GoogleBigTable, de Google
 Dynamo, de AmazonDynamo, de Amazon
 Project Voldemort, deProject Voldemort, de
LinkedInLinkedIn
 RiakRiak
 RedisRedis
Bases de datos enBases de datos en
grafografo
 Neo4jNeo4j
 DEXDEX
 AllegroGraphAllegroGraph
 OrientDBOrientDB
 InfiniteGraphInfiniteGraph
 Sones GraphDBSones GraphDB
 InfoGridInfoGrid
 HyperGraphDBHyperGraphDB
Bases de datosBases de datos
MultivalorMultivalor
Bases de datosBases de datos
Orientadas a ObjetosOrientadas a Objetos
Bases de datosBases de datos
TabularTabular
 OpenQMOpenQM
 ExtensibleExtensible
storagestorage
engineengine  Zope ObjectZope Object
DatabaseDatabase
 db4odb4o
 GemStone SGemStone S
 Objectivity/DBObjectivity/DB
 HBase, deHBase, de
ApacheApache
 BigTable, deBigTable, de
GoogleGoogle
 HypertableHypertable
BigTableBigTable
 BigTable es un motor de bases de datos creado por Google con las características de ser:BigTable es un motor de bases de datos creado por Google con las características de ser:
- Distribuido.- Distribuido.
- De alta eficiencia.- De alta eficiencia.
- Propietario.- Propietario.
 Está construído sobreEstá construído sobre GFS (Google File System)GFS (Google File System).. Chubby Lock ServiceChubby Lock Service, y algunos otros servicios y, y algunos otros servicios y
programas de Google, y funciona sobre 'commodity hardware' (sencillos y baratos PCs conprogramas de Google, y funciona sobre 'commodity hardware' (sencillos y baratos PCs con
procesadores Intel).procesadores Intel).

BigTable comenzó a ser desarrollado a principios de 2004.BigTable comenzó a ser desarrollado a principios de 2004.

BigTable almacena la información en tablas multidimensionales cuyas celdas están, en su mayoría,BigTable almacena la información en tablas multidimensionales cuyas celdas están, en su mayoría,
sin utilizar. Además, estas celdas disponen de versiones temporales de sus valores, con lo que sesin utilizar. Además, estas celdas disponen de versiones temporales de sus valores, con lo que se
puede hacer un seguimiento de los valores que han tomado históricamente.puede hacer un seguimiento de los valores que han tomado históricamente.

Para poder manejar la información, las tablas se dividen por columnas, y son almacenadas comoPara poder manejar la información, las tablas se dividen por columnas, y son almacenadas como
“tabletas” de unos 100-200 MB cada una. Cada máquina almacena 100 tabletas, mediante el“tabletas” de unos 100-200 MB cada una. Cada máquina almacena 100 tabletas, mediante el
sistema 'Google File System'. La disposición permite un sistema de balanceo de carga (si unasistema 'Google File System'. La disposición permite un sistema de balanceo de carga (si una
tableta está recibiendo un montón de peticiones, la máquina puede desprenderse del resto de lastableta está recibiendo un montón de peticiones, la máquina puede desprenderse del resto de las
tabletas o trasladar la tableta en cuestión a otra máquina) y una rápida recomposición del sistematabletas o trasladar la tableta en cuestión a otra máquina) y una rápida recomposición del sistema
si una máquina “se cae”.si una máquina “se cae”.
Cómo Google almacena los datosCómo Google almacena los datos
 Los gigantes de internet como Google, Amazon, Yahoo o Facebook necesitan mover de forma fiable, rápida yLos gigantes de internet como Google, Amazon, Yahoo o Facebook necesitan mover de forma fiable, rápida y
energéticamente eficiente volúmenes de información impensables hace unos años y, con la tecnologíaenergéticamente eficiente volúmenes de información impensables hace unos años y, con la tecnología
proporcionada hasta la fecha, no era posible de realizar.proporcionada hasta la fecha, no era posible de realizar.

Si miramos hacia atrás,Si miramos hacia atrás, la fiabilidadla fiabilidad estaba condicionada a que un súper ordenador o un pequeño grupo deestaba condicionada a que un súper ordenador o un pequeño grupo de
estos no fallasen al procesar programas preconcebidamente “imperfectos”. Por esta razón, los esfuerzos de losestos no fallasen al procesar programas preconcebidamente “imperfectos”. Por esta razón, los esfuerzos de los
ingenieros estaban centrados en el hardware intentando obtener lo máximo de cada máquina. Pero ahora, estasingenieros estaban centrados en el hardware intentando obtener lo máximo de cada máquina. Pero ahora, estas
empresas tienen miles, decenas de miles o incluso centenares de miles de ordenadores trabajando al unísonoempresas tienen miles, decenas de miles o incluso centenares de miles de ordenadores trabajando al unísono
para mantener vivo el flujo de datos continuo al que se ven sometidos. No es de extrañar entonces que, con talpara mantener vivo el flujo de datos continuo al que se ven sometidos. No es de extrañar entonces que, con tal
cantidad de servidores operando, sea inevitable que siempre fallará alguno.cantidad de servidores operando, sea inevitable que siempre fallará alguno.

En cuanto aEn cuanto a la rapidezla rapidez, ya no nos vale con tener súper ordenadores con los mejores procesadores, pues por, ya no nos vale con tener súper ordenadores con los mejores procesadores, pues por
mucho que nos empeñemos en el procesador, los cuellos de botella están en los propios datos y en la entrada ymucho que nos empeñemos en el procesador, los cuellos de botella están en los propios datos y en la entrada y
salida de estos de las máquinas.salida de estos de las máquinas.
 Por último,Por último, el consumo de energíael consumo de energía, es, probablemente el principal problema cuando se habla de esos miles de, es, probablemente el principal problema cuando se habla de esos miles de
ordenadores trabajando conjuntamente.ordenadores trabajando conjuntamente.
Google dispone de su propia fuente de energía solar, que proporciona una bonita instantánea aérea de susGoogle dispone de su propia fuente de energía solar, que proporciona una bonita instantánea aérea de sus
DataCenters con tejados construidos bajo paneles solares. Y no es de extrañar, cuando esta empresa cuentaDataCenters con tejados construidos bajo paneles solares. Y no es de extrañar, cuando esta empresa cuenta
con, seguramente, el mayor centro de datos del mundo. Más de medio millón de servidores que obliga alcon, seguramente, el mayor centro de datos del mundo. Más de medio millón de servidores que obliga al
gigante a encargar sus componentes a medida para eliminar elementos inútiles para el procesado de sus datos.gigante a encargar sus componentes a medida para eliminar elementos inútiles para el procesado de sus datos.
Incluso utiliza su propia patente de unidad de alimentación de bajo consumo.Incluso utiliza su propia patente de unidad de alimentación de bajo consumo.

Con todo esto, para poder llevar a buen puerto esta macro arquitectura de servidores, debemos olvidarnos delCon todo esto, para poder llevar a buen puerto esta macro arquitectura de servidores, debemos olvidarnos del
propio hardware y centrarnos en las aplicaciones, en que sea el software el que dé la solución. Las bases depropio hardware y centrarnos en las aplicaciones, en que sea el software el que dé la solución. Las bases de
datos serán las encargadas de ello.datos serán las encargadas de ello.
Qué es BigTableQué es BigTable
 BigTable es un mapa multidimensional ordenado, disperso, distribuido y persistente.BigTable es un mapa multidimensional ordenado, disperso, distribuido y persistente.

Google creó BigTable porque los sistemas de bases de datos tradicionales no tenían ni tienen, la capacidad de crearGoogle creó BigTable porque los sistemas de bases de datos tradicionales no tenían ni tienen, la capacidad de crear
sistemas lo suficientemente grandes. Además, estos sistemas de bases de datos relacionales, como SQL Server, Oracle osistemas lo suficientemente grandes. Además, estos sistemas de bases de datos relacionales, como SQL Server, Oracle o
MySQL fueron pensados y diseñados para que se ejecutasen en un solo servidor con mucha potencia.MySQL fueron pensados y diseñados para que se ejecutasen en un solo servidor con mucha potencia.

BigTable está pensado para ser una base de datos en la que se almacene la información perteneciente a todos losBigTable está pensado para ser una base de datos en la que se almacene la información perteneciente a todos los
productos de Google, En la actualidad es usada, entre otros, por el propio buscador, Google Maps, Google Earth,productos de Google, En la actualidad es usada, entre otros, por el propio buscador, Google Maps, Google Earth,
Google Finance, Blogger, etc. De esta manera, la cantidad de información almacenada es enorme y del orden deGoogle Finance, Blogger, etc. De esta manera, la cantidad de información almacenada es enorme y del orden de
Petabytes.Petabytes.

Cada tabla en BigTable, está dividida en “tablets” que tienen un tamaño máximo de 200 MB. Si llegasen a superar esteCada tabla en BigTable, está dividida en “tablets” que tienen un tamaño máximo de 200 MB. Si llegasen a superar este
tamaño, serían automáticamente divididas y comprimidas usando un sistema de compresión propio de Google paratamaño, serían automáticamente divididas y comprimidas usando un sistema de compresión propio de Google para
luego ser enviadas a nuevos servidores dentro de la red.luego ser enviadas a nuevos servidores dentro de la red.

Aunque tiene algún parecido con los sistemas tradicionales relacionales de bases de datos, rompe alguna de susAunque tiene algún parecido con los sistemas tradicionales relacionales de bases de datos, rompe alguna de sus
principales premisas. Un ejemplo es la organización de las propias tablas. Estas se dividen en conjuntos de columnas yprincipales premisas. Un ejemplo es la organización de las propias tablas. Estas se dividen en conjuntos de columnas y
éstos en otras columnas. Es posible añadir columnas en cualquier momento y no es posible borrar las filas.éstos en otras columnas. Es posible añadir columnas en cualquier momento y no es posible borrar las filas.

El historial es vital para Google, y por ello no podemos eliminar nada en BigTable, ni siquiera sobreescribirlo. ParaEl historial es vital para Google, y por ello no podemos eliminar nada en BigTable, ni siquiera sobreescribirlo. Para
reemplazar una fila, lo que debemos es insertar una nueva que la sustituya, contradiga o actualice en base a una líneareemplazar una fila, lo que debemos es insertar una nueva que la sustituya, contradiga o actualice en base a una línea
temporal. Existen 3 claves primarias que se utilizan para la localización de los datos: la propia fila (similar a untemporal. Existen 3 claves primarias que se utilizan para la localización de los datos: la propia fila (similar a un
identificador de fila), la columna (que lleva un “nombre” dentro del conjunto de columnas inicial y anteriormente citado)identificador de fila), la columna (que lleva un “nombre” dentro del conjunto de columnas inicial y anteriormente citado)
y un timestamp (marca de tiempo) que diferencia dos filas iguales en el tiempo. De esta forma, tenemos un historialy un timestamp (marca de tiempo) que diferencia dos filas iguales en el tiempo. De esta forma, tenemos un historial
completo y podemos acceder a filas “borradas” simplemente referenciando el timestamp.completo y podemos acceder a filas “borradas” simplemente referenciando el timestamp.

Las celdas contienen un único tipo de datos: cadenas de caracteres.Las celdas contienen un único tipo de datos: cadenas de caracteres.

Desgraciadamente BigTable es propietario y completamente privado y secreto de Google por lo que no podemosDesgraciadamente BigTable es propietario y completamente privado y secreto de Google por lo que no podemos
emplearlo ni hacer pruebas sobre él. Existen alternativas libres creadas a partir de la información arquitectural yemplearlo ni hacer pruebas sobre él. Existen alternativas libres creadas a partir de la información arquitectural y
tecnológica proporcionada por Google como pueden ser Hadoop e Hypertable.tecnológica proporcionada por Google como pueden ser Hadoop e Hypertable.
De GFS a BigTableDe GFS a BigTable
 Google File System (GFS), es un sistema de ficheros distribuido, creado por Google para satisfacer la crecienteGoogle File System (GFS), es un sistema de ficheros distribuido, creado por Google para satisfacer la creciente
demanda en las necesidades de la empresa en el procesamiento de datos. Garantiza el rendimiento, lademanda en las necesidades de la empresa en el procesamiento de datos. Garantiza el rendimiento, la
escalabilidad y la disponibilidad en todo momento.escalabilidad y la disponibilidad en todo momento.

El principal objetivo de GFS es el poder almacenar ficheros de gran tamaño de forma segura y que soportaseEl principal objetivo de GFS es el poder almacenar ficheros de gran tamaño de forma segura y que soportase
una gran carga de trabajo. Al ser un sistema distribuido los datos que componen cada fichero no estánuna gran carga de trabajo. Al ser un sistema distribuido los datos que componen cada fichero no están
guardados en un mismo disco duro, ni siquiera en un solo servidor, sino que utiliza toda la red de ordenadoresguardados en un mismo disco duro, ni siquiera en un solo servidor, sino que utiliza toda la red de ordenadores
necesaria para llevar su cometido lo suficientemente eficiente como se haya pensado. Además, por cada trozonecesaria para llevar su cometido lo suficientemente eficiente como se haya pensado. Además, por cada trozo
de un fichero se hacen 3 copias que irán a parar a 3 máquinas diferentes.de un fichero se hacen 3 copias que irán a parar a 3 máquinas diferentes.
 Existen dos tipos de servidores:Existen dos tipos de servidores:
- Los servidores Master almacenan dónde están los trozos (chunks), es decir, la situación física o real que- Los servidores Master almacenan dónde están los trozos (chunks), es decir, la situación física o real que
componen los ficheros, así como la jerarquía de ficheros y directorios.componen los ficheros, así como la jerarquía de ficheros y directorios.
- Los Chunkservers almacenan los trozos propiamente dichos. Cada trozo ocupa 100MB en adelante. Esta- Los Chunkservers almacenan los trozos propiamente dichos. Cada trozo ocupa 100MB en adelante. Esta
red de servidores es capaz de almacenar y administrar varios millones de estos trozos.red de servidores es capaz de almacenar y administrar varios millones de estos trozos.

Los ficheros en GFS no se pueden sobrescribir, solo es posible añadir datos al final del fichero y añadir unaLos ficheros en GFS no se pueden sobrescribir, solo es posible añadir datos al final del fichero y añadir una
marca de tiempo (timestamp) para seguir el flujo de cambios.marca de tiempo (timestamp) para seguir el flujo de cambios.

A su vez, existen dos tipos de servidores Chunkserver: los primarios y los secundarios. Aquí es donde seA su vez, existen dos tipos de servidores Chunkserver: los primarios y los secundarios. Aquí es donde se
encuentran las 3 copias de cada trozo. Por un lado, el servidor primario almacena la copia principal y otros dosencuentran las 3 copias de cada trozo. Por un lado, el servidor primario almacena la copia principal y otros dos
servidores secundarios, almacenan otra copia cada uno de ellos.servidores secundarios, almacenan otra copia cada uno de ellos.

De esta manera, el proceso de escritura en un fichero (trozo) se desarrolla de la siguiente manera. El clienteDe esta manera, el proceso de escritura en un fichero (trozo) se desarrolla de la siguiente manera. El cliente
inicia la transacción pidiendo la información de localización al servidor Master y este le contesta con los datosinicia la transacción pidiendo la información de localización al servidor Master y este le contesta con los datos
solicitados. Acto seguido, el cliente pasa los nuevos datos a los tres servidores Chunkserver y le informa alsolicitados. Acto seguido, el cliente pasa los nuevos datos a los tres servidores Chunkserver y le informa al
servidor primario de la intención de añadir los datos. El servidor primario ordena a los secundarios queservidor primario de la intención de añadir los datos. El servidor primario ordena a los secundarios que
almacenen los datos que tienen en el bus de entrada y que informen de sus acciones. Una vez realizado todoalmacenen los datos que tienen en el bus de entrada y que informen de sus acciones. Una vez realizado todo
este proceso, el servidor primario da la confirmación al cliente que inició todo el trabajo.este proceso, el servidor primario da la confirmación al cliente que inició todo el trabajo.

GFS no forma parte del sistema operativo, sino que se accede a través de librerías, por lo que lo convierte enGFS no forma parte del sistema operativo, sino que se accede a través de librerías, por lo que lo convierte en
portable.portable.
HypertableHypertable
 Es un Sistema Gestor de Bases de Datos de tipo “open source”, desarrollado por la compañíaEs un Sistema Gestor de Bases de Datos de tipo “open source”, desarrollado por la compañía
Zvents. Es un sistema de almacenamiento de datos distribuido y de alto desempeño,  ideal paraZvents. Es un sistema de almacenamiento de datos distribuido y de alto desempeño,  ideal para
aplicaciones que necesitan manejar datos que evolucionan rápidamente y diseñado para soportaraplicaciones que necesitan manejar datos que evolucionan rápidamente y diseñado para soportar
una gran demanda de datos en tiempo real, y fue modelado basándose en el diseño de Google’suna gran demanda de datos en tiempo real, y fue modelado basándose en el diseño de Google’s
BigTable.BigTable.
 Hypertable surgió para facilitar el procesamiento de grandes cantidades de datos, tras la granHypertable surgió para facilitar el procesamiento de grandes cantidades de datos, tras la gran
explosión de información que acompañó el inicio de la Web 2.0, y se caracteriza por ser un gestorexplosión de información que acompañó el inicio de la Web 2.0, y se caracteriza por ser un gestor
de bases de datos distribuido, escalable, no relacional y que no soporta transacciones.de bases de datos distribuido, escalable, no relacional y que no soporta transacciones.
 Este gestor de bases de datos ha sido desarrollado en C++, pero inicialmente se pensó hacerlo enEste gestor de bases de datos ha sido desarrollado en C++, pero inicialmente se pensó hacerlo en
Java, idea que fue rechazada debido al gran consumo de memoria de dicho lenguaje deJava, idea que fue rechazada debido al gran consumo de memoria de dicho lenguaje de
programación, y a la intensidad del flujo de datos de una aplicación de la naturaleza de Hypertable.programación, y a la intensidad del flujo de datos de una aplicación de la naturaleza de Hypertable.
 La principal diferencia entre Hypertabe y los gestores de bases de datos relacionales es que, en losLa principal diferencia entre Hypertabe y los gestores de bases de datos relacionales es que, en los
gestores de bases de datos relacionales, se tienen muchas tablas muy pequeñas, y se las une con lagestores de bases de datos relacionales, se tienen muchas tablas muy pequeñas, y se las une con la
operación de join, pero ni siquiera todos los join y todas las tablas juntas suelen acercarnos aloperación de join, pero ni siquiera todos los join y todas las tablas juntas suelen acercarnos al
verdaderoverdadero volumen de datos generados por aplicaciones web 2.0, además de que el excesivo uso devolumen de datos generados por aplicaciones web 2.0, además de que el excesivo uso de
operaciones join vuelve más “lenta” nuestra aplicación web; entonces la idea de Hypertable es queoperaciones join vuelve más “lenta” nuestra aplicación web; entonces la idea de Hypertable es que
guardemos toda esta gran cantidad de información en una sola tabla (eliminando la necesidad deguardemos toda esta gran cantidad de información en una sola tabla (eliminando la necesidad de
las operaciones join) y colocarla en un Sistema de Archivos Distribuido, para que las operacioneslas operaciones join) y colocarla en un Sistema de Archivos Distribuido, para que las operaciones
realizadas sobre la tabla puedan ser procesadas de forma simultánea por todos los sistemasrealizadas sobre la tabla puedan ser procesadas de forma simultánea por todos los sistemas
conectados a la red.conectados a la red.
HyPerTableHyPerTable
FuncionandoFuncionando

Más contenido relacionado

La actualidad más candente

Cassandra Instalacion y Utilizacion
Cassandra Instalacion y UtilizacionCassandra Instalacion y Utilizacion
Cassandra Instalacion y UtilizacionLeandro Carrera
 
Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech DataStax Academy
 
Bases de Datos No Relacionales
Bases de Datos No RelacionalesBases de Datos No Relacionales
Bases de Datos No RelacionalesBEEVA_es
 
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryOptimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryGonzalo Chacaltana
 
Introducción a NoSQL y MongoDB Webinar
Introducción a NoSQL y MongoDB WebinarIntroducción a NoSQL y MongoDB Webinar
Introducción a NoSQL y MongoDB WebinarMongoDB
 
Apache Cassandra
Apache CassandraApache Cassandra
Apache CassandraLuis Ojeda
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQLjosecuartas
 
Un acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLUn acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLJavier Guillot Jiménez
 
Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak Andrei Amador
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaLiz Armenteros
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesAndrés Londoño
 
Desarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQL
Desarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQLDesarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQL
Desarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQLRoanny Lamas
 

La actualidad más candente (20)

Cassandra Instalacion y Utilizacion
Cassandra Instalacion y UtilizacionCassandra Instalacion y Utilizacion
Cassandra Instalacion y Utilizacion
 
Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech
 
Bases de Datos No Relacionales
Bases de Datos No RelacionalesBases de Datos No Relacionales
Bases de Datos No Relacionales
 
Introducción a Apache HBase
Introducción a Apache HBaseIntroducción a Apache HBase
Introducción a Apache HBase
 
Presentacion BD NoSQL
Presentacion  BD NoSQLPresentacion  BD NoSQL
Presentacion BD NoSQL
 
Optimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-MemoryOptimización de aplicaciones web con base de datos NoSQL In-Memory
Optimización de aplicaciones web con base de datos NoSQL In-Memory
 
Introducción a NoSQL y MongoDB Webinar
Introducción a NoSQL y MongoDB WebinarIntroducción a NoSQL y MongoDB Webinar
Introducción a NoSQL y MongoDB Webinar
 
Intro cassandra
Intro cassandraIntro cassandra
Intro cassandra
 
Apache Cassandra
Apache CassandraApache Cassandra
Apache Cassandra
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQL
 
Un acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLUn acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQL
 
Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak Bases de Datos NoSQL - Riak
Bases de Datos NoSQL - Riak
 
Mongodb vs couchdb
Mongodb vs couchdb Mongodb vs couchdb
Mongodb vs couchdb
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática Médica
 
NoSQL bases de datos no relacionales
NoSQL bases de datos no relacionalesNoSQL bases de datos no relacionales
NoSQL bases de datos no relacionales
 
Desarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQL
Desarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQLDesarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQL
Desarrollo de Almacenes de Datos con Sistemas Gestores de Bases de Datos NOSQL
 
MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
 
NoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de DatosNoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de Datos
 
Panorama BigData (OpenExpo2017)
Panorama BigData (OpenExpo2017)Panorama BigData (OpenExpo2017)
Panorama BigData (OpenExpo2017)
 
Hadoop
HadoopHadoop
Hadoop
 

Destacado

Dynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and ComparisonDynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and ComparisonGrisha Weintraub
 
Dynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremDynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremGrisha Weintraub
 
Estudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y HiveEstudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y HiveWellness Telecom
 
Big data para principiantes
Big data para principiantesBig data para principiantes
Big data para principiantesCarlos Toxtli
 
Dynamo: Tienda de Amazon de alta disponibilidad de llaves y valores
Dynamo: Tienda de Amazon de alta disponibilidad de llaves y valoresDynamo: Tienda de Amazon de alta disponibilidad de llaves y valores
Dynamo: Tienda de Amazon de alta disponibilidad de llaves y valorespaooro
 
Temadeinvestigacion 130402203353-phpapp02
Temadeinvestigacion 130402203353-phpapp02Temadeinvestigacion 130402203353-phpapp02
Temadeinvestigacion 130402203353-phpapp02Camilo López
 
BigTable And Hbase
BigTable And HbaseBigTable And Hbase
BigTable And HbaseEdward Yoon
 

Destacado (13)

Dynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and ComparisonDynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and Comparison
 
Dynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremDynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theorem
 
Bigtable and Dynamo
Bigtable and DynamoBigtable and Dynamo
Bigtable and Dynamo
 
London
LondonLondon
London
 
Estudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y HiveEstudio sobre Spark, Storm, Kafka y Hive
Estudio sobre Spark, Storm, Kafka y Hive
 
NoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradasNoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradas
 
Big data para principiantes
Big data para principiantesBig data para principiantes
Big data para principiantes
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 
Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL) Bases de Datos No Relacionales (NoSQL)
Bases de Datos No Relacionales (NoSQL)
 
Dynamo: Tienda de Amazon de alta disponibilidad de llaves y valores
Dynamo: Tienda de Amazon de alta disponibilidad de llaves y valoresDynamo: Tienda de Amazon de alta disponibilidad de llaves y valores
Dynamo: Tienda de Amazon de alta disponibilidad de llaves y valores
 
Temadeinvestigacion 130402203353-phpapp02
Temadeinvestigacion 130402203353-phpapp02Temadeinvestigacion 130402203353-phpapp02
Temadeinvestigacion 130402203353-phpapp02
 
BigTable And Hbase
BigTable And HbaseBigTable And Hbase
BigTable And Hbase
 
Bigtable
BigtableBigtable
Bigtable
 

Similar a Big table por Matias tesoriero

Similar a Big table por Matias tesoriero (20)

Bases de datos
Bases de datosBases de datos
Bases de datos
 
Actv4_bd_moreno_joel
Actv4_bd_moreno_joelActv4_bd_moreno_joel
Actv4_bd_moreno_joel
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Alfredo reyes
Alfredo reyesAlfredo reyes
Alfredo reyes
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos no sql
Base de datos no sqlBase de datos no sql
Base de datos no sql
 
NoSql introducción -Innova4j
NoSql introducción -Innova4jNoSql introducción -Innova4j
NoSql introducción -Innova4j
 
Principales bases de datos existentes
Principales bases de datos existentesPrincipales bases de datos existentes
Principales bases de datos existentes
 
screencast y bases de datos
screencast y bases de datos screencast y bases de datos
screencast y bases de datos
 
Act4 base datos_reyes_rosalba
Act4 base datos_reyes_rosalbaAct4 base datos_reyes_rosalba
Act4 base datos_reyes_rosalba
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de datos CBTis 75
Base de datos CBTis 75Base de datos CBTis 75
Base de datos CBTis 75
 
Base de datos
Base de datosBase de datos
Base de datos
 
Cordova angelica basededatos
Cordova angelica basededatosCordova angelica basededatos
Cordova angelica basededatos
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 
BASES DE DATOS
BASES DE DATOSBASES DE DATOS
BASES DE DATOS
 
Presentación1
Presentación1Presentación1
Presentación1
 
Act4 bd moreno_joel
Act4 bd moreno_joelAct4 bd moreno_joel
Act4 bd moreno_joel
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 

Último

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxPryhaSalam
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxKarlaMassielMartinez
 

Último (20)

TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptxEXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
EXPANSIÓN ECONÓMICA DE OCCIDENTE LEÓN.pptx
 
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptxTECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
TECNOLOGÍA FARMACEUTICA OPERACIONES UNITARIAS.pptx
 

Big table por Matias tesoriero

  • 1. BigTableBigTable Entendiendo el Modelo de Datos de GoogleEntendiendo el Modelo de Datos de Google
  • 2. NoSQLNoSQL  Los sistemas de bases de datos se clasificanLos sistemas de bases de datos se clasifican mayormente en tres tipos:mayormente en tres tipos: - RelacionalesRelacionales - Orientadas a objetosOrientadas a objetos - Relacionales orientadas a objetosRelacionales orientadas a objetos Sin embargo, la mayoría de los motores de bases deSin embargo, la mayoría de los motores de bases de datos más populares se basan en la arquitecturadatos más populares se basan en la arquitectura relacional, y todos ellos utilizan el lenguaje de consultasrelacional, y todos ellos utilizan el lenguaje de consultas SQL (con variaciones).SQL (con variaciones).
  • 3. ¿Por qué aparecen los sistemas NoSQL?¿Por qué aparecen los sistemas NoSQL?  Gracias al transcurso de los años, hemos logrado aprender técnicas bastante comunes paraGracias al transcurso de los años, hemos logrado aprender técnicas bastante comunes para normalizar las BD relacionales en la medida de lo posible, escalarlas según crece la demanda, ynormalizar las BD relacionales en la medida de lo posible, escalarlas según crece la demanda, y utilizarlas como sistema de persistencia para almacenar información desde nuestro lenguajeutilizarlas como sistema de persistencia para almacenar información desde nuestro lenguaje procedural u orientado a objetos (entre otros). La cuota de uso de software como SQLite,procedural u orientado a objetos (entre otros). La cuota de uso de software como SQLite, MySQL, PostgreSQL u Oracle, es muy alta, encontrándose en la mayor parte de los desarrollosMySQL, PostgreSQL u Oracle, es muy alta, encontrándose en la mayor parte de los desarrollos modernos.modernos.  Pero llegó la web, el software como servicio, los servicios en la nube y lasPero llegó la web, el software como servicio, los servicios en la nube y las startupsstartups de éxito conde éxito con millones de usuarios. Y con todo ello llegaron los problemas de alta escalabilidad. Si bien losmillones de usuarios. Y con todo ello llegaron los problemas de alta escalabilidad. Si bien los modelos relacionales se pueden adaptar para hacerlos escalar incluso en los entornos más difíciles,modelos relacionales se pueden adaptar para hacerlos escalar incluso en los entornos más difíciles, es cierto que se hacen cada vez menos intuitivos a medida que aumenta la complejidad.es cierto que se hacen cada vez menos intuitivos a medida que aumenta la complejidad. Los sistemas NoSQL intentan atacar este problema proponiendo una estructura deLos sistemas NoSQL intentan atacar este problema proponiendo una estructura de almacenamiento más versátil, aunque sea a costa de perder ciertas funcionalidades como lasalmacenamiento más versátil, aunque sea a costa de perder ciertas funcionalidades como las transacciones que engloban operaciones en más de una colección de datos, o la incapacidad detransacciones que engloban operaciones en más de una colección de datos, o la incapacidad de ejecutar el producto cartesiano de dos tablas (también llamado FULL JOIN) teniendo que recurrirejecutar el producto cartesiano de dos tablas (también llamado FULL JOIN) teniendo que recurrir a la desnormalización de datos.a la desnormalización de datos.  Algunas implementaciones NoSQL : CouchDB, MongoDB, RavenDB, Neo4j, Cassandra,Algunas implementaciones NoSQL : CouchDB, MongoDB, RavenDB, Neo4j, Cassandra, BigTableBigTable, Dynamo, Riak, Hadoop, y otras muchas., Dynamo, Riak, Hadoop, y otras muchas.
  • 4. Pero, ¿en qué se diferencianPero, ¿en qué se diferencian exactamente?exactamente?  Características:Características:  -Ausencia de esquema en los registros de datos.-Ausencia de esquema en los registros de datos.  -Escalabilidad horizontal sencilla.-Escalabilidad horizontal sencilla.  -Velocidad (aunque esto último no siempre es cierto, pues muchos de estos sistemas aún no están-Velocidad (aunque esto último no siempre es cierto, pues muchos de estos sistemas aún no están suficientemente maduros).suficientemente maduros).  La primera característica significa que los datos no tienen una definición de atributos fija, es decir:La primera característica significa que los datos no tienen una definición de atributos fija, es decir: Cada registro (o documento, como se les suele llamar en estos casos) puede contener unaCada registro (o documento, como se les suele llamar en estos casos) puede contener una información con diferente forma cada vez, pudiendo así almacenar sólo los atributos que intereseninformación con diferente forma cada vez, pudiendo así almacenar sólo los atributos que interesen en cada uno de ellos, facilitando el polimorfismo de datos bajo una misma colección deen cada uno de ellos, facilitando el polimorfismo de datos bajo una misma colección de información.información.  Con escalabilidad horizontal nos referimos a la posibilidad de aumentar el rendimiento del sistemaCon escalabilidad horizontal nos referimos a la posibilidad de aumentar el rendimiento del sistema simplemente añadiendo más nodos, sin necesidad en muchos casos de realizar ninguna otrasimplemente añadiendo más nodos, sin necesidad en muchos casos de realizar ninguna otra operación más que indicar al sistema cuáles son los nodos disponibles.operación más que indicar al sistema cuáles son los nodos disponibles.  Por último, muchos de estos sistemas realizan operaciones directamente en memoria, y sóloPor último, muchos de estos sistemas realizan operaciones directamente en memoria, y sólo vuelcan los datos a disco cada cierto tiempo.vuelcan los datos a disco cada cierto tiempo.
  • 5. Entonces, no es la Gran SoluciónEntonces, no es la Gran Solución  Desde luego que no. Ninguna herramienta deDesde luego que no. Ninguna herramienta de software lo es. Pero sí es cierto que ensoftware lo es. Pero sí es cierto que en determinados entornos donde hemos de escalardeterminados entornos donde hemos de escalar rápidamente, es una solución muy buena, enrápidamente, es una solución muy buena, en especial por el altísimo rendimiento que ofrecen.especial por el altísimo rendimiento que ofrecen. No en vano, hoy en día se utilizan ya muchísimoNo en vano, hoy en día se utilizan ya muchísimo no sólo como almacenamiento primario, sinono sólo como almacenamiento primario, sino también como sistema de persistencia paratambién como sistema de persistencia para guardar cachés, analíticas de uso, y otros datosguardar cachés, analíticas de uso, y otros datos para los que lo primordial es la velocidad.para los que lo primordial es la velocidad.
  • 6. ArquitecturaArquitectura  Las arquitecturas NoSQL frecuentemente aportan escasasLas arquitecturas NoSQL frecuentemente aportan escasas garantías de consistencia, tales como consistencia de eventos ogarantías de consistencia, tales como consistencia de eventos o transaccional restringida a ítems únicos de datos.transaccional restringida a ítems únicos de datos.  Bastantes sistemas NoSQL emplean una arquitectura distribuída,Bastantes sistemas NoSQL emplean una arquitectura distribuída, manteniendo los datos de forma redundante en varios servidores,manteniendo los datos de forma redundante en varios servidores, usando frecuentemente una tabla hash distribuida. De estausando frecuentemente una tabla hash distribuida. De esta forma, el sistema puede realmente escalar añadiendo másforma, el sistema puede realmente escalar añadiendo más servidores, y el fallo en un servidor puede ser tolerado.servidores, y el fallo en un servidor puede ser tolerado.  Algunos defensores de NoSQL promueven interfaces simplesAlgunos defensores de NoSQL promueven interfaces simples tales como los arrays asociativos o los pares clave-valor. Otrostales como los arrays asociativos o los pares clave-valor. Otros sistemas, tales como las bases de datos nativas en XML,sistemas, tales como las bases de datos nativas en XML, promueven el soporte del estándarpromueven el soporte del estándar XqueryXquery. Los sistemas mas. Los sistemas mas novedosos tales como CloudTPS también soportan unión denovedosos tales como CloudTPS también soportan unión de queries.queries.
  • 7. VentajasVentajas  Responden a las necesidades de escalabilidadResponden a las necesidades de escalabilidad horizontal.horizontal.  Pueden manejar enormes cantidades de datos.Pueden manejar enormes cantidades de datos.  No generan cuellos de botella.No generan cuellos de botella.  Escalamiento sencillo.Escalamiento sencillo.  Diferentes DBs NoSQL para diferentesDiferentes DBs NoSQL para diferentes proyecto.proyecto.  Se ejecutan en clusters de máquinas baratas.Se ejecutan en clusters de máquinas baratas.
  • 8. Bases de datosBases de datos documentalesdocumentales  CouchDB, de ApacheCouchDB, de Apache Apache CouchDBApache CouchDB  MongoDB, de 10genMongoDB, de 10gen  RavenDz, deRavenDz, de Hibernating Rhinos.Hibernating Rhinos.  BaseXBaseX  eXisteXist  SimpleDBSimpleDB  IBM Lotus DominoIBM Lotus Domino  TerrastoreTerrastore Bases de datosBases de datos clave/valorclave/valor  Cassandra, de Apache TheCassandra, de Apache The Apache CassandraApache Cassandra  BigTable, de GoogleBigTable, de Google  Dynamo, de AmazonDynamo, de Amazon  Project Voldemort, deProject Voldemort, de LinkedInLinkedIn  RiakRiak  RedisRedis Bases de datos enBases de datos en grafografo  Neo4jNeo4j  DEXDEX  AllegroGraphAllegroGraph  OrientDBOrientDB  InfiniteGraphInfiniteGraph  Sones GraphDBSones GraphDB  InfoGridInfoGrid  HyperGraphDBHyperGraphDB
  • 9. Bases de datosBases de datos MultivalorMultivalor Bases de datosBases de datos Orientadas a ObjetosOrientadas a Objetos Bases de datosBases de datos TabularTabular  OpenQMOpenQM  ExtensibleExtensible storagestorage engineengine  Zope ObjectZope Object DatabaseDatabase  db4odb4o  GemStone SGemStone S  Objectivity/DBObjectivity/DB  HBase, deHBase, de ApacheApache  BigTable, deBigTable, de GoogleGoogle  HypertableHypertable
  • 10. BigTableBigTable  BigTable es un motor de bases de datos creado por Google con las características de ser:BigTable es un motor de bases de datos creado por Google con las características de ser: - Distribuido.- Distribuido. - De alta eficiencia.- De alta eficiencia. - Propietario.- Propietario.  Está construído sobreEstá construído sobre GFS (Google File System)GFS (Google File System).. Chubby Lock ServiceChubby Lock Service, y algunos otros servicios y, y algunos otros servicios y programas de Google, y funciona sobre 'commodity hardware' (sencillos y baratos PCs conprogramas de Google, y funciona sobre 'commodity hardware' (sencillos y baratos PCs con procesadores Intel).procesadores Intel).  BigTable comenzó a ser desarrollado a principios de 2004.BigTable comenzó a ser desarrollado a principios de 2004.  BigTable almacena la información en tablas multidimensionales cuyas celdas están, en su mayoría,BigTable almacena la información en tablas multidimensionales cuyas celdas están, en su mayoría, sin utilizar. Además, estas celdas disponen de versiones temporales de sus valores, con lo que sesin utilizar. Además, estas celdas disponen de versiones temporales de sus valores, con lo que se puede hacer un seguimiento de los valores que han tomado históricamente.puede hacer un seguimiento de los valores que han tomado históricamente.  Para poder manejar la información, las tablas se dividen por columnas, y son almacenadas comoPara poder manejar la información, las tablas se dividen por columnas, y son almacenadas como “tabletas” de unos 100-200 MB cada una. Cada máquina almacena 100 tabletas, mediante el“tabletas” de unos 100-200 MB cada una. Cada máquina almacena 100 tabletas, mediante el sistema 'Google File System'. La disposición permite un sistema de balanceo de carga (si unasistema 'Google File System'. La disposición permite un sistema de balanceo de carga (si una tableta está recibiendo un montón de peticiones, la máquina puede desprenderse del resto de lastableta está recibiendo un montón de peticiones, la máquina puede desprenderse del resto de las tabletas o trasladar la tableta en cuestión a otra máquina) y una rápida recomposición del sistematabletas o trasladar la tableta en cuestión a otra máquina) y una rápida recomposición del sistema si una máquina “se cae”.si una máquina “se cae”.
  • 11. Cómo Google almacena los datosCómo Google almacena los datos  Los gigantes de internet como Google, Amazon, Yahoo o Facebook necesitan mover de forma fiable, rápida yLos gigantes de internet como Google, Amazon, Yahoo o Facebook necesitan mover de forma fiable, rápida y energéticamente eficiente volúmenes de información impensables hace unos años y, con la tecnologíaenergéticamente eficiente volúmenes de información impensables hace unos años y, con la tecnología proporcionada hasta la fecha, no era posible de realizar.proporcionada hasta la fecha, no era posible de realizar.  Si miramos hacia atrás,Si miramos hacia atrás, la fiabilidadla fiabilidad estaba condicionada a que un súper ordenador o un pequeño grupo deestaba condicionada a que un súper ordenador o un pequeño grupo de estos no fallasen al procesar programas preconcebidamente “imperfectos”. Por esta razón, los esfuerzos de losestos no fallasen al procesar programas preconcebidamente “imperfectos”. Por esta razón, los esfuerzos de los ingenieros estaban centrados en el hardware intentando obtener lo máximo de cada máquina. Pero ahora, estasingenieros estaban centrados en el hardware intentando obtener lo máximo de cada máquina. Pero ahora, estas empresas tienen miles, decenas de miles o incluso centenares de miles de ordenadores trabajando al unísonoempresas tienen miles, decenas de miles o incluso centenares de miles de ordenadores trabajando al unísono para mantener vivo el flujo de datos continuo al que se ven sometidos. No es de extrañar entonces que, con talpara mantener vivo el flujo de datos continuo al que se ven sometidos. No es de extrañar entonces que, con tal cantidad de servidores operando, sea inevitable que siempre fallará alguno.cantidad de servidores operando, sea inevitable que siempre fallará alguno.  En cuanto aEn cuanto a la rapidezla rapidez, ya no nos vale con tener súper ordenadores con los mejores procesadores, pues por, ya no nos vale con tener súper ordenadores con los mejores procesadores, pues por mucho que nos empeñemos en el procesador, los cuellos de botella están en los propios datos y en la entrada ymucho que nos empeñemos en el procesador, los cuellos de botella están en los propios datos y en la entrada y salida de estos de las máquinas.salida de estos de las máquinas.  Por último,Por último, el consumo de energíael consumo de energía, es, probablemente el principal problema cuando se habla de esos miles de, es, probablemente el principal problema cuando se habla de esos miles de ordenadores trabajando conjuntamente.ordenadores trabajando conjuntamente. Google dispone de su propia fuente de energía solar, que proporciona una bonita instantánea aérea de susGoogle dispone de su propia fuente de energía solar, que proporciona una bonita instantánea aérea de sus DataCenters con tejados construidos bajo paneles solares. Y no es de extrañar, cuando esta empresa cuentaDataCenters con tejados construidos bajo paneles solares. Y no es de extrañar, cuando esta empresa cuenta con, seguramente, el mayor centro de datos del mundo. Más de medio millón de servidores que obliga alcon, seguramente, el mayor centro de datos del mundo. Más de medio millón de servidores que obliga al gigante a encargar sus componentes a medida para eliminar elementos inútiles para el procesado de sus datos.gigante a encargar sus componentes a medida para eliminar elementos inútiles para el procesado de sus datos. Incluso utiliza su propia patente de unidad de alimentación de bajo consumo.Incluso utiliza su propia patente de unidad de alimentación de bajo consumo.  Con todo esto, para poder llevar a buen puerto esta macro arquitectura de servidores, debemos olvidarnos delCon todo esto, para poder llevar a buen puerto esta macro arquitectura de servidores, debemos olvidarnos del propio hardware y centrarnos en las aplicaciones, en que sea el software el que dé la solución. Las bases depropio hardware y centrarnos en las aplicaciones, en que sea el software el que dé la solución. Las bases de datos serán las encargadas de ello.datos serán las encargadas de ello.
  • 12. Qué es BigTableQué es BigTable  BigTable es un mapa multidimensional ordenado, disperso, distribuido y persistente.BigTable es un mapa multidimensional ordenado, disperso, distribuido y persistente.  Google creó BigTable porque los sistemas de bases de datos tradicionales no tenían ni tienen, la capacidad de crearGoogle creó BigTable porque los sistemas de bases de datos tradicionales no tenían ni tienen, la capacidad de crear sistemas lo suficientemente grandes. Además, estos sistemas de bases de datos relacionales, como SQL Server, Oracle osistemas lo suficientemente grandes. Además, estos sistemas de bases de datos relacionales, como SQL Server, Oracle o MySQL fueron pensados y diseñados para que se ejecutasen en un solo servidor con mucha potencia.MySQL fueron pensados y diseñados para que se ejecutasen en un solo servidor con mucha potencia.  BigTable está pensado para ser una base de datos en la que se almacene la información perteneciente a todos losBigTable está pensado para ser una base de datos en la que se almacene la información perteneciente a todos los productos de Google, En la actualidad es usada, entre otros, por el propio buscador, Google Maps, Google Earth,productos de Google, En la actualidad es usada, entre otros, por el propio buscador, Google Maps, Google Earth, Google Finance, Blogger, etc. De esta manera, la cantidad de información almacenada es enorme y del orden deGoogle Finance, Blogger, etc. De esta manera, la cantidad de información almacenada es enorme y del orden de Petabytes.Petabytes.  Cada tabla en BigTable, está dividida en “tablets” que tienen un tamaño máximo de 200 MB. Si llegasen a superar esteCada tabla en BigTable, está dividida en “tablets” que tienen un tamaño máximo de 200 MB. Si llegasen a superar este tamaño, serían automáticamente divididas y comprimidas usando un sistema de compresión propio de Google paratamaño, serían automáticamente divididas y comprimidas usando un sistema de compresión propio de Google para luego ser enviadas a nuevos servidores dentro de la red.luego ser enviadas a nuevos servidores dentro de la red.  Aunque tiene algún parecido con los sistemas tradicionales relacionales de bases de datos, rompe alguna de susAunque tiene algún parecido con los sistemas tradicionales relacionales de bases de datos, rompe alguna de sus principales premisas. Un ejemplo es la organización de las propias tablas. Estas se dividen en conjuntos de columnas yprincipales premisas. Un ejemplo es la organización de las propias tablas. Estas se dividen en conjuntos de columnas y éstos en otras columnas. Es posible añadir columnas en cualquier momento y no es posible borrar las filas.éstos en otras columnas. Es posible añadir columnas en cualquier momento y no es posible borrar las filas.  El historial es vital para Google, y por ello no podemos eliminar nada en BigTable, ni siquiera sobreescribirlo. ParaEl historial es vital para Google, y por ello no podemos eliminar nada en BigTable, ni siquiera sobreescribirlo. Para reemplazar una fila, lo que debemos es insertar una nueva que la sustituya, contradiga o actualice en base a una líneareemplazar una fila, lo que debemos es insertar una nueva que la sustituya, contradiga o actualice en base a una línea temporal. Existen 3 claves primarias que se utilizan para la localización de los datos: la propia fila (similar a untemporal. Existen 3 claves primarias que se utilizan para la localización de los datos: la propia fila (similar a un identificador de fila), la columna (que lleva un “nombre” dentro del conjunto de columnas inicial y anteriormente citado)identificador de fila), la columna (que lleva un “nombre” dentro del conjunto de columnas inicial y anteriormente citado) y un timestamp (marca de tiempo) que diferencia dos filas iguales en el tiempo. De esta forma, tenemos un historialy un timestamp (marca de tiempo) que diferencia dos filas iguales en el tiempo. De esta forma, tenemos un historial completo y podemos acceder a filas “borradas” simplemente referenciando el timestamp.completo y podemos acceder a filas “borradas” simplemente referenciando el timestamp.  Las celdas contienen un único tipo de datos: cadenas de caracteres.Las celdas contienen un único tipo de datos: cadenas de caracteres.  Desgraciadamente BigTable es propietario y completamente privado y secreto de Google por lo que no podemosDesgraciadamente BigTable es propietario y completamente privado y secreto de Google por lo que no podemos emplearlo ni hacer pruebas sobre él. Existen alternativas libres creadas a partir de la información arquitectural yemplearlo ni hacer pruebas sobre él. Existen alternativas libres creadas a partir de la información arquitectural y tecnológica proporcionada por Google como pueden ser Hadoop e Hypertable.tecnológica proporcionada por Google como pueden ser Hadoop e Hypertable.
  • 13. De GFS a BigTableDe GFS a BigTable  Google File System (GFS), es un sistema de ficheros distribuido, creado por Google para satisfacer la crecienteGoogle File System (GFS), es un sistema de ficheros distribuido, creado por Google para satisfacer la creciente demanda en las necesidades de la empresa en el procesamiento de datos. Garantiza el rendimiento, lademanda en las necesidades de la empresa en el procesamiento de datos. Garantiza el rendimiento, la escalabilidad y la disponibilidad en todo momento.escalabilidad y la disponibilidad en todo momento.  El principal objetivo de GFS es el poder almacenar ficheros de gran tamaño de forma segura y que soportaseEl principal objetivo de GFS es el poder almacenar ficheros de gran tamaño de forma segura y que soportase una gran carga de trabajo. Al ser un sistema distribuido los datos que componen cada fichero no estánuna gran carga de trabajo. Al ser un sistema distribuido los datos que componen cada fichero no están guardados en un mismo disco duro, ni siquiera en un solo servidor, sino que utiliza toda la red de ordenadoresguardados en un mismo disco duro, ni siquiera en un solo servidor, sino que utiliza toda la red de ordenadores necesaria para llevar su cometido lo suficientemente eficiente como se haya pensado. Además, por cada trozonecesaria para llevar su cometido lo suficientemente eficiente como se haya pensado. Además, por cada trozo de un fichero se hacen 3 copias que irán a parar a 3 máquinas diferentes.de un fichero se hacen 3 copias que irán a parar a 3 máquinas diferentes.  Existen dos tipos de servidores:Existen dos tipos de servidores: - Los servidores Master almacenan dónde están los trozos (chunks), es decir, la situación física o real que- Los servidores Master almacenan dónde están los trozos (chunks), es decir, la situación física o real que componen los ficheros, así como la jerarquía de ficheros y directorios.componen los ficheros, así como la jerarquía de ficheros y directorios. - Los Chunkservers almacenan los trozos propiamente dichos. Cada trozo ocupa 100MB en adelante. Esta- Los Chunkservers almacenan los trozos propiamente dichos. Cada trozo ocupa 100MB en adelante. Esta red de servidores es capaz de almacenar y administrar varios millones de estos trozos.red de servidores es capaz de almacenar y administrar varios millones de estos trozos.  Los ficheros en GFS no se pueden sobrescribir, solo es posible añadir datos al final del fichero y añadir unaLos ficheros en GFS no se pueden sobrescribir, solo es posible añadir datos al final del fichero y añadir una marca de tiempo (timestamp) para seguir el flujo de cambios.marca de tiempo (timestamp) para seguir el flujo de cambios.  A su vez, existen dos tipos de servidores Chunkserver: los primarios y los secundarios. Aquí es donde seA su vez, existen dos tipos de servidores Chunkserver: los primarios y los secundarios. Aquí es donde se encuentran las 3 copias de cada trozo. Por un lado, el servidor primario almacena la copia principal y otros dosencuentran las 3 copias de cada trozo. Por un lado, el servidor primario almacena la copia principal y otros dos servidores secundarios, almacenan otra copia cada uno de ellos.servidores secundarios, almacenan otra copia cada uno de ellos.  De esta manera, el proceso de escritura en un fichero (trozo) se desarrolla de la siguiente manera. El clienteDe esta manera, el proceso de escritura en un fichero (trozo) se desarrolla de la siguiente manera. El cliente inicia la transacción pidiendo la información de localización al servidor Master y este le contesta con los datosinicia la transacción pidiendo la información de localización al servidor Master y este le contesta con los datos solicitados. Acto seguido, el cliente pasa los nuevos datos a los tres servidores Chunkserver y le informa alsolicitados. Acto seguido, el cliente pasa los nuevos datos a los tres servidores Chunkserver y le informa al servidor primario de la intención de añadir los datos. El servidor primario ordena a los secundarios queservidor primario de la intención de añadir los datos. El servidor primario ordena a los secundarios que almacenen los datos que tienen en el bus de entrada y que informen de sus acciones. Una vez realizado todoalmacenen los datos que tienen en el bus de entrada y que informen de sus acciones. Una vez realizado todo este proceso, el servidor primario da la confirmación al cliente que inició todo el trabajo.este proceso, el servidor primario da la confirmación al cliente que inició todo el trabajo.  GFS no forma parte del sistema operativo, sino que se accede a través de librerías, por lo que lo convierte enGFS no forma parte del sistema operativo, sino que se accede a través de librerías, por lo que lo convierte en portable.portable.
  • 14. HypertableHypertable  Es un Sistema Gestor de Bases de Datos de tipo “open source”, desarrollado por la compañíaEs un Sistema Gestor de Bases de Datos de tipo “open source”, desarrollado por la compañía Zvents. Es un sistema de almacenamiento de datos distribuido y de alto desempeño,  ideal paraZvents. Es un sistema de almacenamiento de datos distribuido y de alto desempeño,  ideal para aplicaciones que necesitan manejar datos que evolucionan rápidamente y diseñado para soportaraplicaciones que necesitan manejar datos que evolucionan rápidamente y diseñado para soportar una gran demanda de datos en tiempo real, y fue modelado basándose en el diseño de Google’suna gran demanda de datos en tiempo real, y fue modelado basándose en el diseño de Google’s BigTable.BigTable.  Hypertable surgió para facilitar el procesamiento de grandes cantidades de datos, tras la granHypertable surgió para facilitar el procesamiento de grandes cantidades de datos, tras la gran explosión de información que acompañó el inicio de la Web 2.0, y se caracteriza por ser un gestorexplosión de información que acompañó el inicio de la Web 2.0, y se caracteriza por ser un gestor de bases de datos distribuido, escalable, no relacional y que no soporta transacciones.de bases de datos distribuido, escalable, no relacional y que no soporta transacciones.  Este gestor de bases de datos ha sido desarrollado en C++, pero inicialmente se pensó hacerlo enEste gestor de bases de datos ha sido desarrollado en C++, pero inicialmente se pensó hacerlo en Java, idea que fue rechazada debido al gran consumo de memoria de dicho lenguaje deJava, idea que fue rechazada debido al gran consumo de memoria de dicho lenguaje de programación, y a la intensidad del flujo de datos de una aplicación de la naturaleza de Hypertable.programación, y a la intensidad del flujo de datos de una aplicación de la naturaleza de Hypertable.  La principal diferencia entre Hypertabe y los gestores de bases de datos relacionales es que, en losLa principal diferencia entre Hypertabe y los gestores de bases de datos relacionales es que, en los gestores de bases de datos relacionales, se tienen muchas tablas muy pequeñas, y se las une con lagestores de bases de datos relacionales, se tienen muchas tablas muy pequeñas, y se las une con la operación de join, pero ni siquiera todos los join y todas las tablas juntas suelen acercarnos aloperación de join, pero ni siquiera todos los join y todas las tablas juntas suelen acercarnos al verdaderoverdadero volumen de datos generados por aplicaciones web 2.0, además de que el excesivo uso devolumen de datos generados por aplicaciones web 2.0, además de que el excesivo uso de operaciones join vuelve más “lenta” nuestra aplicación web; entonces la idea de Hypertable es queoperaciones join vuelve más “lenta” nuestra aplicación web; entonces la idea de Hypertable es que guardemos toda esta gran cantidad de información en una sola tabla (eliminando la necesidad deguardemos toda esta gran cantidad de información en una sola tabla (eliminando la necesidad de las operaciones join) y colocarla en un Sistema de Archivos Distribuido, para que las operacioneslas operaciones join) y colocarla en un Sistema de Archivos Distribuido, para que las operaciones realizadas sobre la tabla puedan ser procesadas de forma simultánea por todos los sistemasrealizadas sobre la tabla puedan ser procesadas de forma simultánea por todos los sistemas conectados a la red.conectados a la red.