Avoiding storing and maintaining a second copy of large volumes of data is always a good thing. And if the analysis doesn’t require joining with data from another source, using the original source data can be advantageous. There are always questions about performance impacts on the operational source, and sometimes security implications as well. However, the main question is around the types of query possible against a NoSQL store in general or a document-oriented database in this case. It is generally accepted that normalizing data in a relational database leads to a more query-neutral structure, allowing a wider variety of queries to be handled. On the other hand, as we saw with the emergence of dimensional schemas and now columnar databases, query performance against normalized databases often leaves much to be desired. In the case of Operational BI, however, most experience indicates that the queries are usually relatively simple, and closely related to the primary access paths used operationally for the data concerned. The experience with MongoDB bears this out, at least in the initial analyses users have required.
Let me try rephrasing this for you: MongoDB can be used for operational BI when the following conditions are satisfied:
- BI queries are very simple
- Collected data is already in the right format and doesn’t require any additional correlations or joins
- There’s no need for additional data from external sources
- The impact on the performance of the live storage can be ignored
- Security is not a concern
How many scenarios fit the above description?
Original title and link: MongoDB, BI and Non-Relational Databases (NoSQL database©myNoSQL)