Acabo de regresar de Strata 2017 y todas las demás botas mostraban una plataforma de ciencia de datos (es decir, Domino). ¿Cuál es tu plataforma favorita y por qué?

Divulgación completa: soy el científico jefe de datos en Domino Data Lab. Sin embargo, fui usuario de su plataforma de ciencia de datos y asesor durante años antes de comenzar a trabajar allí.

Cuando encontré Domino por primera vez, como usuario, me cautivó.

Finalmente, alguien construyó una plataforma para enfrentar los desafíos de escalar muchos de los cuellos de botella poco atractivos, a menudo ignorados, para la investigación cuantitativa.

Quería una herramienta que me permitiera:

  • Acceda a mis datos donde se encuentran, sin tener que lidiar con tediosas entradas y bloqueos extraños
  • Use el lenguaje de programación estadístico y numérico que quisiera, sin tener que aprender algunos proveedores 4GL extraños.
  • Comparto mis análisis, resultados, informes y visualizaciones sin esfuerzo dentro de mi equipo y con partes interesadas externas.
  • Administre recursos de hardware y software de manera simple y reproducible, porque estaba cansado de tener que administrar mi tostadora.

Domino maneja estos cuatro casos de uso de una manera de primera clase y se ha implementado en producción en las empresas Fortune 100 durante años, proporcionando una infraestructura confiable de modelado y puntuación.

Domino es completamente independiente de la base de datos y no interfiere con sus patrones y enfoques actuales de acceso a datos. Puede ejecutar el código de la misma manera que se ejecuta hoy, mientras obtiene muchas características que lo hacen más productivo.

Si sus datos están actualmente en Redshift o en algún otro MPP, aún puede acceder a ellos desde Domino. No está obligado a utilizar ninguna tecnología de base de datos o capa de acceso a datos en particular. Los usuarios de hoy acceden a MPP como Redshift y Greenplum, bases de datos tradicionales como MySQL y Postgres e incluso bases de datos gráficas especializadas.

Domino proporciona un marco variable de entorno seguro que le permite almacenar cadenas de conexión de bases de datos, nombres de usuario y contraseñas de forma segura, lo que facilita la configuración de proyectos con credenciales mínimas de solo lectura y solo superpone el estado privilegiado en un experimento por base de usuario.

Aquí hay un comentario que dice que “cada una de estas plataformas requiere algún tipo de ingreso de los datos para hacer el trabajo de ciencia de datos”.

Si bien no puedo hablar con las otras plataformas que enumeras, puedo decir con certeza que este no es el caso en Domino. Si bien su tecnología de reproducibilidad proporciona una gran funcionalidad para conjuntos de datos totalmente reproducibles, su uso no es un requisito. En cambio, la mayoría de los usuarios aprovechan el acceso directo a los datos.

Domino no aplica qué idiomas usa para su flujo de trabajo de ciencia de datos. Aunque tenemos una mejor integración con los lenguajes de programación numéricos y estadísticos dominantes (particularmente R y Python), algunos usuarios también usan Domino para C, Java, Scala, JavaScript, Julia e incluso Fortran.

Domino proporciona una tecnología llamada “entornos” basada en Docker. En estos entornos, los científicos de datos pueden definir cualquier pila de procesamiento que necesiten, aprovechando las herramientas y paquetes de terceros que sean más productivos para su problema particular.

Esto le permite ejecutar un script en un entorno con Python 2.7 y, con un solo clic, reconfigurar el proyecto para aprovechar un entorno Python 3.5. Domino va más allá de ser independiente de la base de datos o del lenguaje, proporcionamos una infraestructura analítica basada en construcciones de nivel superior, como experimentos y revisión por pares.

Al construir alrededor de los experimentos como nuestra metáfora central, nuestros usuarios pueden aprovechar los lenguajes de programación que desean, las interfaces que desean (enviamos con RStudio, Jupyter, Zeppelin y otros), y los algoritmos / paquetes que desean sin estar limitados a un pila particular

Además de nuestros marcos de experimentación y reproducibilidad, Domino superpone la funcionalidad de discusión y colaboración. La colaboración en ciencia de datos no es solo comentar sobre solicitudes de extracción o completar tickets de Jira. Para ayudar al trabajo de los científicos de datos a impactar a sus colaboradores y partes interesadas de la empresa, la naturaleza de la colaboración debe entrelazarse con experimentos, análisis y los artefactos del ciclo de vida de la ciencia de datos.

