📃
Tech White Papers
  • 📃White Papers
  • 🪶Apache
    • Kafka (EN)
      • Kafka Connect
      • Kafka Streams
      • ksqlDB
    • Ignite (TR)
      • Clustering
        • Baseline Topology
      • Thin Clients
      • Data Modeling
        • Data Partitioning
        • Affinity Colocation
      • Memory Architecture
      • Persistence
        • External Storage
        • Swapping
        • Snapshot
        • Disk Compression
        • Persistence Tuning
        • Change Data Capture
      • Cluster Snapshots
      • Data Rebalancing
      • Data Streaming
      • Using Key-Value API
        • Basic Cache Operations
        • Working With Binary Objects
      • Performing Transactions
      • Working with SQL
        • Understanding Schemas
        • Defining Indexes
        • Distributed Joins
      • Distributed Computing
      • Machine Learning
      • Using Continuous Queries
      • Using Ignite Messaging
      • .NET Specific
        • LINQ
        • Serialization
      • Working With Events
        • Events
      • Performance and Troubleshooting
        • Generic Performance Tips
        • Memory and JVM Tuning
        • Persistence Tuning
        • SQL Performance Tuning
        • Thread Pools Tuning
    • Pulsar (TR)
  • 📜Data
    • ClickHouse (TR)
    • QuestDB (TR)
  • Comparison
    • Pulsar vs Kafka
    • ClickHouse vs QuestDB
  • Architectural
    • Microservices
      • Design Principles
      • Design Patterns
Powered by GitBook
On this page

Was this helpful?

  1. Apache
  2. Ignite (TR)
  3. Persistence

Disk Compression

03/02/2023

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 boyutunun 8K veya 16K 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.

PreviousSnapshotNextPersistence Tuning

Last updated 2 years ago

Was this helpful?

🪶