Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I agree with NXC's data warehouse suggestion: </p> <ul> <li>If it was a one-off job, no, but since it is a "reporting application", it is highly likely that many of your reports will fit into the OLAP paradigm.</li> <li>It is obviously a do-able task, as there are many successful OLAP query tools available on the market, with varying degress of complexity</li> <li>OLAP schemas, e.g., the standard <a href="http://en.wikipedia.org/wiki/Star_schema" rel="nofollow noreferrer">star schema</a>, are <strong>designed</strong> to be easy to query. They are flat in nature, with the fact table joining to one or more dimension tables using simple keys in a very straightforward way.</li> <li>the types of operations people will want to do with the reports are predictable: filter, sort, group by, add or remove columns, export to CSV, etc.</li> <li>you will get a good level of flexibility with the reports that get generated - the ability to explore data for various relationships is very addictive</li> <li>once you write the query tool, it is portable for reuse with any other star schema - not bad!</li> <li>"Is it possible to abstract reporting logic and the database schema details?" - yes, OLAP schemas are for exactly this - they make all data conform to a standardized schema. Of course this moves business logic into the ETL layer, but I would argue that is where it belongs.</li> </ul> <p>So, you are required to do ETL with this approach - one option is to do some form of <a href="http://en.wikipedia.org/wiki/ROLAP" rel="nofollow noreferrer">ROLAP</a>, but in practice I have found it to be as easy to write ETL scripts as it is to cajole good performance out of a ROLAP setup.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload