时间系列数据存储在数据库空间的容器中。可以使用在与装入数据的表相同的数据库空间中创建的缺省容器,也可以在单独的数据库空间中创建容器。 可以估算所需的存储空间量。滚动窗口容器有具体的存储需求。
可以在与时间系列表相同的数据库空间中创建容器,也可以在单独的数据库空间中创建。 如果正在装入大量数据,那么使用多个数据库空间可以提高装入数据的性能。同样,如果相同表中有多个 TimeSeries 列,请考虑创建多个容器以在不同的数据库空间中存储数据。
通过使用以下公式估算需要的存储空间量:
空间 = [primary_key + index_entry + (time_series_columns * elements)] * (table_rows) + B-tree_size
该等式是一个准则。所需的空间量还可能受其他因素影响,如槽表所需的少量空间以及每个元素的空位图。
如果时间系列数据的行大小较小,那么该等式可能会低估所需的空间量。一个数据页面上允许的最大元素数为 254。如果时间系列数据的行大小较小,那么页面可能包含最大元素数,但存在未用空间,特别是在使用的页面大小不是 2 KB 的情况下。
滚动窗口容器允许您将当前数据量限制为特定时间范围。
滚动窗口容器包含带有不同存储需求的两种不同类型的分区:容器分区和窗口分区。容器分区包含有关滚动窗口时间间隔和分区的信息。窗口分区存储时间系列元素。容器分区需要的空间通常比窗口分区少得多。要避免为容器分区分配不必要的空间,请将容器分区和窗口分区分别存储在具有不同扩展数据块大小的不同数据库空间中。
滚动窗口容器具有一个容器分区。使用以下公式可估算容器分区的大小:
空间 = (container_name_length + dbspace_name_length + 48) * (active_windowsize + dormant_windowsize) * 2
滚动窗口容器具有多个窗口分区。您可以为窗口分区分配多个数据库空间。使用以下公式可估算每个数据库空间中的分区数:
每个数据库空间中的分区数近似值 = CEIL((active_windowsize + dormant_windowsize) / number_dbspaces) + 1