|
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,089
|
|
Есть ли в PostgreSQL аналоги таких фичь из MSSQLSERVER18.08.2023, 14:59. Показов 3273. Ответов 25
Метки нет (Все метки)
Коллеги, приветствую!
Тут у нас начал подниматься вопрос о миграции софта на "отечественные" платформы. Предварительно прорабатываем вопрос. Может кто-то имеет опыт и в MSSQLSERVER? Есть ли в постгрессе аналог Filetable и вообще - Filestream? (как выяснилось, в одном из проектов очень активно используется) Если есть, то в каком направлении копать, бросьте пару ключевых слов! И еще: Есть ли аналог resource governor, можно ли как-то выделить конкретному пользователю конкретный пул ресурсов, по диску и процессору? Есть ли аналог колоночных индексов? Интересует Clustered columnstore со сжатием (в проектах встречаются таблички по 1-15 млрд. записей, их тяжко хранить в rowstore) Секционирование есть, это я уже увидел, мне понравилось больше, как оно сделано. Как я понимаю, секцию в секционированной таблице в постгрессе можно "налету" заменить на таблицу аналогичной структуры, с данными, подпадающими под параметр секционирования? В нескольких проектах (это всякие СЭДы) используется хранение всяких ворд/эксель документов в filestream, и полнотекстовый индекс по их содержимому поверх всего этого. Есть что-нибудь в таком духе? Коллеги, если можно, кто знает, буквально по паре слов. По типу: Есть, называется так-то. Если ссылкой ткнете, будет вообще праздник. Спасибо!
0
|
|
| 18.08.2023, 14:59 | |
|
Ответы с готовыми решениями:
25
Возможно ли как БД использовать MySQL или PostgreSQL, а не MSSQLServer Английский язык. Разве для английского языка есть аналоги таких слов как "бело", "белым-бело" ? Есть ли аналоги IPCOP ? |
|
55 / 50 / 5
Регистрация: 30.06.2022
Сообщений: 251
|
||||||
| 18.08.2023, 16:28 | ||||||
|
resource governor точно нет.
типы поля такие как ворд/эксель нет. НО есть jsonb и xml, есть двоичные строки( bytea) Эти все типы не больше гига. Если надо большие документы - пилите отдельный(иначе будет плохо) кластер postgres с большими объектами(LOB), а лучше распределёнку с оными И поисковую базу по этому всему. По поводу индексации по содержимому таких полей -- с двоичными данными облом, а вот эксемель и джисон вполне можно протянуть индексацию, причём разную. Что такое Clustered columnstore ХЗ, но postgres умеет физически упорядочивать таблицу по первичному ключу, неважно, какой он. Можно ваще функцию от нескольких полей запилить и по ней упорядочить. Но такая функция требует immutable флага. Единственное что -- часто меняющуюся табличку треба периодически обслуживать
Добавлено через 3 минуты https://postgrespro.ru/docs/postgresql Добавлено через 43 секунды Цэ - гарный мануал. Добавлено через 5 минут Вообще, мы мигрировали с mysql(INNODB storage engine) в своё время. Базы тоже разные. Скажу сразу, тупая перекладка кода --- сценарий фаталити. Лучше начинать разработку новой версии с новой субд и продумывать миграцию данных. И с венды сразу спрыгивать, win это вряд ли надолго.
0
|
||||||
|
106 / 67 / 29
Регистрация: 22.04.2022
Сообщений: 232
|
|
| 19.08.2023, 07:11 | |
|
Clustered columnstore - есть раширение timescaledb
0
|
|
|
Просто Лис
|
||
| 20.08.2023, 13:47 | ||
|
0
|
||
|
55 / 50 / 5
Регистрация: 30.06.2022
Сообщений: 251
|
|
| 20.08.2023, 21:27 | |
|
Бывает, что бинаринадо хранить в базе. Да, таких ситуаций надо избегать, но получается не всегда.
0
|
|
|
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,089
|
|||||
| 21.08.2023, 09:27 [ТС] | |||||
|
Он умеет, с помощью штатного механизма, залазить внутрь бинарников (txt, doc, docx, xls, rtf, pdf (генерированных, а не сканированных), html, xml, json) - и строить полнотекстовые индексы по их содержимому. И искать, соответственно, с помощью contains, очень быстро. Там куча недостатков, конечно. Например, нужно отключить на томе всякие проверки, индексирование, создание 8.3 имен, отслеживание времени последнего доступа. Нужно следить, чтобы в каталоге не скапливалось больше 300 тыс. файлов, иначе будет подтормаживать, т.е. если вы хотите хранить 2 миллиона файлов, например, нужно чтобы каталогов было 10 (правда это просто настроить, только если завел, например один - то добавив еще 10 - фиг мигрируешь туда файлы, без головной боли). И еще, всё это богатство бэкапится вместе с базой, поэтому если у тебя там миллионов 10-20 документов - то бэкап будет длится сутки. Зато прямо из СУБД можно оперировать со всем этим делом. И память не занимает. У нас товарищи, которые писали систему электронного документооборота - активно этим пользовались. Теперь думаем, что с этим делать. В результате, физический размер данных на диске меньше, чем у обычной таблицы в 7-8, а если пометить как clustered columnstore archive - то в 9-12 раз. У нас есть, например, в одном из проектов, табличка с 2,2 млрд. записей, которая в обычном виде, даже с построчной компрессией, занимает 1,8 Тб, а в виде колумнстора - 120 Гб, и вполне себе живенько работает, в порезанном на секции, конечно, виде. Всякие агрегаты по этой штуке - считаются мгновенно. Count(field), count(distinct field), sum(field), max(field) - вообще огонь. Но, оборотная сторона медали, заджойнить эту табличку с чем-то - боль. В колумнсторе не производится поиск, он всегда сканируется целиком. Поэтому, например, никакой запрос с джойном в табличке см. выше, не длится менее 2 минут (время сканирования колумнстора), если не предпринять какие то специальные действия, например - явным образом не исключить секции, добавив where по ключу секционирования. Тоже, непонятно куды бечь.fte65, спасибо, попробуем ковырнуть.
0
|
|||||
|
55 / 50 / 5
Регистрация: 30.06.2022
Сообщений: 251
|
||||||
| 21.08.2023, 10:00 | ||||||
В файловой системе ext4 их нема. А postgresql на win- платформе, мягко говоря, неоптимально работает. Можно замутить такой механизм, но есть НО. 1)Треба функции дать доступ к диску, к каталогу. И обращаться через этот механизм. И молиться, чтобы не запороть кластер. 2)ХЗ как обеспечить консистентность этих файлов в случае сбоев. Добавлено через 15 минут Может, всё-таки стоит подумать, и не увязывать файлы с БД? Замутить файлпомойку, уидники в качестве имени файла в и БД хранить? Самый дубовый способ на практике часто оказывается проще админить/дорабатывать.
1
|
||||||
|
Просто Лис
|
|||
| 21.08.2023, 10:30 | |||
Сообщение было отмечено uaggster как решение
Решение
1) реляционная СУБД на постгрессе 2) какая-нибудь файлопомойка, возможно, самописная 3) колоночная БД для аналитики, или что вы там храните. Можно посмотреть в строну ClickHouse
2
|
|||
|
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,089
|
||
| 21.08.2023, 11:53 [ТС] | ||
|
Там очень больно может если какой-то рассинхрон будет, вплоть до немедленных оргвыводов. :-( Ответ Рыжий Лис, наверное, помечу как решение. По крайней мере, понятно в каком направлении двигаться. А что-то типа ClickHouse - есть "отечественное"? Ну, хотя бы столь же "отечественное", как постгресс-про?
0
|
||
|
Просто Лис
|
|||
| 21.08.2023, 12:22 | |||
|
Не знаю, вроде, опенсурс ещё не запретили.
0
|
|||
|
55 / 50 / 5
Регистрация: 30.06.2022
Сообщений: 251
|
||
| 21.08.2023, 13:20 | ||
|
Возможно, с использованием docker-контейнеров Добавлено через 1 минуту Сделать комп, обозвать чем-то типа fucking-blobs-mashine и обращаться к ней.
0
|
||
|
Просто Лис
|
||
| 21.08.2023, 13:23 | ||
|
0
|
||
|
55 / 50 / 5
Регистрация: 30.06.2022
Сообщений: 251
|
|||||||||||||||||||
| 21.08.2023, 13:39 | |||||||||||||||||||
|
На головной машине держать таблицу-справочник-индекс, типа
Добавлено через 2 минуты Добавлено через 40 секунд Зато масштабирование горизонтальное можно замутить. Добавлено через 1 минуту Главное, политику безопасТности продумать, шоб по тюрьмам потом не сидеть. Добавлено через 7 минут Некоторые плюшки у коммерческой версии таки есть.
0
|
|||||||||||||||||||
|
55 / 50 / 5
Регистрация: 30.06.2022
Сообщений: 251
|
|
| 21.08.2023, 14:04 | |
|
Там много чего интересного
https://postgrespro.ru/docs/en... gpro-vs-pg А поскольку с "открытыми" исходниками, судя по последним прецедентам, не всё так однозначно, то свой fork хорошей субды - это неплохо.
0
|
|
|
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,089
|
|||
| 22.08.2023, 18:31 [ТС] | |||
|
Я к тому, что постгресс-про - это какой угодно, но не не отечественный продукт. Да, я в курсе, что 30% ядра международного постгресс - это, физически, отечественные разработчики, и, даже, резиденты РФ. Но, например тот же MSSQLSERVER - он, в чуть меньшей пропорции "отечественной" разработки (правда - нерезидентной), зато чуть менее, чем весь - индийской. :-) Но это так, флейма для. Постгресс мне понравился, честно говоря. Думаю, к середине следующего года мигрировать под него чего-нибудь попроще, но массивное. Витрину какую-нибудь. Отсутствие кластерных колумнсторов конечно, удручает. С другой стороны, жили же мы как-то до 2016 без этого? Кстати, на Хабре сегодня видел статейку про постраничное сжатие в простгресс-про-энтерпрайз. Ну, тоже хлеб. Не по теме вопрос. Для администрирования посгресс что-то лучше DBeaver есть? Может платное? Добавлено через 1 минуту
0
|
|||
|
55 / 50 / 5
Регистрация: 30.06.2022
Сообщений: 251
|
|||
| 22.08.2023, 18:41 | |||
|
Видел лично двух ключевых разрабов, с тех пор у них неплохой коллектив последователей образовался.
А если у тебя есть коллектив толковых разработчиков и исходники, то продукт по-факту твой, ну или страны, если угодно. Мало ли кто его писал. Я использую DBeaver, связку консольного psql + аналог notepad++. Проблем ваще никаких.
0
|
|||
|
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,089
|
||
| 22.08.2023, 19:46 [ТС] | ||
|
Так часто логирование какое-нибудь делают. Или информацию для отладки какую-нибудь пишут. В MSSQLSERVER, обычно рисуют linked server сам на себя, и шлют на него. А PostgressPro enterprise, значит, умеет без костылей? Интересно интересно!
0
|
||
|
55 / 50 / 5
Регистрация: 30.06.2022
Сообщений: 251
|
|
| 22.08.2023, 22:03 | |
|
Я этот механизм не пробовал(postgrespro не ставил).
Обходился dblink. Добавлено через 33 секунды Возможно, пошустрее работает.
0
|
|
|
1304 / 358 / 97
Регистрация: 14.10.2022
Сообщений: 1,089
|
|
| 31.08.2023, 14:36 [ТС] | |
|
Еще вопрос возник, может кто сталкивался...
А темпоральные таблицы в каком-нибудь варианте постгресса есть? Внезапно обнаружили, что эту свежую фичу MSSQL активно используют в одном из проектов. Темпоральная таблица - это такая, которая хранит все свои изменения, и можно сделать Select данных из таблицы по состоянию на какую-то дату. Т.е. сегодня, например 31.08.2023. Системное версионирование на таблице включено, к примеру, 01.01.2023. Мы можем сделать select из таблицы с указанием даты версионирования 10.08.2023, то результатом будут данные, как если бы мы находились в 10м августа. Постгресс же версионник. У него такие штуки должны, наверное, из коробки быть?
0
|
|
| 31.08.2023, 14:36 | |
|
Помогаю со студенческими работами здесь
20
Synergy - есть ли аналоги? Есть ли в c++ аналоги Паскалевских in и EDS FeedLine - есть ли аналоги? Подскажите есть ли аналоги wikimart.ru Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|