porta microsoft management azure azure-sql-database azure-storage-blobs azure-table-storage

microsoft - porta azure



Primeros pasos con el almacenamiento de Azure: Blobs vs Tables vs SQL Azure (2)

Es todo un tema, blobs vs tables vs SQL , y a pesar de todo lo que he leído hasta ahora, todavía no puedo encontrar un razonamiento adecuado sobre qué usar cuando.

Tenemos una aplicación web SaaS multi-tenant que estamos a punto de mover a Azure. Usamos una base de datos de SQL Server 2008. Almacenamos documentos e información de registro que pertenece a los documentos. Un poco como Dropbox.

Los foros afirman que es mejor utilizar Azure Tables cuando considere objetos "grandes". Normalmente almacenamos cientos de documentos por usuario, donde el tamaño de los documentos varía de 5 kb a 30 mb, donde la gran mayoría ronda los 1 MB.

¿Hay algunas reglas básicas sobre cuándo elegir Blobs, Tables, Sql? Ya aprendí que no debo almacenar mis documentos en SQL porque es demasiado caro. Pero, ¿cuándo es "beneficioso" almacenar los documentos en Blobs y cuándo sería mejor con las tablas? ¿Hay algún tipo de fórmula como:

if (objects * MB/object * objectrequested > y) then blobs, else tables


Almacenaba los documentos en el almacenamiento de Azure Blob (no en el almacenamiento de la tabla). Fuera del hecho de que es bastante caro almacenar documentos en una base de datos SQL Azure que cobra un centavo por meg (o menos según el volumen), la base de datos SQL generalmente no es un buen lugar para los documentos. SQL es una base de datos relacional que proporciona beneficios de la capacidad de realizar consultas, uniones, etc. Generalmente, no es beneficioso almacenar documentos o imágenes grandes en una base de datos SQL, especialmente cuando hay un sistema de almacenamiento central altamente escalable que es bastante barato de almacenar /acceso.

Ahora, si necesita buscar a través de los documentos, usaría algo como Lucene.NET para proporcionar una capacidad de búsqueda para el repositorio basado en documentos.

HTH


Creo que Igorek ha abordado sus inquietudes sobre SQL Azure. Sin embargo, parece que todavía tienes preguntas sobre Tablas vs Blobs.

En su caso, utilizar el almacenamiento de tabla sería molesto. Cada propiedad / columna en ATS puede tener un máximo de 64 KB, por lo que tendría que dividir los documentos entre varias propiedades y luego volver a montarlos. También hay un límite de 4 MB por entidad, lo que sería un problema. El almacenamiento de blobs no tiene ninguna de estas limitaciones.

Tiendo a utilizar Azure Table Storage cuando tienes entidades pequeñas con muchas propiedades que necesitan almacenarse y consultarse por separado. Por lo tanto, funciona bien para objetos almacenados, o pequeños documentos con muchos metadatos.

El almacenamiento de blobs funciona mejor para cosas sin una tonelada de metadatos. Es bueno para cosas que podrían funcionar bien como archivos en un sistema de archivos.