[MXS-3288] Automatic HTAP DDL Created: 2020-11-06 Updated: 2021-09-17 Resolved: 2021-09-17 |
|
| Status: | Closed |
| Project: | MariaDB MaxScale |
| Component/s: | N/A |
| Affects Version/s: | None |
| Fix Version/s: | N/A |
| Type: | New Feature | Priority: | Minor |
| Reporter: | Shane Johnson (Inactive) | Assignee: | Todd Stoffel (Inactive) |
| Resolution: | Won't Do | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
If deploying an HTAP databases, allow MaxScale handle all aspects of row+columnar storage. Specifically, this assumes a new attribute in services to specify whether or not the workload is HTAP. If the workload is HTAP, and a create table statement is received with the InnoDB engine, MaxScale should duplicate the statement and change the engine so there are two create table statements. One to create the InnoDB table, and one to create the ColumnStore table. For example If MaxScale sees CREATE TABLE tbl_customers... engine=innodb It should send this to the primary: CREATE TABLE tbl_customers... engine=innodb The goal is to abstract away the specific of using multiple storage engines in an HTAP configuration, both for developers (so they only ever need to know about tbl_customers) and for DBAs so they don't have to worry about creating the ColumnStore table. When combined with The "_hist" could be a parameter in MaxScale, allowing DBAs to use the convention of their choice. |
| Comments |
| Comment by Johan Wikman [ 2020-11-06 ] |
|
This may require an extension of the MaxScale parser. Namely, as the details of DDL statements are not relevant for routing, not much attention has been paid to the parsing of CREATE statements. Basically it has been sufficient to recognize the CREATE at the beginning to know that the statement must be sent to the master. |