azure - microsoft - Limitación y filtro de acumulación de blooms azules
porta azure (1)
Almacenamiento en Azure para aplicaciones multi-tenant. Estamos trabajando para desarrollar una aplicación para varios inquilinos en Azure, con aproximadamente 10,000 inquilinos y se requiere un almacenamiento aproximado de 100 GB a 1 TB por inquilino. La aplicación es para mantener los documentos y el contenido binario junto con los metadatos para cada inquilino por separado. Estamos pensando en el almacenamiento de Azure Block Blob para almacenar los datos. Dado que el requisito es mantener los datos separados para cada inquilino, nos encontramos con el siguiente enfoque.
- Cree una cuenta de almacenamiento separada para cada inquilino
- Eso ayuda a mantener el uso del inquilino, lo que también ayuda a la facturación.
- Cree un contenedor separado en cada cuenta de almacenamiento para segregar según la categoría
- Almacene el documento en el almacenamiento blob bloque junto con los metadatos.
Tenemos las siguientes consultas con respecto a nuestro enfoque:
- ¿Es buena idea almacenar documentos o contenido binario en block blob junto con los metadatos? ¿O existe alguna forma mejor de lograrlo (probablemente utilizando SQL Azure para metadatos y blob para contenido, o mejor)?
- ¿Cómo consultar los datos con alguna condición de filtro en los metadatos? es decir, recuperar todo blob donde metadat1 = value1 y metadata2 = value2
- ¿Es buena idea crear una cuenta de almacenamiento separada para cada inquilino?
a. De lo contrario, ¿cuál sería el modelo mediante el cual podemos almacenar los datos específicos del inquilino en el almacenamiento y la aplicación de Azure? - ¿Hay ancho de banda o alguna otra limitación en el número de solicitudes de lectura / escritura de datos en el almacenamiento Blob en el contexto de escalabilidad y alta disponibilidad?
- De acuerdo con el modelo de fijación de precios azul, cobran la losa en cuanto al almacenamiento, es decir, los primeros 1 TB $ 0.095 / GB, los siguientes 49 TB $ 0.08 / GB. ¿Estos cargos son por cuenta de almacenamiento o por suscripción?
a. Del mismo modo, el costo de transacción se aplica en cada cuenta de almacenamiento o por suscripción.
- ¿Es buena idea almacenar documentos o contenido binario en block blob junto con los metadatos? ¿O existe alguna forma mejor de lograrlo (probablemente utilizando SQL Azure para metadatos y blob para contenido, o mejor)?
- ¿Cómo consultar los datos con alguna condición de filtro en los metadatos? es decir, recuperar todo blob donde metadat1 = value1 y metadata2 = value2
Para responder 1 y 2, no puede consultar en metadatos en almacenamiento blob. Así que supongo que su mejor opción sería usar SQL Azure o Azure Table Storage ya que ambos tienen capacidades de consulta. Dado que almacenarás un gran número de blobs (y, por lo tanto, más metadatos), estoy más inclinado hacia el almacenamiento de tablas, pero eso requeriría consideraciones especiales de diseño como la partición adecuada.
¿Es buena idea crear una cuenta de almacenamiento separada para cada inquilino? a. De lo contrario, ¿cuál sería el modelo mediante el cual podemos almacenar los datos específicos del inquilino en el almacenamiento y la aplicación de Azure?
Puedo pensar en 3 razones por las cuales tener una cuenta de almacenamiento por inquilino es una buena idea:
- Simplifica tu facturación.
- Le ayudará a mantener los objetivos de escalabilidad.
- Como mencionó que cada inquilino puede almacenar hasta 1 TB de datos, dado el límite actual de la cuenta de almacenamiento de 200 TB, solo puede mantener un máximo de 200 inquilinos por cuenta de almacenamiento. Después de eso, necesitaría encontrar otra cuenta de almacenamiento y comenzar a almacenar los datos allí.
En resumen, una solución muy elegante que mantiene una cuenta de almacenamiento / inquilino por separado. El desafío sería aumentar el límite predeterminado de 20 cuentas / suscripción de almacenamiento. Necesitarías chatear con soporte para eso.
¿Hay ancho de banda o cualquier otra limitación en el número de solicitudes de lectura / escritura de datos en el almacenamiento Blob en el contexto de escalabilidad y alta disponibilidad?
Sí, lea el blog de objetivos de escalabilidad del equipo de almacenamiento de blobs de Windows Azure: http://blogs.msdn.com/b/windowsazurestorage/archive/2010/05/10/windows-azure-storage-abstractions-and-their-scalability -targets.aspx
De acuerdo con el modelo de fijación de precios azul, cobran la losa en cuanto al almacenamiento, es decir, los primeros 1 TB $ 0.095 / GB, los siguientes 49 TB $ 0.08 / GB. ¿Estos cargos son por cuenta de almacenamiento o por suscripción? a. Del mismo modo, el costo de transacción se aplica en cada cuenta de almacenamiento o por suscripción.
No estoy seguro de esto, pero supongo que es por cuenta de almacenamiento. Es posible que desee ponerse en contacto con el soporte para esto.
Espero que esto ayude.