Рубрики
Разное

Степень сжатия и компрессия таблица: Степень сжатия и компрессия. В чем разница? Это одно и тоже или все же нет

Содержание

Компрессия и степень сжатия дизельного двигателя

Двигатель внутреннего сгорания (бензиновый, дизельный) является сложным устройством, состоящим из множеств механизмов и систем.

Взаимодействие их между собой позволяет преобразовывать энергию, возникающую при сгорании топливно-воздушной смеси во вращательное движение кривошипно-шатунного механизма с дальнейшей передачей вращения на трансмиссию.

Основная работа по преобразованию энергии происходит внутри цилиндро-поршневой группы, а именно в цилиндрах.

Понятие степени сжатия

Зачастую эти понятия путают между собой или объединяют в один термин. В действительности это два разных термина, и характеризуются они по-разному.

Сначала разберем все о степени сжатия дизельного мотора.

Соотношение объема цилиндра двигателя в момент нахождения поршня в нижней мертвой точке (НМТ) к объему камеры сгорания в момент, когда поршень достигает верхней мертвой точки и есть степень сжатия двигателя.

Данное соотношение указывает на разницу давления, возникающую в цилиндре двигателя в тот момент, когда в цилиндр поступает топливо.

В технической документации, идущей вместе с дизельной силовой установкой, степень сжатия указывается в виде математического соотношения, к примеру — 18:1.

Для дизельного агрегата самой оптимальной степень сжатия варьируется в диапазоне от 18:1 до 22:1. Именно при таких показателях у этого двигателя достигаются максимальные показатели эффективности.

Как все работает

У дизельного мотора при такте сжатия, когда поршень движется к ВМТ, объем в цилиндре быстро сокращается. В этот момент в камере сгорания находиться только воздух, он-то и сжимается, данный процесс называется тактом сжатия.

При подходе поршня к ВМТ, воздух сжимается на указанную в документации степень сжатия, в камеру сгорания под давлением подается топливо.

Смесь из топлива и воздуха из-за воздействия на нее высокого давления воспламеняется, значительно увеличивая давление внутри камеры, поршень в этот момент проходит ВМТ.

Образовавшееся в результате сгорания топливовоздушной смеси высокое давление начинает давить на днище поршня, заставляя его двигаться к НМТ.

Посредством шатуна поступательное движение поршня преобразовывается во вращательное движение колен. вала.

В данном случае давление, возникшее в результате воспламенения смеси, заставляет двигаться поршень к НМТ называется рабочим ходом. Рабочий ход является одним из тактов работы цилиндро-поршневой группы.

При такте сжатия как раз и важна степень сжатия. Чем она выше, тем более легче воспламениться горючая смесь и в более полной мере она сгорит, обеспечив большее давление.

При хорошем показателе степени сжатия дизельный мотор будет обеспечивать больший выход мощности при меньшем количестве сгораемого топлива.

Больше по теме — Разная компрессия в цилиндрах, что делать, последствия.

Однако у дизельных силовых установок не зря имеется диапазон степени сжатия, за который выходить не рекомендуется.

Степень сжатия меньше 18:1 приводит к снижению мощностного показателя установки, при этом потребление топлива увеличивается.

Но и чрезмерная степень сжатия у мотора тоже сказывается нехорошо на двигателе, особенно дизельном. За счет увеличенных нагрузок, которые испытывают цилиндропоршневая группа, их ресурс очень быстро сокращается.

Увеличение сверх нормы степени сжатия может привести к прогоранию поршня, изгибу шатуна.

В некоторых случаях увеличение данного показателя приводит к взрыву силовой установки без возможности последующего восстановления.

ВАЖНО ЗНАТЬ: Степень сжатия у водородных двигателей значительно больше.

Возможность замера степени сжатия

Проверить степень сжатия дизельного агрегата в гаражных условиях практически невозможно. Поскольку нужно проводить некоторые замеры, которые сделать очень сложно.

Одним из таких замеров является выяснение объема в цилиндре при нахождении поршня в ВМТ.

Далее нужно знать некоторые параметры силовой установки, часть из которых можно узнать из тех. документации, но некоторые узнать довольно сложно.

Для расчета степени сжатия потребуется знать объем камеры сгорания, поскольку между блоком цилиндров находиться прокладка, то нужно знать ее толщину и диаметр поршневого отверстия в ней, ход поршня и диаметр цилиндра.

Имея все эти данные, а также произведя замеры объема в цилиндре, можно математическим путем провести вычисления степени сжатия.

Способы повышения показателя

Замерить степень сжатия на дизельном двигателе сложно, а вот изменить данный показатель в лучшую сторону – можно.

Есть несколько способов увеличения показателей степени сжатия на дизельном агрегате.

Уменьшаем камеру сгорания двигателя

Самым простым способом увеличения данного показателя является уменьшение камеры сгорания.

Уменьшить объем камеры сгорания

Можно несколькими путями. Первое, что можно сделать – это заменить прокладку между блоком и головкой двигателя на более тонкую, за счет этого и измениться объем камеры сгорания.

Дополнительно можно провести торцевание головки блока цилиндров. В этом случае с головки блока снимается слой металла, из-за чего и уменьшается камера сгорания.

Читайте также:

Использование турбированного нагнетателя

Вторым способом изменения данного показателя является увеличение давления в камере сгорания.

Применение такого устройства, как турбинный нагнетатель, он же турбонаддув, позволяет увеличить степень сжатия.

В дизельных силовых установках, не имеющих данного устройства, воздух, требуемый для создания горючей смеси, подается за счет разрежения в цилиндре, возникающего при такте впуска.

