Новая система Pyxis позволит создание более эффективных сетевых приложений

Новая система, которая автоматически упрощает доступ к базам данных, способна производить масштабные сетевые приложения втрое быстрее.

Большинство современных вебсайтов поддерживает масштабные базы данных. К примеру, сайты интернет-магазинов имеют базы данных ассортимента и оценок посетителей, сайты туроператоров и турагентств содержат базы данных по свободным местам на авиарейсах, а сайты социальных сетей обладают базами данных фотографий и комментариев.

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

В ходе 38-й международной конференции по Очень Большим Базам Данных исследователи из лаборатории информатики и искусственного интеллекта Массачусетского технологического института представили новую систему, которая автоматически упрощает образцы доступа к базам данных вебсайтов, ускоряя такие сайты более чем в три раза. И там, где другим системам, обещающим подобные ускорения, требуется использование специальных языков программирования, система ученых из Массачусетского института под названием Pyxis работает с типами языков, уже одобренных веб-разработчиками.

Транзакции веб-сервисов обычно включают и поиск данных, и подсчет. Как правило, данные хранятся на одном сервере, а вычисление производится на другом. Прикладному серверу и базе данных, возможно, придется обмениваться информацией многократно, чтобы получить искомый результат, например, о недоступности авиарейса.

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

Но так называемая прикладная логика и запросы к базе данных написаны на разных языках, которые оптимизированы для обращения с различными типами операций, а потому перемещение кода в базу данных может потребовать не только ее переписывания, но и пересмотра того, как она сделана. Трудно разделить программу на две без ошибок, не потеряв, к примеру, путь, который необходим серверу для изменения определенной переменной в определенной точке.

Наконец, даже если программист уделит время и убедится, что программа не производит ошибок, остается проблема с постоянными изменениями требований к серверам баз данных. В ходе нормальной работы центральный процессор сервера может обладать большой мощностью для работы с небольшим объемом прикладной логики. Однако внезапный скачок трафика способен настолько загрузить центральный процессор, что дополнительное вычисление приведет к превышению лимита его мощности, в результате чего выполнение операций на сайте начнет «тормозить» еще сильней, чем во время обмена информацией между двумя серверами.

Графические результаты

Pyxis решает все указанные проблемы. Она автоматически делит программу между прикладным сервером и сервером базы данных, и делает это так, чтобы выполнение программы не нарушалось ни в коем случае. Также она контролирует нагрузку на центральный процессор сервера базы данных, позволяя выполнять больше или меньше прикладной логики в зависимости от доступной мощности.

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

Перемещение кода между узлами и есть определенное количество данных, которое должно переноситься от предыдущего положения в следующее“, пояснил профессор Мэдден. „Если следующее положение использует некоторую переменную, которая была вычислена в предыдущем положении, то между двумя этими положениями существует некоторая зависимость данных, и размер этой зависимости равен размеру переменной“. Если на компьютере запущена вся программа, то переменная сохраняется в основной памяти, и каждое положение получает к ней прямой доступ. Однако если последовательные положения запущены на разных компьютерах, данные вынуждены совершать скачки вместе с ними.

Передача данных по сети кое-чего стоит, и также обладает стоимостью каждый сетевой цикл, который вы совершаете“, уточнил Мэдден. „А потому мы хотим найти такое размещение этих узлов на двух разных серверах, чтобы оно позволило минимизировать стоимость или время выполнения программы“.

Pyxis предусматривает несколько таких размещения узлов. „Наша система способна автоматически переключаться между ними, основываясь на текущей загрузке сервера“, сказал аспирант Элвин Чен.

Образцовое тестирование

В ходе экспериментов, включающих стандартный набор моделируемых транзакций базы данных, Pyxis показала втрое большую скорость выполнения, сократив потребление полосы пропускания почти наполовину. Кроме того, усовершенствования, которые предоставляет система, лишь на несколько процентов отличались от ручной оптимизации кода программистами.

В настоящее время Pyxis работает с программами, написанными на Java, языке, предпочитаемом многими коммерческими веб-разработчиками. Адаптирование к другим популярным языкам программирования потребовало бы только пересмотра кода, которые переводит программы в графические модели, а большая часть системы осталась бы нетронутой.

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

Веб-программисты, которым Java знакома больше SQL, иногда будут перемещать большие объемы данных между сервером базы данных и прикладным сервером, чтобы выполнить операции, которые на SQL, так или иначе, выполнить можно более эффективно. Ученые разрабатывают систему на основе Pyxis под названием StatusQuo, которая способа идентифицировать столь неэффективную прикладную логику. Прикладной код в этом случае автоматически преобразуется в запрос SQL, который база данных исполняет любым наиболее эффективным способом.

