lunes, 2 de mayo de 2011

La tarea a menudo olvidada de integración de datos

Al desarrollar aplicaciones, muchos equipos se centran en las características que debe tener la aplicación. Esto es bastante normal, dado que muchas aplicaciones sólo administración datos creados por la propia aplicación. Sin embargo, más aplicaciones de web o más similares a mashups que las aplicaciones de cliente y el servidor de la década de 1990. Esto significa que pueden que aparezcan más datos de fuentes externas que desde la propia aplicación. Me recuerda de este diario, pero decidí reflexionar más sobre esto cuando vi un interesante post sobre vocabularios controlados:

Recientemente un estudio sobre "Vocabularios controladas" y su importancia para la administración de información de la empresa tiene started… ¿Cuáles son las áreas de la aplicación principal de vocabularios controlados desde su perspectiva? Un poco sorprendente es el resultado intermedio, que no es "Búsqueda semántica" o "Compatibilidad de aplicaciones multilingües", que fue considerado como el más importante de la aplicación. En lugar de ello resultó que la "Integración de datos" es rey

Puede que se pregunte por qué esto es importante para usted, y esperemos que puedo responder para usted. En particular, si una aplicación web social, es probable que la integración de datos debe ser realmente una tarea fundamental que está realizando. Por ejemplo, mirar las plataformas de comentario de blog como Disqus y IntenseDebate o los medios de comunicación social, supervisión de aplicaciones como Radian6, ScoutLabs, Trackur y YackTrack. Todas estas aplicaciones requieren datos de otras aplicaciones sociales como Facebook, Twitter y Digg. Obviamente, estas aplicaciones necesitan combinar datos de otros sistemas en su plataforma de almacenamiento de datos de la elección y hacer algo con todo.

Sé sharding y partición están de moda, pero a veces los datos pretende combinar en un formato común. Pensar en la información de actualización de estado básico de Twitter, Facebook y LinkedIn. ¿Siempre tiene sentido para almacenar cada uno de ellos en su propia tabla/fragmento/partición? ¿Qué beneficios obtiene de tener almacenamiento separado para cada una de estas actualizaciones de Estado cuando tienden a converger en la misma funcionalidad con el tiempo? Esto no suena como un gran problema, pero tiene el potencial para convertirse en uno, especialmente si no se controla bien. Si todas las actualizaciones sociales almacenado en su propia Mesa, tienes el código de acceso de datos para todos 3 de las aplicaciones. Esto también significa que, si decide apoyar cualquier aplicación de actualización social, como Identi.ca, tienes que escribir otro conjunto de datos de código de acceso para las nuevas tablas.

Como con su código de acceso de datos, el código completo podría ser hinchado con extraño código tratan por separado de cada servicio. Además de las diferencias obvias en la recopilación de datos, probablemente tendría código para un usuario dentro de cada servicio, una actualización de Estado para cada servicio así como otras funciones o datos como geolocalización. Si replicar este código básico de una vez, es molesto, duplicación 4 veces es simplemente muy mala práctica. Es de esperar que sus prácticas de sólido desarrollo orientado a objetos han evitado este tipo de escenario.

¿Es la otra cara de la cuestión de integración de datos, cuando saben que han ido demasiado lejos? Veamos esto con un ejemplo. Si ya dispone de las actualizaciones de estado básico integradas en una tabla, suena como una buena idea para agregar otros conceptos similares a la misma tabla. Digg tiene comentarios y diggs (upvotes). Un comentario parece mucho una actualización de Estado sobre la superficie, de manera que usted empujar en el mismo modelo. Entonces decide que diggs son esencialmente lo mismo que retweets o le gusta. Una vez que continua por este camino, puede tener un código base más pequeño, pero está cargada con manejo de casos especial de los distintos servicios. Sí, guardó el código en la capa de acceso a datos para más complejidad en otras áreas. Obviamente, no funciona bien.

Concedido, he pintado un panorama bastante sombrío de integración de datos, pero no fue completamente el punto. El punto es que la integración de datos podría ser una parte fundamental de la aplicación y no están dándole el mismo peso que la funcionalidad de la aplicación. Si nos fijamos en el análisis de datos y la integración como un elemento central de su aplicación, puede ver otras cosas que puede hacer con los datos. Dado que estamos recogiendo datos más que nunca antes, saber más acerca de cómo sus datos deben trabajar para es cada vez más importante.

Recuerde, este es el año de datos grandes. Si no diseña su almacenamiento de datos como se diseñe la aplicación, no será capaz de usar sus datos de manera eficaz. Si no puede utilizar eficazmente sus datos, puede perder una gran oportunidad.

Enhanced by ZemantaSeguir la conversación en YackTrack!

No hay comentarios:

Publicar un comentario