При такой подаче воздуха в цилиндры высокое давление на такте сжатия обеспечить в полной мере невозможно, поскольку количество воздуха получатся ограниченным.

При использовании нагнетателя воздух в цилиндры подается принудительно. Это обеспечивает подачу большего количества воздуха, и как следствие большего давления в цилиндре при такте сжатия.

ЧИТАЙТЕ ПО ТЕМЕ: Турбированный или атмосферный двигатель, что лучше.

Интеркулер

Часто на дизельных моторах, помимо нагнетателя применяется еще одно устройство – интеркулер. Он также позволяет увеличить давление в цилиндре, но по несколько иному принципу, чем нагнетатель.

В задачу интеркулера входит охлаждение воздуха перед подачей его в цилиндры. Приводит это к тому, что при охлаждении плотность воздуха увеличивается, а значит и давление в цилиндре будет выше.

Это основная информация, что касается степени сжатия. Перейдем к компрессии.

Понятие компрессии

Компрессия – это показатель давления в цилиндрах двигателя. Измеряться данный показатель может в нескольких величинах – кг/см кв., Барах, Атмосферах, Паскалях.

Особое внимание заслуживает компрессия дизельного двигателя, так как данный показатель очень важен в дизельных моторах. У дизеля компрессия должна быть порядка 22 Атм., хотя на разных двигателях может быть и больше, при этом значительно.

Высокая компрессия в цилиндрах дизеля должна обеспечиваться потому, что воспламенение горючей смеси производится именно из-за высокого давления.

Если данный показатель на дизеле будет значительно меньше нормы, запуск мотора – затруднителен или невозможен.

Компрессия дизельного двигателя в цилиндре достигается путем сжатия воздуха поршнем при такте сжатия. Но полной герметичности внутри цилиндра добиться просто невозможно, всегда будет утечка воздуха.

Воздух частично может прорываться через изношенные компрессионный кольца, когда они уже не могут обеспечить должное прилегание к цилиндру, часть воздушной массы может выходить из цилиндра через неплотное прилегание клапанов к седлам.

Если говорить в общем, то показатель компрессии указывает на состояние двигателя.

Сильное несоответствие компрессии двигателя от заданных норм всегда указывает на сильный износ механизмов силовой установки. Поэтому измерение компрессии входит в комплекс диагностических работ двигателя.

Как замерить компрессию

В отличие от степени сжатия провести замеры компрессии двигателя не особо сложно. Для проведения данных работ достаточно иметь компессометр или компрессограф.

Принцип действия этих двух приборов одинаков, разница лишь в выводе информации.

У компрессометра значение давления указывается на шкале манометра.

У компрессографа же информация о давлении в цилиндре заносится на какой-либо носитель информации или же просто на бумагу.

Последовательность проверки компрессии в дизельном двигателе такова:

  1. С одного цилиндра снимается форсунка, на ее место устанавливается прибор;
  2. Затем производится проворот коленвала стартером и записывается полученный результат;
  3. После проверяется компрессия во всех остальных цилиндрах;
  4. Затем значения, полученные во всех цилиндрах, сверяются.

У неизношенного двигателя компрессия должна соответствовать или хотя быть близкой к номинальному значению, указанному в документации. Разбежность в показателях на разных цилиндрах тоже должна быть одинаковой, допускается незначительные отличия.

От чего зависит компрессия

Как уже сказано, компрессия дизельного двигателя, и не только его, а всех силовых установок, зависит от состояния цилиндро-поршневой группы и газораспределительного механизма.

Но помимо этого компрессия двигателя еще и зависит от количества оборотов коленвала. Чем ниже его обороты, тем больше времени у воздуха, находящегося внутри цилиндра найти место, где он может выйти из нее.

Поэтому при замере компрессии важно проследить о том, чтобы стартер обеспечил хотя бы минимальных 200-250 оборотов коленчатого вала в минуту. Иначе показания компрессометра не будут соответствовать реальному значению этого показателя.

Это конечно, не все факторы, влияющие на компрессию, но перечисленные являются одними из основных.

Особенности запуска дизельного двигателя

Но высокая компрессия дизельного двигателя, которой обеспечивается работоспособность силовой установки, играет не на руку легкости пуска.

Конечно, если двигатель хорошо прогреется, стартеру не составит труда обеспечить должные обороты коленвала, и как следствие должное давление в камере сгорания и запуск силовой установки.

У холодного же мотора появляется несколько дополнительных факторов, усложняющих запуск. Одним из таких факторов является повышенное трение между узлами и механизмами у холодного двигателя, поскольку масляной прослойки между ними нет.

А если к данному фактору у дизельной установки добавить еще и слабую компрессию, из-за которой воспламенение рабочей смеси затруднительно, поскольку давления в камере сгорания недостаточно, то пуск мотора очень затруднителен.

Поэтому чем ниже температура и слабее компрессия дизельного двигателя, тем меньше шансов его запустить.

И это еще не рассмотрена такая особенность дизельного топлива, как парафинированние его при низких температурах.

Как рассчитать и изменить степень сжатия двигателя

Содержание

  • 1 Что такое степень сжатия двигателя
  • 2 На что она влияет
  • 3 Отличие степени сжатия от компрессии
  • 4 Расчет коэффициента сжатия
  • 5 Турбированные моторы
  • 6 Пример подсчета
  • 7 Как увеличить степень сжатия двигателя
  • 8 Дефорсирование ДВС: для чего нужно и как осуществить
  • 9 Таблица: зависимость степени сжатия от октанового
    числа
  • 10 Таблица: популярные двигатели и показатель сжатия

Одним из главнейших технических
показателей автомобильного мотора является коэффициент сжатия. Он показывает соотношение разницы между объёмом
свободного участка над цилиндровым поршнем и под ним в крайних его положениях.

