Escribo una aplicación de 'prueba de concepto' para investigar la posibilidad de mover un sistema de comercio electrónico ASP.NET personalizado a Windows Azure durante una reescritura necesaria de toda la aplicación.Azure Table Storage - Prácticas recomendadas de diseño de entidades Pregunta
Intento utilizar Azure Table Storage como una alternativa a SQL Azure ya que las entidades que se almacenan pueden cambiar sus esquemas (propiedades) a medida que la aplicación va madurando, y no necesitaré hacer un esquema de base de datos infinito cambios. Además, podemos construir integridad de referencia en el código de aplicación, por lo que el caso para considerar Azure Table Storage es sólido.
El único problema potencial que puedo ver en este momento es que hacemos una pequeña cantidad de informes simples, es decir, el valor de las ventas entre dos fechas, cantidad de artículos vendidos para un producto en particular, etc. Sé que Table Storage no admite funciones de tipo agregado, y creo que podemos lograr lo que queremos con un uso inteligente de particiones, múltiples tipos de entidades para almacenar subconjuntos de los mismos datos y posiblemente preagrupación, pero no estoy 100% seguro de cómo hacerlo.
¿Alguien sabe de cualquier documento en profundidad sobre los principios de diseño Azure tabla de almacenamiento de manera que hacemos un uso adecuado y eficiente de las Tablas, PartitionKeys y diseño entidad etc.
hay algunos documentos simplistas alrededor, y la corriente los libros disponibles tienden a no profundizar en este tema.
FYI - el sitio de comercio electrónico tiene alrededor de 25,000 clientes y toma aproximadamente 100,000 pedidos por año.
excelentes consejos, gracias, pero realmente me interesaron los consejos sobre dónde obtener información más detallada sobre el diseño de una estrategia PartitionKey/Entity para mitigar el inconveniente de pasar a un DBMS no relacional –
Gracias Dean - He añadido un punto extra sobre AzureScope, pero esto aún no ayudará con su consejo de "mejores prácticas para el uso comercial". Casi todos los consejos que he visto sobre las mejores prácticas realmente han llegado al nivel de "rendimiento", p. cómo diseñar sus llaves para evitar puntos calientes. A nivel práctico, me ha resultado todo un desafío diseñar aplicaciones usando solo el almacenamiento de Azure: la falta de cualquier tipo de indexación secundaria (por ejemplo, map-reduce de RavenDB) hace que el almacenamiento de la entidad clave sea bastante difícil de usar de manera efectiva. puedes duplicar los datos, pero luego terminas con problemas de transacción. – Stuart
buen consejo, muchas gracias –