Включает ли использование пространства, сообщаемое MemSQL INFORMATION_SCHEMA.COLUMNAR_SEGMENTS, избыточность? - PullRequest
0 голосов
/ 09 июля 2019

Я пытаюсь получить место, используемое таблицей columnstore, используя таблицу INFORMATION_SCHEMA.COLUMNAR_SEGMENTS.Однако я не уверен, включает ли заявленное использование избыточность.Я использую следующий запрос:

SELECT
DATABASE_NAME AS DB,
TABLE_NAME AS TABLE_NAME ,
"" AS TOTAL_MEMORY_MB ,
SUM(UNCOMPRESSED_SIZE)/(1024*1024) AS DISK_UNCOMP_MB ,
SUM(COMPRESSED_SIZE)/(1024*1024) AS DISK_COMP_MB
FROM INFORMATION_SCHEMA.COLUMNAR_SEGMENTS
WHERE TABLE_NAME = "table_name"

Может кто-нибудь помочь мне разобраться в использовании пространства, указанном в этой таблице?Включает ли это также и избыточность?Если мы не агрегируем, это дает результат для отдельных разделов.Однако я не уверен, включает ли он также и избыточный раздел.

1 Ответ

1 голос
/ 09 июля 2019

да, COLUMNAR_SEGMENTS включает избыточность (он показывает все файлы больших двоичных объектов на диске, независимо от того, находится ли он на главном или подчиненном устройстве).Это можно увидеть, вставив одну строку в таблицу с избыточностью 2 (и запустив таблицу оптимизации, чтобы строка была преобразована в формат columnstore), а затем запросив все BLOB-объекты (вы увидите 2 файла BLOB-объектов на 2 разных узлах).

...