Что такое степень сжатия двигателя

Условно величину сжатия представляют и как
соотношение давлений в устройстве при подаче горючего и взрыве смеси. Конкретно
эта степень обусловлена конструкцией автомобильного двигателя, и может быть
высокой или низкой.

Перед непосредственным процессом
воспламенения горючей смеси, поршни сжимают топливо до определённого объёма.
Инженеры способны варьировать этот показатель, рассчитывая его ещё на стадии
проектирования. Узнав количественное соотношение данной величины к объёму
камеры сгорания, можно делать различные выводы.

На бензиновых силовых установках
показатель сжатия достигает максимум 12 единиц. Чем выше здесь степень сжатия
двигателя или ССД, тем больше удельная мощность
мотора. Однако при сильном увеличении данного показателя снижается ресурс
агрегата, особенно при заправке низкосортным бензином. На дизельных моторах,
ввиду их технических отличий, она может варьироваться от 14 до 18 единиц.

В бензиновые двигатели с увеличенной до 12 единиц степенью сжатия нельзя лить ничего, кроме АИ-98 Премиум. Очевидно, что это существенно удорожает расходы на топливо.

На что она влияет

ССД непосредственно определяет объём
работы, произведённой ДВС. Чем изначально выше рассчитана
степень сжатия, тем продуктивнее будет воспламенение.
Пропорционально увеличится и отдача мотора. Вспомним, как разработчики в 90-е годы
старались повышать этот показатель, полностью не модернизируя двигатель.  Таким
способом они конкурировали между собой, делая агрегаты мощнее, и не затрачивая
при этом много средств. Но что самое интересное — моторы в этом случае не
потребляли больше горючего, а даже становились экономнее.

Однако всему есть предел, и как было
сказано выше, чересчур высокий коэффициент приводит к снижению ресурса ДВС.
Почему это происходит? Дело в том, что при значительном сжатии топливная смесь
начинает самопроизвольно детонировать, взрываться. Особенно это затрагивает
агрегаты на бензине, поэтому здесь данный коэффициент имеет строгое
ограничение.

Помните, что применение низкооктанового топлива становится причиной детонации на агрегатах с повышенной ССД. И наоборот, высокооктановое горючее может не позволять двигателю полностью раскрываться, если будет использовано в агрегатах с низким коэффициентом сжатия. По этой причине оба параметра должны соответствовать. Подробнее в таблице ниже.

Отличие степени сжатия от компрессии

Степень сжатия двигателя не является компрессией. Они полностью различаются, хотя многие их путают. Коэффициент, о котором идёт речь в статье, не раскрывает значение оптимального давления ТВС перед возгоранием. Измеряется ССД лишь относительно, в соотношении к единице объёма камеры.

Под компрессией принято понимать предельное значение сжатия, образуемого в камере сгорания, на конечном этапе давления горючей смеси. Данная величина априори не может быть относительной, поэтому её измеряют в абсолютных значениях — атм, кг/см2, бар.

Степень сжатия и компрессия неразрывно связаны, но не идентичны. Показатель компрессии зависит не только от сжатия. На него оказывает влияние температура ДВС, наличие зазоров в приводных клапанах, состав топлива и многое другое.

Расчет коэффициента сжатия

Ввиду того, что желательно увеличивать
степень сжатия до определённого значения, необходимо уметь рассчитывать этот
показатель. К тому же это даст возможность избежать детонационных моментов,
разрушающих силовой агрегат изнутри в процессе форсирования.

Таким образом, необходимость в измерении
этого показателя требуется в таких случаях, как:

  • форсировка мотора;
  • подгонка под топливо с другим АИ или для метанового топлива с
    октановым числом 120;
  • послеремонтная корректировка.

Турбированные моторы

На турбомоторах расчёт коэффициента сжатия
отличается. Это объясняется наличием наддува воздуха. Поэтому в этом случае
величину, полученную в ходе вычислений, умножают на показатель
турбокомпрессора.

Кроме того, при вычислении степени сжатия
турбированных моторов учитывается не только давление наддува, но и показатель
эффективного сжатия, климатические изменения и многое другое. В данном случае
процесс значительно усложняется по сравнению с измерениями на атмосферном
двигателе.

Пример подсчета

Вот как выглядит общепринятая расчётная
формула для автомобильного ДВС: «ССД = (РО+ОКС)/ОКС». Степень сжатия здесь
отмечена как «ССД», рабочий объём цилиндра — «РО», а объём камеры сгорания —
«ОКС».

Для расчёта «РО» нужно в первую очередь
разложить единый объём двигателя или литраж на количество используемых
цилиндров. К примеру, литраж мотора «четвёрки» — 1997 см3. Для определения
ёмкости одного цилиндра, надо 1997 разделить на 4. Получится около 499 см3.

Для вычисления параметра «ОКС» специалисты
пользуются проградуированной в см3 трубкой или пипеткой. Под камерой
подразумевается место, где непосредственно происходит возгорание горючего.
Камеру заправляют, а затем измеряют объём с помощью жидкостной бюретки. Если
нет градуированной трубочки, можно жидкость выкачать с помощью шприца, а затем
измерить в мерной посуде или на весах. В этом случае желательно для расчёта
использовать не бензин или солярку, а чистую воду, так как её удельный вес
более соотносим к объёму в см3.

Внимание! Для точного измерения «ОКС» дополнительно приплюсовывается объём толщины прокладки ГБЦ, учитывается форма днища поршней и другие особенности. Поэтому расчёт этой величины рекомендуется доверить специалистам.

Как увеличить степень сжатия двигателя

