Novas métricas de almacenamento de obxectos

Novas métricas de almacenamento de obxectosFortaleza voadora de Nele-Diel

Comando de almacenamento de obxectos S3 Almacenamento na nube Mail.ru traduciu un artigo sobre cales son os criterios importantes á hora de elixir un almacenamento de obxectos. O seguinte é o texto dende a perspectiva do autor.

Cando se trata de almacenamento de obxectos, a xente adoita pensar só nunha cousa: o prezo por TB/GB. Por suposto, esta métrica é importante, pero fai que o enfoque sexa unilateral e equipara o almacenamento de obxectos cunha ferramenta de almacenamento de arquivos. Ademais, este enfoque reduce a importancia do almacenamento de obxectos para a pila de tecnoloxía empresarial.

Ao elixir o almacenamento de obxectos, debes prestar atención a cinco características:

  • actuación;
  • escalabilidade;
  • compatible con S3;
  • resposta aos fallos;
  • integridade.

Estas cinco características son novas métricas para o almacenamento de obxectos, xunto co custo. Vexámolos todos.

Produtividade

As tendas de obxectos tradicionais carecen de rendemento. Os provedores de servizos sacrificárono constantemente en busca de prezos baixos. Non obstante, co almacenamento de obxectos modernos as cousas son diferentes.

Varios sistemas de almacenamento achéganse ou incluso superan a velocidade de Hadoop. Requisitos modernos para velocidades de lectura e escritura: desde 10 GB/s para discos duros, ata 35 GB/s para NVMe. 

Este rendemento é suficiente para Spark, Presto, Tensorflow, Teradata, Vertica, Splunk e outros marcos informáticos modernos na pila de análise. O feito de que as bases de datos MPP se estean configurando para o almacenamento de obxectos suxire que se está utilizando cada vez máis como almacenamento principal.

Se o teu sistema de almacenamento non proporciona a velocidade que necesitas, non podes usar os datos nin extraer valor del. Aínda que recuperes datos do almacenamento de obxectos nunha estrutura de procesamento en memoria, aínda necesitarás ancho de banda para transferir os datos á memoria e desde a memoria. As tendas de obxectos antigas non teñen suficiente.

Este é o punto clave: a nova métrica de rendemento é o rendemento, non a latencia. Requírese para os datos a escala e é a norma na infraestrutura de datos moderna.

Aínda que os benchmarks son unha boa forma de determinar o rendemento, non se pode medir con precisión antes de executar a aplicación no ambiente. Só despois pode dicir onde está exactamente o pescozo de botella: en software, discos, rede ou a nivel informático.

Escalabilidade

A escalabilidade refírese ao número de petabytes que caben nun espazo de nomes. O que afirman os provedores é unha escalabilidade sinxela, o que non din é que a medida que escalan, os sistemas monolíticos masivos vólvense fráxiles, complexos, inestables e caros.

A nova métrica para a escalabilidade é o número de espazos de nomes ou clientes que pode servir. A métrica tómase directamente dos hiperescaladores, onde os bloques de almacenamento son pequenos pero escalan a miles de millóns de unidades. En xeral, esta é unha métrica de nube.

Cando os bloques de construción son pequenos, son máis fáciles de optimizar para a seguridade, o control de acceso, a xestión de políticas, a xestión do ciclo de vida e as actualizacións sen interrupcións. E, en definitiva, garantir a produtividade. O tamaño do bloque de construción é unha función da controlabilidade da rexión de falla, que é como se constrúen os sistemas altamente resistentes.

A multitenencia ten moitas características. Aínda que a dimensión fala de como as organizacións proporcionan acceso a datos e aplicacións, tamén se refire ás propias aplicacións e á lóxica detrás de illalas unhas das outras.

Características dun enfoque moderno para multicliente:

  • En pouco tempo, o número de clientes pode pasar de varios centos a varios millóns.
  • Os clientes están completamente illados uns dos outros. Isto permítelles executar diferentes versións do mesmo software e almacenar obxectos con diferentes configuracións, permisos, funcións, seguridade e niveis de mantemento. Isto é necesario cando se escala a novos servidores, actualizacións e xeografías.
  • O almacenamento é elásticamente escalable, os recursos ofrécense baixo demanda.
  • Cada operación está controlada por unha API e está automatizada sen intervención humana.
  • O software pódese aloxar en contedores e utilizar sistemas de orquestración estándar como Kubernetes.

Compatible con S3

A API de Amazon S3 é o estándar de facto para o almacenamento de obxectos. Todos os provedores de software de almacenamento de obxectos reclaman compatibilidade con el. A compatibilidade con S3 é binaria: ou está totalmente implementada ou non.

