Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 46 47 48 49 50 51 52 53 [54] 55   вперед  Ctrl
 Re: Конкурс идей про Firebird  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31312

19.02.2020 17:08, zigorzn пишет:

> (при хранении в одной таблице 2млрд записей и б/р долгий, и почти любой индекс не эффективен)

и шо, есть этому воспроизводимые примеры?

Posted via ActualForum NNTP Server 1.5

19 фев 20, 17:15    [22083233]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10588
zigorzn,

не в 4.0
19 фев 20, 17:17    [22083238]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10588
zigorzn
добрый день.

очень нужно PARTITION BY для таблиц .
планируете добавить в ближайшее время?

(при хранении в одной таблице 2млрд записей и б/р долгий, и почти любой индекс не эффективен)


кстати откуда уверенность, что секционирование таблицы поможет?
19 фев 20, 17:23    [22083243]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
zigorzn
Member

Откуда:
Сообщений: 20
Симонов Денис,

если сейчас разнести данные по разным таблицам и настроить логику обращений через VIEW/PROCEDURE, то прирост получается раз в 100.
при restor БД активация индексев шустрее.

хочется иметь инструмент такое делать на уровня ядра БД.
19 фев 20, 17:41    [22083263]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 31312

19.02.2020 17:41, zigorzn пишет:
> прирост получается раз в 100.

дайте две!

(С)- Станиславский

Posted via ActualForum NNTP Server 1.5

19 фев 20, 17:42    [22083266]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
ёёёёё
Member

Откуда:
Сообщений: 2017
Вот вчерась снова:
- Row-Level Security у вас есть?
- Мы можем сделать программно, например...
- Всё ясно.
27 фев 20, 09:19    [22087889]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10588
ёёёёё,

а ты Row-Level Security трогал там где оно есть? Как впечатления?
27 фев 20, 09:35    [22087904]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
ёёёёё
Member

Откуда:
Сообщений: 2017
Симонов Денис
ёёёёё,

а ты Row-Level Security трогал там где оно есть? Как впечатления?

Нет, я вообще кроме FireBird ни с кем ни разу.
27 фев 20, 09:37    [22087906]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10588
ёёёёё,

а я вот в оракле трогал. Сделано мягко говоря не очень.
27 фев 20, 09:39    [22087910]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 18722
Симонов Денис
а я вот в оракле трогал. Сделано мягко говоря не очень.
Везде, где я трогал, сделано "программно".
И только в одном частном случае RLS был сделан прилично, хотя бы разделили невидимость/чтение/рецензирование/изменение. Обычно даже "чтение" не реализуют.

Сообщение было отредактировано: 27 фев 20, 10:01
27 фев 20, 10:02    [22087941]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10588
WildSery,

эта штука была туда прикручена до меня. Как то раз пришлось долго ломать голову почему данных не видно, пока не догадался что они туда политики прикрутили, которые ещё и строятся мягко говоря не красиво. Код совершенно не прозрачный. Потом когда эту фигню с RLS надо обойти, получить сырые данные из таблицы без политик, то начинаются пляски с бубнами.
27 фев 20, 10:09    [22087948]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
ёёёёё
Member

Откуда:
Сообщений: 2017
Симонов Денис
WildSery,

эта штука была туда прикручена до меня. Как то раз пришлось долго ломать голову почему данных не видно, пока не догадался что они туда политики прикрутили, которые ещё и строятся мягко говоря не красиво. Код совершенно не прозрачный. Потом когда эту фигню с RLS надо обойти, получить сырые данные из таблицы без политик, то начинаются пляски с бубнами.

А разве нельзя в политики добавить роль "все можно"?
27 фев 20, 10:14    [22087954]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 18722
ёёёёё
А разве нельзя в политики добавить роль "все можно"?
Этого может быть недостаточно.
Бывает, что RLS хорош, и всё что надо скрывает от пользователя, но вот понадобилось провести какие-то внутренние расчёты с показом только результата, а возможности его выполнить "с полными правами" никак нет.
27 фев 20, 10:22    [22087960]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10588
ёёёёё,

я уже говорил, в оракуле 10 это сделано не очень красиво.
Смотрел что сделали в Pg, понравилось больше, но не щупал Pg живьём.

Если это делать в FB, то надо делать что-то типа политик, но по нормальному, больше похожих на триггеры, только на SELECT
27 фев 20, 10:25    [22087963]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
ёёёёё
Member