Если необходимо увеличить данный
показатель, используют несколько способов:

  • расточка блока и установка поршней с большим диаметром;
  • уменьшение объёма камеры сгорания путём удаления слоя металла в месте соединения ГБЦ.

Нельзя забывать, что в некоторых случаях потребуется инсталляция модернизированных поршней. Это делается, чтобы исключить такое нежелательное последствие, как встреча поршней с клапанами. В частности, на элементах увеличивают выемки клапанов. Также в обязательном порядке корректируются заново фазы газораспределения.

Интересно, что лучше всех раскрыли
потенциал степени сжатия ДВС японские производители. В то время как европейские
автокомпании пошли путём усовершенствования гибридных моторов, японцам удалось
увеличить ССД до 14 единиц и на бензиновых силовых агрегатах, применив
изменяемую величину. Но как это возможно без детонационных моментов? Всё
оказалось просто. Оказывается, нужно охладить камеру, где происходит
возгорание. Тогда можно будет без опасения сжимать смесь. И вовсе не
обязательно для этого использовать прохладный воздух: достаточно модернизировать
систему выпуска.

Приём, давно известный ещё по гоночным
движкам. Выпускные каналы меняются согласно схеме 4-2-1. Порции выхлопных газов
здесь не мешаются, поочерёдно вылетают в трубу. Благодаря такой чёткой системе
выхлопа, улучшается продувка цилиндров, где остаётся меньше горячих газов.

Секрет японской формулы, согласно которой можно без опаски сжимать горючую смесь, имеет строго математическое соотношение. Так, если процент выхлопа снизить в 2 раза, ССД можно поднимать на 3 единицы, но не больше. Если же при этом ещё и охлаждать воздух, поступающий в цилиндры, можно приплюсовать ещё одну единицу.

Однако для реализации данного метода нужно
будет еще модернизировать газообмен, раскошелившись на фазовращатели обоих
распредвалов. Вдобавок потребуется доработать некоторые моменты. К примеру,
изменить длину поршневого хода посредством компьютерного вмешательства.

Применяется система изменяемого коэффициента на многих японских движках, например, для Inflniti. Способность автоматически менять этот показатель сжатия в зависимости от нагрузки позволяет значительно повышать КПД мотора, особенно турбированного. Каждая порция смеси сгорает при оптимальном на данный момент работы сжатии. Так, если нагрузки на мотор незначительные и смесь обеднённая, включается максимальное сжатие. И наоборот, в нагруженном режиме задействуется минимальная степень, так как бензина впрыскивается много и возможна детонация.

Таким образом, передовая система изменения ССД позволяет вдвое уменьшать литраж мотора, сохраняя при этом мощность и динамические характеристики.

Курс на увеличение
степени сжатия двигателя наблюдался и в середине 20 века в
США. Основная масса американских двигателей, выпущенных в 70-е годы, находилась
в пределах 11-13 единиц. Но работали они только на очень качественном,
высокооктановом топливе, получаемом путём этилирования. После того как
этилирование запретили, в серийных образцах ДВС наблюдалось снижение показателя
сжатия.

Важно знать, что прирост мощности будет наиболее заметен на двигателях, штатно работающих на низкой степени сжатия. Например, моторы с показателем 8 единиц, доведённые до 10, выдадут больше мощности, чем агрегаты со стоковым параметром 11 единиц, форсированные до 12.

Дефорсирование ДВС: для чего нужно и как осуществить

Иногда бывает необходимо уменьшить показатель сжатия. В этом случае устанавливается дополнительная металлическая прокладка ГБЦ. Можно использовать две прокладки вместо одной, тем самым утолщая промежуток — объём камеры растёт за счёт высоты головки блока. Более сложный способ подразумевает укорочение поршня — удаление верхнего слоя на токарном станке.

Дефорсирование двигателя, как правило, процедура
вынужденная. В том числе это делается для снижения налоговых выплат или в целях
увеличения ресурса агрегата. Как известно, моторы с низкой степенью сжатия дольше
работают, меньше подвержены износу. Однако любой такой процесс усложняется
законом, чтобы недобросовестные владельцы искусственно не занижали технические
данные.

Что касается снижения показателя сжатия на
турбированных моторах, то здесь потребуется модернизация системы электрики с
датчиками, всей поршневой группы и форсунок, если это дизельный агрегат.

В отдельных случаях дефорсированию предпочитают свап, когда менее мощный контрактный мотор устанавливают вместо штатного.

Таблица: зависимость степени сжатия от октанового
числа

Степень сжатия Октановое число
5,5-7 АИ 66-72
7-7,5 АИ 72-76
7,5-8,5 АИ 76-85
10 АИ 92
10,5-12,5 АИ 95
12-14,5 АИ 98

Таблица: популярные двигатели и показатель сжатия

Двигатели Степень сжатия
BMW M54B30 10,2
 
Mercedes-Benz M112 E32 3.2 л
 10
 
Ford-Mazda 2,0 л Duratec HE/MZR LF
 10,8
 
Infiniti VQ37VHR (Nissan) 3.7 л
 11.0
 
Mitsubishi 4М41
 17.0
 
Audi 3.6 FSI
 12. 0
ЗМЗ 406 2.3 л. 8-9,3

Если у вас возникли вопросы — оставляйте их в комментариях под статьей. Мы или наши посетители с радостью ответим на них

15.9.1.3 Настройка сжатия для таблиц InnoDB

15.9.1.3 Настройка сжатия для таблиц InnoDB

