3 ms·
OLAP: Online Analytical Processing. Cranking through large amounts of data with a focus on aggregations like sums, averages, medians, etc. Measures (numbers)
by slumdev 7y ago
OLAP: Online Analytical Processing. Cranking through large amounts of data with a focus on aggregations like sums, averages, medians, etc. Measures (numbers) are defined by dimensions (attributes with usually discrete domains). Aggregations are frequently precomputed on many (or all) dimension axes so that they are immediately available. Models can be built from something as simple as a wide CSV file or as complicated as a snowflake schema.
The kind of relational database you're familiar with is probably OLTP (Online Transactional Processing).
- zurn 7y agoWhat are typical data sizes for this? I think the OLAP term has been around a long time, some OLAP tasks of the past are probably not so huge today, I wonder if the shrunked-by-time tasks are still called OLAP or if the smaller ones are implemented differently.
- slumdev 7y agoIt's been about 15 years since I did any OLAP work, so "big" back then was a source database measured in gigabytes with queries that took minutes to run even with a lot of optimization.
- beefield 7y agoSo, when my aggregate queries/views are too slow even after indexing and tuning, then I should start to google what OLAP is? My go-to tool for this has been materialized views (or in some cases simply a new table that is refreshed every now and then). What would be the cases when OLAP is better/worse than materialized view? (based on the main article, it sounds like pretty much no other advantage for OLAP than smaller resource requirements)
- slumdev 7y agoIf your needs are well-defined in advance, you are fine with a materialized view. What I mean by "needs" is, "What questions are you trying to answer?" OLAP's strength is that the platforms that implement it can precompute aggregations across all of your data and let you quickly answer questions that you might not have known you had.