Particiones de datos - Fundamentos de la arquitectura SaaS

Particiones de datos

Las particiones de datos se usan para describir diferentes estrategias empleadas para representar datos en un entorno multiinquilino. Este término se usa ampliamente para abarcar una variedad de enfoques y modelos diferentes que se pueden utilizar para asociar diferentes conjuntos de datos con inquilinos individuales.

Tenga en cuenta que a menudo se tiende a considerar las particiones de datos y el aislamiento de los inquilinos como intercambiables. Sin embargo, estos dos conceptos no son equivalentes. Cuando hablamos de particiones de datos, nos referimos a la forma en que se almacenan los datos de los inquilinos individuales. Las particiones de datos no garantizan que los datos estén aislados. El aislamiento debe aplicarse aparte para garantizar que un inquilino no pueda acceder a los recursos de otro.

Cada tecnología de almacenamiento de AWS aporta su propio conjunto de consideraciones a la estrategia de particiones de datos. Por ejemplo, el aislamiento de datos en Amazon DynamoDB tendrá un aspecto muy diferente al aislamiento de datos con Amazon Relational Database Service (Amazon RDS).

Por lo general, cuando se plantea la partición de datos, comienza por decidir si los datos se agruparán o estarán aislados. En un modelo de datos aislados, se tiene una estructura de almacenamiento distinta para cada inquilino, sin datos mezclados. En el caso de la partición agrupada, los datos se mezclan y se particionan en función de un identificador de arrendatario que determina qué datos están asociados a cada arrendatario.

Por ejemplo, con Amazon DynamoDB, un modelo de datos aislados utiliza una tabla independiente para cada inquilino. La agrupación de datos en Amazon DynamoDB se logra almacenando el identificador del inquilino en la clave de partición de cada tabla de Amazon DynamoDB que administra los datos de todos los inquilinos.

Imagínese cómo puede variar esto en la gama de servicios de AWS, donde cada uno de ellos presenta sus propias estructuras, lo que puede requerir un enfoque diferente para crear modelos de almacenamiento en silos y agrupados con cada servicio.

Si bien la partición de datos y el aislamiento de inquilinos son temas distintos, es probable que las estrategias de partición de datos que elija estén influenciadas por el modelo de aislamiento de los datos. Por ejemplo, puede distribuir parte del almacenamiento en silos porque este enfoque se adapte mejor a los requisitos de su ámbito de sus clientes. O bien, puede optar por silos porque es posible que el modelo de grupos no le permita aplicar el aislamiento con el nivel de granularidad que requiere su solución.

Un vecino ruidoso también puede afectar a su planteamiento sobre el aislamiento. Es posible que algunas cargas de trabajo o casos de uso de su aplicación deban mantenerse separados para limitar los impactos de otros inquilinos o para cumplir con los acuerdos de nivel de servicio (SLA).