Чаще всего внутренние оптимизации, описанные в
Хранение и сжатие данных InnoDB обеспечивают
что система хорошо работает со сжатыми данными. Однако, поскольку
эффективность сжатия зависит от характера вашего
данные, вы можете принимать решения, влияющие на производительность
сжатые таблицы:

  • Какие таблицы сжимать.

  • Какой сжатый размер страницы использовать.

  • Следует ли настраивать размер пула буферов на основе
    характеристики производительности во время выполнения, такие как количество
    время, затрачиваемое системой на сжатие и распаковку данных.
    Является ли рабочая нагрузка больше похожей на
    хранилище данных
    (в основном запросы) или
    OLTP-система (сочетание запросов
    и ДМЛ).

  • Если система выполняет операции DML со сжатыми таблицами,
    и то, как распределяются данные, приводит к дорогостоящим
    компрессия
    сбои во время выполнения, вы можете настроить дополнительные
    расширенные параметры конфигурации.

Используйте рекомендации в этом разделе, чтобы сделать эти
выбор архитектуры и конфигурации. Когда вы будете готовы
проводить долгосрочное тестирование и помещать сжатые таблицы в
производство см.
Раздел 15.9.1.4, «Мониторинг сжатия таблиц InnoDB во время выполнения» для способов
чтобы проверить эффективность этих вариантов в реальных условиях
условия.

Когда использовать сжатие

Как правило, сжатие лучше всего работает с таблицами, содержащими
разумное количество столбцов строк символов и где данные
читается гораздо чаще, чем пишется. Потому что нет
гарантированные способы предсказать, принесет ли сжатие пользу
конкретной ситуации, всегда проверяйте конкретную
рабочая нагрузка и набор данных
работает на репрезентативной конфигурации. Рассмотрим
следующие факторы при принятии решения о сжатии таблиц.

Характеристики данных и сжатие

Ключевой фактор, определяющий эффективность сжатия в уменьшении
размер файлов данных определяется характером самих данных. Отзывать
что сжатие работает, идентифицируя повторяющиеся строки байтов
в блоке данных. Полностью рандомизированные данные — худшее
кейс. Типичные данные часто имеют повторяющиеся значения и поэтому сжимают
эффективно. Строки символов часто хорошо сжимаются, независимо от того,
определено в СИМВОЛ , ВАРЧАР ,
TEXT или BLOB столбцов. На
с другой стороны, таблицы, содержащие в основном двоичные данные (целые числа
или числа с плавающей запятой) или данные, которые ранее были сжаты
(например, JPEG или PNG
изображения) обычно могут не сжиматься хорошо, значительно или в
все.

Вы выбираете, включать ли сжатие для каждой таблицы InnoDB.
Таблица и все ее индексы используют одно и то же (сжатое)
размер страницы. Может быть
что первичный ключ
(кластеризованный) индекс, который содержит данные для всех столбцов
table сжимается более эффективно, чем вторичные индексы.
Для тех случаев, когда есть длинные строки, использование
сжатие может привести к сохранению длинных значений столбца
«вне страницы», как обсуждалось в
ДИНАМИЧЕСКИЙ формат строки. Те переполняют
страницы могут хорошо сжиматься. Учитывая эти соображения, для многих
приложения, некоторые таблицы сжимаются эффективнее, чем другие,
и вы можете обнаружить, что ваша рабочая нагрузка работает лучше всего только с
подмножество таблиц сжато.

Чтобы определить, следует ли сжимать конкретную таблицу,
проводить эксперименты. Вы можете получить приблизительную оценку того, как
эффективно ваши данные могут быть сжаты с помощью утилиты, которая
реализует сжатие LZ77 (например, gzip или
WinZip) на копии . ibd
файл для несжатой таблицы. Вы можете ожидать меньше
сжатие из сжатой таблицы MySQL, чем из файла на основе
инструменты сжатия, потому что MySQL сжимает данные фрагментами на основе
на размер страницы, 16 КБ на
дефолт. Помимо пользовательских данных, формат страницы включает некоторые
внутренние системные данные, которые не сжаты. Файловый
утилиты сжатия могут анализировать гораздо большие фрагменты данных,
и поэтому может найти больше повторяющихся строк в огромном файле, чем
MySQL можно найти на отдельной странице.

Другой способ проверить сжатие конкретной таблицы — скопировать
некоторые данные из вашей несжатой таблицы в аналогичную сжатую
таблица (имеющая все те же индексы) в
файл на таблицу
табличное пространство и посмотрите на размер получившегося
.ibd файл. Например:

 ЕГЭ-тест;
УСТАНОВИТЬ ГЛОБАЛЬНЫЙ innodb_file_per_table=1;
УСТАНОВИТЬ ГЛОБАЛЬНУЮ автофиксацию=0;
-- Создайте несжатую таблицу с миллионом или двумя строками. 
CREATE TABLE big_table AS SELECT * FROM information_schema.columns;
INSERT INTO big_table SELECT * FROM big_table;
INSERT INTO big_table SELECT * FROM big_table;
INSERT INTO big_table SELECT * FROM big_table;
INSERT INTO big_table SELECT * FROM big_table;
INSERT INTO big_table SELECT * FROM big_table;
INSERT INTO big_table SELECT * FROM big_table;
INSERT INTO big_table SELECT * FROM big_table;
INSERT INTO big_table SELECT * FROM big_table;
INSERT INTO big_table SELECT * FROM big_table;
INSERT INTO big_table SELECT * FROM big_table;
СОВЕРШИТЬ;
ALTER TABLE big_table ADD id int unsigned NOT NULL PRIMARY KEY auto_increment;
ПОКАЗАТЬ СОЗДАТЬ ТАБЛИЦУ big_table\G
выберите количество (id) из big_table;
-- Проверьте, сколько места необходимо для несжатой таблицы.
\! ls -l данные/тест/big_table.ibd
CREATE TABLE key_block_size_4 LIKE big_table;
ALTER TABLE key_block_size_4 key_block_size=4 row_format=сжатый;
INSERT INTO key_block_size_4 SELECT * FROM big_table;
совершить;
-- Проверить, сколько места необходимо для сжатой таблицы
-- с определенными настройками сжатия. 
\! ls -l данные/тест/key_block_size_4.ibd 

