Introducción
Las aplicaciones basadas en internet se enfrentan a escalas debido al crecimiento de usuarios junto con la creciente complejidad del tráfico de datos.
Junto con la complejidad de los negocios modernos, surge la necesidad de procesar los datos de manera más rápida y sólida. Debido a esto, las bases de datos transaccionales estándar no siempre son las más adecuadas.
En cambio, las bases de datos como DynamoDB han sido diseñados para gestionar la nueva afluencia de datos. DynamoDB es un sistema de base de datos de Amazon Net Companies que admite estructuras de datos y servicios en la nube con valores clave. Permite a los usuarios beneficiarse de las opciones de escalado automático, almacenamiento en memoria caché, copia de seguridad y restauración para todas sus aplicaciones a escala de Web mediante DynamoDB.
Pero, ¿por qué querría usar DynamoDB y cuáles son algunos ejemplos de casos de uso?
En esta publicación, cubriremos solo eso. Presentaremos los beneficios de usar DynamoDB y describiremos algunos casos de uso, así como algunos de los desafíos.
Beneficios de DynamoDB para operaciones
Primero, analicemos por qué DynamoDB puede ser útil.
Rendimiento y escalabilidad
Aquellos que han trabajado en la industria de TI saben que escalar bases de datos puede ser difícil y arriesgado. DynamoDB le brinda la capacidad de escalar automáticamente mediante el seguimiento de qué tan cerca está su uso de los límites superiores. Esto puede permitir que su sistema se ajuste de acuerdo con la cantidad de tráfico de datos, ayudándole a evitar problemas de rendimiento y reduciendo costos.
Acceso a las reglas de management
A medida que los datos se vuelven más específicos y personales, se vuelve más importante tener un management de acceso efectivo. Desea aplicar fácilmente el management de acceso a las personas adecuadas sin crear cuellos de botella en el flujo de trabajo de otras personas. El management de acceso detallado de DynamoDB permite que el propietario de la tabla obtenga un mayor nivel de management sobre los datos de la tabla.
Persistencia de datos de flujo de eventos
Los flujos de DynamoDB permiten a los desarrolladores recibir y actualizar datos a nivel de elemento antes y después de los cambios en esos datos. Esto se debe a que las secuencias de DynamoDB proporcionan una secuencia ordenada por tiempo de los cambios realizados en los datos en las últimas 24 horas. Con las secuencias, puede usar fácilmente la API para realizar cambios en un almacén de datos de búsqueda de texto completo, como Elasticsearchenvíe copias de seguridad incrementales a Amazon S3 o mantenga una caché de lectura actualizada.
Tiempo para vivir
TTL o Time-to-Dwell es un proceso que le permite establecer marcas de tiempo para eliminar datos caducados de sus tablas. Tan pronto como caduca la marca de tiempo, los datos marcados para caducar se eliminan de la tabla. A través de esta funcionalidad, los desarrolladores pueden realizar un seguimiento de los datos caducados y eliminarlos automáticamente. Este proceso también ayuda a reducir el almacenamiento y los costos del trabajo de eliminación handbook de datos.
Almacenamiento de elementos de esquema incoherentes
Si es necesario que sus objetos de datos se almacenen en esquemas incoherentes, DynamoDB puede gestionarlo. Dado que DynamoDB es un modelo de datos NoSQL, maneja datos menos estructurados de manera más eficiente que un modelo de datos relacionales, por lo que es más fácil abordar volúmenes de consultas y ofrece consultas de alto rendimiento para el almacenamiento de elementos en esquemas incoherentes.
Gestión automática de datos
DynamoDB crea constantemente una copia de seguridad de sus datos por motivos de seguridad, lo que permite a los propietarios tener datos guardados en la nube.
5 casos de uso para DynamoDB
Una de las razones por las que las personas no usan DynamoDB es porque no están seguros de si es una buena opción para su proyecto. Queríamos compartir algunos ejemplos en los que las empresas utilizan DynamoDB para ayudar a administrar la mayor afluencia de datos a altas velocidades.
Duolingo
Duolingo, un sitio de aprendizaje en línea, usa DynamoDB para almacenar aproximadamente 31 mil millones de objetos de datos en su servidor internet.
Esta startup tiene alrededor de 18 millones de usuarios mensuales que realizan alrededor de seis mil millones de ejercicios usando la aplicación Duolingo.
Porque su aplicación tiene 24.000 unidades de lectura por segundo y 3.300 unidades de escritura por segundo DynamoDB terminó siendo el adecuado para ellos. El equipo tenía muy poco conocimiento sobre DevOps y la gestión de sistemas a gran escala cuando comenzaron. Debido al uso international de Duolingo y la necesidad de datos personalizados, DynamoDB es la única base de datos que ha podido satisfacer sus necesidades, tanto en términos de almacenamiento de datos como de DevOps.
Además, el hecho de que DynamoDB escale automáticamente significó que esta pequeña empresa emergente no necesitaba usar a sus desarrolladores para ajustar manualmente el tamaño. DynamoDB se ha simplificado y escalado para satisfacer sus necesidades.
Grandes Ligas de Béisbol (MLB)
Hay muchas cosas que damos por sentado cuando vemos un partido de béisbol.
Por ejemplo, ¿sabía que hay un sistema de radar Doppler que se encuentra detrás del plato de residence y muestrea la posición de la pelota 2000 veces por segundo? ¿O que hay dos dispositivos de imágenes estereoscópicas, generalmente ubicados sobre la línea de la tercera base, que toman muestras de las posiciones de los jugadores en el campo 30 veces por segundo?
Todas estas transacciones de datos requieren un sistema que sea rápido tanto en lectura como en escritura. La MLB utiliza una combinación de componentes de AWS para ayudar a procesar todos estos datos. DynamoDB juega un papel clave para garantizar que las consultas sean rápidas y confiables.
Corporación Hess
Hess Company, una reconocida empresa de energía, ha estado trabajando en la exploración y producción de gasoline pure y petróleo crudo.
Este negocio requiere la elaboración de estrategias de planificación financiera diferente que afecta a la gestión en su conjunto. Para optimizar sus procesos comerciales, Hess recurrió a DynamoDB al cambiar su proyecto de exploración y producción de energía (E&P) a AWS.
Ahora, DynamoDB ha ayudado a la empresa a separar los datos de los compradores potenciales de los sistemas comerciales. Además, el infraestructura operativa de DynamoDB les ayuda a manejar los datos de manera efectiva y obtener resultados optimizados y bien administrados.
Salud de GE
GE es conocida por sus equipos de imágenes médicas que ayudan en el diagnóstico a través de radiofármacos y agentes de imágenes.
La empresa ha utilizado DynamoDB para aumentar el valor del cliente, gracias al acceso, el almacenamiento y la computación en la nube.
Él Nube de salud de GE proporciona un portal único para que los profesionales de la salud de todo EE. UU. procesen y compartan imágenes de casos de pacientes. Esta es una gran ventaja para el diagnóstico. Los médicos pueden mejorar los tratamientos a través del acceso a estos datos de atención médica.
Docomo
NTT Docomo, una common compañía operadora de teléfonos móviles, se ha forjado una reputación por sus servicios de reconocimiento de voz, que necesitan el mejor rendimiento y capacidad.
Para satisfacer estos requisitos, Docomo recurrió a DynamoDB, que ha ayudado a la empresa a escalar hacia un mejor rendimiento.
Con su creciente base de clientes, Docomo ha puesto en uso una arquitectura de reconocimiento de voz, que les ayuda a funcionar mejor incluso durante los picos de tráfico.
Junto con todos estos casos, las empresas de tecnología publicitaria también dependen en gran medida de Amazon DynamoDB para almacenar sus datos de advertising and marketing de diferentes tipos.
Estos datos incluyen eventos de usuarios, perfiles de usuarios, enlaces visitados y clics. A veces, estos datos también incluyen orientación de anuncios, atribución y ofertas en tiempo actual.
Por lo tanto, las empresas de tecnología publicitaria requieren baja latencia, alta tasa de solicitudes y alto rendimiento sin tener que invertir mucho en operaciones de bases de datos.
Es por eso que las empresas recurren a DynamoDB. No solo ofrece un alto rendimiento sino que, con su opción de replicación de datos, permite a las empresas desplegar sus aplicaciones en tiempo actual en más de una ubicación geográfica.
Sin embargo, a pesar de todos los beneficios, DynamoDB no siempre es la base de datos más fácil de usar cuando se trata de análisis.
Desafíos de analizar datos operativos de DynamoDB
El enfoque de DynamoDB es proporcionar transacciones de datos rápidas para las aplicaciones. Lo que hace que DynamoDB sea rápido a nivel de transacción puede en realidad obstaculizarlo desde la perspectiva del análisis de datos. Estos son algunos de los principales obstáculos con los que se encontrará una vez que comience a analizar datos en DynamoDB.
Procesamiento analítico en línea (OLAP)
Procesamiento analítico en línea y almacenamiento de datos los sistemas generalmente requieren grandes cantidades de agregación, así como la unión de tablas dimensionales, que se proporcionan en una vista normalizada o relacional de los datos.
Esto no es posible en el caso de DynamoDB, ya que es una base de datos no relacional que funciona mejor con tablas de datos con formato NoSQL. Además, las estructuras de datos generales para análisis no siempre son compatibles con las bases de datos de valores clave. A su vez, puede ser más difícil acceder a los datos y ejecutar cálculos grandes.
Consultas y SQL
Además de que los procesos OLAP son difíciles de ejecutar en DynamoDB, debido a que el enfoque de DynamoDB es operativo, DynamoDB no interactúa con SQL.
Este es un tema clave porque la mayoría de los talentos analíticos están familiarizados con SQL y no con las consultas de DynamoDB. A su vez, esto dificulta la interacción con los datos y la formulación de preguntas analíticas críticas.
Las consecuencias de esto pueden ser el requisito de contratar desarrolladores únicamente para extraer los datos, lo cual es costoso, o no poder analizar los datos en absoluto.
La indexación es costosa
Otro inconveniente cuando se trata de análisis es el procesamiento rápido de grandes conjuntos de datos. A menudo, esto se puede aliviar con índices.
En este caso, el problema es que los índices secundarios globales de DynamoDB requieren capacidad adicional de lectura y escritura, lo que genera un costo adicional. Esto significa que sus consultas se ejecutarán más lentamente o incurrirá en mayores costos.
Estos desafíos a veces pueden ser un obstáculo para que algunas empresas decidan si quieren o no asumir el riesgo de desarrollar en DynamoDB.
Aquí es donde a los motores de análisis les gusta conjunto de cohetes entrar. No sólo proporcionan una capa SQL eso facilita el acceso a los datos operativos, pero también brinda la capacidad de ingerir los datos en su capa de datos, lo que admite uniones con datos de otras fuentes de datos de AWS, como Redshift y S3.
Descubrimos que herramientas como esta son útiles porque pueden reducir la necesidad de desarrolladores e ingenieros de datos que puedan interactuar con DynamoDB. En su lugar, puede hacer su trabajo analítico y responder a las preguntas importantes sin ser retenido.
Para aquellos que alguna vez han trabajado en un equipo analítico, puede ser muy difícil explicarle a la alta gerencia por qué existen los datos, pero aún no puede proporcionar información. El uso de capas como Rockset puede eliminar la complejidad.
Si desea ver Rockset y DynamoDB en acción, debe consultar nuestro breve recorrido por el producto.
Conclusión
Como base de datos no relacional, DynamoDB es un sistema confiable que ayuda a las pequeñas, medianas y grandes empresas a escalar sus aplicaciones.
Viene con opciones para realizar copias de seguridad, restaurar y proteger datos, y es splendid tanto para aplicaciones móviles como internet. Con la excepción de servicios especiales como transacciones financieras y atención médica, puede rediseñar casi cualquier aplicación con DynamoDB.
Esta base de datos no relacional es extremadamente conveniente para crear una arquitectura basada en eventos y aplicaciones fáciles de usar. Cualquier deficiencia con las cargas de trabajo analíticas se rectifica fácilmente con el uso de una capa de SQL centrada en el análisis, lo que convierte a DynamoDB en un gran activo para los usuarios.
Ben ha pasado su carrera enfocada en todas las formas de datos. Se ha centrado en el desarrollo de algoritmos para detectar fraudes, reducir la readmisión de pacientes y rediseñar la política del proveedor de seguros para ayudar a reducir el costo whole de la atención médica. También ha ayudado a desarrollar análisis para advertising and marketing y operaciones de TI con el fin de optimizar recursos limitados, como empleados y presupuesto. Ben consulta en privado sobre problemas de ingeniería y ciencia de datos. Tiene experiencia tanto en el trabajo práctico con problemas técnicos como en ayudar a los equipos de liderazgo a desarrollar estrategias para maximizar sus datos.