Using Apache Phoenix Secondary Indexes to Speed Up Selective Queries
Learn how to add a global secondary index in Apache Phoenix to turn full table scans into index scans, with a worked example, performance tips, and pitfalls to avoid.
ReadMeFeed / Community knowledge
Real questions. Useful conversations. Find the people who know your stack.
Learn how to add a global secondary index in Apache Phoenix to turn full table scans into index scans, with a worked example, performance tips, and pitfalls to avoid.
Stop building redundant APIs. Learn how Phoenix LiveView moves state management to the server to reduce frontend complexity and enable real-time updates via diff-based HTML patches.
Learn how to eliminate expensive HBase full table scans using Apache Phoenix secondary indexes to turn O(N) scans into O(log N) point lookups.
Guide to choosing between Phoenix secondary indexes and custom coprocessors for lowering point‑read latency in write‑heavy workloads, with a concrete index creation and validation example.
Phoenix only queries fast on the row key. A global secondary index fixes attribute lookups — here's how it's structured, a worked CREATE INDEX example verified with EXPLAIN, and the write-path costs that decide whether you should use one.
Compression Property Compatibility The goal is to maintain the same column‑family compression settings when a Phoenix 4.x deployment is shifted from a local HBase 1.x cluster to a production HBase 2.x cluster. In the local environment, the CREATE TABLE … WITH COLUMN FAMILIES … COMPRESSION=<type> clause is accepted and the table functions normally. In t
Goal After taking a full HBase backup that includes Phoenix tables, we want to restore the HBase tables and have Phoenix automatically recognize the restored tables without manual catalog manipulation. Constraints & Uncertainty Phoenix stores table metadata in the SYSTEM.CATALOG region and relies on HBase’s native backup/restore APIs for HFiles. In some
The goal is to clarify how Apache Phoenix secondary indexes treat rows where the indexed column contains NULL. Specifically, we need to determine whether such rows are omitted from the index structure or are stored with a special sentinel value that allows the index to be used for queries filtering on NULL. The official documentation does not specify this be