В результате этого эксперимента были получены следующие числа, которые, конечно же,
может значительно различаться в зависимости от структуры вашей таблицы и
данные:

 -rw-rw---- 1 cirrus staff 310378496 9 января 13:44 data/test/big_table.ibd
-rw-rw---- 1 cirrus staff 83886080 9 января 15:10 data/test/key_block_size_4.ibd 

Чтобы увидеть, эффективно ли сжатие для вашего конкретного
нагрузка:

  • Для простых тестов используйте экземпляр MySQL без каких-либо других
    сжатые таблицы и выполнять запросы к
    INFORMATION_SCHEMA.INNODB_CMP
    стол.

  • Для более сложных тестов, включающих рабочие нагрузки с несколькими
    сжатые таблицы, выполнять запросы к
    INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX
    стол. Поскольку статистика в
    Таблица INNODB_CMP_PER_INDEX слишком дорогая
    для сбора необходимо включить параметр конфигурации
    innodb_cmp_per_index_enabled
    перед запросом этой таблицы, и вы можете ограничить такие
    тестирование на сервер разработки или некритическую реплику
    сервер.

  • Запустите несколько типичных операторов SQL для сжатой таблицы.
    вы тестируете.

  • Изучите соотношение успешных операций сжатия к
    общие операции сжатия, запрашивая
    INFORMATION_SCHEMA.INNODB_CMP
    или же
    INFORMATION_SCHEMA.INNODB_CMP_PER_INDEX
    таблице и сравнивая COMPRESS_OPS с
    COMPRESS_OPS_OK ​​ .

  • Если высокий процент операций сжатия завершен
    успешно, таблица может быть хорошим кандидатом для
    сжатие.

  • Если вы получаете высокую долю
    компрессия
    сбои, вы можете настроить
    innodb_compression_level ,
    innodb_compression_failure_threshold_pct ,
    а также
    innodb_compression_pad_pct_max
    варианты, как описано в
    Раздел 15. 9.1.6, «Сжатие для рабочих нагрузок OLTP» и
    попробуйте дополнительные тесты.

Сравнение сжатия базы данных и сжатия приложений

Решите, следует ли сжимать данные в вашем приложении или в
стол; не используйте оба типа сжатия для одних и тех же данных.
Когда вы сжимаете данные в приложении и сохраняете
приводит к сжатию таблицы, дополнительная экономия места чрезвычайно велика.
маловероятно, а двойное сжатие просто тратит циклы процессора.

Сжатие в базе данных

Когда включено, сжатие таблиц MySQL происходит автоматически и применяется
ко всем столбцам и значениям индекса. Колонки еще можно протестировать
с такими операторами, как LIKE , и сортировать
операции могут по-прежнему использовать индексы, даже если значения индексов
сжатый. Поскольку индексы часто составляют значительную часть
общий размер базы данных, сжатие может привести к
значительная экономия памяти, операций ввода-вывода или процессорного времени.
операции сжатия и распаковки происходят в базе данных
сервер, который, вероятно, представляет собой мощную систему, размер которой
справиться с ожидаемой нагрузкой.

Сжатие в приложении

Если вы сжимаете данные, такие как текст, в своем приложении, прежде чем они
вставляется в базу данных, вы можете сэкономить накладные расходы на данные
который плохо сжимается, сжимая некоторые столбцы, а не
другие. Этот подход использует циклы процессора для сжатия и
распаковка на клиентской машине, а не в базе данных
сервер, который может подойти для распределенного приложения
со многими клиентами или когда на клиентской машине есть свободный ЦП
циклы.

Гибридный подход

Конечно, можно комбинировать эти подходы. Для некоторых
приложений, может быть уместно использовать некоторые сжатые
таблицы и некоторые несжатые таблицы. Может быть, лучше всего
внешне сжимать некоторые данные (и хранить их в несжатом
таблицы) и позволить MySQL сжать (некоторые) другие таблицы
в приложении. Как всегда, передовой дизайн и реальная жизнь
тестирование ценно для принятия правильного решения.

Характеристики рабочей нагрузки и сжатие

Помимо выбора таблиц для сжатия (и страницы
размер), рабочая нагрузка является еще одним ключевым фактором, определяющим производительность.
Если в приложении преобладают операции чтения, а не обновления,
требуется реорганизовать и повторно сжать меньше страниц после
странице индекса не хватает места для постраничных «модификаций».
log», который MySQL поддерживает для сжатых данных. Если
обновления преимущественно изменяют неиндексированные столбцы или те
содержащий BLOB s или большие строки, которые случаются
храниться «вне страницы», накладные расходы
сжатие может быть приемлемым. Если только изменения в таблице
INSERT , которые используют монотонно
увеличивается первичный ключ, а вторичных индексов мало,
нет необходимости реорганизовывать и повторно сжимать индексные страницы.
Поскольку MySQL может «отмечать удаление» и удалять строки на
сжатые страницы «на месте» путем изменения
несжатые данные, УДАЛИТЬ операций на
таблица относительно эффективна.

В некоторых средах время, необходимое для загрузки данных, может достигать
важно, как поиск во время выполнения. Особенно в хранилище данных
средах многие таблицы могут быть доступны только для чтения или в основном для чтения. В
В этих случаях может быть приемлемо или неприемлемо платить
цена сжатия с точки зрения увеличения времени загрузки, если только
результирующая экономия за счет меньшего количества операций чтения с диска или затрат на хранение.
значительный.

