2015-01-08 4 views
0

У меня возник вопрос о создании хранилища данных. У нас есть система, которая генерирует более 50 миллионов записей в день, я делаю предварительный процесс в этих записях, а затем загружаю их в таблицу в базе данных.Лучший способ разработки Data WareHouse DWH

Теперь вы должны увидеть проблему: размер отдельной таблицы и способ ее управления (примерно через ~ 15 дней с загрузкой ~ 50 М записи/день), и мне нужно сохранить записи с 60-дневного возраста ,

Теперь мой вопрос: лучший способ дизайна моего хранилища данных является:

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

Мне нужен заголовок, чтобы начать мое проектирование для DWH. Я использую Oracle 11g в качестве моей базы данных.

+0

Используйте Google и выполните поиск: Справочник по хранилищу данных Oracle, таблица фактов, схема звезды/снежинки. – ibre5041

+0

Проблема не во многих таблицах, но с одной большой таблицей мы не можем ее нормализовать, чтобы быть в схеме star/sonwflake. Но спасибо^_^ – user3801158

ответ

0

Используйте разделение, если оно доступно.

Разделение дает вам лучшее из обоих миров. Вы можете получить доступ ко всем своим данным за один раз в одной простой таблице. Если предикат запроса или синтаксис названия разделов используются правильно, таблица будет действовать так, как будто она магически намного меньше, чем она есть на самом деле. И вы можете управлять данными по дням - массовые операции, такие как загрузка и удаление данных, могут выполняться таким образом, что это влияет только на стоимость одного дня.

Интервальное разбиение делает вещи еще проще. Вам даже не нужно указывать разделы. Просто скажите Oracle, «каждый день новый раздел». Есть несколько новых вещей, которые нужно изучить. Но это небольшая цена для значительного повышения производительности и управляемости.

Если вы используете Enterprise Edition и уже имеете лицензию на возможность разделения, то нет причин не использовать его.

+0

Да, это работает для меня, как и мне. Спасибо^_ ^ – user3801158

Смежные вопросы