|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
msLexПри включении сжатия данных, в тот же объем RAM уместиться больше (иногда, значительно) данныхУверен, что в памяти как раз все блоки разжаты. разжатие/сжатие идет при чтении/записи (каждый раз). Возможно что для ТС больше подойдет ROW сжатие (гораздо дешевле по ресурсам) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:26 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
msLex SERG1257 Такое может получится только если CPU (лицензируемое) некуда девать, а дисковая система полный шлак. Какой бы крутой не была дисковая подсистема, она все равно будет существенно уступать по скорости RAM. При включении сжатия данных, в тот же объем RAM уместиться больше (иногда, значительно) данных, и это снизит (иногда, значительно) количество необходимых физических чтений. Похоже мифы сжатия зохавали мир. Даже мелкософт толкует только о "экономии дискового пр-ва". Да оно и понятно, при считывании сжатой страницы в память она снова "разжимается". Иначе данные с нее невозможно использовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:28 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
SERG1257 msLexПри включении сжатия данных, в тот же объем RAM уместиться больше (иногда, значительно) данных Возможно что для ТС больше подойдет ROW сжатие (гораздо дешевле по ресурсам) В памяти лежат копии страниц данных с диска, иначе как узнать, когда там наступит момент переполнения страницы. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:29 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
msLex SERG1257 пропущено... Уверен, что в памяти как раз все блоки разжаты. разжатие/сжатие идет при чтении/записи (каждый раз). Возможно что для ТС больше подойдет ROW сжатие (гораздо дешевле по ресурсам) В памяти лежат копии страниц данных с диска, иначе как узнать, когда там наступит момент переполнения страницы. Ваши доказательства? (c) Шварценеггер. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:32 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
aleks222 msLex пропущено... Какой бы крутой не была дисковая подсистема, она все равно будет существенно уступать по скорости RAM. При включении сжатия данных, в тот же объем RAM уместиться больше (иногда, значительно) данных, и это снизит (иногда, значительно) количество необходимых физических чтений. Похоже мифы сжатия зохавали мир. Даже мелкософт толкует только о "экономии дискового пр-ва". Да оно и понятно, при считывании сжатой страницы в память она снова "разжимается". Иначе данные с нее невозможно использовать. Данные на диске в файле лежат 8Кб страницами. Не больше не меньше. Все изменения с данными происходят только после поднятие этой страницы в память. Как, скажите, отслеживать момент окончания страницы, если ее сжатый размер будет известен только при записи на диск? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:33 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
msLex Данные на диске в файле лежат 8Кб страницами. Не больше не меньше. Свежо преданье. msLex Все изменения с данными происходят только после поднятие этой страницы в память. Как, скажите, отслеживать момент окончания страницы, если ее сжатый размер будет известен только при записи на диск? Ты так и не ответил, как из "архива" достать строку, не распаковывая архив? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:35 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
aleks222 msLex Данные на диске в файле лежат 8Кб страницами. Не больше не меньше. Свежо преданье. Т.е. по вашему это не так? aleks222 msLex Все изменения с данными происходят только после поднятие этой страницы в память. Как, скажите, отслеживать момент окончания страницы, если ее сжатый размер будет известен только при записи на диск? Ты так и не ответил, как из "архива" достать строку, не распаковывая архив? Вот вам, почитайте как происходит сжатие данных при PAGE компрессии в SQL Server https://docs.microsoft.com/ru-ru/sql/relational-databases/data-compression/page-compression-implementation?view=sql-server-ver15 Советую особенно обратить вот на эту часть После того как страница заполнена, добавление следующей строки вызывает операцию ее сжатия. Вся страница просматривается; каждый столбец оценивается для сжатия префикса, а затем оцениваются все столбцы для сжатия словаря. И подумать, может ли это быть совместимо с вашим утверждением "сжатие только при записи на диск" ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:43 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
Советую не читать савецких газет перед обедом. Ну... или читать "в подлиннике". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:49 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
aleks222 Советую не читать савецких газет перед обедом. Ну... или читать "в подлиннике". Там так же черным по белому написано, что вы балабол https://docs.microsoft.com/en-us/sql/relational-databases/data-compression/page-compression-implementation?view=sql-server-ver15 When the page is full, the next row to be added initiates the page compression operation. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:51 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
msLex После того как страница заполнена, добавление следующей строки вызывает операцию ее сжатия. Вся страница просматривается; каждый столбец оценивается для сжатия префикса, а затем оцениваются все столбцы для сжатия словаря. "После того как страница заполнена" => ДО момента сжатия страница НЕ сжата. Очевидный факт. Волга впадает в Каспийское море. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:53 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
SERG1257, авторВыберите десяток другой больших таблиц (желательно секционированых по дате) и сжимайте только старые партиции в которых нет записи (а лучше и чтения) Большие таблицы выбрал так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Буду признателен, если укажете где взять данные "только старые партиции в которых нет записи (а лучше и чтения)". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:57 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
aleks222, msLex интересно, не могут ли в памяти жить как сжатые, так и не сжатые страницы? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:59 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
aleks222 msLex пропущено... "После того как страница заполнена" => ДО момента сжатия страница НЕ сжата. Очевидный факт. Волга впадает в Каспийское море. Вы бы полностью прочитали, хоть Новая страницы заполняется без сжатие, пока на нее влезают данных, т.к. до этого момента сжатие не имеет смысла. Как только данные без сжатия прекращают влезать, следующая же вставленная строка инициализирует процесс сжатия. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:59 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
cad2206 SERG1257, авторВыберите десяток другой больших таблиц (желательно секционированых по дате) и сжимайте только старые партиции в которых нет записи (а лучше и чтения) Большие таблицы выбрал так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24.
Буду признателен, если укажете где взять данные "только старые партиции в которых нет записи (а лучше и чтения)". Секционирование таблиц у тебя еще впереди. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 17:59 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
.Евгений aleks222, msLex интересно, не могут ли в памяти жить как сжатые, так и не сжатые страницы? Это такой метод "экономии памяти"? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 18:00 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
.Евгений интересно, не могут ли в памяти жить как сжатые, так и не сжатые страницы? Т.е. каждая страница живет в двух экземплярах? Нет, конечно, это уменьшит вместимость buffer pool почти в 2 раза ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 18:00 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
msLex aleks222 пропущено... "После того как страница заполнена" => ДО момента сжатия страница НЕ сжата. Очевидный факт. Волга впадает в Каспийское море. Вы бы полностью прочитали, хоть Новая страницы заполняется без сжатие, пока на нее влезают данных, т.к. до этого момента сжатие не имеет смысла. Как только данные без сжатия прекращают влезать, следующая же вставленная строка инициализирует процесс сжатия. Ты не сыпь цитатами из Мао - ты на пальцах покажи "как достать что-то из архива, не распаковывая архив?" ЗЫ. Если ты не курсе, операции сервера не ограничиваются тупым "заполнением страниц". Иногда надо что-то с них достать... ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 18:02 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
msLex .Евгений интересно, не могут ли в памяти жить как сжатые, так и не сжатые страницы? Т.е. каждая страница живет в двух экземплярах? Нет, конечно, это уменьшит вместимость buffer pool почти в 2 раза Нет. Сжатые и несжатые, аналогично тому, как они будут жить на диске (если бы были в этот момент записаны). aleks222 .Евгений aleks222, msLex интересно, не могут ли в памяти жить как сжатые, так и не сжатые страницы? Это такой метод "экономии памяти"? Кто у нас отвечает вопросом на вопрос? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 18:02 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
.Евгений msLex пропущено... Т.е. каждая страница живет в двух экземплярах? Нет, конечно, это уменьшит вместимость buffer pool почти в 2 раза Нет. Сжатые и несжатые, аналогично тому, как они будут жить на диске (если бы были в этот момент записаны). Так и есть, станицы в памяти те же, что и на диске. За исключением dirty pages, что еще не скинуты на диск. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 18:08 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
aleks222 "как достать что-то из архива, не распаковывая архив?" Распокавать на лету, конечно. SQL Server для сжатия данных использует lightweight алгоритмы сжатия, позволяющие применять декомпрессию на потоке. Вы почитайте, Там все достаточно просто. Основное : Row Compression - урезание неиспользуемых байт из типов фиксированной длины Page Compression - в добавлении к Row Compression постраничные справочники. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 18:21 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
msLexРаспокавать на лету, конечно.Каждый раз когда блок понадобится из буфер кэша. Что совой об пень, что пнем об сову. cad2206, а ты выгоду-то посчитал? Сколько гигабайт экономии получил? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 19:33 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
aleks222, авторИначе данные с нее невозможно использовать. Там же данные не зипом пожаты, там простая табличная подстановка словарь - метасимволы. Эти данные можно прекрасно читать и преобразовывать "на лету". ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 19:46 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
SERG1257, с чего вы взяли, что cad2206 использовал сжатие страниц? Он нигде об этом не писал. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 19:48 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
Владислав Колосовс чего вы взяли, что cad2206 использовал сжатие страниц? Он нигде об этом не писал. 22399026 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 20:58 |
|
Поэтапное сжатие БД MS SQL Server
|
|||
---|---|---|---|
#18+
SERG1257 msLexРаспокавать на лету, конечно. Именно так Как я уже писал выше, там очень легковесное разжатие В случае с Row так вообще, просто превращение всех типов данных в типы с переменой длиной (varint, vardecimal и т.д.), что, фактически, эквивалентно реализации varchar в несжатых страницах. подробности тут В случае с Page добавляются префиксы и справочники. подробности тут Ни одно из этих преобразований не требует "разжимать" всю страницы целиком, при чтении конкретной записи. Все разбирается при последовательном чтении данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2021, 21:18 |
|
|
start [/forum/topic.php?fid=46&msg=40113854&tid=1684055]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
372ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
others: | 233ms |
total: | 718ms |
0 / 0 |