Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Data Science

Ciencia de Datos y Análisis de Negocio: Retos y Soluciones

by
Length:LongLanguages:

Spanish (Español) translation by Alfonso Mora (you can also view the original English article)

Como otras empresas descubren la importancia de la ciencia de datos y análisis avanzados para su línea de fondo, ha comenzado un choque de culturas. ¿Cómo pueden estos rápidamente crecientes campos se convierten en parte del ecosistema de la empresa, especialmente para las empresas establecidas que han estado presentes durante una década o más?

Datos científicos y profesionales de TI tienen necesidades muy diferentes cuando se trata de infraestructura. Aquí, lo pongo hacia fuera algunos de esos requisitos y discutir cómo avanzar más allá de ellas — y evolucionar juntos.

Perspectivas del Departamento

Al poner en marcha programas de ciencia de datos dentro de las empresas, los mayores problemas a menudo surgen no de la tecnología en sí, sino de simple falta de comunicación. Conceptos erróneos interdepartamentales pueden resultar en mucha retención de rencor entre equipos de ciencia incipiente datos y departamentos.

Para combatir esto, lo examinamos ambas perspectivas y tomar cada una de sus necesidades en cuenta. Empezaremos por definir lo que un profesional de IT requiere para mantener un flujo de trabajo exitoso, y luego veremos lo que un científico de datos necesita para la eficacia máxima. Por último, encontramos la tierra común: cómo utilizarlo para implementar una infraestructura saludable para ambos que florezca.

Necesidades IT

Comencemos por echar un vistazo a una infraestructura de datos típicos para él y desarrollo de Software.

En cuanto a datos, hay tres requisitos esenciales que cualquier departamento se centrará en:

  • datos segura
  • datos que es eficientes
  • datos que es consistentes

Debido a esto, muchos de ellos utiliza esquemas basados en tablas y a menudo utiliza SQL (lenguaje de consulta estructurado) o una de sus variantes.

Esta configuración significa que hay un gran número de tablas para cada propósito. Cada una de estas tablas es independiente uno del otro, con claves externas que se conectan. Debido a esta configuración, las consultas se pueden ejecutar rápidamente, eficientemente y con seguridad en mente. Esto es importante para el desarrollo de software, donde datos deben permanecer intacto y confiable.

Con esta estructura, el hardware necesario es a menudo mínimo en comparación con las necesidades de la ciencia de los datos. Los datos almacenados están bien definidos, y evoluciona a un ritmo predecible. Poco de los datos se repite, y el proceso de consulta reduce la cantidad de recursos de procesamiento requerido.

Vamos a ver cómo difiere la ciencia de los datos.

Necesidades de la Ciencia de Datos

En el otro extremo, la ciencia de datos tiene un conjunto diferente de necesidades. Los datos los científicos necesitan libertad de movimiento con sus datos y flexibilidad para modificar sus datos rápidamente. Necesitan ser capaces de mover datos en formas no estándar y proceso grandes cantidades a la vez.

Estas necesidades son difíciles de implementar bases de datos altamente estructurados. Ciencia de datos requiere de una infraestructura diferente, confiando en cambio en esquemas de tablas y datos no estructurados.

Cuando se refiere a datos no estructurados, estamos hablando de datos con ninguna definición intrínseca. Es nebuloso hasta dada forma por un científico de datos. Para el desarrollo de la mayoría, cada campo debe ser de un tipo definido, como un número entero o una cadena. Para la ciencia de los datos, sin embargo, es sobre datos puntos de apoyo que son malos definición.

Esquemas de tablas agregan mayor versatilidad a esta configuración cuasi caótica, permitiendo que toda la información vivir en un solo lugar. Es especialmente útil para los científicos los datos que regularmente necesitan combinar datos en formas creativas y no estructurados. Opciones populares incluyen variantes de NoSQL o estructuras que permiten varias dimensiones, tales como cubos OLAP.

Como resultado, el hardware necesario para la ciencia de los datos es a menudo más substancial. Será necesario mantener la totalidad de los datos utilizados, así como subconjuntos de esos datos (aunque esto a menudo se extiende entre múltiples estructuras o servicios). El hardware también puede requerir recursos de procesamiento considerable ya que grandes cantidades de datos movidos agregados.