04.09.2012


Подписаться в Telegram



Net&IT

В МФТИ создали бота для распознавания нот
В МФТИ создали бота для распознавания нот

Студенты МФТИ создали программу под назва...

Plant Phenomics: Как технологии помогают фермерам сохранить урожай риса
Plant Phenomics: Как технологии помогают фермерам сохранить урожай риса

Благодаря новым технологиям искусственный инте...

Челябинские ученые сделают коммунальные машины автономными
Челябинские ученые сделают коммунальные машины автономными

Программу для управления техникой, котора...

Студенты ТИСБИ разработали проект онлайн-платформы для геймеров
Студенты ТИСБИ разработали проект онлайн-платформы для геймеров

Студенты Университета управления ТИСБИ в ...

Nature: Созданные ИИ тексты будут размечаться водяными знаками
Nature: Созданные ИИ тексты будут размечаться водяными знаками

Исследователи из лондонской лаборатории G...

Российская игра о наполеоновских войнах станет бесплатной
Российская игра о наполеоновских войнах станет бесплатной

У российской аудитории растет интерес к в

В НГУ запустили пилотный кластер суперкомпьютерного центра «Лаврентьев»
В НГУ запустили пилотный кластер суперкомпьютерного центра «Лаврентьев»

В Новосибирском государственном университете з...

Эксперты МИФИ объяснили решение Microsoft и Google о мирном атоме
Эксперты МИФИ объяснили решение Microsoft и Google о мирном атоме

Технологические корпорации всё чаще обращ...

HB&ET: Пожилые чаще молодых относятся к ИИ как к кому-то живому
HB&ET: Пожилые чаще молодых относятся к ИИ как к кому-то живому

В исследовании Имперского колледжа Лондона люд...

В МФТИ создали ПО для нефтяников и золотодобытчиков
В МФТИ создали ПО для нефтяников и золотодобытчиков

Сотрудники МФТИ предложили цифровое решение, к...

Поиск на сайте

Знатоки клуба инноваций


ТОП - Новости мира, инновации

В Японии предложили способ усовершенствовать дополненную реальность на смартфоне
В Японии предложили способ усовершенствовать дополненную реальность на смартфоне
Японские ученые обнаружили бактерию, которая поможет сохранить молодость кожи
Японские ученые обнаружили бактерию, которая поможет сохранить молодость кожи
В АлтГУ вывели штамм бактерий для замены антибиотиков в животноводстве
В АлтГУ вывели штамм бактерий для замены антибиотиков в животноводстве
Исследование НИУ ВШЭ: Курящего проще обвести вокруг пальца
Исследование НИУ ВШЭ: Курящего проще обвести вокруг пальца
SciAdv: На Марсе была горячая вода — найдено доказательство в древнем метеорите
SciAdv: На Марсе была горячая вода — найдено доказательство в древнем метеорите
В ТОГУ будут использовать лазерные сканеры для создания идеальных зданий
В ТОГУ будут использовать лазерные сканеры для создания идеальных зданий
В МФТИ создали бота для распознавания нот
В МФТИ создали бота для распознавания нот
Science: У шимпанзе есть слабо развитая культура
Science: У шимпанзе есть слабо развитая культура
Ученые МФТИ придумали, как пропатчить сердце
Ученые МФТИ придумали, как пропатчить сердце
Ученые научились производить заживляющие наночастицы в промышленных масштабах
Ученые научились производить заживляющие наночастицы в промышленных масштабах
В ТПУ научились управлять свойствами графена с помощью лазера
В ТПУ научились управлять свойствами графена с помощью лазера
Surfaces and Interfaces: Куркума и серебро на мембранах стерилизуют вирусы
Surfaces and Interfaces: Куркума и серебро на мембранах стерилизуют вирусы
Внеклеточные везикулы — новое слово в лечении воспалительных заболеваний кишечника
Внеклеточные везикулы — новое слово в лечении воспалительных заболеваний кишечника
1 укол вместо 15: в Челябинске предложили революционный метод лечения рака
1 укол вместо 15: в Челябинске предложили революционный метод лечения рака
The American Journal of Human Genetics: Бесплодие может быть вызвано мутацией
The American Journal of Human Genetics: Бесплодие может быть вызвано мутацией

Новости компаний, релизы

Дмитрий Чернышенко провел рабочую встречу с главой Татарстана Рустамом Миннихановым
Нижегородский завод продемонстрировал разработанные по нацпроекту материалы на AMTEXPO
Делегация Набережночелнинского педагогического университета прибыла в Алжир
В Москве открыт памятник «отцу» советского ядерного оружия
3D-печать: от самых смелых концепций до твердой реальности