You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "Geoffrey Jacoby (Jira)" <ji...@apache.org> on 2019/08/19 21:08:00 UTC

[jira] [Created] (PHOENIX-5447) Create generic Avro schema for Phoenix Mutations

Geoffrey Jacoby created PHOENIX-5447:
----------------------------------------

             Summary: Create generic Avro schema for Phoenix Mutations
                 Key: PHOENIX-5447
                 URL: https://issues.apache.org/jira/browse/PHOENIX-5447
             Project: Phoenix
          Issue Type: Sub-task
            Reporter: Geoffrey Jacoby


For change data capture, it's useful to have both a single generic, low-level schema suitable for capturing changes to any and all tables and views, as well as richer, higher level schemas suitable for individual tables or views.

The low level schema will be the <table, [tenantId], [timestamp]> tuple plus a collection of Cells. Think of it as an Avro-encoded WAL Entry including the annotations from PHOENIX-5435. 

It has two purposes:
1. Transport / persistence of low-level change data to entity-specific topics for potential backup or migration use cases
2. Allowing downstream consumers to "rehydrate" the generic messages into the appropriate strongly-typed, higher level schema, optionally supplemented with SELECTs to grab unedited fields, and persist to separate high-level entity-specific topics for further processing. (The downstream consumer will be done in a separate JIRA -- this is just for the schema.)



--
This message was sent by Atlassian Jira
(v8.3.2#803003)