You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| Resource | Operation | Merge policy | Merge schedule | Cost in disk I\/O operations |
@@ -132,7 +135,8 @@ description:
132
135
133
136
* The worst-case in-memory size of the write buffer is \(O(B)\).
134
137
135
-
The maximum size of the write buffer on the write buffer allocation strategy, which is determined by the @confWriteBufferAlloc@ field of @TableConfig@.
138
+
The maximum size of the write buffer on the write buffer allocation strategy,
139
+
which is determined by the @TableConfig@ parameter @confWriteBufferAlloc@.
136
140
Regardless of write buffer allocation strategy, the size of the write buffer may never exceed 4GiB.
137
141
138
142
[@AllocNumEntries maxEntries@]:
@@ -141,7 +145,8 @@ description:
141
145
* The worst-case in-memory size of the Bloom filters is \(O(n)\).
142
146
143
147
The total in-memory size of all Bloom filters is the number of bits per physical entry multiplied by the number of physical entries.
144
-
The required number of bits per physical entry is determined by the Bloom filter allocation strategy, which is determined by the @confBloomFilterAlloc@ field of @TableConfig@.
148
+
The required number of bits per physical entry is determined by the Bloom filter allocation strategy,
149
+
which is determined by the @TableConfig@ parameter @confBloomFilterAlloc@.
145
150
146
151
[@AllocFixed bitsPerPhysicalEntry@]:
147
152
The number of bits per physical entry is specified as @bitsPerPhysicalEntry@.
@@ -166,7 +171,8 @@ description:
166
171
167
172
* The worst-case in-memory size of the indexes is \(O(n)\).
168
173
169
-
The total in-memory size of all indexes depends on the index type, which is determined by the @confFencePointerIndex@ field of @TableConfig@.
174
+
The total in-memory size of all indexes depends on the index type,
175
+
which is determined by the @TableConfig@ parameter @confFencePointerIndex@.
170
176
The in-memory size of the various indexes is described in reference to the size of the database in [/memory pages/](https://en.wikipedia.org/wiki/Page_%28computer_memory%29).
171
177
172
178
[@OrdinaryIndex@]:
@@ -179,6 +185,60 @@ description:
179
185
The total size of an LSM-tree must not exceed \(2^{41}\) physical entries.
180
186
Violation of this condition /is/ checked and will throw a 'TableTooLargeError'.
181
187
188
+
=== Fine-tuning #fine_tuning#
189
+
190
+
An LSM-tree stores its data in a partially-sorted structure.
191
+
The key–operation pairs are stored in /runs/, which are sorted sequences of key–operation pairs.
192
+
The runs are organised in /levels/.
193
+
The 0th level is the in-memory write buffer and all following levels are sequences of on-disk runs.
194
+
Each level has a maximum size.
195
+
The maximum size of the write buffer is determined by the configuration parameter @confWriteBufferAlloc@.
196
+
The maximum size of every other level \(l\) is \(l \times T \times B\).
197
+
The constant \(B\) refers to the write buffer size and the constant \(T\) refers to the size ratio.
0 commit comments