Большие данные — уже не просто модная тема для дискуссий, а множество реальных проектов, приносящих бизнесу немалую пользу. Проекты в области больших данных стоят недешево. Поэтому очень важно не ошибиться при выборе технологии и просчитать все возможные риски. Об этом говорили участники секции «Большие данные» CNews Forum 2020.
Алексей Струченко: Мы предлагаем обрабатывать данные на видеокарте
Бизнес строит все больше корпоративных хранилищ данных. Сегодня проблема в том, чтобы ускорить процедуру их анализа. Для этого можно использовать технологию обработки данных на видеокарте, говорит Алексей Струченко, руководитель направления баз данных «Инфосистемы Джет».
CNews: Уровень использования данных остается крайне низким. В чем, по вашему мнению, причина?
Алексей Струченко: Мне ситуация видится иначе. Данные используются вполне продуктивно. Для многих клиентов мы строим новые корпоративные хранилища данных. Это делается как раз, чтобы применять накопленную информацию на качественно новом уровне. Современные идеи Data Lake и Machine Learning существенно влияют на развитие инфраструктуры. Другое дело, что процесс строительства таких хранилищ непростой. Немалые сложности в подобных проектах связаны с репликацией между различными источниками данных — особенно если часть данных нужно брать из SQL баз данных, а часть лежит в Big Data.
CNews: Какие технологии могут значительно ускорить и упростить процесс обработки больших данных?
Алексей Струченко: На мой взгляд, в части Performance в современных СУБД есть те или иные идеи ускорения работы с данными. Это и широкий набор специальных объектов (специальные типы индексов, материализованные представления), и различные возможности оптимизаторов, а в СУБД Oracle имеются дополнительные платные опции Enteprise Edition (Partitioning, Active Data Guard, OLAP), и новомодная технология Sharding.
Но если говорить про ускорение работы именно аналитических хранилищ, то в этом случае наиболее эффективна технология параллельного исполнения запросов и опция In-Memory Option, позволяющая обрабатывать в памяти данные в колоночном формате. Интересно, что давний спор про строчное и колоночное хранение данных в Oracle разрешен неожиданным способом —- с включенной опцией In-Memory БД может держать данные в памяти двумя способами, а оптимизатор решает, как эффективнее их обработать.
CNews: Чем отличаются предлагаемые SQream DB решения?
Алексей Струченко: В основе решения SQream DB лежит технология обработки данных на видеокарте. Видеокарты обладают очень высокой параллельностью, а аналитике больших данных именно это и нужно. Поэтому решение SQream DB выглядит не просто смелым, а вполне перспективным. Но в этот продукт заложена еще одна идея, которая не выходит на первый план. SQream DB разбивает данные на чанки. Каждый из них сохраняет специальные метаданные, согласно которым при выполнении запросов можно в ненужные чанки не заходить. Это несколько напоминает Partition Pruning в Oracle Database, когда оптимизатор Oracle при выполнении запроса заходит только в нужные партиции. Все, кто имел дело с этой технологией, знают насколько позитивно влияет использование партиций на производительность аналитических запросов.
В основном имеются два сценария. Можно перенести с процессора на видеокарту самые ресурсоемкие задачи и, таким образом, высвободить ресурсы. Или вынести самые критичные запросы и получить важные ответы в десятки раз быстрее. Использование этой технологии оправдано там, где важна высокая скорость обработки запросов и есть большой объем неструктурированных данных.