OmniSci

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 21:03, 30 января 2019.
(перенаправлено с «MapD»)
OmniSci
OmniSci1.jpg
Создатели: Тод Мостак, Томас Грэхэм
Выпущена: 2013
Постоянный выпуск: 4.4
Написана на: C, C++, Python
Операционная система: CentOS,Ubuntu
Платформа: x86-64
Локализация: Английский
Тип ПО: Механизм SQL и визуализация
Веб-сайт omnisci.com

OmniSci - это платформа аналитики, предназначенная для обработки очень больших наборов данных. Он использует вычислительную мощность графических процессоров наряду с традиционными процессорами для достижения очень высокой производительности. OmniSci объединяет механизм SQL с открытым исходным кодом (OmniSci Core), рендеринг на стороне сервера (OmniSci Render) и визуализацию данных на основе Интернета (OmniSci Immerse), чтобы предоставить комплексный инструмент для анализа данных. Изначально называлась OmniSci, затем в 2013 году была переименована в MapD, затем в сентябре 2018 года обратно в OmniSci[Источник 1].

Архитектура

OmniSci Core

Основой платформы является OmniSci Core, база данных с ускорением с открытым исходным кодом. OmniSci Core использует мощность обработки графических процессоров и возвращает результаты SQL-запросов в миллисекундах, даже в таблицах с миллиардами строк. OmniSci Core обеспечивает высокую производительность благодаря быстрой компиляции запросов, векторизации запросов и расширенному управлению памятью.

Собственный SQL

Благодаря встроенной поддержке SQL OmniSci Core возвращает результаты запроса в сотни раз быстрее, чем платформы аналитических баз данных только для CPU. Используйте существующие знания SQL для запроса данных. Вы можете использовать автономный механизм SQL с командной строкой или редактор SQL, который является частью интерфейса OmniSci Immerse visual analytics. Результаты SQL-запроса могут выводиться на OmniSci Immerse или в стороннее программное обеспечение, такое как BIRT, Power BI, Qlik или Tableau.

Геопространственные данные

OmniSci Core может хранить и запрашивать данные с использованием собственных типов Open Geospatial Consortium (OGC), включая POINT, LINESTRING, POLYGON и MULTIPOLYGON. С поддержкой гео-типа вы можете запрашивать геоданные в масштабе с помощью специальных геопространственных функций. Используя мощь обработки GPU, вы можете быстро и интерактивно рассчитать расстояния между двумя точками и пересечения между объектами.

Open Source

OmniSci Core является открытым исходным кодом и поощряет вклад и инновации от глобального сообщества пользователей. Он доступен в Github под лицензией Apache 2.0, а также компоненты, такие как интерфейс Python (pymapd) и инфраструктура JavaScript (mapd-connector, mapd-charting), что делает OmniSci лидером в аналитике с открытым исходным кодом.

OmniSci Render

OmniSci Render работает на стороне сервера, используя кэширование буфера GPU, графические API и интерфейс на основе Vega для создания настраиваемых карт точек, карт тепла, choropleths, диаграмм рассеяния и других визуализаций. OmniSci позволяет исследовать данные, создавая и отправляя легкие PNG-изображения в веб-браузер, избегая больших объемов передачи данных. Быстрые SQL-запросы делают метаданные в визуализации, как если бы данные существовали на стороне браузера. Полоса пропускания сети является узким местом для сложных данных диаграммы, поэтому OmniSci использует in-situ рендеринг результатов запроса на GPU для ускорения визуального рендеринга. Это отличает OmniSci от систем, которые быстро выполняют запросы, но затем передают результаты клиенту для рендеринга, что замедляет производительность.

Геопространственный анализ

Эффективный геопространственный анализ требует быстрой обработки данных сложных фигур на карте. OmniSci может импортировать и отображать миллионы строк или многоугольников на геограмме с минимальным временем задержки. Технология рендеринга на стороне сервера предотвращает замедление, связанное с передачей данных по сети клиенту. Вы можете выбрать формы местоположения вплоть до локального уровня, например, переписи или построения следов, а также кросс-фильтра в интерактивном режиме.

Визуализиция с помощью Vega

Комплексная визуализация на стороне сервера задается с помощью адаптации Vega Visualization Grammar. OmniSci Immerse генерирует спецификации рендеринга Vega за кулисами; однако вы также можете создавать пользовательские визуализации с использованием того же API. Эта настраиваемая система визуализации сочетает в себе гибкость легкого интерфейса с мощью процессора GPU.

OmniSci Immerse

OmniSci Immerse - это веб-интерфейс визуализации данных, который использует OmniSci Core и OmniSci Render для визуального взаимодействия. Интуитивно понятный и простой в использовании OmniSci Immerse обеспечивает стандартные визуализации, такие как линейные, штриховые и круговые диаграммы, а также сложные визуализации данных, такие как геоточечные карты, карты гео-теплоты, choropleths и диаграммы рассеяния. Погружение обеспечивает быстрое понимание и позволяет легко распознать.

Сводки

