OLAP Database Overview : When OLAP Works Best

When OLAP Works Best
Doradus OLAP works best for applications that fit the following criteria:
Partitionable data: For smaller databases (a few million objects), all data may fit in a single shard. Otherwise, an application needs some criteria on which to divide data into shards. Time-based data (events, log entries, transactions, etc.) is the easiest to partition: for example, one day of data for each shard. But other criteria for partitioning will also work.
Immutable/semi-mutable data: Objects can be modified and deleted after they are added to a shard. However, since updates are performed in batches, OLAP is not intended for frequent, fine-grained updates. Ideally, objects are write-once or only occasionally updated.
Batchable data: OLAP prefers data to be added and updated in batches, typically thousands of objects per batch. Load performance degrades with frequent, small-batch updates.
Emphasis on statistical queries: The fastest Doradus OLAP queries are single-shard aggregate queries. Multi-shard queries can use parallel search threads but generally perform proportionally to the number of shards queried. Object queries are similar to aggregate queries but are affected by the number of fields are returned for each object. Full text searching is supported, but it works best for short text fields, not large document bodies. The primary focus of OLAP is analytics via aggregate queries.
OLAP is not intended for applications with these requirements:
Unstructured data: All tables and fields used in a Doradus OLAP application must be defined in the schema. The schema can evolve over time, but queries are evaluated in context of the most recent schema. Variable fields can be supported with techniques such as a link to a name/value object, but OLAP does not support schemaless applications (like Doradus Spider).
OLTP transactions: Because it requires batch loading and shard merging, OLAP does not work for application that need frequent, fine-grained updates to data.
Document management: OLAP doesn’t work well for applications that need to store “documents” with large text bodies that are subsequently searched with full text expressions. OLAP supports large text (and binary) fields, but text fields are not pre-indexed with term vectors like Doradus Spider. Instead, full text searches dynamically tokenize each text field, which is slower for numerous, large text fields.