You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2023/03/10 01:38:00 UTC

[jira] [Commented] (KUDU-1945) Support generation of surrogate primary keys (or tables with no PK)

    [ https://issues.apache.org/jira/browse/KUDU-1945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17698684#comment-17698684 ] 

ASF subversion and git services commented on KUDU-1945:
-------------------------------------------------------

Commit 7fafdd2803a2c747faa6789a1921d51186edfb6e in kudu's branch refs/heads/master from Marton Greber
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=7fafdd280 ]

KUDU-1945 Auto-incrementing column feature flag

This patch adds the flag "--master_support_auto_incrementing_column" to
guard the auto-incrementing column feature. It prohibits users to create
table with non-unique primary key. The default value for the flag is set
to true in this patch. The verification happens on the RPC level. If the
server has the feature turned off, or the server is older compared to
the client - doesn't have the auto-incrementing feature -, the request
gets rejected in both cases.

Change-Id: I39c3dde3705c25c36d3ad787c0db6ed03f6c2cfd
Reviewed-on: http://gerrit.cloudera.org:8080/19523
Tested-by: Kudu Jenkins
Reviewed-by: Wenzhe Zhou <wz...@cloudera.com>
Reviewed-by: Alexey Serbin <al...@apache.org>


> Support generation of surrogate primary keys (or tables with no PK)
> -------------------------------------------------------------------
>
>                 Key: KUDU-1945
>                 URL: https://issues.apache.org/jira/browse/KUDU-1945
>             Project: Kudu
>          Issue Type: New Feature
>          Components: client, master, tablet
>            Reporter: Todd Lipcon
>            Priority: Major
>              Labels: roadmap-candidate
>
> Many use cases have data where there is no "natural" primary key. For example, a web log use case mostly cares about partitioning and not about precise sorting by timestamp, and timestamps themselves are not necessarily unique. Rather than forcing users to come up with their own surrogate primary keys, Kudu should support some kind of "auto_increment" equivalent which generates primary keys on insertion. Alternatively, Kudu could support tables which are partitioned but not internally sorted.
> The advantages would be:
> - Kudu can pick primary keys on insertion to guarantee that there is no compaction required on the table (eg always assign a new key higher than any existing key in the local tablet). This can improve write throughput substantially, especially compared to naive PK generation schemes that a user might pick such as UUID, which would generate a uniform random-insert workload (worst case for performance)
> - Make Kudu easier to use for such use cases (no extra client code necessary)



--
This message was sent by Atlassian Jira
(v8.20.10#820010)