Откуда:
Сообщений: 2017
WildSery
а возможности его выполнить "с полными правами" никак нет.

А обычные средства, типа предоставление процедурам особых прав, а юзерам с ограничениями - права на процедуры?
27 фев 20, 11:24    [22088030]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10588
ёёёёё,

ну так то в 4.0 есть SQL SECURITY DEFINER.
Но мне кажется ты не совсем понимаешь о чём говоришь, ибо не видел как оно там реализовано.

Сейчас чтобы сделать аналог RLS, делается VIEW и триггеры к ней или на таблицу, обычной таблице просто не дают права.

В RLS политика вешается прямо на таблицу. Как работает политика? Да это просто дополнительный фильтр который добавляется во все запросы, которые селектят из этой таблицы. Лучше ли это чем VIEW? Не думаю. Зато маркетинговый лозунг типа у нас есть RLS.
27 фев 20, 11:35    [22088046]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
ёёёёё
Member

Откуда:
Сообщений: 2017
А есть где-либо знаковая статья с описанием общепринятых принципов реализации RLS? А то сейчас, как всегда - "как получится", а потом "ахтыжбожежмой".
27 фев 20, 11:42    [22088054]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
WildSery
Member

Откуда: да, оттуда.
Сообщений: 18722
ёёёёё
А обычные средства, типа предоставление процедурам особых прав, а юзерам с ограничениями - права на процедуры?
В случае "встроенного" RLS, как уже сказали, обычно так не работает.
Можно, конечно, RLS сделать нештатно самому, и тогда да, процедура сама решает, может она всё видеть или нет :)
Короче, без лома и такой-то матери ничего не работает.
27 фев 20, 11:57    [22088078]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10588
ёёёёё,

вот тебе описание как это сделано в pg https://postgrespro.ru/docs/postgrespro/9.6/ddl-rowsecurity
В оракуле чуть более заморочено. Там надо ещё написать отдельную функцию реализующую политику, причём функция возвращает строку, которая и является фильтром. Вот простенькая статейка https://habr.com/ru/post/122784/
27 фев 20, 12:00    [22088082]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
ёёёёё
Member

Откуда:
Сообщений: 2017
Симонов Денис,

это я читал. Я спросил про реализацию, где нет "искаропки".
Вот: https://rsdn.org/article/db/RowLevelSecurity.xml
27 фев 20, 12:06    [22088093]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10588
ёёёёё,

там где статья про оракуль сначала как раз приводится пример как это реализуется без встроенного RLS. Но у автора конечно же очень туго с воображением, а потому он начал городить чушь про несметное количество триггеров и вьюх.
27 фев 20, 12:13    [22088107]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 10588
ёёёёё,

на самом деле идея то очень простая. В таблицу добавляется столбец — владелец записи. Далее пишется вьюха в которой есть фильтрующая функция с некоторой сложной логикой RLS и она добавляется в WHERE. В триггерах дополнительно разграничиваем права на UPDATE и DELETE. Какова сама логика RLS хз, это от фантазии автора зависит.
Можно например придумать что все пользователи имеющие такую-то роль могут делать с записью то же самое что и владелец, или ещё более хитрые варианты.
27 фев 20, 12:20    [22088116]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
zigorzn
Member

Откуда:
Сообщений: 20
Добрый день.

интересуют планы. в ближайших версиях планируется сделать параметры старта автономной транзакции?

(Add Transaction Parameters in Autonomous Transactions CORE-4017)
28 июл 20, 10:31    [22174560]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 3408
Уважаемые разработчики, пожалуйста, подумайте над оптимизацией конструкции Coalesce(table.field = :smthn, TRUE) в предложении с условиями выборки, чтобы задействовать индексы для table.field, а то писать длинные конструкции, типа:
NOT(Cast(:smthn AS TYPE OF COLUMN table.field) IS NOT NULL AND table.field != :smthn)
в расчёте на "ленивость" AND слишком морочно.
30 июл 20, 18:05    [22175826]     Ответить | Цитировать Сообщить модератору
 Re: Конкурс идей про Firebird  [new]
hvlad
Member

Откуда:
Сообщений: 10996
rdb_dev,

чем эта конструкция отличается от
(? IS NULL OR field = ?)
?
30 июл 20, 18:55    [22175848]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 .. 46 47 48 49 50 51 52 53 [54] 55   вперед  Ctrl
Все форумы / Firebird, InterBase Ответить