Используйте панели инструментов для создания и организации диаграмм. Панели автоматически перекрестно фильтруют при взаимодействии с данными и обновляют с нулевой задержкой. Вы можете создавать информационные панели и взаимодействовать с обычными диаграммами и таблицами данных, а также с диаграммами рассеяния и географами, созданными OmniSci Render. Вы также можете создавать свои собственные запросы в редакторе SQL.

Графики

Immerse позволяет создавать различные типы диаграмм. Вы можете отображать точечные карты, карты тепла и choropleths наряду с негеографическими диаграммами, графиками и таблицами. При масштабировании любой карты визуализации обновляются немедленно, чтобы отобразить данные, отфильтрованные в этом географическом контексте. Несколько источников географических данных могут отображаться как разные слои на одной карте, что позволяет легко находить пространственные отношения между ними. Создайте геограммы с несколькими уровнями данных, чтобы визуализировать взаимосвязь между факторами в географической области. Каждый слой представляет собой отдельную метрику, наложенную на одну и ту же карту. Эти разные показатели могут исходить из одного и того же или другого базового набора данных. Вы можете манипулировать слоями различными способами, в том числе изменять порядок, показывать или скрывать, корректировать непрозрачность или добавлять или удалять легенды. Схематично архитектура изображена на рисунке 1.

Рисунок 1 - Архитектура

Установка

Подготовка

Подготовьте свой компьютер Centos 7, установив Java Development Kit, создав пользователя OmniSci и включив доступ к HTTP-порту 9092 через брандмауэр.

JDK

Следуйте этим инструкциям, чтобы установить безголовый JDK и настроить переменную среды с помощью пути к библиотеке. «Безголовый» Java Development Kit не поддерживает поддержку клавиатуры, мыши или систем отображения. Он имеет меньше зависимостей и лучше всего подходит для хоста сервера.

  1. Откройте терминал на главной машине.
  2. Установите безголовый JDK, используя следующую команду:
sudo yum install java-1.8.0-openjdk-headless

Обновление и перезагрузка

Обновите всю систему и перезагрузите ее, чтобы активировать последнее ядро.

sudo yum update
sudo reboot

Создайте пользователя OmniSc

Создайте группу, называемую omnisci, и пользователь с именем omnisci, который будет владельцем базы данных OmniSci. Вы можете создать группу и пользователя с помощью команды useradd и -U.

sudo yum update
sudo reboot

Firewall

Чтобы использовать Immerse, вы должны подготовить свой хост-компьютер для приема HTTP-соединений. Вы можете настроить брандмауэр для внешнего доступа к HTTP-порту 9092.

  1. Создайте свой каталог $ MAPD_PATH. OmniSci рекомендует / opt / mapd.
  2. Разверните файл архива OmniSci в каталоге $ MAPD_PATH с помощью следующей команды.
tar -xvf <file_name>.tar.gz


Конфигурация

Создать пользователя OmniSci

Используйте следующую команду для создания пользователя omnisci. Параметр -U также создает группу omnisci.[Источник 2].

sudo useradd -U omnisci

Установка переменных среды

Для удобства вы можете обновить .bashrc с необходимыми переменными среды.

  1. Откройте окно терминала.
  2. Введите cd ~ /, чтобы перейти в домашний каталог.
  3. Откройте .bashrc в текстовом редакторе. Например, sudo gedit .bashrc.
  4. Отредактируйте файл .bashrc. Добавьте следующие команды экспорта в разделе «Пользовательские псевдонимы и функции».
# User specific aliases and functions
export MAPD_USER=mapd
export MAPD_GROUP=mapd
export MAPD_STORAGE=/var/lib/mapd
export MAPD_PATH=/opt/mapd
export MAPD_LOG=/var/lib/mapd/data/mapd_log
  1. Сохраните файл .bashrc.
  2. Откройте новое окно терминала, чтобы использовать ваши изменения.

Каталог $ MAPD_STORAGE должен быть выделен для OmniSci: не устанавливайте его в каталог, совместно используемый другими пакетами.

Инициализация

Этот шаг инициализирует базу данных и подготавливает команды systemd для OmniSci.

  1. Запустите установщик systemd. Этот скрипт требует доступа sudo. Возможно, вам будет предложено ввести пароль. Примите предоставленные значения (на основе переменных среды) или внесите необходимые изменения. Сценарий создает каталог данных в $ MAPD_STORAGE с каталогами mapd_catalogs, mapd_data и mapd_export. Каталоги mapd_import и mapd_log создаются при первом вводе данных. Каталог mapd_log является наиболее интересным для администратора OmniSci.
cd $MAPD_PATH/systemd
./install_mapd_systemd.sh
</console

==Aктивация==
Запустите и используйте OmniSci Core и Immerse.
#Начало ядра OmniSci
<console>sudo systemctl start mapd_server
sudo systemctl start mapd_web_server
  1. Включите OmniSci Core, чтобы начать, когда система перезагрузится.
sudo systemctl enable mapd_server
sudo systemctl enable mapd_web_server

Источники

  1. Новостной источник // PR Newswire. [2019]. URL:https://www.prnewswire.com/news-releases/mapd-rebrands-to-omnisci-300720094.html (дата обращения: 30.12.2018)
  2. Документация // OmniSci. URL:https://www.omnisci.com/docs/latest/4_configuration.html (дата обращения: 30.12.2018)