Hello! If your data does not compress at least 2x, then pageSize=8192 is useless. Frankly speaking I've never seen any beneficial deployments of page compression. I recommend turning it off and keeping WAL compression only.
Regards, -- Ilya Kasnacheev вт, 8 сент. 2020 г. в 05:18, 38797715 <[email protected]>: > Hi Ilya, > > This module has already been imported. > > We re tested three scenarios: > > 1.pageSize=4096 > > 2.pageSize=8192 > > 3.pageSize=8192,disk compression and wal compression are enabled at the > same time. > > From the test results, pageSize = 4096, the writing speed of this scenario > is slightly faster, and the disk space occupation is slightly smaller, but > the amplitude is less than 10%. > > In the two scenarios with pageSize = 8192, there is no big difference in > write speed and disk space usage. However, for wal files, the size of a > single file will always be 64M. It is not clear whether more compressed > data is stored in the file. > > My test environment is: > > For notebook computers (8G RAM, 256G SSD), Apache ignite version is 2.8.1, > and the COPY command is used to import 6M data. > 在 2020/9/7 下午10:06, Ilya Kasnacheev 写道: > > Hello! > > Did you add `ignite-compres` module to your classpath? > > Have you tried WAL compression instead? Please check > https://apacheignite.readme.io/docs/write-ahead-log#section-wal-records-compression > > Regards, > -- > Ilya Kasnacheev > > > пт, 28 авг. 2020 г. в 06:52, 38797715 <[email protected]>: > >> Hi, >> >> create table statement are as follows: >> CREATE TABLE PI_COM_DAY >> (COM_ID VARCHAR(30) NOT NULL , >> ITEM_ID VARCHAR(30) NOT NULL , >> DATE1 VARCHAR(8) NOT NULL , >> KIND VARCHAR(1), >> QTY_IOD DECIMAL(18, 6) , >> AMT_IOD DECIMAL(18, 6) , >> QTY_PURCH DECIMAL(18, 6) , >> AMT_PURCH DECIMAL(18,6) , >> QTY_SOLD DECIMAL(18,6) , >> AMT_SOLD DECIMAL(18, 6) , >> AMT_SOLD_NO_TAX DECIMAL(18, 6) , >> QTY_PROFIT DECIMAL(18, 6) , >> AMT_PROFIT DECIMAL(18, 6) , >> QTY_LOSS DECIMAL(18,6) , >> AMT_LOSS DECIMAL(18, 6) , >> QTY_EOD DECIMAL(18, 6) , >> AMT_EOD DECIMAL(18,6) , >> UNIT_COST DECIMAL(18,8) , >> SUMCOST_SOLD DECIMAL(18,6) , >> GROSS_PROFIT DECIMAL(18, 6) , >> QTY_ALLOCATION DECIMAL(18,6) , >> AMT_ALLOCATION DECIMAL(18,2) , >> AMT_ALLOCATION_NO_TAX DECIMAL(18, 2) , >> GROSS_PROFIT_ALLOCATION DECIMAL(18,6) , >> SUMCOST_SOLD_ALLOCATION DECIMAL(18,6) , >> PRIMARY KEY (COM_ID,ITEM_ID,DATE1)) WITH >> "template=cache-partitioned,CACHE_NAME=PI_COM_DAY"; >> CREATE INDEX IDX_PI_COM_DAY_ITEM_DATE ON PI_COM_DAY(ITEM_ID,DATE1); >> >> I don't think there's anything special about it. >> Then we imported 10 million data using the COPY command.Data is basically >> the actual production data, I think the dispersion is OK, not artificial >> data with high similarity. >> I would like to know if there are test results for the function of disk >> compression? Most of the other memory databases also have the function of >> data compression, but it doesn't look like it is now, or what's wrong with >> me? >> >> 在 2020/8/28 上午12:39, Michael Cherkasov 写道: >> >> Could you please share your benchmark code? I believe compression might >> depend on data you write, if it full random, it's difficult to compress the >> data. >> >> On Wed, Aug 26, 2020, 8:26 PM 38797715 <[email protected]> wrote: >> >>> Hi, >>> >>> We turn on disk compression to see the trend of execution time and disk >>> space. >>> >>> Our expectation is that after disk compression is turned on, although >>> more CPU is used, the disk space is less occupied. Because more data is >>> written per unit time, the overall execution time will be shortened in the >>> case of insufficient memory. >>> >>> However, it is found that the execution time and disk consumption do not >>> change significantly. We tested the diskPageCompressionLevel values as 0, >>> 10 and 17 respectively. >>> >>> Our test method is as follows: >>> The ignite-compress module has been introduced. >>> >>> The configuration of ignite is as follows: >>> <?xml version="1.0" encoding="UTF-8"?> >>> <beans xmlns="http://www.springframework.org/schema/beans" >>> <http://www.springframework.org/schema/beans> >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>> <http://www.w3.org/2001/XMLSchema-instance> xsi:schemaLocation=" >>> http://www.springframework.org/schema/beans >>> http://www.springframework.org/schema/beans/spring-beans.xsd"> >>> <bean id="ignite.cfg" class= >>> "org.apache.ignite.configuration.IgniteConfiguration"> >>> <property name="peerClassLoadingEnabled" value="true"/> >>> <property name="consistentId" value="b"/> >>> <property name="igniteInstanceName" value="ClusterName1"/> >>> <property name="workDirectory" value="/home/ignite"/> >>> <property name="gridLogger"> >>> <bean class="org.apache.ignite.logger.log4j2.Log4J2Logger"> >>> <constructor-arg type="java.lang.String" value= >>> "config/ignite-log4j2.xml"/> >>> </bean> >>> </property> >>> <property name="cacheConfiguration"> >>> <list> >>> <bean id="partitioned-cache-template" abstract="true" class= >>> "org.apache.ignite.configuration.CacheConfiguration"> >>> <property name="name" value="cache-partitioned*"/> >>> <property name="cacheMode" value="PARTITIONED" /> >>> <property name="queryParallelism" value="2"/> >>> <property name="diskPageCompression" value="LZ4"/> >>> <property name="diskPageCompressionLevel" value="17"/> >>> </bean> >>> </list> >>> </property> >>> <!-- Enabling Apache Ignite Persistent Store. --> >>> <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"/> >>> <property name="maxSize" value="#{1L * 1024 * 1024 * 1024}"/> >>> </bean> >>> </property> >>> </bean> >>> </property> >>> </bean> >>> </beans> >>> >>
