jueves, 28 de junio de 2012

La partición de tablas un método para mejorar la “inmediatez” de la información


La velocidad en tiempos de respuesta en las aplicaciones es un factor  determinante  en cualquier desarrollo de software. Es por esto que cuando las aplicaciones realizan una transacción como buscar, actualizar e insertar información se busca que sea de forma inmediata.

La  inmediatez en los desarrollos de software depende tanto del hardware como del software y sus respectivas configuraciones. Por consiguiente existen muchas soluciones para obtener la inmediatez y en muchos casos se complementa entre ellas mismas, pero  en este caso  en particular me enfocare en explicar una que  esta relacionada generalmente con las bases de datos relacionales, y es la partición de tablas, la cual es muy utilizda cuando se tienen grandes volumnes de información.

La partición de tablas es una solución que combina en muchos casos el hardware de la máquina con la solución lógica  para el motor de base de datos  relacional, en su definición lógica  es una forma de organizar los datos clasificándolas según criterios de agrupación, de manera que cada transacción  realizada en una tabla padre se redirija automáticamente a un menor grupo de datos que están agrupados en las tablas hijas.

Hay dos  formas de realizar la partición de tablas de una manera lógica, una es la segmentación de datos por fila la cual se llama partición de tablas de manera horizontal y la otra es la segmentación de datos por columnas la cual se llama partición de tablas de manera vertical, cada una de estas formas aplica ciertos criterios de agrupación como se nombran a continuación:

Partición de tablas de manera horizontal
  • Definiciones exactas de un valor de un tipo de dato en una o varias columnas como segmentación por ciudades por tipo de sexo o un valor numérico, entre otras.
  • Entre rangos, en este caso se tiene un valor o tipo de datos en una columna  como fechas o valores numéricos que nos permiten definir un criterio basado en intervalos o porciones.
Partición de tablas de manera vertical
  • En este caso se definen tablas con pocas columnas donde una de las columna esta enlazada con una  columna de la tabla padre, esta forma es muy utilizado para dividir columnas de grandes objetos como fotos y videos, o columnas que contiene información estática que se utiliza en forma agrupada para realizar análisis estadísticos, es decir este método trata de simular las bases de datos orientadas a columnas.
Pero como se diseña este tipo de solución, generalmente es un procedimiento  que se realiza de la siguiente manera, primero se debe definir los criterios de agrupación y formas de realizar la partición de tablas, luego indicar cual es el archivo donde se ubicara cada una de las tablas particionadas, y si es posible cada  archivos se debe ubicar en  un disco duro diferente.

En que ayuda la partición de tablas, es una solución que aumenta el  rendimiento cuando la velocidad del disco duro es el cuello de botella en las aplicaciones, ya que permite reducir la cantidad de datos a recorrer en cada consulta, además de  generar  índices mas pequeños para las búsquedas, por consiguiente  aumenta el rendimiento en la ejecución ya que las tablas por ser de menor tamaño  se ubican en la RAM y por lo tanto se evita ir al disco duro, además en algunos casos permite realizar respaldos o backups mas rápidos cuando se tiene segmentos de datos no actualizables.

Enlaces sugeridos wikipedia
Shard

Particionamiento

Continuará…………..

Por José A Cuartas M con No comentarios

martes, 19 de junio de 2012

Facebook un representante del Big data, un mes depués

Después de un mes de la salida a la bolsa de Facebook a través de Nasdaq el referente tecnológico del mundo bursátil  y al que pertenecen las empresas más representativas del sector: Apple, Google, Microsoft y Oracle, Las acciones de Facebook siguen sin levantar cabeza, hasta este momento  las acciones de la compañía acumulan una caída de un 22% desde su debut.


Pueden ser muchas las causas para justificar la caída  de la acción pero en mi opinión hay dos que son las más relevantes:
  • El consenso de analistas el cual considera que aún continúa estando sobrevalorado el precio de la acción.
  • Facebook  es tomada como una aplicación de software y no como  una plataforma o infraestructura tecnológica como el sistema operativo Windows, las maquinas de Apple, el sistema de búsqueda de Google o el sistema de almacenamiento de Oracle.
Siendo Facebook uno de los principales referentes empresariales del BigData, Facebook al aparecer no tiene un modelo de negocio y un producto  que  genera la suficiente confianza para tener el valor que tienes la acción, pero si tiene la información(BigData) para generarlo.

Es posible que se revierta este pensamiento? no lo se, pero espero que no sea el inicio del colapso como el de las puntocom.

Por José A Cuartas M con No comentarios

miércoles, 6 de junio de 2012

Feliz día IPv6, esperamos que te sigan adoptando

