172 похожих чатов

39 ответов

5 просмотров

Для сортировки uuid v1 нужно вытаскивать дату из uuid, что не дёшево

Пользователь 615a6
Для сортировки uuid v1 нужно вытаскивать дату из u...

А зачем Вам сортировать данные по подобному id (ведь их порядок почти наверняка ничего на самом деле не значит)?

Yaroslav Schekin
А зачем Вам сортировать данные по подобному id (ве...

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

Пользователь 615a6
В каком смысле не значит? Порядок добавления запис...

А почему не создать поле created_at, куда писать now()? По нему и делать сортировку

Пользователь 615a6
В каком смысле не значит? Порядок добавления запис...

В основном, воображаемый. ;) Т.е. так же, как sequence и now(), с каким-либо порядком это может иметь мало общего.

Пользователь 615a6
Не в моей ситуации.

Очень повезло, значит. Тогда либо Вам либо хватит временной метки, либо всё-таки и в Вашей ситуации, нет? ;)

Dmitriy Sviridov
Это плохо?

Да нет, но это лишняя сложность. Например, в системе должны быть методы get_before_id() и get_after_id() - получится, что тоже усложнение

Пользователь 615a6
Что не так?

Никакой же сложности нет. Если Вам нужно отсортировать в порядке добавления, просто вызываете ORDER BY created_at. Какие же тут могут быть проблемы?

Пользователь 615a6
Не нужно быть Вангой, пожалуйста

Нужно быть реалистом, пожалуйста. ;) Вы понимаете, что тут в самом деле либо одно, либо другое?

Dmitriy Sviridov
Никакой же сложности нет. Если Вам нужно отсортиро...

Если мне нужна навигация по id, взять 100 записей после определённого id. Плюс усложнение - лишняя колонка, больше размер базы и т д.

Пользователь 615a6
Если мне нужна навигация по id, взять 100 записей ...

Очень приближённо: WHERE created_at>(select created_at from mytable where id='dssd') order by created_at ASC limit 100

Пользователь 615a6
Ахахахахах

Не более смешно, чем "лишняя колонка в базе"

Dmitriy Sviridov
Не более смешно, чем "лишняя колонка в базе"

То есть мы будем думать, что timestamp уникален и делать такое, вместо where id>$1 limit 100?

Виктор Егоров
воспользуйтесь bigint колонкой

Вот. Мой вопрос про это. Кто-нибудь пробовал использовать в реальной жизни генератор из статьи? Смущает, что твиттер от этого отказался и кроме статьи 2012 года нет других примеров из жизни

Пользователь 615a6
Вот. Мой вопрос про это. Кто-нибудь пробовал испол...

вам ответили то, как люди поступают в реальной жизни, вас это по каким-то причинам не устраивает.

Пользователь 615a6
То есть мы будем думать, что timestamp уникален и ...

Он точен до микросекунд (https://www.postgresql.org/docs/10/datatype-datetime.html). Какова вероятность попасть в коллизию?

Dmitriy Sviridov
Он точен до микросекунд (https://www.postgresql.or...

в транзакции вставить несколько строчек, now() даст время начала транзакции для всех

Пользователь 615a6
То есть мы будем думать, что timestamp уникален и ...

А если он не уникален, то "Не в моей ситуации." было тем более неверно... т.е. Вы этот порядок просто "придумываете", и стоит отдавать себе в этом отчёт, вот что я имел в виду. Опять-таки, вера в то, что now() имеет какое-то отношение к порядку транзакций, просто наивна. ;)

Пользователь 615a6
Причём тут now()? Ты точно мне ответить хотел?

Да, точно Вам хотел ответить. Да при том, что ни такие генераторы, ни текущее время в обычной ситуации порядку вставки (и вообще изменения) данных в БД не соответствуют. Мне любопытно, чем уникальна ситуация — Вы же написали, что в ней порядок добавления чему-то такому соответствует, так?

Пользователь 615a6
Причём тут now()?

Вот при этом: https://t.me/pgsql/277323 И вот этом: https://t.me/pgsql/277307 И этом: https://t.me/pgsql/277299 Т.е. Вы, похоже, думаете, что реальное время связано с порядком добавления. Если это в Вашем случае так, мне интересно, почему.

Yaroslav Schekin
Вот при этом: https://t.me/pgsql/277323 И вот этом...

Сервис хранения информации получает по rpc данные. В ответ отдаётся id. Далее данные трансформируются, часть уходит в postgresql, вторая часть в другое место. В postgresql нужно будет сортировать данные в порядке получения id (в порядке создания, сохранения), получать строки до и после id. Что не так? Причём тут now? Мой вопрос про хранение и сортировку информации. Кто-нибудь имел опыт с такими id в postgresql? Возможно, какие-нибудь минусы всплыли

Пользователь 615a6
Сервис хранения информации получает по rpc данные....

С какими “такими”? Вы имеете в виду какую-то конкретную “такую” реализацию или мы сейчас думаем о том, как “такое” реализовать?

Milkhael
С какими “такими”? Вы имеете в виду какую-то конкр...

Походу, мне тоже нужно что-то употребить. https://t.me/pgsql/277296

Пользователь 615a6
Сервис хранения информации получает по rpc данные....

> Сервис хранения информации получает по rpc данные. В ответ отдаётся id. Так, а при чём тут тогда были генераторы? > В postgresql нужно будет сортировать данные в порядке получения id Тогда порядок "создания, сохранения" не имеет никакого отношения к делу, нет? Т.е. Вам просто нужны сортируемые id, которые Вы будете сохранять и использовать, вот и всё. > Причём тут now? Ни при чём, казалось бы. Как и порядок появления данных в базе. Т.е. делаете сортируемые id и верите им, и всё, разве нет? > Кто-нибудь имел опыт с такими id в postgresql? Возможно, какие-нибудь минусы всплыли И всё равно непонятно, какие тут могут быть минусы. Хоть из PostgreSQL-овской sequence или её аналога выдаёте эти id, да и всё.

Пользователь 615a6
Походу, мне тоже нужно что-то употребить. https://...

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

Milkhael
Да сделайте композитный тип с временем, номером но...

А как это будет связано с сортировкой? В общем, задачу я так и не понял. :(

Yaroslav Schekin
А как это будет связано с сортировкой? В общем, за...

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

Похожие вопросы

Обсуждают сегодня

А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Где в Астане можно купить мясо для шашлыков?
Dancing Іңұқәһүғө
21
Добрый день подскажите пожалуйста может кто то сталкивался с ошибками Sentry 22.10.0 развернутым из helm чарт в Kubernetes? Изначально 3 дня назад очень стало много событий ух...
Tire4 Finist Devops
1
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
почому оно не работает?
Vi Chapmann Chapmann
19
всем привет почти закончил курс После него можно писать свою операционку? Какие библиотеки надо использовать и куда дальше копать для изучения
Linus
19
Так а кто может спарсить всех участников чата? Идишники
Magic
18
Карта сайта