powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД с поддержкой компресии данных и индексов
22 сообщений из 97, страница 4 из 4
СУБД с поддержкой компресии данных и индексов
    #35997892
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!hvladНЕТ. Читай выше до прояснения. И заодно расскажи - что, по твоему, есть "данные об активном статусе транзакции" ?

PS Насчёт лаптя я записал...

именно так. при старте данные о транзакции со статусом active прописываются в TIP именно это позволяет в случае падения сервера вычислить транзакции которые необходимо откатить.
При старте тр-ции обновляется header page, но никак не TIP. Надень очки и найди слово write в приведенной цитате.

Давай-ка ты не будешь учить меня где в моём доме что лежит...
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #35997899
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hvlad
При старте тр-ции обновляется header page, но никак не TIP. Надень очки и найди слово write в приведенной цитате.

Давай-ка ты не будешь учить меня где в моём доме что лежит...

придется учить, тебя собственно уж и не в первой. хорошо, пусть в цитате это header page, но повторяю, кроме модификации хеадера модифицируется TIP, где как минимум прописывается активный статус новой транзакции. именно по этой записи после краша сервера определяются активные транзакции в момент краха, которые необходимо откатить.
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #35997907
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!hvlad
При старте тр-ции обновляется header page, но никак не TIP. Надень очки и найди слово write в приведенной цитате.

Давай-ка ты не будешь учить меня где в моём доме что лежит...

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

Если будешь паинькой, расскажу как на самом деле после краша сервера определяются незакоммиченные в момент сбоя тр-ции. Которые, кстати, не нужно откатывать при старте сервера, в отличие от.
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #35998452
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yoмодифицируется TIP, где как минимум прописывается активный статус новой транзакции.
да не модифицируется TIP, ну чего нести фигню какую-то. в TIP каждая транзакция имеет 4 состояния
0 - active. НОЛЬ. Поэтому прописывать ничего не надо. Если Next увеличился, то в искомом номере активной транзакции будет НОЛЬ. А ноль этот записывается туда целиком во всю страницу tip при ее создании.
1 - committed
2 - rolled back
3 - limbo

Yoименно по этой записи после краша сервера определяются активные транзакции в момент краха

именно, именно. Папа у Васи силен в математике, но не знает как интерпретировать 0? Чего надо обзательно какие-то бредовые идеи придумывать?
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36047078
vazhnecki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вопрос по теме: подскажите UNIX open source СУБД которая умеет создавать и использовать буффер для не только для индексов но и для данных ? Чтобы в памяти сам процесс СУБД хранил этот кеш.
Смысл в том, что обязательно нужно полностью отказаться от файлового системного кеша.
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36047096
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vazhneckiподскажите UNIX open source СУБД которая
Все.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36047118
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Все.
Имхо, MySQL сюда подходит лишь с натяжкой, т.к. большинство буферов у него индивидуальны для каждой сессии и имеют довольно небольшой размер по-умолчанию, и, как следствие, их эффективность невысока.
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36047171
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftИмхо, MySQL сюда подходит лишь с натяжкой

Натяжка, не натяжка... Раз есть хоть какой-то собственный кэш данных,
значит - подходит. Аффтар же - мастер формулировок...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36047201
vazhnecki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сформулировал я чётко, видимо вы не знаете о чем речь, поэтому не понятно.
mysql с MyIsam не подходит - кеширует только индексы, подходит с InnoDB, но кушает уж очень много места (это важно)
Postgres не подходит, так как кешируются только индексы, для данных используется файловый кеш

Про Firebird, MaxDB, Ingres нет данных
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36047338
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vazhneckiPostgres не подходит, так как кешируются только индексы, для данных используется файловый кешэто Вы на глаз определили ? :)
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36047427
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vazhneckiСформулировал я чётко, видимо вы не знаете о чем речь, поэтому не понятно.
mysql с MyIsam не подходит - кеширует только индексы, подходит с InnoDB, но кушает уж очень много места (это важно)Можете процитировать документацию или дать ссылку?
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36047804
Фотография Хрен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vazhneckiподходит с InnoDB, но кушает уж очень много места (это важно)

Используйте innodb plugin и формат Barracuda а не "антелопа". Он намного компактнее сам по себе и еще кстати и компрессию поддерживает ROW_FORMAT=COMPRESSED

