-
Notifications
You must be signed in to change notification settings - Fork 543
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Roadmap 2022 #784
Comments
According to the note for |
Yes. It's temporarily disabled in 0.3.2, because it's more of a demo and I've never got a chance to test it against a real cluster. As a rough plan, I'm going to rewrite the class, once I closed the PR for native/tcp client. Maybe it's less confusing if we split it into two classes: 1) |
I'm grateful for your work, and will at least try to share my thoughts. I can't promise, but would definitely like to contribute directly. I'm still learning more about the current design by applying to an actual project. So I will be able to share my experience either as comments or as PRs. |
what's the time the version of |
Is there any specific feature you're waiting for? If it's about Native/TCP support, I have a basic implementation in local, so maybe I can start to publish test build once I'm done with the input and output stream tweaking. If you're talking about the whole release, I'd say it's going to take months. Not to mention Horizon Forbidden West will be out next week and Elden Ring the week after 🥳 |
Dear Zhichun Wu (@zhicwu), Could you please publish the Best regards, |
Hi @svbrunov, it's been published(see here). I think you're using the old group id Update: |
Dear Zhichun Wu (@zhicwu), Thank you very much for the prompt reply! Best regards, |
Hi @zhicwu , I wonder if tcp port is transfering data in columner format(Native). Thanks for your jobs! |
Yes, |
Could you share me the exact points of the improvements you have in mind in rewriting |
Thanks a lot @dynaxis, that would be very helpful. Will create a separate issue tomorrow for the discussion. |
@zhicwu for my projects, I wrote a very simple cluster manager based on your code, and hope to replace it with something official. Since I'm anyway requiring one and wrote a simple one myself, I might be a good candidate for writing an official one. |
Hi @zhicwu , may I ask when will the tcp client release? I am working at my graduation project which target at high performance datasource of clickhouse for spark, and going to take tcp client as last possible choise. XP I don't want to ask, but it's near the deadline date. |
Hi @oliverdding, sorry I don't have a reliable ETA as of now, since I only work on the project in my spare time. I'd not suggest you to count on tcp client for better performance, because the bottleneck is deserialization(converting byte array back to Java objects, primitive or not). Here below is a rough test I did earlier, which might be of use. A rough idea I have is to use bulk read(~10% improvement?) and parallel deserialization(works best for selecting multiple non-nullable columns), at the cost of more CPU and memory usage. Regardless, when dealing with large data sets, especially with nested columns, Java will be a few times slower than C++ implementation. Test Environment2 KVMs(4 cores + 16GB RAM) on same physical server - one runs ClickHouse server 22.3 and the other as test client.
Java Client has 4 modes:
Test Results
|
@zhicwu , Getting started here, thought this will be a good one to get hands dirty, is there a separate issue that I can pick up? Thanks.
|
Hi @subkanthi, it's perfect time to enhance multi-format support and review the code structure. I hope we can stabilize the APIs before 0.4, so that later we can leverage caching and byte code engineering on top of that to further optimize queries. Please feel free to open an issue or pull request for further discussion. One thing worthy of mention is that, the overhead of DataProcessor and Record is still higher than I expected, so you probably want to re-think the whole structure as well. IMO, the fully optimized version should have performance close to Test Case: dump result of
Note:
|
Hi @zhicwu , thanks for your advice and test, which help a lot! |
hi,@zhicwu I want to learn about the EOL of the clickhouse-jdbc release version. The specific questions are as follows:
I'm sorry I haven't found a clear explanation of the above questions. look forward for your reply. Thank you. |
Hi @qmdt, sorry this wasn't clear. 0.3.1* has been deprecated and no longer receive updates. Couple of things worthy of mention:
|
Hi @JackyWoo, I hope that we can release v0.3.3 by this year, but it really depends on progress of the As to the feature you need, have you verified that using nightly build? |
Hi @zhicwu Thanks for replay. I have tested and it works. |
2023 roadmap ?where |
|
0.3.x
Focus on new features and abstraction which may break existing interfaces/APIs...
Ongoing releases...
0.3.2-patch* - fix issues found in 0.3.2 as well as small enhancement, since it takes time to deliver 0.3.3
ClickHouseInputStream
and move sub classes to new packagecom.clickhouse.client.stream
, and similarly forClickHouseOutputStream
BinaryStreamUtils
,ClickHouseLz4InputStream
,ClickHouseLz4OutputStream
andClickHousePipedStream
to packagecom.clickhouse.client.stream
Iterable<T>
ClickHouseByteBuffer
for batched serialization and deserializationclickhouse-grpc-client
to accommodate server side changesclickhouse-cli-client
(wrapper of ClickHouse native command line)ClickHouseCluster
and test against multiple nodes(one or more clusters, in same or different DCs) - see [RFC] Support multiple endpoints for load balancing and failover #8940.3.3
ClickHouseDataType
by removingEnum
and making it alias ofEnum8
ClickHouseResultSet
to support async responseclickhouse-tcp-client
and Native data format supportArrow
,Avro
,MsgPack
,ORC
,Parquet
,ProtoBuf
and maybeCapnProto
0.4.x
Upgrade to JDK 11 and focus on code clean up and performance.
Planned releases...
0.4.0
ru.yandex.clickhouse
clickhouse-data-service
and retireclickhouse-jdbc-bridge
Note: data service can run in server mode as a bridge to connect ClickHouse and other datasources, or command-line mode as entrypoint of JVM-based UDFs. It may also contain UI and additional features for ease of operation like re-balancing(Casandra Reaper?).
0.4.1
0.5.x
Focus on new features.
Planned releases...
Focus on new features.
clickhouse-tcp-server
for two purposes: testing and accessing jdbc datasources(as part of jdbc bridge)clickhouse-graphql
for#include('/tmp/1.sql')
) to simplify complex queries1.0 and onwards
Follow semantic versioning.
Release cycle:
The text was updated successfully, but these errors were encountered: