Режимы хранения Power BI Прежде всего, что вообще означает “загружать данные в” Power BI? Существует два основных способа, которыми Power BI может работать с данными: режим импорта (Import) и режим прямого запроса (Direct Query). Разные таблицы в вашем наборе данных Power BI могут иметь разные режимы хранения; существует также опция, называемая двойным режимом, в которой таблица может переключаться между режимом импорта и режимом прямого запроса в зависимости от обстоятельств. В режиме DirectQuery данные в вашем наборе данных Power BI не сохраняются, запросы отправляются в набор данных и набор данных отправляет запросы обратно в источник данных для получения данных по запросу. Это означает, что единственными ограничениями на объем данных, с которыми вы можете работать, являются ограничения, установленные вашим источником данных. В режиме импорта Power BI сохраняет копию ваших данных внутри набора данных в своем собственном внутреннем ядре базы данных, известном как ядро Vertipaq или ядро служб Analysis Services. Режим импорта является режимом хранения по умолчанию, и на то есть веская причина – он почти всегда обеспечивает наилучшую производительность ваших отчетов и позволяет использовать все функциональные возможности Power BI. Вопрос “сколько данных?” относится только к режиму импорта, потому что при его использовании Power BI накладывает различные ограничения на объем данных, которые могут храниться внутри.
Насколько велик ваш набор данных? Чтобы ответить на вопрос “сколько данных вы можете загрузить в Power BI?” Вам нужно знать, как измерить ваш набор данных. Для этого есть разные способы, но лучший способ - установить бесплатный инструмент под названием DAX Studio: его функция метрик модели показывает общий размер вашего набора данных на вкладке Сводка: Можете ли вы предсказать, насколько велик ваш набор данных, если вы знаете, сколько данных у вас в источнике данных? Вы должны импортировать все свои данные в набор данных, чтобы узнать, насколько велик ваш набор данных. Но можете ли вы определить это заранее? Ответ - нет. Вы можете быть почти уверены, что размер вашего набора данных будет меньше, чем размер данных в источнике, возможно всего на 10-20% от исходного размера. Это связано с тем, что Power BI очень эффективно сжимает данные при их импорте. Более того, то, как вы моделируете свои данные, может оказать большое влияние на то, насколько хорошо работает сжатие, и внесение нескольких изменений может привести к гораздо меньшему набору данных
Сколько данных вы можете загрузить в Power BI Desktop? Единственным практическим ограничением объема данных, которые вы можете загрузить в Power BI Desktop, является объем памяти вашего ПК; вам потребуется не менее 16 ГБ оперативной памяти, в идеале 32 ГБ, для обеспечения наилучшего взаимодействия. Однако Power BI Desktop – это всего лишь инструмент разработки - далее вам нужно публиковать в службе Power BI, чтобы другие люди могли просматривать ваш отчет, и именно здесь вступают в силу ограничения. Более того, существует ограничение в 10 ГБ на размер набора данных, который вы можете опубликовать в службе Power BI, хотя у вас могут быть наборы данных намного больше, чем в Power BI Premium. Честно говоря, вы все равно никогда не должны работать с чем-то вроде 10 ГБ данных в Power BI Desktop: размер файла будет огромным, сохранение будет медленным, и вы потратите много времени на ожидание импорта данных во время разработки. Что вам следует сделать, так это поработать с небольшим подмножеством ваших данных в Desktop и загружать полный объем только после публикации.
Какой объем данных вы можете загрузить в службу Power BI, если используете общую емкость (она же “Power BI Pro”)? Если вы не используете Power BI Premium при публикации в службе Power BI вы используете общую емкость (пользователи Power BI часто называют ее “Power BI Pro”, поскольку для ее использования требуется только лицензия Power BI Pro). Максимальный размер набора данных в общей емкости составляет 1 ГБ; если вы превысите это ограничение, вы получите ошибку “Невозможно сохранить изменения”.
Сколько данных вы можете загрузить в службу Power BI, если используете Power BI Premium или Premium Per User (PPU)? Максимальный размер набора данных по умолчанию в Power BI Premium capacity или PPU составляет 10 ГБ, но если вы включите формат хранения больших наборов данных, у вас могут быть наборы данных большего размера, а максимальный размер зависит от объема памяти, доступной в вашем Premium capacity. Максимальный объем памяти, доступный для набора данных в PPU, составляет 100 ГБ. Однако максимальный объем памяти, доступный для набора данных, не является максимальным размером набора данных: помимо памяти, используемой для хранения данных для набора данных, при запросе или обновлении набора данных потребуется больше памяти. Если вы выполняете полное обновление набора данных, может потребоваться почти вдвое больше памяти, необходимой для хранения самого набора данных.
Другие ограничения режима импорта Есть несколько других ограничений режима импорта, о которых следует упомянуть. Как описано здесь, у вас может быть только 1 999 999 997 различных значений в одном столбце, и у вас может быть только 16 000 столбцов в таблице, но если у вас так много столбцов, вы определенно допустили ошибку в том, как вы моделируете свои данные.
Power BI загружает все данные, но будут ли отчеты достаточно быстрыми для использования? Обычно, проблемы с производительностью, связанные с объемом данных, встречаются не так часто, как проблемы, вызванные неэффективным DAX в измерениях или плохими решениями при моделировании, хотя они и возникают – например, отдельные подсчеты в столбцах с очень большим количеством уникальных значений могут быть медленными. Если вы следуете рекомендациям, вы вряд ли столкнетесь с ними, если не работаете с объемами данных, требующими премиум-класса. Предполагая, что вы следовали всем рекомендациям по моделированию данных, вы должны быть в состоянии работать с таблицами с общим объемом до нескольких миллионов или десятков миллионов строк. Если вашим источником данных является Excel, то Power BI определенно справится с объемом имеющихся у вас данных; если вы работаете с реляционной базой данных, такой как SQL Server, режим импорта будет отлично работать; даже если вы работаете с сотнями гигабайт данных или более в источнике, таком как Azure Synapse, режим импорта Snowflake или BigQuery будет хорошим вариантом. Вам нужно очень хорошо знать Power BI, чтобы добиться хорошей производительности в режиме импорта с наибольшими объемами данных.