По сути, сжатие работает лучше всего, когда процессорное время
доступны для сжатия и распаковки данных. Таким образом, если ваш
рабочая нагрузка связана с вводом-выводом, а не с привязкой к ЦП, вы можете обнаружить
что сжатие может улучшить общую производительность. Когда вы тестируете
производительность вашего приложения с различным сжатием
конфигураций, протестировать на платформе, аналогичной запланированной
конфигурация производственной системы.

Характеристики конфигурации и сжатия

Чтение и запись базы данных
страницы с диска и на диск
самый медленный аспект производительности системы. Попытки сжатия
сократить количество операций ввода-вывода за счет использования процессорного времени для сжатия и распаковки данных,
и наиболее эффективен, когда ввод-вывод является относительно дефицитным ресурсом.
по сравнению с циклами процессора.

Это особенно часто бывает при работе в многопользовательском режиме.
среду с быстрыми многоядерными процессорами. Когда страница
сжатая таблица находится в памяти, MySQL часто использует дополнительные
памяти, обычно 16 КБ, в
буферный пул для
несжатая копия страницы. Адаптивный алгоритм LRU
пытается сбалансировать использование памяти между сжатием и
несжатых страниц, чтобы учесть, является ли рабочая нагрузка
работает с привязкой к вводу-выводу или к процессору. Все еще
конфигурация с большим объемом памяти, выделенной для буферного пула
имеет тенденцию работать лучше при использовании сжатых таблиц, чем
конфигурация, в которой память сильно ограничена.

Выбор размера сжатой страницы

Оптимальная настройка размера сжатой страницы зависит от
тип и распределение данных, которые таблица и ее индексы
содержать. Размер сжатой страницы всегда должен быть больше, чем
максимальный размер записи, иначе операции могут завершиться ошибкой, как указано в
Сжатие страниц B-Tree.

Установка слишком большого размера сжатой страницы приводит к пустой трате места,
но страницы не нужно сжимать так часто. Если
размер сжатой страницы слишком мал, вставки или обновления могут
требуют длительной повторной компрессии, а
Узлы B-дерева могут быть
разбиваться чаще, что приводит к большему размеру файлов данных и меньшему
эффективная индексация.

Как правило, размер сжатой страницы устанавливается равным 8 КБ или 4 КБ.
Учитывая, что максимальный размер строки для таблицы InnoDB составляет около
8K, KEY_BLOCK_SIZE=8 обычно сейф
выбор.

Сжатие | Документация Apache Cassandra

Cassandra предлагает операторам возможность настроить сжатие на
за стол. Сжатие уменьшает размер данных на диске на
сжатие SSTable в настраиваемом пользователем сжатии
chunk_length_in_kb . Поскольку Cassandra SSTables неизменяемы, стоимость ЦП
сжатия необходимо только тогда, когда SSTable написан —
последующие обновления данных попадут в разные SSTables, поэтому Cassandra
не нужно будет распаковывать, перезаписывать и повторно сжимать данные при ОБНОВЛЕНИИ
выдаются команды. При чтении Cassandra находит соответствующие
сжатые фрагменты на диске, распаковать полный фрагмент, а затем продолжить
с остатком пути чтения (объединение данных с дисков и
memtables, восстановление чтения и т. д.).

Алгоритмы сжатия обычно выбирают между следующими тремя
области:

  • Скорость сжатия : Как быстро алгоритм сжатия сжимает
    данные. Это очень важно в путях сброса и уплотнения, потому что данные
    должны быть сжаты перед записью на диск.

  • Скорость распаковки : Насколько быстро работает алгоритм сжатия
    распаковать данные. Это критично для путей чтения и сжатия, т.к.
    данные должны быть считаны с диска целиком и перед этим распакованы
    можно вернуть.

  • Соотношение : На какое соотношение уменьшаются несжатые данные. Кассандра
    обычно измеряет это как размер данных на диске относительно
    несжатый размер. Например, соотношение 0,5 означает, что данные о
    диск составляет 50% от размера несжатых данных. Кассандра разоблачает это
    отношение на таблицу как поле SSTable Compression Ratio
    nodetool tablestats .

Cassandra по умолчанию предлагает пять алгоритмов сжатия, которые делают
различные компромиссы в этих областях. При тестировании сжатия
алгоритмы зависят от многих факторов (таких параметров алгоритма, как
уровень сжатия, сжимаемость входных данных, лежащие в основе
класс процессора и т. д.), следующая таблица поможет вам выбрать
отправной точкой на основе требований вашего приложения с
чрезвычайно грубая оценка различных вариантов по их эффективности в
эти области (A относительно хорошо, F относительно плохо):

Алгоритм сжатия Кассандра Класс Сжатие Декомпрессия Соотношение С* Версия

ЛЗ4

LZ4Компрессор

А+

А+

С+

>=1.2.2

ЛЗ4ХК

LZ4Компрессор

С+

А+

Б+

>= 3,6

Зстд

ZstdCompressor

А-

А-

А+

>= 4,0

Снэппи

SnappyCompressor

А-

А

С

>= 1,0

Дефляция (zlib)

DeflateCompressor

С

С

А

>= 1,0

Вообще говоря, для критической производительности (задержка или пропускная способность)
application LZ4 — правильный выбор, так как он обеспечивает отличное соотношение на процессор
цикл отработан. Вот почему это выбор по умолчанию в Cassandra.

Однако для приложений, критически важных для хранения данных (размер диска), Zstd может
будет лучшим выбором, так как он может получить значительное дополнительное соотношение к LZ4 .