Destilación en Acción las Necesidades

Con estos dos conjuntos de necesidades en mente, ahora podemos ver cómo puede ocurrir la falta de comunicación. Tomemos estas perspectivas y usarlos para definir qué cambios estamos buscando y cómo. ¿Qué problemas deben resolverse al traer ciencia de datos en un tradicional se ajuste?

Facilidad de Manipulación de Datos

En un tradicional se ajuste, bases de datos de cualquier empresa dada probablemente siga una estructura rígida, con mesas divididas para adaptarse a necesidades específicas, un esquema apropiado para definir cada pedazo de datos y las claves externas para atar todo junto. Esto hace que para un eficiente sistema de consulta de datos. La naturaleza exploratoria de algunos métodos de la ciencia de datos esto puede empujar a sus límites.

Cuando una tarea común puede requerir ensamblar tablas una docena o más, los beneficios de estructuras basados en tablas hecho menos evidentes. Un método popular para manejar esto es implementar un NoSQL secundario o base de datos multidimensional. Esta base de datos secundaria utiliza regulares ETLs (extracto, transforma, carga) para mantener la información fresca. Esto agrega el costo de hardware adicional o utilización de los servicios cloud, pero minimiza otros inconvenientes.

Tenga en cuenta que en algunos casos, agregar una base de datos separada para la ciencia de datos puede ser más económico que usando la misma base de datos (especialmente cuando son cuestiones complicadas licencias entran en juego).

Facilidad de Ampliación de Datos

Este problema específico abarca dos desajustes mencionados:

  1. aumento regular en los datos de los procedimientos
  2. la necesidad de tipos de datos no estructurados

Tradicionales, el tamaño de su base de datos es bien definido, ya sea permanecer del mismo tamaño o crece a un ritmo modesto. Cuando se utiliza una base de datos para la ciencia de los datos, que el crecimiento puede ser exponencial. Es común agregar gigabytes de datos cada día (o más). Con la magnitud de este tipo de datos, una empresa necesitará incorporar un plan para escalar la arquitectura interna o utilizar una solución en la nube correspondiente.

En cuanto a datos no estructurados, puede tomar una gran cantidad de recursos en términos de almacenamiento y potencia de procesamiento, dependiendo de sus aplicaciones. Debido a esto, a menudo es ineficaz para mantenerlo todo en una base de datos que podría utilizarse para otros fines. La solución es similar a escala en general. Tampoco necesitaremos un plan para escalar nuestra arquitectura interna para satisfacer estas necesidades o vamos a tener que encontrar una solución en la nube correspondiente.

Uso de Recursos

La última gran diferencia que vamos a hablar es el uso de los recursos. Para él, el uso de recursos es coherente, bien definidas y normalmente eficaz. Si una base de datos alimenta un sitio de comercio electrónico, se conocen las limitaciones. Un profesional sabrá aproximadamente cuántos usuarios habrá durante un período determinado de tiempo, por lo que puede planear su aprovisionamiento de hardware basado en la cantidad de información es necesaria para cada usuario.

Infraestructura de ti tradicionales, no habrá ningún problemas si un proyecto utiliza unas pocas cientos de líneas de un puñado de mesas. Pero un proyecto que requiere cada fila de una docena de tablas puede convertirse rápidamente en un problema. En Ciencias de la información, las necesidades en términos de procesamiento y almacenamiento de cambian de proyecto a proyecto, y que tipo de la imprevisibilidad puede ser difícil de soportar.

En tradicional, recursos pueden ser compartida con otros partidos, que podrían ser un sitio de producción en vivo o un equipo de desarrollo interno. El riesgo aquí es que un proyecto de ciencia de datos a gran escala podría potencialmente bloquear aquellos otros usuarios durante un periodo de tiempo. Otro riesgo es que los servidores con una base de datos pueden no ser capaces de manejar la cantidad de procesamiento necesario. Llamar a 200.000 filas de 15 tablas y pidiendo para la agregación de datos en la parte superior, se convierte en un problema. Esta magnitud de consultas puede ser extremadamente gravar en un servidor que normalmente podría manejar usuarios simultáneos 1 mil o algo así.

