Hi, Secondary indexes are managed by the Trafodion engine itself; HBase is not aware of them.
>From an HBase perspective, a Trafodion secondary index is simply another HBase >table. The Trafodion engine provides a suite of DDL for the management of secondary indexes. One can create them (via CREATE INDEX), drop them (via DROP INDEX) and alter certain attributes (via ALTER INDEX). These DDL operations are documented in the Trafodion SQL Reference manual, here: http://trafodion.apache.org/docs/sql_reference/index.html >From a DML perspective, the Trafodion compiler and optimizer decide when to >use a particular secondary index. An INSERT operation of course will do an >insert into all secondary indexes as well as the base table. Similarly for a >DELETE. For UPDATEs, only the affected indexes are operated upon. Index >maintenance is done in parallel as much as possible (for example, we pipeline >rows from the base table to the indexes, and we update the indexes themselves >in parallel). Of course, all of this index maintenance is done under a >transaction, so we maintain consistency between indexes and base table. For SELECTs, the Trafodion optimizer will pick which secondary indexes to access based upon cost. Several possibilities exist: It may do an index-only access (if all the relevant columns happen to be available in some secondary index), a base table only access (if no secondary index is relevant or cheap) or a join of a secondary index to the base table (e.g. if not all of the relevant columns are in the index, but we can get direct access to the index and then use those keys to get direct access to the base table). Hope this helps, Dave -----Original Message----- From: Devaraj Das [mailto:[email protected]] Sent: Wednesday, June 28, 2017 2:24 PM To: [email protected] Subject: Secondary index maintenance/management code in Trafodion.. Hi folks, I am curious to know how Trafodion handles secondary-indices' management and maintenance for data table stored in hbase. Can you please point me to the design/code for such. Thanks Devaraj
