Big table por Matias tesoriero
Upcoming SlideShare
Loading in...5
×
 

Big table por Matias tesoriero

on

  • 525 views

 

Statistics

Views

Total Views
525
Views on SlideShare
525
Embed Views
0

Actions

Likes
0
Downloads
12
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Big table por Matias tesoriero Big table por Matias tesoriero Presentation Transcript

  • BigTableBigTableEntendiendo 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 clasificanmayormente en tres tipos:mayormente en tres tipos:- RelacionalesRelacionales- Orientadas a objetosOrientadas a objetos- Relacionales orientadas a objetosRelacionales orientadas a objetosSin embargo, la mayoría de los motores de bases deSin embargo, la mayoría de los motores de bases dedatos más populares se basan en la arquitecturadatos más populares se basan en la arquitecturarelacional, y todos ellos utilizan el lenguaje de consultasrelacional, y todos ellos utilizan el lenguaje de consultasSQL (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 paranormalizar 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, yutilizarlas como sistema de persistencia para almacenar información desde nuestro lenguajeutilizarlas como sistema de persistencia para almacenar información desde nuestro lenguajeprocedural 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 desarrollosmodernos.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 conmillones 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 losmodelos 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 dealmacenamiento 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 lastransacciones 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 deejecutar 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 recurrira 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 diferencianexactamente?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ánsuficientemente 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 unainformació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 interesenen 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 deinformació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 sistemasimplemente 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 otraoperació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ólovuelcan 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 desoftware lo es. Pero sí es cierto que ensoftware lo es. Pero sí es cierto que endeterminados entornos donde hemos de escalardeterminados entornos donde hemos de escalarrápidamente, es una solución muy buena, enrápidamente, es una solución muy buena, enespecial 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ísimono sólo como almacenamiento primario, sinono sólo como almacenamiento primario, sinotambién como sistema de persistencia paratambién como sistema de persistencia paraguardar cachés, analíticas de uso, y otros datosguardar cachés, analíticas de uso, y otros datospara 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 escasasgarantías de consistencia, tales como consistencia de eventos ogarantías de consistencia, tales como consistencia de eventos otransaccional 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 estaforma, el sistema puede realmente escalar añadiendo másforma, el sistema puede realmente escalar añadiendo másservidores, 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 simplestales como los arrays asociativos o los pares clave-valor. Otrostales como los arrays asociativos o los pares clave-valor. Otrossistemas, 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 masnovedosos tales como CloudTPS también soportan unión denovedosos tales como CloudTPS también soportan unión dequeries.queries.
  • VentajasVentajas Responden a las necesidades de escalabilidadResponden a las necesidades de escalabilidadhorizontal.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 diferentesproyecto.proyecto. Se ejecutan en clusters de máquinas baratas.Se ejecutan en clusters de máquinas baratas.
  • Bases de datosBases de datosdocumentalesdocumentales CouchDB, de ApacheCouchDB, de ApacheApache CouchDBApache CouchDB MongoDB, de 10genMongoDB, de 10gen RavenDz, deRavenDz, deHibernating Rhinos.Hibernating Rhinos. BaseXBaseX eXisteXist SimpleDBSimpleDB IBM Lotus DominoIBM Lotus Domino TerrastoreTerrastoreBases de datosBases de datosclave/valorclave/valor Cassandra, de Apache TheCassandra, de Apache TheApache CassandraApache Cassandra BigTable, de GoogleBigTable, de Google Dynamo, de AmazonDynamo, de Amazon Project Voldemort, deProject Voldemort, deLinkedInLinkedIn RiakRiak RedisRedisBases de datos enBases de datos engrafografo Neo4jNeo4j DEXDEX AllegroGraphAllegroGraph OrientDBOrientDB InfiniteGraphInfiniteGraph Sones GraphDBSones GraphDB InfoGridInfoGrid HyperGraphDBHyperGraphDB
  • Bases de datosBases de datosMultivalorMultivalorBases de datosBases de datosOrientadas a ObjetosOrientadas a ObjetosBases de datosBases de datosTabularTabular OpenQMOpenQM ExtensibleExtensiblestoragestorageengineengine  Zope ObjectZope ObjectDatabaseDatabase db4odb4o GemStone SGemStone S Objectivity/DBObjectivity/DB HBase, deHBase, deApacheApache BigTable, deBigTable, deGoogleGoogle 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 yprogramas de Google, y funciona sobre commodity hardware (sencillos y baratos PCs conprogramas de Google, y funciona sobre commodity hardware (sencillos y baratos PCs conprocesadores 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 sepuede 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 elsistema 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 unatableta 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 lastabletas 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 sistemasi 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 yenergé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íaproporcionada 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 deestos 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 losingenieros 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, estasempresas 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ísonopara 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 talcantidad 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 pormucho 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 ysalida 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 deordenadores 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 susDataCenters 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 cuentacon, 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 algigante 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 delpropio 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 dedatos 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 crearsistemas 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 oMySQL 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 losproductos 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 dePetabytes.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 estetamañ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 paraluego 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 susprincipales 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. Parareemplazar 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íneatemporal. 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 unidentificador 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 historialcompleto 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 podemosemplearlo 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 ytecnoló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 crecientedemanda 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, laescalabilidad 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 soportaseuna 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ánguardados 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 ordenadoresnecesaria 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 trozode 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 quecomponen 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. Estared 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 unamarca 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 seencuentran 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 dosservidores 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 clienteinicia 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 datossolicitados. 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 alservidor 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 quealmacenen 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 todoeste 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 enportable.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ñíaZvents. 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 paraaplicaciones 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 soportaruna 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’sBigTable.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 granexplosió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 gestorde 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 enJava, 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 deprogramació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 losgestores 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 laoperació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 alverdaderoverdadero 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 deoperaciones 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 queguardemos 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 delas 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 operacionesrealizadas 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 sistemasconectados a la red.conectados a la red.
  • HyPerTableHyPerTableFuncionandoFuncionando