La solución ideal trata de procesamiento en la nube. Se ocupa de dos factores clave. La primera es que permite el rendimiento de las consultas de las bases de datos importantes. La segunda es que proporciona una escalas recursos que caben a cada proyecto.

¿Qué es la Lista Final de Requerimientos para Ambos?

Ahora que ya hemos hablado sobre las necesidades en profundidad, vamos a resumirlos. Un departamento de ciencia y los datos necesita lo siguiente para el éxito a largo plazo:

  • una base de datos independiente para reducir el impacto en otras partes interesadas
  • una solución de almacenamiento escalado para acomodar cambios en los datos
  • una solución de procesamiento de escala para dar cabida a diferentes tipos de proyectos
  • una base de datos no estructurado para proporcionar eficiente recuperación y almacenamiento de datos muy diferentes

Construir un Caso para la Ciencia de Datos

Vamos a romper todo en especificaciones por lo que podemos armar una solución mutuamente beneficiosa. Ahora a echar un vistazo a cómo definir los recursos específicos necesarios para una organización:

Investigar Especificaciones

Desde el lado de ti, hay tres definiciones principales necesitadas para crear la infraestructura necesaria. Estos son:

  1. la cantidad de datos
  2. en qué medida necesita tratamiento
  3. Cómo los datos se llega a la solución de almacenamiento

Aquí es cómo usted puede determinar cada uno.

Necesidades de Almacenamiento de Datos

Todo comienza con el tamaño de los datos iniciales necesitada y las adiciones de datos actuales estimados.

Para sus necesidades de datos iniciales, tome el tamaño definido de su base de datos actual. Ahora restamos los columnas o tablas que no necesita en sus proyectos de ciencia de los datos. Este número y añadir en el tamaño de los datos de fuentes nuevas que va presentando. Podrían incluir nuevas fuentes de datos de Google Analytics o información de su sistema de punto de venta. Este total será el almacenamiento de datos que voy buscando para lograr por adelantado.

Mientras que las necesidades de almacenamiento inicial son útiles por adelantado, aún tendrás que considerar las necesidades de datos permanente, como usted va probablemente añadiendo más información a la base de datos con el tiempo. Para encontrar esta información, puede calcular sus diario datos agregados de los datos actualmente disponibles. Echa un vistazo a la cantidad de información que se ha agregado a su base de datos en los últimos 30 días y entonces dividir por 30. Repetir entonces que para cada información de la fuente que será utilizando y agregarlos juntos.

Mientras que esto no es exacto, es un antiguo mantra de desarrollo que debe el doble de su estimación, y que vamos a hacer. ¿Por qué? Queremos dar cuenta de cambios impredecibles que pueden afectar sus necesidades de almacenamiento de datos, como el crecimiento de la empresa, las necesidades de cada proyecto o áreas a general.

Con ese número ahora definido, multiplique por 365. Ahora se trata de su crecimiento de los datos proyectados por un año, que, cuando se añade a su monto inicial, va a determinar cuánto almacenamiento de información debe buscar obtener.

Necesidades de recursos de procesamiento

A diferencia de las necesidades de almacenamiento de datos, necesidades de procesamiento son mucho más difíciles de calcular exactamente. El objetivo principal aquí es decidir si desea hacer el trabajo pesado en consultas o en un equipo local (o instancia de cloud). Mantenga mente aquí que cuando hablo de un equipo local, no me refiero a la computadora que usa normalmente, probablemente necesitarás algún tipo de estaciones de trabajo optimizadas para los cálculos más intensivos.

Para hacer esta elección, ayuda a pensar en el proyecto de ciencia más grande de datos que se puede ejecutar dentro del año siguiente. ¿Puede manejar su solución de datos una consulta de ese tamaño sin llegar a ser inaccesibles a todos los otros actores? Si puede, eres bueno para ir con ningún recursos adicionales necesarios. Si no es así, entonces usted necesitará planear en tener una estación de trabajo de tamaño adecuado o ampliar instancias de nube.

Procesos ETL (Extracto, Transforma, Carga)

Después de decidir donde guardar y procesar sus datos, la siguiente decisión es cómo. Creación de un proceso ETL mantener su base de datos de ciencia de datos ordenada y actualizada y evitar uso de recursos innecesarios de otros lugares.

