Object Database, Business Intelligence and Warehousing

Sorry if this seemed like a newbie, but I'm new to the world of data warehousing and business intelligence.

From what I've read, I can see that a multidimensional database is needed due to the limitations of the relational model. Any thing you need to do with a multidimensional database can be done in a regular relational database with very complex queries and slow performance joins and aggregates.

The question is, do we need the same concepts (multidimensional database - data warehouse, etc.) when we talk about object database business analysis? Object databases do not have joins because relationships between objects are backed by direct links.

+2


source to share


3 answers


Multidimensionality is an important feature of a data warehouse.

not a "workaround" for the constraints of the relational model. This is the best way to model data, where you have to do arbitrary "pieces and bricks" of fact analysis in relation to many non-trivial dimensions.

Star-schema queries are not very complex. They are actually very simple, as they almost always have a shape SELECT SUM(MEASURE) FROM FACT JOIN DIM1 ON ... JOIN DIM2 ON ... WHERE...

.

Merge operations are usually slow. However, joins can be done in object-oriented code instead of SQL store.

In many cases, most measurements are actually quite small and fit entirely in memory. Analytic queries can proceed to simple selections of all facts followed by queries in the dimensions of the attributes in memory.



Otherwise, we have a snowflake diagram where the size (usually the size of the client, patient, or penis) is almost the same as the corresponding fact table. In this case, it is useful to use a relational connection in the database.

"Object databases do not have joins because relationships between objects are backed by direct links."

Not entirely true. The object database has navigation from object to object. If you retrieve a set of objects along with related objects, a merge operation is performed - in fact -.

"The question is, do we need the same concepts (multidimensional database - data warehouse, etc.) when we talk about object database business analysis?"

Yes. Multidimensionality is essential. Absolutely. An object database will represent this in the same way (or perhaps better) than a relational database. Any model, however, must represent the essential truth of the Measures and their dimensions.

+1


source


Perhaps you should take a look at so-called document databases. CouchDB is popular, open source (free to get and understand) and easy to understand. CouchDB stores all data as JSON (easy to parse JavaScript objects) documents and communicates with the outside world using only REST (only HTTP if you're new to it). One of the more interesting features of CouchDB is data selection using the MapReduce paradigm for processing and aggregating data.



A look at CouchDB can give you an idea of ​​what some of the possibilities are when it comes to non-relational databases. Be aware that CouchDB is primarily about storing data documents, not entire objects. Some databases are true object databases because they store the state of a given object in a program. Compare db4o .

0


source


You might want to consider Object-Relational Mapping instead of directly switching to object databases.

Someone has successfully mapped underlying databases via Django ORM for BI target here

Hope this helps!

0


source







All Articles