Disk Compression
Disk sıkıştırma, veri sayfalarının diske yazılırken sıkıştırılması ve disk üzerindeki depolama boyutunun küçültülmesi işlemidir. Sayfalar sıkıştırılmamış olarak bellekte tutulur, ancak veriler diske aktarıldığında seçilen algoritma kullanılarak sıkıştırılır. Bu, yalnızca persist depolamada depolanan ve indexleri veya WAL kayıtlarını sıkıştırmayan veri sayfaları için geçerlidir. WAL kayıtları sıkıştırma ayrıca etkinleştirilebilir.
Disk sayfası sıkıştırma, cache yapılandırmasında cache bazında etkinleştirilebilir. Cache, kalıcı bir veri bölgesinde bulunmalıdır. Şu anda global olarak disk sayfası sıkıştırmayı etkinleştirme seçeneği yoktur. Ayrıca, aşağıdaki ön koşullar karşılanmalıdır:
- Veri depolama yapılandırmasındaki
pageSize
özelliği, dosya sisteminin sayfa boyutunun en az 2 katı olacak şekilde ayarlanmalı. Bu, sayfa boyutunun8K
veya16K
olması gerektiği anlamına gelir. ignite-compress
modülünü etkin olmalı.- Bir cache için disk sayfası sıkıştırmayı etkinleştirmek üzere, aşağıdaki örnekte gösterildiği gibi önbellek yapılandırmasında mevcut sıkıştırma algoritmalarından biri seçilebilir:
XML Config
<bean class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="dataStorageConfiguration">
<bean class="org.apache.ignite.configuration.DataStorageConfiguration">
<property name="pageSize" value="#{4096 * 2}"/>
<property name="defaultDataRegionConfiguration">
<bean class="org.apache.ignite.configuration.DataRegionConfiguration">
<property name="persistenceEnabled" value="true"/>
</bean>
</property>
</bean>
</property>
<property name="cacheConfiguration">
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="myCache"/>
<!-- enable disk page compression for this cache -->
<property name="diskPageCompression" value="LZ4"/>
<!-- optionally set the compression level -->
<property name="diskPageCompressionLevel" value="10"/>
</bean>
</property>
</bean>
Desteklenen algoritmalar;
ZSTD →
-131072 ile 22 (varsayılan: 3) arasındaki sıkıştırma düzeylerini destekler.LZ4 →
0 ila 17 (varsayılan: 0) arasındaki sıkıştırma düzeylerini destekler.SNAPPY →
— Snappy algoritması.SKIP_GARBAGE →
— bu algoritma yalnızca yarısı dolu sayfalardan, faydalı verileri çıkarır ve verileri sıkıştırmaz.