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

Содержание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Интеркулер

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Степень сжатия и октановое число бензина ✔ Таблица бензина

Октановое число — что это такое

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

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

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

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

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

1. Если степень сжатия 12 и выше — заливать не ниже АИ-98.
2. Если степень сжатия 10 и до 12 — заливать не ниже АИ-95.
Объем камеры сгорания с такой степенью сжатия сделан именно под это число.
92 как бы можно заливать, но не нужно, расход будет больше.
3. Если степень сжатия ниже 10 — заливать октановое число АИ-92 (кроме турбо).
Экзотические АИ-102 и АИ-109 — от 14 и от 16 соответственно.
Для турбодвигателей минимум АИ-95 и выше!

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

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

Компрессия — это физическая величина, давление в цилиндре в конце такта сжатия. Измеряется в атмосферах или кг/см2 при прокрутке стартером на хорошо заряженном аккумуляторе и выкрученными свечами для замера.

Оптимальная компрессия мотора очень приблизительно высчитывается умножением степени сжатия на 1.4 атмосферы.

Бензин с высоким октановым числом.

Рекомендации по октановому числу бензина

  • Если использовать топливо с меньшим ОЧ, то неизбежно возpастут ударные нагpyзки в виде детонационных стуков и звонов и как следствие — износ двигателя. К тому же расход выше и смысл экономии теряется.
  • 2. Если использовать бензин с большим ОЧ, чем это предусмотрено конструкцией двигателя, то и гореть бензин будет дольше, отдавая большее количество тепла.
  • Топливо с большим октановым числом обычно горит с меньшей температурой и медленнее. Из-за скорости горения ниже рассчетной может получиться так, что на фазе выпуска через клапан вместо отработанных газов будет выпущена еще горящая смесь. Следовательно, детали двигателя будут перегреваться, особенно клапаны, кроме того растет расход масла. Интересно, что на слух двигатель часто начинает работать тише и ровнее (за счет теплового расширения выбираются зазоры), но при этом двигатель работает на износ.
  • Например, 100-й бензин горит слишком медленно для вашей степени сжатия. Поэтому не догорает полностью и коптит. Нет смысла заливать 100-й, если машина едет хорошо на 95-м.

Топливо с бОльшим октановым числом имеет бОльшую стойкость к детонации.

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

Бензин — что такое

Бензин — это самая лёгкая из жидких фракций нефти (смесь лёгких углеводородов). Используется как топливо в карбюраторных и инжекторных двигателях современных автомобилей, мотоциклов и иной техники.

Бензин — это топливо!

Маркировка бензина

В соответствии с ГОСТ 54283-2010 в России существует единая маркировка для всех бензинов. Например, АИ-80. Расшифровывается она так. А — бензин автомобильный, И – октановое число определено исследовательским методом. 80 – само октановое число. Также, в конце, к названию может быть добавлена ещё одна цифра – экологический класс топлива, от 2 до 5, (например, АИ-92/4). Если буквы И в маркировке бензина нет, то его октановое число определено моторным методом (А-92).

Требования к качеству выпускаемых в настоящее время бензинов определяются Техническим регламентом, принятым в 2011 году. Полное название «О требованиях к автомобильному и авиационному бензину, дизельному и судовому топливу, топливу для реактивных двигателей и топочному мазуту».

Типы бензина

Неэтилированный бензин

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

Бензин АИ-80

Полное название «Бензин АИ-80, Нормаль». Октановое число 80, получено исследовательским методом. Согласно моторного метода, оно равно 76. Качество соответствует ГОСТ 51105-97. Класс топлива – второй. Не этилированный.

Бензин АИ-92

Полное название «Бензин АИ-92/4, Регуляр». Октановое число 92, по исследовательскому методу, 83 – по моторному методу. ГОСТ 51105-97. Не этилированный.

Бензин АИ-95

Полное название «Бензин АИ-95/4, Премиум-евро». Октановое число – 95 по исследовательскому методу, 85 – по моторному. ГОСТ 51105-97. Не этилированный.

Бензин АИ-98

Полное название «Бензин АИ-98/4, супер-евро. Октановое число 98 по исследовательскому методу, 88 – по моторному. Производится по ТУ-38. 401-58-122-95, ТУ-38.401-58-127-95, ТУ-38.401-58-350-2005. Не этилированный.

Бензин А-92

Октановое число определено по моторному методу = 72. Соответствует ГОСТ 2084-77. В настоящее время не выпускается. Не этилированный.

Бензин АИ-76

Соответствует АИ-80. Октановое число по моторному методу = 76. Выпускался по ГОСТ 2084-77. Мог быть как этилированный так и не этилированный.

Бензин АИ-91

Соответствует АИ-92. Октановое число 82,5 по исследовательскому методу. Вырабатывался по ГОСТ 51105-97. Не этилированный.

Бензин А-92

Выпускается по ТУ 38.001165-97. Согласно ТУ 38.001165-87 в советское время шел на экспорт. Аналог АИ-92. Не этилированный.

Бензин АИ-93

Соответствует АИ-95. Октановое число по моторному методу 82,5. По исследовательскому 93. Во времена СССР, бензин с маркировкой А-93 шел на экспорт, а для внутреннего рынка он назывался АИ-93. Мог быть этилированным и не этилированным.

Сжатие | Документация 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

LZ4HC

LZ4Компрессор

С+

А+

Б+

>= 3,6

Зстд

ZstdCompressor

А-

А-

А+

>= 4,0

Снаппи

SnappyCompressor

А-

А

С

>= 1,0

Дефляция (zlib)

DeflateCompressor

С

С

А

>= 1,0

Вообще говоря, для критической производительности (задержка или пропускная способность) application

LZ4 — правильный выбор, поскольку он обеспечивает отличное соотношение на процессор цикл отработан. Вот почему это выбор по умолчанию в Cassandra.

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

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

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

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

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

  • class (по умолчанию: LZ4Compressor ): указывает класс сжатия для использовать. Два «быстрых» компрессора LZ4Compressor и 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 ) сбрасывает слишком долго, все три сбрасываются по умолчанию fast LZ4 компрессор, а затем полагаться на обычное уплотнение для повторного сжатия данных в желаемую стратегию сжатия. См. CASSANDRA-15379Issues.apache.org/jira/browse/CASSANDRA-15379 для получения дополнительной информации Детали.

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

Расширенное использование

Опытные пользователи могут указать свой собственный класс сжатия, реализуя интерфейс по адресу org.apache.cassandra.io.compress.ICompressor .

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 пытается сбалансировать использование памяти между сжатием и несжатых страниц, чтобы учесть, является ли рабочая нагрузка работает с привязкой к вводу-выводу или к процессору. Все еще конфигурация с большим объемом памяти, выделенной для буферного пула имеет тенденцию работать лучше при использовании сжатых таблиц, чем конфигурация, в которой память сильно ограничена.

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

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

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

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