You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vyacheslav Koptilin (Jira)" <ji...@apache.org> on 2022/01/26 14:39:00 UTC

[jira] [Resolved] (IGNITE-15726) Research non-sql production-proven table management api options.

     [ https://issues.apache.org/jira/browse/IGNITE-15726?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vyacheslav Koptilin resolved IGNITE-15726.
------------------------------------------
    Resolution: Won't Fix

Looks like createTable and similar methods should be removed from public API

> Research non-sql production-proven table management api options.
> ----------------------------------------------------------------
>
>                 Key: IGNITE-15726
>                 URL: https://issues.apache.org/jira/browse/IGNITE-15726
>             Project: Ignite
>          Issue Type: Improvement
>            Reporter: Alexander Lapin
>            Priority: Major
>              Labels: ignite-3
>
> Let's check how other vendors solve the issue of non-sql api to manager tables or table like structures.
> h3. Problem
> Currently there are two variants of internal table api:
> * The one that uses closure as a parameter, e.g. _Table createTable(String name, Consumer<TableChange> tableInitChange);_
> * Syntactic sugar over closures presented in the form of a builder
> {code:java}
>         TableDefinition schTbl1 = SchemaBuilders.tableBuilder("PUBLIC", "tbl1").columns(
>             SchemaBuilders.column("key", ColumnType.INT64).asNonNull().build(),
>             SchemaBuilders.column("val", ColumnType.INT32).asNullable().build()
>         ).withPrimaryKey("key").build();
>         clusterNodes.get(0).tables().createTable(schTbl1.canonicalName(), tblCh ->
>             SchemaConfigurationConverter.convert(schTbl1, tblCh)
>                 .changeReplicas(1)
>                 .changePartitions(10)
>         );
> {code}
> It's not possible to use first option from within thin clients cause it's not possible to transfer closure over network.
> Second one is better however it doesn't support rename and some other alter operations. 
> It worth to mention that there's and [option|https://issues.apache.org/jira/browse/IGNITE-15557] of pojo based configuration api that is similar to builders and has similar disadvantages.
> Taking into consideration that api mentioned above partially duplicates ddl for tables it makes sense to do a research checking whether other vendors provide such kind of non-ddl table management api.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)