Вот вам дока
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36048650
vazhnecki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ЁшvazhneckiPostgres не подходит, так как кешируются только индексы, для данных используется файловый кешэто Вы на глаз определили ? :)
откровенно говоря - да, так как я слабо знаком с postgres, но всё что я находил в интернете по вопросу указывало на это, если я не прав - покажите пожалуйста пальцем где почитать.

miksoftvazhnecki
mysql с MyIsam не подходит - кеширует только индексы, подходит с InnoDB, но кушает уж очень много места (это важно)Можете процитировать документацию или дать ссылку?
Если вы про myisam, то это я знаю абсолютно точно, к сожалению не могу дать ссылку на документацию где это написано прямым текстом, но посмотрев настройки mysqld для myisam (большинство по умолчанию для него), вы не найдёте там настройки буфера для страниц данных, есть только буфер key_buffer для индексов. Вот например фраза с "http://www.mysqlperformanceblog.com/2006/06/17/using-myisam-in-production/" - "Lack of row cache. MyISAM tables only have indexes cached in key_buffer while data is cached in OS cache."

Хрен - интересная информация, спасибо за неё
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36048677
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vazhneckiне могу дать ссылку на документациюТогда я дам:
read_buffer_size
read_rnd_buffer_size
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36048964
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vazhnecki wrote:

> посмотрев настройки mysqld для myisam (большинство по умолчанию для
> него), вы не найдёте там настройки буфера для страниц данных, есть
> только буфер key_buffer для индексов. Вот например фраза с

Я хочу напомнить или указать, что для InnoDB данные и индексы --
это одно и то же, так что в InnoDB в этом смысле сомневаться
не нужно. Это на тот случай, если у вас сомнения ещё остались.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36049110
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vazhneckiЁшvazhneckiPostgres не подходит, так как кешируются только индексы, для данных используется файловый кешэто Вы на глаз определили ? :)
откровенно говоря - да, так как я слабо знаком с postgres, но всё что я находил в интернете по вопросу указывало на это, если я не прав - покажите пожалуйста пальцем где почитать.
постгрес содержит shared_buffers в разделяемой памяти, он общий для всех процессов сервера и все (ну почти) операции с файлами на диске проходят через него. и абсолютно без разницы к какому файлу обращается процесс сервера, к файлу с индексами или к файлу с данными - все запросы на чтение из файла сначала ищут нужные страницы в shared_buffers и если их там нет - то они автоматически подгружаются в shared_buffers.

http://www.postgresql.org/files/documentation/books/aw_pgsql/hw_performance/node3.html
http://www.westnet.com/~gsmith/content/postgresql/InsideBufferCache.pdf (pdf презентация "Inside the PostgreSQL Shared Buffer Cache" Greg Smith 89 Килобайт)

вот пример вывода дополнения pg_buffercache показывающего содержимое shared buffers:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
create table abcd(i int primary key);
insert into abcd select generate_series( 1 ,  1000 );
select relfilenode::regclass::text, * from utils_pg.pg_buffercache where relfilenode::regclass::text like '%abcd%';
 relfilenode | bufferid | relfilenode | reltablespace | reldatabase | relblocknumber | isdirty | usagecount
-------------+----------+-------------+---------------+-------------+----------------+---------+------------
 abcd_pkey   |     15866  |        98395  |           1663  |        16401  |               4  | t       |           5 
 abcd        |     15867  |        98392  |           1663  |        16401  |               3  | t       |           5 
 abcd        |     15869  |        98392  |           1663  |        16401  |               2  | t       |           5 
 abcd_pkey   |     15871  |        98395  |           1663  |        16401  |               3  | t       |           5 
 abcd_pkey   |     15872  |        98395  |           1663  |        16401  |               2  | t       |           5 
 abcd        |     15873  |        98392  |           1663  |        16401  |               1  | t       |           5 
 abcd_pkey   |     15874  |        98395  |           1663  |        16401  |               1  | t       |           5 
 abcd_pkey   |     15876  |        98395  |           1663  |        16401  |               0  | t       |           4 
 abcd        |     15877  |        98392  |           1663  |        16401  |               0  | t       |           5 
( 9  rows)

        Таблица "tt.abcd"
 Колонка |   Тип   | Модификаторы
---------+---------+--------------
 i       | integer | not null
Индексы:
    "abcd_pkey" PRIMARY KEY, btree (i)