Hoy 6 de junio se celebra el World IPv6 Launch, una iniciativa promovida por el organismo Internet Society (ISOC), que  pretende promover la adopción del “nuevo” protocolo de Internet (IPV6), el cual nos permitirá  identificar instantáneamente todos los objetos, algo imposible con el protocolo anterior IPv4 .

Pero que tiene que ver esto con la información y el  Big Data? La conectividad par transportar información. Que tal si imaginamos miles de millones de sensores desplegados por todo el mundo, interconectados y generando datos a cada instante de tiempo, esto generara una explosión de datos a los cuales se les debe realizar los procedimientos de extracción, tratamiento, almacenamiento, procesamiento y modelación de información, para luego generar el tan apreciado conocimiento.
Es por esto que se ha creado una  ciencia de los datos enfocada en la administración del Big Data, pero en estos momentos estamos en los primeros instantes  del BIN BANG de los datos, sin embargo, en pocos años cuando este tipo de tecnología como el IPv6 , e ideas como el Internet de las cosas se masifiquen y se logre  la interoperabilidad entre los componentes, la energía y la conectividad veremos la gran expansión de BIN BANG de los datos.

Al parecer este simple y transcendental  cambio a IPv6 es el verdadero inicio del Internet de las cosas. Que piensas?

Por José A Cuartas M con No comentarios

martes, 5 de junio de 2012

Herramientas Open Source para BIG DATA

El BIG DATA es una de las grandes tendencias de este año, es de resaltar que los datos son el "oro digital" de la era de la información, pero el termino  Big Data  no se debe a los datos en si, sino al crecimiento exponencial que estos están teniendo, es por esto que  se han desarrollado sistema o herramientas que permitan obtener el mejor conocimiento de esta gran cantidad de información.

Estas son algunas de las herramientas mas utilizadas en el mundo Open Source para el manejo de BIG DATA:

Plataformas y herramientas para el analisis: 
  • MapReduce: Un modelo de programación que hace honor a la frase célebre de Julio César  "divide y vencerás", y que permite utilizar el procesamiento paralelo de datos en computadoras distribuidas.
  • Hadoop: Simplemente no se habla de Big Data sin mencionar a Hadoop.
  • Storm: Conocido como el Hadoop en tiempo real.
Bases de datos y Datawarehouse:
  • HBASE: es el sistema de almacenamiento no relacional para Hadoop.
  • CASSANDRA : Otro sistema de almacenamiento NoSQL desarrollado originalmente por Facebook.
  • MongoDB: Una base de datos documental NoSQL, y tiene más cosas.
  • Neo4j: El sistema líder de bases de datos de grafos.
  • Riak: Declara ser el mejor sistema en producción de bases de datos distribuida Open Source.
  • HyPertable: Otro sistema de almacenamiento NoSQL, será que se deriva del sistema  BigTable de Google Inc.
  • Hive: es el Datawarehouse de Hadoop.
  • Redis: Sistema clave valor  in-memoria patrocinado por VMware.
Business Intelligence:
  • Pentaho: Una de las herramientas mas utilizadas para la comunidad Open Source.
  • Palo BI Suite/Jedox: Una suite completa para la administración de un datawarehouse.
  • Jaspersoft: Es una de las herramientas mas completas que tiene el Open Source, la cual aloja sus proyectos de la comunidad en jasperforge.org
  • Talend: Tiene una suite de herramientas Talend Open Studio for Big Data la cual se integra con el ecosistema Hadoop.
Minería de datos
  • Mahout: Un proyecto de la fundación apache  que hace parte del econistema hadoop y que pretende ser un sistema escalable de maquinas de parendizaje.
  • RapidMiner/RapidAnalytics: Claman de ser los lideres open source en la minería de datas y textos.
Sistemas de archivos:
  • Hadoop Distributed File System: El primer sistema de almacenamiento para Hadoop.
  • Gluster: Un sistema de archivo que permite ir mas allá de las limitaciones del sistema de archivos de hadoop, tiene la capacidad de manejar hasta 72 Brontobytes.
Búsquedas en BIGDATA
  • Lucene: El estándar de facto de las librerías de búsqueda.
  • Solr: Es la plataforma empresarial basada en las herramientas de Lucene.
Leguajes de programación.
  • Pig/Pig Latin: Un proyecto del ecosistema de big data de la fundación apache que utiliza un lenguaje textual el Pig Latin con la plataforma de análisis Pig.
Varios:
















Esta lista cambia con el paso del tiempo, ya que algunos proyectos desaparecerán y otros generan un dinamismo en la comunidad que les dará el reconocimiento merecido.

Si tienes algún proyecto que deba ser mencionado escríbelo.


Otros Posts:




Por José A Cuartas M con No comentarios
  • Popular
  • Categorias
  • Archivo