- Learning Apache Cassandra(Second Edition)
- Sandeep Yarabarla
- 226字
- 2021-07-03 00:19:23
Materialized views
Data modeling principles in Cassandra compel us to denormalize data as much as possible. Prior to Cassandra 3.0, the only way to query on a non-primary key column was to create a secondary index and query on it. However, secondary indexes have a performance trade-off if they contain high cardinality data. Often, high cardinality secondary indexes have to scan data on all the nodes and aggregate them to return the query results. This defeats the purpose of having a distributed system.
To avoid secondary indexes and client-side denormalization, Cassandra introduced the feature of materialized views, which does server side denormalization. You can create views for a base table and Cassandra ensures eventual consistency between the base and view. This lets us do very fast lookups on each view following the normal Cassandra read path. Materialized views maintain a correspondence of one CQL row each in the base and the view, so we need to ensure that each CQL row that is required for the views will be reflected in the base table's primary keys. Although a materialized view allows for fast lookups on non-primary key indexes, this comes at a performance hit to writes. Also, using secondary indexes and materialized views increases the disk usage by a considerable margin. Thus, it is important to take this into consideration when sizing your cluster.
- Splunk 7 Essentials(Third Edition)
- 計算機應用基礎·基礎模塊
- Getting Started with MariaDB
- JMAG電機電磁仿真分析與實例解析
- 大學計算機應用基礎
- 傳感器與物聯網技術
- Grome Terrain Modeling with Ogre3D,UDK,and Unity3D
- Chef:Powerful Infrastructure Automation
- 大數據案例精析
- 會聲會影X4中文版從入門到精通
- 網絡安全概論
- Linux常用命令簡明手冊
- Linux Administration Cookbook
- 亮劍.NET:圖解ASP.NET網站開發實戰
- Geospatial Data Science Quick Start Guide