Выбор технологий, Методология исследования, Процесс разработки, Тестирование - Программа расчета агрегатов по накапливающимся данным для построения отчетов
Предлагаемая библиотека хранит все данные в отдельных таблицах, таким образом он не обязан использовать ту же СУБД, что и основное приложение. В качестве таковой выбрана MongoDB, так как различные типы агрегатов требуют различные данные для обновления, а данные в лог таблице и вовсе имеют произвольный формат. Документо-ориентированная СУБД, коей является MongoDB лучше приспособлена для хранения таких данных.
В качестве языка программирования выбран PHP 5.4, популярный и широко известный язык для веб-разработки. Есть также и личные причины -- большой опыт автора в работе с данным языком и возможность внедрить разработку в проекте работодателя.
В качестве системы контроля версий будет использоваться Git, как наиболее развитая и популярная на данный момент.
Методология исследования
Проект предлагает новое решение, которое затем сравнивается с существующими при помощи набора тестов на разных наборах данных, моделирующих встречающиеся на практике сложные ситуации. В результате будут выделены преимущества и недостатки нового решения.
Процесс разработки
Процесс разработки разбит на несколько этапов согласно спиральной модели:
- - В первой итерации разрабатывается и тестируется работающий прототип. Этот прототип будет способен хранить и инкрементировать несколько SUM и AVG агрегатов срезанных по одной колонке; - Вторая итерация будет посвящена управлению лог-таблицей, добавляя возможности манипулирования историей -- откат, перерасчет ; - В третьей итерации библиотека будет усовершенствована: добавление мультитабличных агрегатов, новых типов агрегатов, оптимизация; - В финальной итерации будет построено демонстрационное приложение с ипользованием данной библиотеки.
Тестирование
Тестирование производительности начнется уже по завершении первой итерации и будет производиться до конца разработки проекта. Цели тестирования таковы:
- - Определить, действительно ли предлагаемое решение превосходит существующие при каких-либо обстоятелсьтвах; - Определить условия, при которых решение превосходит остальные; - Найти слабые места в решении, требующие оптимизации.
Похожие статьи
-
База данные кеширование денормализация Предлагаемое решение -- скомбинировать некоторые идеи кеширования и денормализации в специальной библиотеке...
-
Введение - Программа расчета агрегатов по накапливающимся данным для построения отчетов
Бесчисленное количество веб-приложений полагается на базы данных. Нередко архитектура этих баз данных недальновидна с самого начала, а постоянно...
-
Реализация, Composer - Программа расчета агрегатов по накапливающимся данным для построения отчетов
Для эффективного тестирования и демонстрации библиотеки было решено разработать PHP-приложение, состоящее из: 1. Менеджера зависимостей composer; 2....
-
Целостность, Миграция - Программа расчета агрегатов по накапливающимся данным для построения отчетов
Еще одна возможная проблема -- целостность данных. Если приложение не уведомит Библиотеку об изменении данных, то ошибка останется в агрегате навсегда....
-
Ожидается, что предлагаемая библиотека даст большой прирост в производительности операций чтения, заполнив собственную нишу среди решений проблем...
-
Методология Все тесты будут необходимо провести на разных размерах базы данных, чтобы увидеть, как классические JOINы скалируются в сравнении с...
-
Классы StatMetric содержат всю логику библиотеки и предоставляют интерфейс для обновления и получения значений агрегатов. Рисунок 4. Диаграмма классов...
-
MapReduce, Кеш - Программа расчета агрегатов по накапливающимся данным для построения отчетов
MapReduce -- модель распределенных вычислений, используемая для параллельных вычислений над большими объемами данных в кластерах. MapReduce позволяет...
-
Удивительно, но StatMetric дает выигрыш в производительности даже на малых масштабах, в любом случае возвращая результат быстрее, нежели обычный запрос....
-
Рисунок 1. Пример сложной схемы БД Пример проблемной ситуации, которую этот проект должен разрешить представлен на рис. 1. Организатор проводит события...
-
Обоснование выбора средств разработки проекта Для реализации корпоративной информационной системы "Бюджетное планирование и отчетность" в исследуемой...
-
Программная модель данных, получившая название "MapReduce", была создана несколько лет назад в компании Google, и там же была осуществлена первая...
-
Стек технологий При выборе стека технологий основное внимание уделялось следующим факторам, в порядке убывания значимости: § Кроссплатформенность; §...
-
В этой главе представлено описание инструментов и методов, использованных при написании кода программы. Инструменты разработки серверной части Для...
-
Для замеров производительности использовалось три запроса, представляющих три наиболее типичные проблемные рассчеты. Ниже приведены эти запросы на языке...
-
Модель данных - Программа расчета агрегатов по накапливающимся данным для построения отчетов
В файле dist/schema/schema. yaml (см приложение А) была описана схема будущей базы данных, по которой при помощи Doctrine были сгенерированы пустые...
-
Для написания АИС использовались следующие языки программирования, программные средства и библиотеки: - Язык программирования PHP 5.4; -...
-
Для осуществления первой задачи данной работы был проведен проведение подробный анализ семи наиболее распространенных технологий работы с Большими...
-
При разработке практически всех инструментальных средств за основу принимается методология автоматизации проектирования на базе использования прототипов....
-
Заключение, Источники - Программа расчета агрегатов по накапливающимся данным для построения отчетов
Расчет агреатов в сложных базах данных -- ресурсоемкая задача. Известные способы сокращения времени ответа запросов не всегда приемлемы, что поднимает...
-
Язык программирования R - Технологии больших данных: анализ и выбор решения для реализации проекта
Язык программирования R является универсальным и разработан для применения в следующих областях: разведочный анализ данных, классические статистические...
-
Полное наименование разрабатываемой системы - корпоративная информационная система "Бюджетное планирование и отчетность" группы компаний, занимающейся...
-
Введение - Технологии больших данных: анализ и выбор решения для реализации проекта
В конце 2000х годов были уже сформированы решения класса Business Intelligence, которые являются альтернативой традиционным методам управления базами...
-
Одним из самых важных начальных этапов при разработке ПО является выбор технологического стека, с помощью которого будет происходить разработка продукта....
-
В настоящее время биометрия входит в состав наиболее распространенных технологий и средств защиты информации. Отпечатки пальцев являются самой широко...
-
Технологии Hadoop - Технологии больших данных: анализ и выбор решения для реализации проекта
Продукт Apache Hadoop является свободной Java-платформой на обычном оборудовании. Проект был рожден посредством обработки материалов Google File System и...
-
Заключение - Технологии больших данных: анализ и выбор решения для реализации проекта
На практике при реализации проектов возникает потребность в инструментах обработки больших данных от особенностей бизнеса, которые после накопления...
-
В среде электронного ресурса ИИС "MD_SLAGMELT" (Рис. 6) для доступа к компоненту "моделирование" необходима учетная запись (пара логин/пароль) (Рис.7)....
-
Реализация базы данных - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг
Для создания таблиц базы данных, структура которой представлена на рис. 21 в программе использовались следующие запросы: CREATE TABLE tariffs ( Tariff_id...
-
Выбор мобильной платформы и изучение инструментов разработки - Исследование алгоритмов
Практическая реализация алгоритмов, представленных в предыдущих пунктах, предполагает: 1) Выбор мобильной платформы; 2) Изучение соответствующей среды...
-
Обзор протокола Multi-Touch технологий передачи данных TUIO [7] - основной кроссплатформенный протокол с открытым исходным кодом Multi-Touch передачи...
-
Подход NoSQL - Технологии больших данных: анализ и выбор решения для реализации проекта
Понятие NoSQL означает "Не только SQL" или "Не SQL". Термин получил известность, начиная с 2009 год, когда развитие интернет-технологий и социальных...
-
Комплекс инструментов Oracle Exalytics Комплексное решение Oracle Exalytics создано для обеспечения высокой производительности аналитических систем и...
-
Работа программы представлена на рисунке 2.3 Рис. 2.3 Кодирование и тестирование программы Программа кодировалась на языке Си++, используя библотеку Qt5x...
-
Помимо концепции будущей системы бюджетирования, в рамках решения задачи разработки проекта "Бюджетное планирование и отчетность" должен быть разработан...
-
SAP HANA - это гибкий многоцелевой и независимый от источника данных программный комплекс на базе технологии "in-memory", который объединяет компоненты...
-
Для оценки возможности выполнения проекта имеющимся в распоряжении разработчика штатным составом исполнителей, нужно рассчитать их среднее количество,...
-
Поскольку клиентская часть представляет собой приложение на базе операционной системы Android, то для ее разработки был выбран рекомендуемый...
-
Выбор программ и алгоритмы реализации базы данных - База данных "Кинотеатр"
Microsoft Office Access - мощное приложение Windows. При этом производительность СУБД органично сочетаются со всеми удобствами и преимуществами Windows....
-
2.1 Среды разработки для построения программных агентов Инструментальные средства разработки программных агентов формируют среду, которая оптимизирована...
Выбор технологий, Методология исследования, Процесс разработки, Тестирование - Программа расчета агрегатов по накапливающимся данным для построения отчетов