Snappy сохранен для обратной совместимости и LZ4 обычно будет
предпочтительнее.

Deflate сохранен для обратной совместимости, а Zstd обычно
быть предпочтительным.

Настройка сжатия

Сжатие настраивается для каждой таблицы как необязательный аргумент
на СОЗДАТЬ ТАБЛИЦУ или ИЗМЕНИТЬ ТАБЛИЦУ . Три варианта доступны для всех
компрессоры:

  • class (по умолчанию: LZ4Compressor ): указывает класс сжатия для
    использовать. Два «быстрых» компрессора LZ4Компрессор и
    SnappyCompressor и два компрессора с «хорошим» соотношением
    ZstdCompressor и DeflateCompressor .

  • chunk_length_in_kb (по умолчанию: 16KiB ): указывает количество
    килобайт данных на фрагмент сжатия. Главный компромисс здесь в том, что
    большие размеры фрагментов дают алгоритмам сжатия больше контекста и улучшают
    их соотношение, но требуют чтения для десериализации и чтения с диска.

  • crc_check_chance (по умолчанию: 1.0 ): определяет, насколько вероятно, что Кассандра
    заключается в проверке контрольной суммы для каждого фрагмента сжатия во время чтения в
    защитить от повреждения данных. Если у вас нет профилей, указывающих
    это проблема с производительностью, настоятельно рекомендуется не включать это
    off, так как это единственная защита Кассандры от битрота.

LZ4Compressor поддерживает следующие дополнительные опции:

  • lz4_compressor_type (по умолчанию fast ): указывает, следует ли использовать
    версия с высоким соотношением (также известная как LZ4HC ) или версия fast (также известная как LZ4 )
    LZ4 . Режим high поддерживает настраиваемый уровень, который позволяет
    операторы для настройки производительности <→ компромиссное соотношение с помощью lz4_high_compressor_level опция. Обратите внимание, что в 4.0 и выше может
    лучше использовать Zstd компрессор.

  • lz4_high_compressor_level (по умолчанию 9 ): Число от 1 до
    17 включительно показывает, сколько процессорного времени тратится на получение
    больше степень сжатия. Как правило, более низкие уровни «быстрее», но они
    меньшее соотношение и более высокие уровни медленнее, но получают большую степень сжатия.

ZstdCompressor дополнительно поддерживает следующие параметры:

  • уровень сжатия (по умолчанию 3 ): Число от -131072 до 22
    включительно, который показывает, сколько процессорного времени тратится на попытки получить больше
    степень сжатия. Чем ниже уровень, тем выше скорость (на
    стоимость коэффициента). Значения от 20 до 22 называются «ультрауровнями» и
    следует использовать с осторожностью, так как они требуют больше памяти. По умолчанию
    3 — хороший выбор для конкуренции с коэффициентами Deflate и 1 является
    хороший выбор для конкуренции с LZ4 .

Пользователи могут установить сжатие, используя следующий синтаксис:

 CREATE TABLE keyspace.table (id int PRIMARY KEY)
   С компрессией = {'класс': 'LZ4Compressor'}; 

Или

 ALTER TABLE keyspace.table
   С сжатием = {'класс': 'LZ4Compressor', 'chunk_length_in_kb': 64, 'crc_check_chance': 0,5}; 

После включения сжатие можно отключить с помощью ALTER TABLE настройка
включено от до ложь :

 ALTER TABLE keyspace.table
   С сжатием = {'включено':'false'}; 

Однако операторы должны знать, что изменение сжатия не
немедленный. Данные сжимаются при записи SSTable, и как
SSTables являются неизменяемыми, сжатие не будет изменено до тех пор, пока
таблица уплотнена. После внесения изменений в параметры сжатия через
ALTER TABLE существующие таблицы SSTable не будут изменены, пока они не будут
компактный — если оператору нужны изменения сжатия, чтобы они вступили в силу
немедленно, оператор может инициировать перезапись SSTable, используя
nodetool скраб или nodetool upgradesstables -a , оба из которых будут
перестройте SSTables на диске, повторно сжимая данные в процессе.

Преимущества и использование

Основное преимущество сжатия заключается в том, что оно уменьшает объем данных.
записывается на диск. Мало того, что уменьшенный размер экономит место в памяти
требования, это часто увеличивает пропускную способность чтения и записи, так как ЦП
накладные расходы на сжатие данных быстрее, чем время, необходимое для
чтение или запись большего объема несжатых данных с диска.

Сжатие наиболее полезно в таблицах, состоящих из многих строк, где
ряды имеют схожий характер. Таблицы, содержащие похожие текстовые столбцы (например,
как повторяющиеся BLOB-объекты JSON) часто очень хорошо сжимаются. Таблицы, содержащие данные
уже сжатые или случайные данные (например, тест
наборы данных) обычно плохо сжимаются.

Эксплуатационное воздействие

  • Метаданные сжатия хранятся вне кучи и масштабируются вместе с данными на диске.
    Для этого часто требуется 1–3 ГБ ОЗУ вне кучи на терабайт данных на диске.
    хотя точное использование зависит от chunk_length_in_kb и сжатие
    отношения.

  • Потоковые операции включают сжатие и распаковку данных на
    сжатые таблицы — в некоторых путях кода (например, при начальной загрузке без vnode),
    накладные расходы ЦП на сжатие могут быть ограничивающим фактором.

  • Для предотвращения блокировки медленных компрессоров ( Zstd , Deflate , LZ4HC )
    сбрасывает слишком долго, все три сбрасываются со стандартным быстрым LZ4
    компрессор, а затем полагаться на обычное уплотнение для повторного сжатия данных
    в желаемую стратегию сжатия.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *