У меня много данных mysql, из которых мне нужно создавать отчеты. В основном это исторические данные, поэтому они не будут сильно меняться, но легко весят 20-30 гигабайт и, как ожидается, будут расти. В настоящее время у меня есть коллекция сценариев php, которые будут выполнять несколько сложных запросов и выводить файлы csv и excel. Я также использую phpMyAdmin для запросов с закладками. Я вручную редактирую их, чтобы изменить параметры. Объем данных растет, и число людей, которым нужен доступ к ним, также растет, поэтому я стараюсь улучшить эту ситуацию.
На днях я начал читать о хранилищах данных, и мне кажется, что это область, которая связана с тем, что мне нужно делать. Я прочитал немногохорошостатьи и даже жду книгу. Я думаю, что понимаю, что делают такие системы и что возможно.
Создание системы отчетности для моих данных всегда было в списке дел, но до недавнего времени я полагал, что это будет очень нишевое предприятие по программированию. Поскольку теперь я знаю, что хранилище данных - обычное дело, я полагаю, что должны быть какие-то механизмы отчетности / хранилища, доступные для облегчения разработки. Я бы с радостью отказался от написания интерфейсов и сценариев для планирования и отправки отчетов по электронной почте и тому подобного, и остановился бы на написании запросов и настройке отношений.
Я в основном занимался лампами, но я не прочь переключать языки или платформы. Мне просто нужно более надежное решение, так как мои разовые скрипты плохо масштабируются.
Так где же лучше начать?





Пентахо собрал довольно обширный набор продуктов. Продукты «бесплатные», но будьте готовы к обычным массовым продажам, как только вы раскроете свою идентифицирующую информацию.
У меня не было возможности по-настоящему растянуть их, поскольку мы - магазин Microsoft от одного печального конца до другого.
Я расскажу о нескольких моментах в спектре {бюджет, функция полезности для бизнеса, временные рамки}. Для удобства давайте проследим концептуализацию архитектуры, с которой вы связались в
Уровень оперативной базы данных
- Исходные данные для хранилища данных - нормализованы для обслуживания данных только в одном месте.
Уровень доступа к данным
Преобразование ваших исходных данных в ваш информационный уровень доступа.
Инструменты ETL для извлечения, преобразования и загрузки данных в хранилище относятся к этому уровню.
Информационный уровень доступа
• Структура данных, облегчающая создание отчетов
Данные здесь не хранятся. Это просто отражение ваших исходных данных
Следовательно, денормализованные структуры (содержащие повторяющиеся, но систематически полученные данные)
здесь обычно наиболее эффективны
• Инструменты отчетности
Как вы фактически разрешаете своим пользователям доступ к данным
• готовые отчеты (простые)
• более динамические методы доступа с использованием фрагментов и кубиков
Данные, используемые для отчетности и анализа, а также инструменты для отчетности и анализа данных
попадают в этот слой. И разногласия Инмона и Кимбалла в методологии проектирования,
, обсуждаемый далее в статье Википедии, имеет отношение к этому уровню.
Бросьте свой собственный (низкий уровень)
За очень небольшую наличную стоимость, просто осознавая потребность в денормализованных структурах, можно купить те, которые не используют ее, некоторую эффективность.
Присоединяйтесь к игре с мячом (требуются некоторые затраты)
Необязательно сразу использовать все функции платформы.
IMO, однако, вы хотите быть на платформе, которая, как вы знаете, будет расти, и в высококонкурентной и консолидирующейся среде бизнес-аналитики, которая кажется одним из четырех крупных корпоративных поставщиков (мое мнение)
Моя компания на данном этапе использует некоторые возможности ETL, предлагаемые службами интеграции SQL Server (SSIS), и некоторые альтернативные варианты использования открытого исходного кода, но на практике лицензия требует продукта Talend на «уровне доступа к данным», денормализованной структуре отчетности. (полностью реализовано в базовой базе данных SQL Server) и SQL Server Reporting Services (SSRS) для большей автоматизации (в зависимости от ваших навыков) создания предварительно заданных отчетов. Обратите внимание, что «отчет» SSRS - это просто (масштабируемая) конфигурация / спецификация XML, которая отображается во время выполнения через механизм SSRS. Такие варианты, как экспорт в файл Excel, являются простыми.
Серьезное обязательство (требуется значительное участие человека)
Обратите внимание, что нам еще предстоит использовать интеллектуальный анализ данных / динамическое нарезание / нарезку кубиков.
возможности SQL Server Analysis Services. Мы работаем над этим,
но теперь мы сосредоточились на улучшении качества очистки данных на «уровне доступа к данным».
Надеюсь, это поможет вам понять, с чего начать.
Я думаю, вам следует сначала проверить Kimball и Inmon и посмотреть, хотите ли вы подходить к своему хранилищу данных особым образом. Кимбалл, в частности, предлагает очень хорошую основу для моделирования и строительства склада.
Книги Кимбалла по хранилищу данных, вероятно, являются одной из немногих книг, которые вам понадобятся.
Это! У меня есть набор инструментов хранилища данных, и он потрясающий.
Он давно не обновлялся, но есть хороший Ruby-пакет Data Warehousing / ETL под названием ActiveWarehouse.
Но я бы проверил Продукция Pentaho, как Ник упоминал в другом ответе. Он должен легко обрабатывать тот объем данных, который у вас есть, и может предоставить вам больше способов разрезать и нарезать ваши данные, чем вы когда-либо могли себе представить.
Ребята из Active Warehouse ссылаются на замечательную статью Аноти Иден, которая больше не работает, вот архив. web.archive.org/web/20070510141152/http://anthonyeden.com/20 06 /…
Кимбалл - это более простой метод хранения данных.
Мы используем Informatica для перемещения данных, но по умолчанию он не выполняет таких функций DW, как индексирование. Мне нравится идея Wherescape RED как инструмента DW и использования связанных серверов MS SQL, чтобы избавиться от необходимости в инструменте ETL.
Существует ряд инструментов, которые пытаются осуществить процесс проектирования, внедрения и управления / эксплуатации хранилища данных, и каждый из них имеет свои сильные и слабые стороны и часто сильно различается по цене. Под одеялом вам всегда будет лучше, если вы хорошо знакомы с принципами ведения войны из лагерей Кимбалл и / или Инмон.
Наряду с такими инструментами, как Kalido и Wherescape RED (которые делают похожие вещи очень разными способами), многие из платформ ETL теперь имеют хорошую встроенную поддержку для ослиной работы по реализации - компоненты SCD и т. д. И отслеживание происхождения.
Лучше всего рассматривать все это как инструменты, которые будут использоваться вами, мастером, они делают некоторые простые вещи еще проще (или даже тривиальными), некоторые сложные вещи проще, но некоторые вещи они просто мешают им ИМХО;) Сначала изучите методологию и принципы и получите хорошее представление о них, а затем вы узнаете, какие инструменты использовать из своего комплекта и когда ...
Лучший фреймворк, который вы можете сейчас получить, - это Якорное моделирование.
.
Это может показаться довольно сложным из-за общей структуры и встроенной возможности архивирования данных.
Также техника моделирования сильно отличается от ERD.
.
Но в итоге вы получаете sql-код для генерации всех объектов db, включая представления 3NF и:
Эта технология имеет открытый исходный код и на данный момент не имеет себе равных.
Если у вас возникнет вопрос AM, вы можете задать его по этому тегу якорь-моделирование.
Что вы используете в своем магазине Microsoft?