rocksdb icon indicating copy to clipboard operation
rocksdb copied to clipboard

Is there a plan to launch the wide column functionality of the java api

Open test-wangxiaoyu opened this issue 8 months ago • 10 comments

The latest version of rocksdb's java api does not yet have a wide column api. Does the community have plans to add this feature to the java api? If so, which version will be released

test-wangxiaoyu avatar Dec 01 '23 08:12 test-wangxiaoyu

The initial version of the Wide Column Families feature was only added to RocksDB 14 hours ago! - https://github.com/facebook/rocksdb/pull/11982#issuecomment-1834646316

We can certainly schedule adding this to RocksJava, but usually I would like to see the code settle in a little bit first perhaps. @test-wangxiaoyu are you desperate for this feature to be supported in the Java API?

adamretter avatar Dec 01 '23 12:12 adamretter

#11982 is actually the initial patch for supporting wide columns in WriteBatchWithIndex. Wide columns themselves have been around since RocksDB 7.9 (https://github.com/facebook/rocksdb/blob/main/HISTORY.md#new-features-10) and the existing APIs are stable; we will be adding more features though.

ltamasi avatar Dec 01 '23 18:12 ltamasi

Thanks for the correction @ltamasi , that makes it clearer.

adamretter avatar Dec 01 '23 21:12 adamretter

Thanks to both of your answers and the benefit to the community, I am currently working on a data storage tool and researching a suitable core storage engine, and it would be great if rocksdb's java api could support wide columns in the next few months

test-wangxiaoyu avatar Dec 04 '23 03:12 test-wangxiaoyu

@test-wangxiaoyu Okay cool. Let's leave this open as a Feature Request for the Java API. I have had @cmccrorie add it to our backlog here

adamretter avatar Dec 04 '23 12:12 adamretter

@test-wangxiaoyu (CC @cmccrorie) our plan is to work on this in February 2024.

adamretter avatar Jan 10 '24 10:01 adamretter

Hello RocksDB community,

We are working on this issue and during API design we came with an important question:

How wide are the rows usually?

I know that wide column databases(Cassandra, ScyllaDB, HBase, ...) can have quite a lot of name-value pairs(1M) in one row. Checking C++ API I can see that WideColumns is defined as std::vector<WideColumn> so I assume that in RocksDB, everything should fit to memory and probably can't be so large.

Maye @pdillinger or @ajkr have some ideas.

cc: @adamretter

rhubner avatar Jan 25 '24 11:01 rhubner

@test-wangxiaoyu(抄送@cmccrorie)我们的计划是在 2024 年 2 月开展此工作。

Many thanks

test-wangxiaoyu avatar Feb 06 '24 01:02 test-wangxiaoyu

你好 RocksDB 社区,

我们正在研究这个问题,在 API 设计过程中我们提出了一个重要问题:

行通常有多宽?

我知道宽列数据库(Cassandra、ScyllaDB、HBase,...)在一行中可以有相当多的名称-值对(1M)。检查 C++ API,我可以看到它的WideColumns定义是这样的std::vector<WideColumn>,所以我假设在 RocksDB 中,所有内容都应该适合内存,并且可能不会太大。

玛耶@pdillinger 或者@ajkr有一些想法。

抄送:@adamretter

In fact, we can consider this, let the user to decide the number of fields contained in the wide column, the user can choose to set an appropriate number of fields in the wide column according to the specific business scenario needs

test-wangxiaoyu avatar Feb 06 '24 01:02 test-wangxiaoyu

RocksDB社区你好,

我们正在研究这个问题,在API设计过程中我们提出了一个重要问题:

行通常多宽?

我知道宽列数据库(Cassandra、ScyllaDB、HBase,...)在一行中可以有相当多的名称值对(1M)。检查C++ API,我看到它的WideColumns定义可以是这样的std::vector<WideColumn>,所以我假设在 RocksDB 中,所有内容都应该适合内存,并且可能不太麻烦。

玛耶@pdillinger 或者@ajkr有一些想法。

抄送:@adamretter

image Here I take the data storage tool I am writing as an example, my storage tool is with the concept of column family and field, rocksdb provides column family function, and the number of fields contained in each column family, I want users to set their own according to their data situation

test-wangxiaoyu avatar Feb 06 '24 01:02 test-wangxiaoyu