Na práctica, hai centos ou miles de escenarios de borde nos que algo sae mal ao usar o almacenamento de obxectos. Especialmente dos provedores de software e servizos propietarios. Os seus principais casos de uso son o arquivo directo ou a copia de seguridade, polo que hai poucas razóns para chamar á API, os casos de uso son homoxéneos.

O software de código aberto ten vantaxes significativas. Abarca a maioría dos escenarios de punta, dado o tamaño e variedade de aplicacións, sistemas operativos e arquitecturas de hardware.

Todo isto é importante para os desenvolvedores de aplicacións, polo que paga a pena probar a aplicación con provedores de almacenamento. O código aberto facilita o proceso: é máis fácil comprender cal é a plataforma adecuada para a súa aplicación. O provedor pódese utilizar como un único punto de entrada no almacenamento, o que significa que satisfará as túas necesidades. 

Código aberto significa: as aplicacións non están vinculadas a un provedor e son máis transparentes. Isto garante un longo ciclo de vida da aplicación.

E algunhas notas máis sobre código aberto e S3. 

Se estás executando unha aplicación de big data, S3 SELECT mellora o rendemento e a eficiencia nunha orde de magnitude. Faino usando SQL para recuperar só os obxectos que precisa do almacenamento.

O punto clave é a compatibilidade con notificacións de balde. As notificacións de bucket facilitan a informática sen servidor, un compoñente importante de calquera arquitectura de microservizos que se ofrece como servizo. Dado que o almacenamento de obxectos é un almacenamento na nube efectivamente, esta capacidade faise fundamental cando o almacenamento de obxectos é usado por aplicacións baseadas na nube.

Finalmente, a implementación de S3 debe admitir as API de cifrado do servidor de Amazon S3: SSE-C, SSE-S3, SSE-KMS. Aínda mellor, S3 admite a protección contra manipulacións que é verdadeiramente segura. 

Resposta aos fallos

Unha métrica que probablemente se pasa por alto é a forma en que o sistema xestiona os fallos. Os fallos ocorren por diversos motivos e o almacenamento de obxectos debe xestionalos todos.

Por exemplo, hai un único punto de falla, a métrica deste é cero.

Desafortunadamente, moitos sistemas de almacenamento de obxectos usan nós especiais que deben estar habilitados para que o clúster funcione correctamente. Estes inclúen nodos de nome ou servidores de metadatos; isto crea un único punto de falla.

Mesmo onde hai varios puntos de falla, a capacidade de resistir fallos catastróficos é primordial. Fallan os discos, fallan os servidores. A clave é crear un software deseñado para xestionar os fallos como unha condición normal. Se un disco ou nodo falla, ese software seguirá funcionando sen cambios.

A protección integrada contra o borrado e a degradación dos datos garante que pode perder tantos discos ou nodos como bloques de paridade, normalmente a metade dos discos. Só entón o software non poderá devolver datos.

O fallo raramente se proba baixo carga, pero é necesario. A simulación dunha falla de carga mostrará os custos totais incorridos despois da avaría.

Consistencia

Unha puntuación de consistencia do 100% tamén se denomina consistencia estrita. A coherencia é un compoñente clave de calquera sistema de almacenamento, pero a consistencia forte é rara. Por exemplo, Amazon S3 ListObject non é estritamente coherente, só é coherente ao final.

Que se entende por coherencia estrita? Para todas as operacións posteriores a unha operación PUT confirmada, debe ocorrer o seguinte:

  • O valor actualizado é visible ao ler desde calquera nodo.
  • A actualización está protexida contra a redundancia de fallos de nodos.

Isto significa que se tiras do enchufe no medio dunha gravación, non se perderá nada. O sistema nunca devolve datos corruptos ou desactualizados. Este é un listón alto que importa en moitos escenarios, desde aplicacións transaccionais ata copias de seguridade e recuperación.

Conclusión

Estas son novas métricas de almacenamento de obxectos que reflicten os patróns de uso nas organizacións actuais, onde o rendemento, a coherencia, a escalabilidade, os dominios de falla e a compatibilidade con S3 son os bloques de construción para aplicacións na nube e análise de big data. Recomendo usar esta lista ademais do prezo ao construír pilas de datos modernas. 

Sobre o almacenamento de obxectos de Mail.ru Cloud Solutions: Arquitectura S3. 3 anos de evolución de Mail.ru Cloud Storage.

Que máis ler:

  1. Un exemplo dunha aplicación dirixida por eventos baseada en webhooks no almacenamento de obxectos S3 Mail.ru Cloud Solutions.
  2. Máis que Ceph: almacenamento de bloques de nube MCS 
  3. Traballar co almacenamento de obxectos de Mail.ru Cloud Solutions S3 como un sistema de ficheiros.
  4. A nosa canle de Telegram con noticias sobre actualizacións do almacenamento S3 e outros produtos

Fonte: www.habr.com

Engadir un comentario