Para los colaboradores, Domino proporciona herramientas de discusión que permiten anotaciones enriquecedoras de todo esto, a la vez que recopila toda la discusión sobre un proyecto en un único feed centralizado. Sin embargo, la discusión es solo una pequeña parte de la colaboración, y nuestro enfoque refleja eso.

Domino proporciona un rico marco de trabajo y revisión de pares, lo que permite a los científicos de datos tomar proyectos existentes y crear copias ricas con sus propios resultados experimentales. Estas ramas experimentales pueden fusionarse de nuevo en sentido ascendente, pueden extraer cambios en sentido descendente y contener con ellos el historial completo de control de versiones y la infraestructura del entorno.

Sin embargo, no todos los científicos de datos con los que colaboran son técnicos. La colaboración de Domino también se extiende a los interesados ​​comerciales menos técnicos. En Domino, los científicos de datos tienen la capacidad de exponer su trabajo a través de programadores, lanzadores (una tecnología para crear interfaces web simples), alojamiento completo de aplicaciones (como heroku para aplicaciones Shiny o frasco), o incluso API REST a escala web. Esto facilita el trabajo con otros científicos de datos en su equipo, en todos los equipos o incluso en todas las funciones.

Finalmente, Domino proporciona una infraestructura poderosa para administrar recursos de hardware, sistema y software. Cualquier proyecto de Domino puede importar un repositorio git, lo que facilita el aprovechamiento de recursos como paquetes organizativos y bibliotecas.

Esto está estrechamente integrado en nuestro motor de reproducibilidad para que pueda rastrear el resultado de un experimento hasta el hash de confirmación exacto de un repositorio importado.

La plataforma incluye Domino Analytics Distribution, que es nuestro conjunto de paquetes y bibliotecas analíticas. También proporcionamos a nuestros usuarios entornos para paquetes populares como PyMC3, Anaconda, H2O, Keras, Tensorflow y muchos otros. La infraestructura de gestión de hardware de Domino impulsa el núcleo de esta ejecución.

Ya sea que se instale localmente o en la nube, Domino maneja el aprovisionamiento, la configuración y el eventual desmantelamiento de los recursos de computación elásticos. Domino aprovecha Docker y Kubernetes, así como nuestros propios algoritmos de administración de costos, para proporcionar recursos informáticos elásticos ajustados para las cargas de trabajo de ciencia de datos, al costo total más bajo posible. Esta fue la funcionalidad que inicialmente me llevó a Domino. Quería poder aprovechar hardware muy grande de una manera rentable, y lo hizo perfectamente.

Mi consejo final es simplemente probar las plataformas de datos y ver si mejoran su flujo de trabajo. Puede obtener una cuenta de prueba gratuita de Domino. Otras plataformas que ofrecen pruebas gratuitas son Dataiku, Databricks e IBM.

El cínico en mí respondería a tu respuesta diciendo que ninguno de ellos. Uno de los mayores desafíos que tendrá cualquier plataforma de ciencia de datos, desde un punto de vista tecnológico, es su ubicación relativa al lugar donde viven los datos. Cada una de estas plataformas requiere algún tipo de ingreso de datos para hacer el trabajo de ciencia de datos. Terminará pagando bastante en costos de ancho de banda si tiene muchos datos.

Dicho esto, creo que los que van a hacer bien son aquellos que tienen la mejor comunidad construida a su alrededor y las plataformas que involucran activamente a esas comunidades. Databricks viene a la mente por la naturaleza de ellos como las personas principales detrás de la chispa.

Realmente creo que deberías reformular tu pregunta. ¿Qué plataforma satisfará mis necesidades? La madurez y la fiabilidad son solo dos dimensiones en las que se puede utilizar para elegir una plataforma. ¿Cómo haces tu trabajo de ciencia de datos? ¿Existen limitaciones en plataformas particulares que le impidan usarlas? ¿Hay características que realmente necesitas? Puede descubrir que la plataforma que funciona para usted es totalmente diferente de las que se recomiendan aquí.

¡Buena suerte!