2009-09-07 7 views
2

Извините, если это казалось новичком, но я новичок в мире хранилищ данных и бизнес-аналитики.База данных объектов, бизнес-аналитика и складирование

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

Вопрос в том, нужны ли нам те же концепции (многомерная база данных - хранилище данных и т. Д.), Когда мы говорим о бизнес-аналитике для базы данных объектов? Базы данных объектов не имеют объединений, потому что отношения между объектами поддерживаются прямыми ссылками.

ответ

1

Многомерность является важной особенностью хранилища данных.

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

Запросы Star-schema не очень сложны. Они на самом деле очень простые, так как они почти всегда имеют форму SELECT SUM(MEASURE) FROM FACT JOIN DIM1 ON ... JOIN DIM2 ON ... WHERE....

Взаимодействие - как правило - медленное. Однако объединения могут выполняться в объектно-ориентированном коде вместо хранилища SQL.

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

В остальных случаях у нас есть схема снежинок, где измерение (как правило, клиент, пациент или размер элемента) почти такое же, как и соответствующая таблица фактов. В этом случае полезно использовать реляционное соединение в базе данных.

«Базы данных объектов не имеют объединений, потому что отношения между объектами поддерживаются прямыми ссылками».

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

«Вопрос в том, нужны ли нам одни и те же концепции (многомерная база данных - хранилище данных и т. Д.), Когда мы говорим о бизнес-анализе базы данных объектов?»

Да. Многомерность необходима. Абсолютно. Объектная база данных будет представлять это точно также (или, возможно, лучше), чем реляционная база данных. Любая модель, однако, должна представлять существенную истину Меры и их размеры.

0

Возможно, вам, возможно, стоит взглянуть на так называемые базы данных документов. CouchDB популярен, с открытым исходным кодом (бесплатно получить и разобраться) и просто понять. CouchDB хранит все данные как JSON (легко обрабатываемый JavaScript Object Notation) и связывается с внешним миром, используя только REST (только HTTP, если вы новичок в этом). Одной из наиболее интересных возможностей CouchDB является выбор данных с использованием парадигмы MapReduce для обработки и агрегирования данных.

Глядя на CouchDB может дать вам представление о том, что некоторые из возможностей, когда дело доходит до нереляционных баз данных. Знайте, что CouchDB в первую очередь касается хранения документов данных, а не целых объектов. Некоторые базы данных являются истинными объектными базами данных, поскольку они хранят состояние данного объекта в программе. Сравнить db4o.

0

Возможно, вы должны рассмотреть Object-Relational Mapping вместо того, чтобы напрямую переключиться на базы данных объектов.

Кто-то успешно карта relationnal базы данных через Django ORM для BI цели here

Надеется, что это поможет!