Aquí está lo que usted debe tener en su documentación de ETL:

  • cualquier procedimiento de copia de seguridad que debe tener lugar
  • donde los datos serán desde y donde se va
  • las dimensiones exactas que se deben mover
  • con qué frecuencia debe ocurrir la transferencia
  • Si la transferencia tiene que ser (reescritura completa la base de datos entera) o puede ser añadido (sólo movimiento sobre cosas nuevas)

Preparar una Solución

Con todos los puntos de datos disponibles, es hora de elegir una solución. Esta parte requerirá un poco de investigación y dependerá en gran medida de sus necesidades específicas, ya que en la superficie tienden a tener muchas similitudes.

Tres de las mayores soluciones en la nube: Amazon Web Services (AWS), Google Cloud Platform (GCP) y Microsoft Azure, ofrecen algunos de los mejores precios y funciones. Los únicos son difíciles de calcular, aunque AWS es notablemente más difícil de calcular los costos para (debido a su estructura de precios a la carta).

Más allá del precio, cada uno ofrece almacenamiento de datos escalable y la capacidad de agregar instancias de procesamiento, aunque cada uno llama a sus 'instancias' con un nombre diferente. Cuando investigue qué utilizar para su propia infraestructura, tenga en cuenta qué tipos de proyectos utilizará más, ya que eso puede cambiar el valor del conjunto de características y precios de cada uno.

Sin embargo, muchas empresas simplemente seleccionan lo que se alinee con su pila de tecnología existente.

También es posible que desee configurar su propia infraestructura en la empresa, aunque esto es mucho más complejo y no para los débiles.

Consejos Adicionales para una Implementación Fluida

Con todos tus patos en una fila, ¡puedes comenzar la implementación! Para ayudar, aquí hay algunos consejos que tanto le costó ganar para facilitar su proyecto, desde el lanzamiento hasta la ejecución.

Pruebe Su Proceso de ETL

Cuando prepare por primera vez su proceso de ETL, ¡no pruebe todo de una vez! Esto puede poner una seria presión sobre sus recursos e incrementar drásticamente sus costos de nube si hay un error, o si tiene que intentar el proceso varias veces.

En cambio, es una buena idea ejecutar su proceso usando solo las primeras 100 filas más o menos de sus tablas de origen al principio. Luego ejecute la transferencia completa una vez que sepa que funcionará.

Pruebe Sus Consultas También

Lo mismo ocurre con cualquier gran consulta que se ejecuta en una instancia de cloud. Cometiendo un error que tira en millones de pedazos de datos es mucho más difícil en un sistema que uno que sólo en unos pocos, especialmente cuando usted está pagando por GB.

Crear una Estrategia de Copia de Seguridad de Almacenamiento

Mayoría de los operadores de la nube ofrece esto como una característica, por lo que no tenga que preocuparse. Su equipo debe todavía discutir si les gustaría crear sus propias copias de seguridad de los datos, sin embargo, se presenta o si sería más eficaz para reconstruir los datos si fuera necesario.

Seguridad y Privacidad

Al mover datos a la nube, asegúrese de que todos los participantes están consciente de las políticas de control de datos de su empresa con el fin de evitar problemas por el camino. Esto puede también ayudarle a ahorrar dinero en la cantidad de datos que se almacenan en la nube.

Dimensión de Nombres Durante ETL

Al realizar tu ETL de una base de datos basados en tablas a una no estructurada, tenga cuidado con nombres de procedimientos. Si los nombres son solo por mayor transferido sobre, probablemente tendrás muchos campos de diferentes tablas comparten el mismo nombre. Una manera fácil de superarlo al principio es a nombre de sus nuevas dimensiones en la base de datos no estructurado como {oldtablename} _ {columnname} y luego cambiar el nombre a partir de ahí.

¡Obtén Tu Motor en Marcha!

Ahora puede planificar los aspectos básicos de la infraestructura de ciencia analítica y datos. Muchas de las preguntas claves y respuestas definidas, el proceso de implementación y Compro en gestión debe ir mucho más suavemente.

¿Tiene dificultades para dar con respuestas para tu empresa? ¿Lustre sobre algo importante? ¡Me avisan en los comentarios!

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.