Для чего нужны библиотеки в python
И еще несколько полезных библиотек для Python (с примерами)
Введение
У python одно из самых крупных комьюнити, это обусловлено тем, что этот язык любят многие за его простоту и универсальность. Очень много энтузиастов, которые создают всё новые и новые библиотеки для облегчения разработки, поэтому среди всего этого разнообразия каждый может подобрать несколько библиотек для себя. На github существует много проектов, которые можно встроить к себе в проект, чтобы оптимизировать, улучшить или просто расширить его функционал.
Хотелось бы рассмотреть несколько интересных на мой взгляд библиотек.
Стилизация print
icecream
Для форматирования вывода существует одна удобная библиотека под названием icecream. Она помогает упростить написание логов или принтов для отладки. Рассмотрим пример её работы:
Чтобы подключить информацию о том, в каком месте программы происходит вывод, необходимо добавить всего лишь один аргумент в конфигурации модуля:
Это помогает более точно понять в каком месте происходит сбой в работе программы:
Также можно поменять префикс, который добавляется в начале строки, по дефолту он задан “ic|”. Удобно добавить время для вывода, чтобы видеть в какой момент времени и сколько занимал переход от одного принта к другому.
Если у вас уже имеются расставленные принты в коде, то легко можно переприсвоить print на ic:
Рассмотрим пример вывода более сложных структур, например, словарей:
Как видно на скриншоте, то вывод данных в таком формате читать гораздо легче, нежели обычный принт.
Также эта библиотека предоставляет возможность стилизовать вывод в зависимости от предоставляемых данных. Например, если есть необходимость дополнительно оформлять текст ошибки (Exception) или есть желание дополнительно выводить тип данных:
colorama
Многопоточность (многозадачность)
multitasking
Достаточно выполнить простую установку: pip install multitasking и далее оборачивать метод декоратором @task
И если удалить @multitasking.task, код выполнится последовательно:
Связь с другими языками
pythonnet
Иногда возникает потребность запустить код, написанный на другом языке, через Python, например, в целях проверки работы какого-либо стороннего модуля или для оптимизации кода. Существует несколько библиотек, позволяющих сделать это, например, pythonnet позволяет запустить некоторую часть кода, написанную на C# в Python (pythonnet позволяет рассматривать множество элементов clr, как модули в python).
Обращаемся к C# через Python
JPype
Создание десктопных приложений и UI
Для работы с созданием графических приложений есть несколько популярных библиотек, в частности встроенный tkinter и Qt. Но когда необходимо сделать красивое, легковесное графическое приложение, то хотелось бы использовать что-то более мощное, например, html+css+js, именно с этим может помочь библиотека EEL. Она позволяет создать десктопное приложение, где в качестве графической оболочки используется html, css и js (можно использовать различные фреймворки), а в качестве языка для написания бэк-части используется Python (подробнее тут).
Приведем простой пример использования библиотеки. Python код:
И сама структура проекта должна выглядеть так:
Можно запустить файл main.py и убедиться, что всё работает:
Анимация математических операций и функций
manim
Для создания различного рода графика существуют популярные библиотеки по типу matplotlib, seaborn (построенный поверх matplotlib и pandas). Но хотел бы отметить библиотеку, позволяющую создавать анимации различных графиков, функций и различного рода пользовательских текстов: Manim.
Также более серьёзный пример работы:
Оценка производительности
pympler
Потребление памяти в Python отдельная проблема, которой можно посвятить много времени, поэтому зачастую приходится следить за тем, чтобы python не сожрал всю оперативку. Для проверки памяти есть замечательный модуль pympler, который поможет не только посмотреть память, занимаемую объектом, но также поможет проследить за памятью, которую занимают отдельные классы или типы данных:
Проследим за изменением памяти, занимаемой классом A:
И в целом за памятью, занимаемой различными структурами
py-spy
Но знать распределение памяти зачастую недостаточно, так как программа может тормозить и не выполнять работу за ожидаемое время. В таком случае необходимо отследить, какие процессы сколько времени занимают.
В таком случае можно воспользоваться библиотекой py-spy, она позволяет без остановки программы проверить, сколько времени какие процессы в ней занимают. Установить библиотеку можно через pip install py-spy. Усложним код предыдущей программы, создадим дополнительный модуль sec.py:
Обработка языков
pymorphy2
Плюсы этой библиотеки в том, что она позволяет обрабатывать до нескольких десятков тысяч слов в секунду, занимает мало памяти и основана на словаре opencorpora.
Небольшой пример использования библиотеки:
Заключение
Существует огромное количество малоизвестных библиотек, которые могут облегчить жизнь разработчику, поэтому в огромном сообществе python-разработчиков всегда можно найти что-то для своего проекта, что поможет расширить функционал вашего проекта или ускорить работу как самого проекта, так и его разработки.
Подборка полезных библиотек для Python с примерами #1
У Python одно из самых больших комьюнити. Этот язык любят за его простоту, лояльность и за его универсальность, которая была достигнута созданием огромного числа библиотек и фреймворков, таких как numpy, django, flask, pygame, tornado, tensorflow и других. На сайте pypi содержится более 320 тысяч проектов от малоизвестных и заброшенных до огромных, которыми пользуются миллионы людей в различных сферах.
Однако даже в таком большом числе библиотек иногда бывает трудно найти нужную. Поэтому хотелось бы поделиться некоторыми полезными библиотеками и привести примеры работы с ними.
Библиотеки, рассмотренные в статье:
mutagen
Получение информации об аудио
В отличие от многих других библиотек mutagen позволяет вызовом всего одной функции получить всю необходимую информацию об аудио в удобно читаемом формате.
in_place
Бывают моменты, когда необходимо считать данные с файла, изменить их и перезаписать в тот же файл. В такие моменты приходится либо хранить данные в буфере в оперативной памяти, либо создавать новый файл и работать сразу с 2мя файлами. Модуль in_place берет на себя работу с временными файлами, благодаря чему новый файл будет носить такое же название. Для начала работы достаточно установить модуль: pip install in_place
Допустим, необходимо в файле с данными удалить все цифры, которые там встречаются, тогда можно выполнить следующий код, который заменит старый файл:
Исходный файл с грязным текстом
Исходный файл с очищенным текстом
Пример с сохранением бэкапа исходного файла
Также класс InPlace может принимать еще несколько модификаторов:
— путь к оригиналу файла
pyarmor
Создадим в некоторой папке “pyarm” два файла с кодом, первый файл назовём “one_module.py” с кодом:
Далее зайдем в раздел “Obfuscate Script Wizard”, в нем пропишем путь к директории с файлами и основной файл:
Далее нажмем “next” и пропишем дополнительный настройки, что необходимо рекурсивно в папке обфусцировать все файлы:
И нажмем “obfuscate”. В папке “pyarm” появится папка “dist”, в которой будут лежать обфусцированые файлы. Посмотрим, что в них:
Можно запустить main.py и убедиться, что все работает, как надо. Алгоритм отработал так же, как и до изменения кода:
Pyarmor отлично справился с задачей сокрытия кода. Это не самый функциональный обфускатор, но его можно применять для базовой защиты некоторых кусков кода.
pyspellcheker
Пример использования библиотеки
Сразу стоит провести испытания по скорости исправления опечаток для 5000 слов:
Библиотека показала хорошие результаты, в среднем на одно слово будет тратиться 0.0006 секунд. Это означает, что данный модуль можно использовать в проектах и при это не бояться за замедление работы программы.
mimesis
Большое преимущество этого модуля состоит в том, что данные возвращаются в формате datetime объекта.
И это лишь малая часть тех данных, которые позволяет генерировать модуль. Как итог можно сказать, что модуль позволяет легко генерировать новые данные, которые в пару вызовов функций можно добавить к себе в приложение.
Заключение
Сообщество ежедневно улучшает уже имеющиеся библиотеки и создает абсолютно новые, поэтому в таком большом разнообразии каждый может найти для себя что-то полезное и упрощающее разработку.
Основные модули Python
Одна из отличительных черт Python — его невероятная расширяемость. Модули из списка, представленного в нашей статье, покрывают практически все нужды разработчика. С их помощью вы сможете работать с базами данных, графическими пользовательскими интерфейсами, изображениями, звуком и т. д.
Графический интерфейс
В стандартной библиотеке Python есть графическая библиотека интерфейсов Tkinter. Но при помощи внешних модулей вы можете поднять GUI ваших приложений на новый уровень.
wxPython. Создает по-настоящему нативные пользовательские интерфейсы для Python-приложений, которые могут запускаться на Windows, Mac и Linux, а также прочих Unix-подобных системах практически без каких-либо модификаций.
PyGObject. Пакет Python, предоставляющий привязки для библиотек на базе Gobject, таких как GTK, GStreamer, WebKitGTK, GLib, GIO и др.
Pmw. Набор инструментов для создания на Python высокоуровневых составных виджетов (с использованием модуля Tkinter).
WCK. Расширение API, позволяющее реализовывать на чистом Python всевозможные пользовательские виджеты.
Tix. Мощный набор компонентов пользовательского интерфейса, при помощи которого можно расширить возможности ваших Tcl/Tk и Python-приложений. Использование Tix вместе с Tk очень улучшает внешний вид и функционал приложений.
Базы данных
Модули, перечисленные в этом разделе, имеют открытый исходный код. С их помощью можно существенно облегчить доступ к базам данных.
MySQLdb. Python DB API-2.0-совместимый интерфейс для доступа к базам данных MySQL.
PyGreSQL. Модуль, который служит интерфейсом для базы данных PostgreSQL. Он дает возможность работать с PostgreSQL-фичами из Python-скрипта.
Gadfly. Простая реляционная СУБД, реализованная на Python (на основе SQL).
SQLAlchemy. Библиотека Python для работы с базами данных с применением ORM. Позволяет разработчикам приложений использовать всю мощь и гибкость SQL.
KinterbasDB. Расширение Python, реализующее поддержку совместимости Python Database API 2.0 для опенсорсной реляционной базы данных Firebird и некоторых версий ее проприетарной кузины — Borland Interbase.
Веб-разработка
Python это популярный язык для веб-разработки. Все пакеты Python, перечисленные в этом разделе, делают жизнь веб-разработчика гораздо проще.
Beautiful Soup. Библиотека Python для быстрого парсинга HTML- и XML-файлов.
scrape. Модуль Python для веб-браузинга и скрапинга.
mechanize. Очень полезный модуль, благодаря которому вы получаете эмулятор браузера для взаимодействия с веб-страницами.
libgmail. Обеспечивает доступ к гугловскому сервису Gmail.
Google Maps. Благодаря этому модулю можно использовать веб-сервисы платформы Google Maps в своем приложении на Python.
Requests позволяет невероятно легко отсылать HTTP/1.1-запросы.
Selenium. При помощи этого модуля разработчики могут программными методами открывать веб-страницы, заполнять поля, кликать по кнопкам и отсылать формы.
pyquery позволяет делать jQuery-запросы в XML-документах. API этой библиотеки максимально приближен к jQuery. Для быстрой манипуляции с XML и HTML pyquery использует LXML.
Манипуляции с изображениями и видео
Python это очень мощный язык; с его помощью можно решать многие задачи, например, работать с изображениями. Стандартная библиотека не имеет встроенного функционала для этих целей, но следующие модули вам помогут.
Python Imaging Library (PIL). PIL добавляет в интерпретатор Python возможность обработки изображений. Эта библиотека поддерживает много форматов файлов и предоставляет хороший функционал для работы с графикой.
Gdmodule. Это интерфейс для библиотеки GD, созданной Томасом Баутелом.
VideoCapture. Win32-расширение для доступа к таким видеоустройствам, как веб-камеры (USB) и ТВ-карты.
MoviePy. Библиотека Python для редактирования видео: обрезка, склейка, вставка надписей, нелинейное редактирование, обработка видео и создание пользовательских эффектов.
pyscreenshot. Кроссплатформенный модуль, позволяющий делать скриншоты без установки сторонних библиотек.
Data Science и математика
Для Python есть много расширений, которые можно использовать в научных целях, например, в математике, науке о данных и инженерии.
SciPy. SciPy (произносится как «сай пай») это экосистема программного обеспечения с открытым кодом для математики, науки и инженерии.
Matplotlib. Библиотека Python для создания 2D-графиков. Генерирует пригодные для печати изображения в разных форматах. Matplotlib может использоваться в скриптах, интерпретаторе Python, в Jupyter Notebook, на серверах веб-приложений и в GUI-инструментарии.
Pandas. Быстрый, мощный, гибкий и легкий в использовании инструмент для анализа данных и работы с данными. Имеет открытый исходный код.
Numpy. Библиотека, обеспечивающая поддержку больших, многомерных массивов и матриц. Для работы с этими массивами Numpy имеет обширную коллекцию высокоуровневых математических функций.
Разработка игр
Python — это очень разносторонний язык, позволяющий программистам создавать самые разнообразные приложения, включая видеоигры.
Pygame. Набор модулей для написания видеоигр. Pygame расширяет функционал прекрасной библиотеки SDL. Благодаря ему на Python можно создавать полнофункциональные игры и мультимедиа-программы.
Pyglet. Мощная, но при этом простая в использовании библиотека Python для разработки игр и других приложений с большим количеством визуальных эффектов для Windows, Mac OS X и Linux.
pyOpenGL. Этот модуль чаще других используется для обеспечения работы с библиотекой OpenGL и связанными с нею API в программах на Python.
Благодаря нескольким очень полезным модулям работать со звуком в Python довольно просто.
pySonic. Python-враппер для высокопроизводительной кроссплатформенной звуковой библиотеки FMOD.
PyMedia. Модуль Python для манипуляций с файлами WAV, MP3, Ogg, AVI, DivX, DVD, CD-DA и др. Позволяет анализировать, демультиплексировать и мультиплексировать, декодировать и кодировать все поддерживаемые форматы. Может компилироваться для Windows, Linux и Cygwin.
PMIDI. Библиотека PMIDI служит оберткой для библиотеки Windows MIDI Streams, обеспечивая возможность использования последней в Python. Благодаря PMIDI разработчики могут на лету генерировать в своем коде синтезированные музыкальные последовательности, чтобы они проигрывались для пользователей.
Mutagen. Модуль для обработки метаданных аудио. Поддерживает аудиофайлы FLAC, M4A, Musepack, MP3, Ogg FLAC, Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio и WavPack.
Mac OS
Python очень хорошо интегрируется с Mac OS. Следующие модули могут пригодиться при разработке приложений для ОС Apple.
py2app. Это setuptools-команда, позволяющая создавать пакеты приложений и плагины для Mac OS X из Python-скриптов.
PyObjC. PyObjC это своего рода мост между Python и Objective-C. Благодаря ему можно создавать полнофункциональные Cocoa-приложения на чистом Python.
USB и последовательные порты
Знаете ли вы, что при помощи Python можно получить доступ к USB и последовательным портам компьютера? Если вам нужно решить подобную задачу, следующие модули помогут вам в этом.
PyUSB. Это простой в использовании модуль для доступа к USB-устройствам. PyUSB опирается на нативную системную библиотеку для USB-доступа. Работает «из коробки» с libusb 0.1, libusb 1.0, libusbx, libusb-win32 и OpenUSB, а также с Python в любой версии, начиная с 2.4 (и включая Python 3).
PySerial. Библиотека Python для доступа к последовательным портам.
USPP. Мультиплатформенный модуль Python для доступа к последовательным портам.
Разное
В таблице ниже вы найдете интересные модули, которые нельзя было отнести к какой-либо категории.
Язык программирования Python 3. Обзор библиотек принципов modules
Эта статья является кратким справочником по различным инструментам обработки данных, построения pipelines, системам для управления процессом разработки и т.д.
Моя цель — создать короткую статью-обзор, прочитав/просмотрев которую Вы будете примерно представлять весь спектр инструментов для работы с данными на языке Python. В основном упор будет сделан на обработку данных, но также будут упомянуты и другие библиотеки (web разработка, асинхронное программирование, принципы написания кода и т.д.), которые возможно пригодятся для выполнения поставленных перед Вами задач.
Если Вы ищите литературу по направлению Python или Power BI (разработка аналитических приложений), то загляните обязательно в мой Telegram канал @python_powerbi (пишу про разработку на Python, построение аналитических отчетов на Power BI) 😉
Итак, приступим. Начнем с библиотек обработки данных.
Обзор библиотек Python для обработки данных, анализа и визуализации данных
Библиотеки Python для парсинга страниц web сайтов (Web Scraping) и работа с API сайтов
Многопоточность, параллелизм, многопроцессорная обработка — библиотеки Python
В операционной системе существует два типа многозадачности:
Python Libraries / Инструменты для Machine Learning
Python Web Frameworks — Веб-Разработка сайтов, микросервисов. Обзор фреймворков
Фреймворки для разработки мобильных приложений, GUI Development
Фреймворки Python для разработки API
Python Libraries for Game Development (Библиотеки Python для разработки игр)
Python Libraries/Tools for Image Processing
Анализ изображений – это извлечение значимой информации из изображений. Что полезного можно получить из изображений?
Обзор инструментов:
Python Libraries For Text Analytics — библиотеки для анализа текста / NLP
Обработка написанных на естественном языке текстов (Natural Language Processing, NLP), с которой мы познакомились в предыдущей главе, и вычислительная лингвистика (Computational Linguistics, CL) — две сферы вычислительных методов изучения естественных языков.
NLP занимается разработкой методов решения связанных с языками практических задач, таких как извлечением информации, автоматическим распознаванием речи, машинным переводом, анализом тональности высказываний, формированием ответов на вопросы и автоматическим реферированием.
CL, с другой стороны, применяет вычислительные методы для постижения свойств естественных языков. Как мы понимаем язык? Как мы создаем языки? Как мы учим языки? Как различные языки связаны друг с другом?
Инструментарий Python для автоматического тестирования
Библиотеки Python для тестирования:
Обзор других библиотек Python (работа со временем, оперативной системой, числами и т.д.)
Лучшие IDE (интегрированные среды разработки) и редакторы кода для Python
Синхронизация. Координация распределенных приложений
Реляционные базы данных (СУБД)
NoSQL СУБД и Time-Series DataBase
WebSite Search Engine — механизм поиска для веб-сайта (поисковый движок)
Workflow Management системы и Брокеры сообщений
Система контроля версий
Git Frameworks. Автоматизация CI/CD
Создание образов, сборка и доставка контейнеров
SQL Based Engines
Качество кода
JavaScript Инструменты
Траблшутинг
BI — Business intelligence. Системы бизнес-аналитики
Ниже будут описаны 3 bi системы, по квадранту гартнера их можно упорядочить как:
Из всех трех я бы однозначно отдал первенство Power BI, т.к. будем откровенны — ни одна компания в мире не обладает потенциалом, который есть у Microsoft для работы с данными компаний. По сути, Power BI родился из Excel, сервисов хранилищ данных Microsoft. Инструментарий очень богат, плюс есть огромное множество интеграций с другим софтом (Python, R и др.).
Tableau на втором месте по большей части из-за очень крутой визуализации.
Ну а Qlik Sense занимает третье место (по инерции), т.к. когда то был лидером квадранта и многие компании до сих пор используют это ПО. У меня есть опыт работы с Qlik Sense и хочу сказать, что мне сложно его отнести к лидерам BI инструментов, т.к. QlikTech развивает свою экосистему обработки данных в ущерб функционалу BI. Что несомненно сказалось на позициях Qlik Sense на рынке. Плюс QlikTech свернул свой бесплатный софт Qlik Sense Desktop, что несомненно негативно отразилось на настроениях специалистов.
Другие системы визуализации данных, которые можно использовать в своих проектах
Принципы разработки программного обеспечения
В основе SOA лежат принципы многократного использования функциональных элементов ИТ, ликвидации дублирования функциональности в ПО, унификации типовых операционных процессов, обеспечения перевода операционной модели компании на централизованные процессы и функциональную организацию на основе промышленной платформы интеграции.
С помощью SOA реализуются три аспекта ИТ-сервисов:
И MVP, и MVVM являются производными от MVC. Основное различие между MVC и его производными заключается в зависимости каждого слоя от других уровней, а также от того, насколько тесно они связаны друг с другом.
MVP и MVVM лучше по сравнению с MVC, разбивают ваше приложение на модульные, специализированные компоненты, но они также увеличивают сложность вашего приложения. Для очень простого приложения с одним или двумя экранами MVC может работать очень хорошо. MVVM с привязкой данных привлекателен, поскольку он следует более реактивной модели программирования и требует меньше кода.
Протоколы передачи финансовых данных
Архитектурные подходы к проектированию модели данных
ETL, ELT, Data Pipeline — термины по обработке данных
Что такое Data Pipeline или Конвейер данных?
Data Pipeline (Конвейер данных) — это программное обеспечение, которое исключает множество ручных шагов из процесса и обеспечивает плавный, автоматизированный поток данных от одной станции к другой. Data Pipeline начинается с определения того, какие данные, откуда и как собирать. Он автоматизирует процессы, связанные с извлечением, преобразованием, объединением, проверкой и загрузкой данных для дальнейшего анализа и визуализации. Конвейер данных обеспечивает сквозную передачу данных, устраняя ошибки, узкие места или задержки. Data Pipeline может обрабатывать несколько потоков данных одновременно. Короче говоря, это абсолютная необходимость для современного data-driven предприятия.
Конвейер данных рассматривает все данные как потоковые данные и обеспечивает гибкие схемы. Независимо от того, поступают ли они из статических источников (например, базы данных с плоскими файлами) или из источников в реальном времени (например, онлайн розничные транзакции), конвейер данных делит каждый поток данных на более мелкие порции, которые он обрабатывает параллельно, предоставляя дополнительную вычислительную мощность.
Конвейер данных не требует, чтобы конечным пунктом назначения было хранилище данных. Он может направлять данные в другое приложение, такое как инструмент визуализации или Salesforce. Думайте о Data Pipeline как об окончательной сборочной линии.
Чем конвейер данных отличается от ETL?
ETL расшифровывается как Extract, Transform и Load. Системы ETL извлекают данные из одной системы, преобразуют их и загружают в базу данных или хранилище данных. Устаревшие конвейеры ETL обычно работают в пакетном режиме, что означает, что данные перемещаются единым большим блоком в определенное время в целевое хранилище данных. Как правило, это происходит по заданному расписанию или через регулярные запланированные интервалы. Например, вы можете настроить запуск пакетов в 00:30 каждый день, когда нагрузка на системы учета (ERP, MES и т.д.) низкая.
«Конвейер данных» является более широким термином, который охватывает ETL как подмножество. Конвейер данных относится к системе для перемещения данных из одной системы в другую. Данные могут преобразовываться или не преобразовываться, и они могут обрабатываться в режиме реального времени (в потоковом режиме) вместо пакетного типа обработки. Кроме того, данные могут не загружаться в базу данных или хранилище данных. Конвейер данных может использоваться для разных целей: таких как корзина AWS (контейнеры для объектов) или озеро данных, или может запускать триггер в другой системе, например, для запуска определенного бизнес-процесса.
ETL и ELT
7 отличий ETL от ELT:
Извлечение (Extract): это выгрузка исходных данных из исходной базы данных или источника данных (API, Excel, txt, csv и т.д.). При использовании ETL данные попадают во временную промежуточную область. В ELT данные сразу попадают в систему хранения озера данных.
Преобразование (Transform): это процесс изменения структуры информации, поэтому оно интегрируется с целевой системой данных и остальными данными в этой системе.
Загрузка (Load): относится к процессу внесения информации в систему хранения данных.
Что такое ETL?
ETL (или Извлечение, Преобразование, Загрузка) — это сбор и обработка данных из различных источников в одно хранилище данных, где они могут быть проанализированы. Ваша компания имеет доступ ко многим источникам данных, но чаще всего эти данные представляются менее полезным для вас способом. Результаты этого анализа могут быть использованы для информирования ваших бизнес-стратегий и решений.
Что такое ELT?
ELT позволяет загрузить все данные немедленно, а пользователи могут позже определить, какие данные преобразовать и анализировать.
Для начала рассмотрим термин «Озера данных» — это особые виды хранилищ данных, которые, в отличие от хранилищ данных OLAP, принимают любые виды структурированных или неструктурированных данных. Озера данных не требуют от вас преобразования данных перед их загрузкой. Вы можете немедленно загрузить любую необработанную информацию в озеро данных, независимо от ее формата или отсутствия формата. Преобразование данных все еще необходимо, прежде чем анализировать данные с помощью платформы бизнес-аналитики. Однако очистка, обогащение и преобразование данных происходят после загрузки данных в озеро данных.
ELT — это относительно новая технология, которая стала возможной благодаря современным облачным серверным технологиям. ELT в сочетании с озером данных позволяет вам сразу же получать доступ к постоянно расширяющемуся пулу необработанных данных по мере их доступности. Основное преимущество ELT перед ETL связано с гибкостью и простотой хранения новых неструктурированных данных. С ELT вы можете сохранить любой тип информации — даже если у вас нет времени или возможности сначала преобразовать и структурировать ее — обеспечивая немедленный доступ ко всей вашей информации, когда вы этого хотите. Кроме того, вам не нужно разрабатывать сложные процессы ETL до поступления данных, что экономит время разработчиков и аналитиков BI при работе с новой информацией.