VastbaseE100

基于开源技术的HTAP数据库管理系统。性能优异,稳定可靠,提供诸多专属领域特性。

Menu

表分区

Vastbase E100支持对数据表进行分区。分区是指将逻辑上一个大表分成较小的物理块。分区可以提供以下好处:

  • 当大量访问集中在某几个数据量非常大的表时,使用分区技术可将庞大的单表索引拆分为体积较小的多个分区索引,其中在当前需要被大量访问的数个分区索引更有可能被完整保持在缓存当中,从而使查询性能得到显著提升;

  • 当查询或更新访问单个分区的大部分时,可以通过利用该分区的顺序扫描而不是使用分散在整个表中的索引和随机访问读取来提高性能;

  • 当需要删除一个分区数据时,通过DROP TABLE删除一个分区,远比DELETE删除数据高效,并且可以避免由批量 DELETE引起的 VACUUM 开销,特别适用于日志数据场景;

  • 由于一个表只能存储在一个表空间上,使用分区表后,可以将分区放到不同的表空间上,例如可以将系统很少访问的分区放到廉价的存储设备上,也可以将系统常访问的分区存储在高速存储上。

在一般情况下,当一张数据表非常大时,使用表分区技术将获得更为显著的价值,但能获得的确切的价值大小,取决于应用程序自身的业务逻辑。

并不是在任何时候都应该对表进行分区处理,根据过往经验,应该保持在分区后单个物理表的大小仍然超过数据库服务器的物理内存容量。

Vastbase E100目前支持以下几种分区模式:

  • 列表(List)分区

    通过显式列出每个分区中出现的键值来对表进行分区。

  • 范围(Range)分区

    该表被分区为由键列或列集定义的”范围”,在分配给不同分区的值范围之间没有重叠。例如,可以按日期范围或特定业务对象的标识符范围进行分区。

  • 哈希(Hash)分区

    通过为每个分区指定模数和余数来对表进行分区。每个分区将保存分区键的哈希值除以指定模数的行将产生指定的余数。