очень… и не понимаем уже что не так.. Вопрос из тех, что тут сотню раз наверное обсуждался.. Про PrimaryKey и group id.
Вводные: талица с десятком полей: первые 2 из которых: id и date. Кол-во записей: 560млн.
Сделали ряд экспериментов, но ясности не получили:
1. Сделали таблицу с PRIMARY KEY id ORDER BY (id, date)
2. Вторую таблицу просто ORDER BY date
Обе таблицы с партициями по YYYYMM, id - UUID
В обоих вариантах - поиск вхождения по id - крайне долгий.. в вар.1 - 16сек, в вар.2 - 3сек. И нет, варианты я не перепутал… с указанием ключа - дольше.
При этом - в обоих вариантах - всякие аггрегационные истории - достаточно быстро работают.
Но, кроме вычислительных кейсов использования, есть кейсы:
- "Получи данные за Х времени, соритированные по дате"
- "Получи строку с ID - 12345"
Подскажите плиз, в какую сторону идти?
Доку читали, понимания не добавило… В доке указано что можно указать сортировку по дате + указать PK, но по факту, его тоже нужно заталкивать в сортировку, причем на первое место.. А раз так - то какой смысл сортировки по уникальному первичному ключу?
первое и самое главное - удалите id из PARTITION BY, вы наплодили миллион партиций -> миллион файлов, приходится читать слишком часто, оптимально партиции по месяцам или дням на крайняк.
Обсуждают сегодня