LINUX.ORG.RU

UUID в качестве primary key


0

2

Гуглил, говорят будет тормозить. UUID будет использоваться для идентификатора файла, который хранится поблочно в БД. Тоесть собственно говоря будет еще таблица blocks со столбцами file_id, block_id, block_data, что означает что если блоков дофига, то 100500 раз будет и UUID.

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

★★★★★
Ответ на: комментарий от anonymous

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

Вообще больше философия-тред, чем по делу.

vertexua ★★★★★
() автор топика

> UUID будет использоваться для идентификатора файла, который хранится поблочно в БД.

зачем файл хранить в БД, еще и поблочно...?

Rastafarra ★★★★
()
Ответ на: комментарий от Rastafarra

Это кагбы файловая система распределенная с особыми фичами, бекенд-БД. Потом будет БД только для метаданных, а пока что и для блоков тоже

vertexua ★★★★★
() автор топика
Ответ на: комментарий от tailgunner

Лучше в виде блоба фотографий с моря

vertexua ★★★★★
() автор топика

UUID плох тем, что при вставках запись идёт в разные места индекса => много, много IO.

WFrag ★★★★
()
Ответ на: комментарий от WFrag

Плюс ещё страницы BTREE индекса не заполняются полностью, насколько я понимаю.

WFrag ★★★★
()

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

а вот в остальных базах я не знаю ):

Skolotovich ★★★
()
Ответ на: комментарий от Skolotovich

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

Зная устройство B-tree и примерно представляя работу кэша, это выглядит неправдой. Но может у них там какие-то хитрости есть.

Можно попробовать сделать бенчмарк на вставки UUID vs 128-битное число с сиквенсом (чтоб размер ключа совпадал).

Нашел только неотвеченный вопрос: http://archives.postgresql.org/pgsql-performance/2010-10/msg00270.php

WFrag ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.