I have used Vertica in the past.It relies on columnar compression & expedites disk reads and lowers storage needs to make the most of your hardware. Faster data loads and higher concurrency lets you serve analytics data to more users with minimum latency.
Earlier, we were querying Oracle database having billions of records & the performance was very sub-optimal. The queries took 8 to 12s to run, even after optimizing with SSD. Hence, we felt the need to use a faster read optimized, analytics oriented database. With Vertica Clusters behind the lean service layer, we could run APIs with sub-second performance.
Vertica stores data in projections in a format that optimizes query execution. Similar to materialized views, projections store result sets on disk OR SSD rather than compute them each time they are used in a query.Projections provide the following benefits:
- Compress and encode data to reduce storage space.
- Simplify distribution across the database cluster.
- Provide high availability and recovery.
Vertica optimizes the database by distributing data across cluster using Segmentation.
- Segmentation places a portion of data on a node.
- It evenly distributes data on all nodes. Thus, each node performs a
piece of the querying process.
- The query runs on the cluster and every node receives the query
plan.
- The results of the queries are aggregated and used to create the
output.
For more, please refer to Vertica documentation @ https://www.vertica.com/knowledgebase/