在许多大型解决方案中,数据分割成分区,而这些分区可以单独进行管理和访问。 分区可以改善可伸缩性、减少争用,以及优化性能。 另外,它还能提供一种按使用模式来分割数据的机制。 例如,可以将较旧的数据存档在成本较低的数据存储中。
分区方式
数据分区有三个典型策略:
-
水平分区(通常称为分片)。 在此策略中,每个分区都是独立的数据存储,但所有分区具有相同的架构。 每个分区称为分片,保存数据的特定子集,例如特定的一组客户的所有订单。
-
垂直分区。 在此策略中,每个分区在数据存储中保存项字段的子集。 这些字段已根据其使用模式进行分割。 例如,将经常访问的字段放在一个垂直分区,将较不经常访问的字段放在另一个垂直分区。
-
功能分区。 在此策略中,数据已根据系统中每个界限上下文使用数据的方式进行聚合。 例如,电子商务系统可能在一个分区中存储发票数据,在另一个分区中存储产品库存数据。
这些策略可以组合起来使用,建议在设计分区方案时全盘考虑。 例如,可以将数据分割成分片,然后使用垂直分区进一步细分每个分片中的数据。