как можно заметить - в нём есть и страницы файла данных таблицы abcd и страницы файла индексов abcd_pkey
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36049661
vazhnecki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftvazhneckiне могу дать ссылку на документациюТогда я дам:
read_buffer_size
read_rnd_buffer_size
не сбивайте ни меня ни других с толку, эти буферы бесполезны для кеширования данных целиком, так как они не shared
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36049830
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vazhneckiэти буферы бесполезны для кеширования данных целиком, так как они не sharedНе могу не согласиться сDimitry SibiryakovРаз есть хоть какой-то собственный кэш данных,
значит - подходит. Аффтар же - мастер формулировок...Во-первых, из "не shared" не следует обязательно "бесполезны".
Во-вторых, в вашей формулировке ничего про shared/не shared не было.
В-третьих, вообще не факт, что вам нужно "Чтобы в памяти сам процесс СУБД хранил этот кеш". Это лишь ваше видение решения задачи, а не сама задача. Может, вам вообще in-memory database нужна (если так, то The MEMORY (HEAP) Storage Engine ). А может, вообще что-то другое.
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36050451
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ёш
постгрес содержит shared_buffers в разделяемой памяти, он общий для всех процессов сервера и все (ну почти) операции с файлами на диске проходят через него.

из доки следует, что "операции" ограничиваются "change information on disk", т.е. чтение не положит в буфер блоки. когда я копал, так и не нашел точную формулировку, везде как-то мутно. рекомендации по размеру этого буфера тоже на водят на мысль, что он хранит только модифицированные блоки. может кто-то какой-нить ссылочкой на достоверный источник внесет ясность ?
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36051129
Фотография Ёш
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!из доки следует, что "операции" ограничиваются "change information on disk", т.е. чтение не положит в буфер блоки.положит, для проверки - давайте после создания и заполнения таблицы перезапустим сервер и посмотрим что покажет pg_buffercache после seq scan'а:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
$ sudo /etc/init.d/postgresql- 8 . 3  restart
Restarting PostgreSQL  8 . 3  database server: main.

select relfilenode::regclass::text, * from utils_pg.pg_buffercache where relfilenode::regclass::text like '%abcd%';
 relfilenode | bufferid | relfilenode | reltablespace | reldatabase | relblocknumber | isdirty | usagecount
-------------+----------+-------------+---------------+-------------+----------------+---------+------------
( 0  rows)

explain analyze select * from abcd;
                                             QUERY PLAN
-----------------------------------------------------------------------------------------------------
 Seq Scan on abcd  (cost= 0 . 00 .. 14 . 00  rows= 1000  width= 4 ) (actual time= 0 . 041 .. 0 . 639  rows= 1000  loops= 1 )
 Total runtime:  1 . 076  ms
( 2  rows)

select relfilenode::regclass::text, * from utils_pg.pg_buffercache where relfilenode::regclass::text like '%abcd%';
 relfilenode | bufferid | relfilenode | reltablespace | reldatabase | relblocknumber | isdirty | usagecount
-------------+----------+-------------+---------------+-------------+----------------+---------+------------
 abcd        |       224  |        98406  |          98304  |        16401  |               0  | f       |           1 
 abcd        |       225  |        98406  |          98304  |        16401  |               1  | f       |           1 
 abcd        |       226  |        98406  |          98304  |        16401  |               2  | f       |           1 
 abcd        |       227  |        98406  |          98304  |        16401  |               3  | f       |           1 
( 4  rows)
не удивляйтесь что номер файла (relfilenode) поменялся, это потому что предыдущий пример я постил с другого сервера.

насчёт информации - да, Грег в своей презентации в заголовке так и пишет:
• This presentation comes from research done while rewriting the background writer for PostgreSQL 8.3
• There’s very little information about PostgreSQL buffer cache internals available anywhere outside of the source code

:)
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36051194
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да, так убедительней. спасибо.
...
Рейтинг: 0 / 0
СУБД с поддержкой компресии данных и индексов
    #36060303
vazhnecki
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Проверил работу InnoDB plugin. Откровенно говоря плохенько сжимает. Вроде бы и данные у меня однообразные, дамп select into file размером 2Gb сжимается в 6 раз до 330Mb, однако даже с такими данными размер innodb-plugin базы получается почему-то 2Gb. Размер же несжатой MyISAM 2.4Gb. В общем 400Mb таких извращений не стоят :)
Попробую еще поиграться с настройками plugin'а, может получится сжать сильнее..
...
Рейтинг: 0 / 0
22 сообщений из 97, страница 4 из 4
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / СУБД с поддержкой компресии данных и индексов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]