Is there any configuration for memtable flush ?

235 views
Skip to first unread message

stephen chu

<chu1070y@gmail.com>
unread,
May 20, 2021, 1:06:28 AM5/20/21
to ScyllaDB users
Hello,
If memtable is too big, Scylla will flush memtable to sstable.
Then, Is there a setting to flush memtable after a certain byte?


Dor Laor

<dor@scylladb.com>
unread,
May 20, 2021, 1:20:44 AM5/20/21
to ScyllaDB users
It's determined dynamically, we have a controller for it:

 


--
You received this message because you are subscribed to the Google Groups "ScyllaDB users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scylladb-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scylladb-users/ce948589-2bed-488d-8d0c-31904ec7e650n%40googlegroups.com.

stephen chu

<chu1070y@gmail.com>
unread,
May 20, 2021, 2:03:15 AM5/20/21
to ScyllaDB users
Thank you!

2021년 5월 20일 목요일 오후 2시 20분 44초 UTC+9에 d...@scylladb.com님이 작성:

Nadav Har'El

<nyh@scylladb.com>
unread,
May 20, 2021, 2:55:32 AM5/20/21
to ScyllaDB users
On Thu, May 20, 2021 at 8:20 AM Dor Laor <d...@scylladb.com> wrote:
On Wed, May 19, 2021 at 10:06 PM stephen chu <chu1...@gmail.com> wrote:
Hello,
If memtable is too big, Scylla will flush memtable to sstable.
Then, Is there a setting to flush memtable after a certain byte?

It's determined dynamically, we have a controller for it:


I want to add that you usually have no incentive to flush a memtable to disk. Flushing memtables does not add durability: Anyway, every write to a memtable also goes to a "commit log" on disk - and these logs are replayed in case of crash so that no writes are lost. The longer you can hold off flushing memtables to disk, and consolidate different updates to the same row in memory, the less work you'll need to do later on compacting these small sstables together. Of course, there is a tradeoff between flushing memtables to disk soon and leaving a lot of memory free for caching less-recent-but-more-useful data, and flushing memtables after they have grown very big (and potentially consolidating multiple changes to the same row) and leaving little memory for cached but not-recently-written data. This is the tradeoff that the controller that Dor mentioned does.

If you really want to flush memtables *now*, you have a "nodetool flush" command to do that, but in most cases you have no reason to use it.

 


--
You received this message because you are subscribed to the Google Groups "ScyllaDB users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scylladb-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/scylladb-users/ce948589-2bed-488d-8d0c-31904ec7e650n%40googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "ScyllaDB users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to scylladb-user...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages