Существуют ли рамки хранилища данных?
У меня есть много данных mysql, которые мне нужны для создания отчетов. Это в основном исторические данные, поэтому он не будет сильно меняться, но он весит 20-30 гигабайт и, как ожидается, будет расти. В настоящее время у меня есть сборник php-скриптов, который будет выполнять сложные запросы и выводить файлы csv и excel. Я также использую phpMyAdmin с закладками запросов. Я вручную изменяю их для изменения параметров. Количество данных растет, и число людей, которые нуждаются в доступе к нему, также растет, поэтому я уделяю время улучшению этой ситуации.
Я начал читать о хранилище данных на днях, и кажется, что это область, которая относится к тому, что мне нужно делать. Я прочитал some хороший статьи, и я даже жду от книги. Я думаю, что я разбираюсь в том, что делают эти системы и что возможно.
Создание системы отчетности для моих данных всегда было в списке задач, но до недавнего времени я полагал, что это будет очень узкое программирование. Поскольку я теперь знаю, что хранилище данных является распространенным явлением, я полагаю, что для облегчения разработки в нем должны быть какие-то фреймворки отчетности/складирования. Я с удовольствием пропустил бы написание интерфейсов и скриптов для расписания и отправки сообщений по электронной почте и тому подобное, а также для написания запросов и настройки отношений.
Я в основном был парнем лампы, но я не выше переключения языков или платформ. Мне просто нужно более надежное решение, так как мои сценарии не очень хорошо масштабируются.
Итак, где хорошее место для начала?
Ответы
Ответ 1
Я расскажу о нескольких моментах в спектре {budget, business utility function, time frame}. Для удобства давайте рассмотрим концептуализацию архитектуры, с которой вы связаны,
WikipediaDataWarehouseArticle
-
Уровень рабочей базы данных
Исходные данные для хранилища данных - Нормализованное для одного места Только обслуживание данных
-
Уровень доступа к данным
Преобразование исходных данных в ваш уровень информационного доступа.
Инструменты ETL для извлечения, преобразования, загрузки данных на склад попадают в этот слой.
-
Информационный уровень доступа
& Бык; Структура данных, облегчающая отчетность
Данные здесь не поддерживаются. Это просто отражение ваших исходных данных
Следовательно, денормализованные структуры (содержащие повторяющиеся, но систематически полученные данные)
обычно наиболее эффективны здесь
& Бык; Инструменты отчетности
Как вы фактически разрешаете своим пользователям доступ к данным
& Бык; предварительно подготовленные отчеты (простые)
& Бык; более динамические методы доступа к срезу и кости.
Доступ к данным для отчетности и анализа и инструменты для отчетности и анализа данных
попадают в этот слой. И различия Inmon-Kimball о методологии проектирования,
которые обсуждаются позже в статье в Википедии, связаны с этим слоем.
- Уровень метаданных (облегчает автоматизацию, организацию и т.д.)
Сверните свой собственный (low-end)
За очень небольшую издержку из-за кармана, только осознавая необходимость в денормализованных структурах, можно купить тех, кто не использует ее с некоторой эффективностью.
Получить мяч в игре (требуются некоторые затраты)
Вам не нужно использовать все функциональные возможности платформы сразу с места в карьер.
ИМО, однако, вы хотите быть на платформе, которая, как вы знаете, будет расти, а также в высококонкурентной и консолидирующей среде BI, которая, кажется, является одним из четырех крупных мегапредприятий (мое мнение)
- Microsoft (платформа нашей 110 сотрудников фирмы)
- SAP
- Oracle
- IBM
BiMarketStateArticle
Моя фирма находится на этом этапе, используя некоторые возможности ETL, предлагаемые службами SQL Server Integration Services (SSIS), и некоторое альтернативное использование открытого источника, но на практике лицензия, требующая продукта Talend в "Уровне доступа к данным", (полностью реализована в базовой базе данных SQL Server) и SQL Server Reporting Services (SSRS), чтобы в значительной степени автоматизировать (на основе вашего навыка) подготовку заранее заданных отчетов. Обратите внимание, что отчет SSRS представляет собой просто (масштабируемую) конфигурацию/спецификацию XML, которая отображается во время выполнения через механизм SSRS. Такие опции, как экспорт в файл excel, являются простыми параметрами.
Серьезные обязательства (требуются некоторые значительные человеческие обязательства)
Обратите внимание на то, что нам еще предстоит использовать интеллектуальную обработку данных/динамическую резку/нарезку
возможности SQL Server Analysis Services. Мы работаем над этим,
но теперь сосредоточено на улучшении качества очистки данных в "Уровне доступа к данным".
Надеюсь, это поможет вам понять, с чего начать.
Ответ 2
Pentaho собрал довольно полный набор продуктов. Продукты являются "бесплатными", но должны быть готовы к обычной тяжелой продаже, как только вы откроете свою идентифицирующую информацию.
У меня не было возможности реально растянуть их, так как мы - магазин Microsoft с одного печального конца на другой.
Ответ 3
Я думаю, вы должны сначала проверить Kimball и Inmon и посмотреть, хотите ли вы подойти к своему хранилищу данных определенным образом. Кимбалл, в частности, излагает очень хорошие рамки для моделирования и строительства склада.
Ответ 4
Существует ряд инструментов, которые пытаются сделать процесс проектирования, внедрения и управления хранилищем данных и управлять им, и каждый из них имеет свои сильные и слабые стороны и часто значительно отличающиеся ценовые точки. Под обложками вам всегда будет лучше, если у вас есть хорошее знание принципов варварства из лагерей Кимбалла и/или Inmon.
Помимо таких инструментов, как Kalido и Wherescape RED (которые делают похожие вещи по-разному), многие платформы ETL теперь имеют хорошую встроенную поддержку для работы с ослами - компоненты SCD и отслеживание линии.
Лучше всего рассматривать все это как инструменты, которые можно использовать в ваших руках, мастер, они делают некоторые легкие вещи еще проще (или даже тривиальными), некоторые трудные вещи легче, но некоторые вещи, которые они просто получают в своих ИМХО;) Сначала изучите методологию и принципы и получите хорошее представление о них, а затем вы узнаете, какие инструменты применять от вашего комплекта и когда...
Ответ 5
Он не обновлялся через некоторое время, но есть хороший пакет Data Warehousing/ETL Ruby, называемый ActiveWarehouse.
Но я бы посмотрел продукты Pentaho, как Ник, упомянутый в другом ответе. Он должен легко обрабатывать объем данных, которые у вас есть, и может предоставить вам больше возможностей для резки и копирования ваших данных, чем вы могли себе представить.
Ответ 6
Лучшая структура, которую вы можете получить в настоящее время, - Anchor Modeling.
Это может выглядеть довольно сложно из-за его общей структуры и встроенных возможностей для историзации данных.
Также метод моделирования отличается от ERD.
Но вы получаете код sql для генерации всех объектов db, включая 3NF-представления, и:
- вставка/обновление, обрабатываемая триггерами
- запросить любую точку/диапазон в истории
- вы, разработчики приложений, не увидите базовую модель привязки 6NF.
Технология открыта и в настоящий момент является непревзойденной.
Если у вас возникнет вопрос с AM, вы можете спросить об этом теге anchor-modeling.
Ответ 7
Kimball - это более простой метод хранения данных.
Мы используем Informatica для перемещения данных по всему округу, но по умолчанию это не делает DW, например индексирование.
Мне нравится идея Wherescape RED, как инструмент DW и использование MS SQL Linked Servers для устранения необходимости использования инструмента ETL.