vertx-sql-client icon indicating copy to clipboard operation
vertx-sql-client copied to clipboard

ClickHouse DB support

Open smagellan opened this issue 4 years ago • 13 comments

Read me

Read this first before creating an issue:

  • do not use this issue tracker to ask questions, instead use one of these channels. Questions will likely be closed without notice.
  • you shall create a feature request only when it is general purpose enough.
  • make sure that the feature is not already

Describe the feature

ClickHouse native(binary) driver

Use cases

ClickHouse is a pretty popular analytical db, so driver should be useful

Contribution

I am OK to implement that. In fact, I managed to run tck without errors without transaction test(s) since transactions are not supported by DB at the moment. Need to implement encoding of remaining types though

smagellan avatar Mar 23 '21 20:03 smagellan

@smagellan I'm curious to know how is click house implemented ?

vietj avatar Mar 25 '21 10:03 vietj

I don't know about ClickHouse internals a lot. In general - it is columnar-oriented analytical db: https://github.com/ClickHouse/ClickHouse/. Most SELECT's are extremely fast.

P.S. driver dev branch is here: https://github.com/smagellan/vertx-sql-client/tree/feature/clickhouse-native-client

smagellan avatar Mar 25 '21 10:03 smagellan

it seems like a lot of work, can you point out the protocol documentation you used to implement this ?

vietj avatar Mar 25 '21 11:03 vietj

Protocol is described here: https://clickhouse.tech/docs/en/interfaces/tcp/. In short: I played with console client, wireshark, https://github.com/ClickHouse/ClickHouse/tree/master/src/Client and https://github.com/mymarilyn/clickhouse-driver

smagellan avatar Mar 25 '21 11:03 smagellan

Hope I will create PR(into ClickHouse repo) with protocol documentation later

smagellan avatar Mar 25 '21 11:03 smagellan

ok, would you support this contribution then in the SQL client ?

vietj avatar Mar 25 '21 14:03 vietj

Yes, I would

smagellan avatar Mar 25 '21 19:03 smagellan

can you ping me privately ?

vietj avatar Mar 25 '21 19:03 vietj

Sure, sent you an e-mail

smagellan avatar Mar 25 '21 21:03 smagellan

Hi @smagellan , I've postponed this to 4.3.0.

It would be great to land this in the next minor version. Can you confirm you can do it?

tsegismont avatar Oct 14 '21 13:10 tsegismont

Hello @tsegismont. Sure. Although I can't do that alone (Where is a merge button anyway?).

smagellan avatar Oct 14 '21 19:10 smagellan

I believe https://github.com/eclipse-vertx/vertx-sql-client/pull/931 is ready for review. @vietj, @tsegismont, looks like the next step is to review it. Do I need to request a review via the dev-list or...?

smagellan avatar Feb 06 '23 10:02 smagellan

@vietj / @smagellan is there any traction on this? Were you able to get it reviewed? I see loads of conflicts now...

UbiquitousBear avatar Feb 02 '24 16:02 UbiquitousBear