[MDEV-22584] MyRocks/RocksDB: possible to use the "Plain Table" SST format? Created: 2020-05-15  Updated: 2020-05-20

Status: Open
Project: MariaDB Server
Component/s: Storage Engine - RocksDB
Fix Version/s: None

Type: Task Priority: Trivial
Reporter: Stefano Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: rocksdb, sst


 Description   

I read here that the SST-files created by the RocksDB storage engine can store tables in 2 different formats:

  • "block-based"
  • "Plain"
    I'm currently using the default MyRocks options of MariaDB 10.4.12 and I assume that the SST-files of the "default" column family are currently using the "block-based" format => if this is correct, is it somehow possible to use the "plain" format and if yes then how?

Reason why I'm asking:
nothing in particular, I'd just like to try that out to see if in my case it presents any advantages compared to the "block-based" format.
I haven't been able to find any informations related to this in the context of MariaDB/PerconaDB/MySQL.

I must mention that so far I don't understand much of how MyRocks works - so far I only dared to change the compression algo of the default CF.
Thank you.



 Comments   
Comment by Stefano [ 2020-05-16 ]

Ok, I guess like for example this:

rocksdb-override-cf-options='default={plain_table_factory={}}'

Is there anywhere any documentation about the (probably few?) options that can be used with that plain table format?

Comment by Stefano [ 2020-05-20 ]

I have abandoned the attempt to use the "plain" table/sst format.

I tried multiple configurations, e.g. ...

rocksdb-override-cf-options='default={plain_table_factory={user_key_len=0;bloom_bits_per_key=10;hash_table_ratio=0.75;index_sparseness=16;huge_page_tlb_size=0;encoding_type=kPlain;full_scan_mode=false;store_index_in_file=false;}}'
 
rocksdb-override-cf-options='default={plain_table_factory={user_key_len=0;bloom_bits_per_key=10;hash_table_ratio=0.75;index_sparseness=16;huge_page_tlb_size=0;encoding_type=kPlain;full_scan_mode=false;store_index_in_file=false;};prefix_extractor=capped:24}'

...but it always resulted in a direct crash of MariaDB or in the rows not being saved in the filesystem (they would just disappear after a restart and/or there would be a crash while shutting down MariaDB or there would be a crash while trying to query the table after having inserted at least 1 row)

Don't know...

Cheers

Generated at Thu Feb 08 09:15:53 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.