|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Уж даже и не знаю как спросить. Суть приблизительно в следующем: принято решение в одной из работ использовать Astra Linux. Можно использовать астралинуксовский postgresql, а можно линтер. Вопрос конечно дурной, но все же: в чем преимущество одной по сравнении с другой (относительно использования в астра линукс)? ЗЫ Может кто-нибудь использует и выбирал целенаправленно, а не привычным методом тыка? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2014, 10:35 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
По постгрескулю специалистов больше чем по линтеру. Это очень большое преимущество. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2014, 14:43 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Астралинуксовский, Вы разберитесь что Вам нужно. Помните, что с Линтер Линтеру рознь. Линтер ВС 7 в МСВС = Postgres 8.4, но поставляется с русскоязычной бумажной документацией. Предполагаю, Линтер в Astra Linux действительно другой ( отечественная разработка еще 80-х годов, наверное уже продвинутая), но с русскоязычной документацией. А вот разработчики Astra Linux поленились сделать документацию и отсылают к англоязычной документации по Postgres в интернет (на мой взгляд это не очень корректно). Следует отметить, что в документации идет по URL ссылка на версию Postgres 8.4, а де факто устанавливается Postgres 9.1. В этой ситуации не очень понятно кто несет ответственность. Кроме того, расположение файлов несколько отличное от стандартного размещения. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 08:27 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
ARTURVПредполагаю, Линтер в Astra Linux действительно другой ( отечественная разработка еще 80-х годов, наверное уже продвинутая), но с русскоязычной документацией. Да, ЛИНТЕР ВС 7 в МСВС и ЛИНТЕР 6.x в Astra Linux - это, как говорят в Одессе, "две большие разницы" (или "четыре маленьких"). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.02.2014, 11:04 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
ЮВARTURVПредполагаю, Линтер в Astra Linux действительно другой ( отечественная разработка еще 80-х годов, наверное уже продвинутая), но с русскоязычной документацией. Да, ЛИНТЕР ВС 7 в МСВС и ЛИНТЕР 6.x в Astra Linux - это, как говорят в Одессе, "две большие разницы" (или "четыре маленьких"). А и никто не возражает, что это совершенно разные СУБД, о чем ранее и говорилось ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2014, 13:01 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
ARTURV, нет, линтер-вс тут не вариант вообще, пусть отдыхает в МСВС. Речь о непостгресовском Линтер в сравнении собственно с самим Постгре (в Астре). Как-то получается, что в Астре Постгре есть, но использовать его можно скорее только по причине, которую озвучил Dimitry Sibiryakov вторым постом. А с Линтер - неизвестно для меня куда вывезет, документация вроде бы есть, но ... это ж надо разбираться. Вот и подумал, дай спрошу общественное мнение, прежде чем тратить время потенциально за зря. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.03.2014, 15:24 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
АстралинуксовскийУж даже и не знаю как спросить. Суть приблизительно в следующем: принято решение в одной из работ использовать Astra Linux. Можно использовать астралинуксовский postgresql, а можно линтер. Вопрос конечно дурной, но все же: в чем преимущество одной по сравнении с другой (относительно использования в астра линукс)? ЗЫ Может кто-нибудь использует и выбирал целенаправленно, а не привычным методом тыка? Есть два линтера. Один -- линтер, а другой -- переписанный слегка Postgres. Какой у тебя ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2014, 18:02 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
MasterZivАстралинуксовскийУж даже и не знаю как спросить. Суть приблизительно в следующем: принято решение в одной из работ использовать Astra Linux. Можно использовать астралинуксовский postgresql, а можно линтер. Вопрос конечно дурной, но все же: в чем преимущество одной по сравнении с другой (относительно использования в астра линукс)? ЗЫ Может кто-нибудь использует и выбирал целенаправленно, а не привычным методом тыка? Есть два линтера. Один -- линтер, а другой -- переписанный слегка Postgres. Какой у тебя ? Под Астрой вроде бы работает только этот линтер. Во всяком случае я имею ввиду именно его. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.03.2014, 17:42 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Астралинуксовский, И так, в Astralinix в штатной поставке работает Postgres 9.1.(недавно покупали). К сожалению разработчики поленились выпустить русскоязычную документацию и отсылают на "помойку" Internet. Стоит ли связываться с Линтером не входящим в стандартную поставку решать Вам ... |
|||
:
Нравится:
Не нравится:
|
|||
14.03.2014, 15:51 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Попробовали линтер. Документация так себе, но есть. Без неё сразу не разберешься. ИМХО к линтеру привыкнуть надо, к постгре рука как-то все-таки больше набита. А так, если постараться объективно судить, пока ничего бы не выделял. Техподдержка линтера предлагала использовать горячий резерв, но я пока для себя не осознал нафига оно надо в моей задаче. В общем единственное, что радует с линтером, это только что поддержка, хоть не всегда в тему, но отвечает. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.04.2014, 15:15 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Астралинуксовский, Астралинуксовский, Если еще не поздно то вставлю свои 5 копеек. Хотите Линтре - покупайте ящик транквилизаторов и седативов. 1. Документация по их честному заявлению написана по ГОСТу. Написана так что читать невозможно. Примеров для некоторых задач вообще нет. Некоторые нужно искать в других разделах. К примеру: так и не нашел как установить текущее значение сиквенса на необходимое, все что нашел только стартовое значение. 2. Просто так создать несколько баз данных нельзя. Каждая БД запускается отдельным процессом. На каждый процесс свой порт для работы в сети (наверно один из немногих плюсов). На хосте по факту ставится полноценный Линтер из которого запускается nodetab с вручную заполненной таблицей "имя бд\хост\порт". Старт каждой БД на серваке вручную или пишите скрипты и пихайте сами куда хотите. 3. Язык SQL и "тот который" используется в процедурах писали разные люди (сами разработчики рассказывали), так что не удивляйтесь если один и тот же тип данных будет восприниматься только в SQL, но не в процедурах. 4. Коль о процедурах. Каждая строка тела процедуры заканчивающаяся ";" должна так же содержать "\\", то есть в итоге получаем ";\\". Таким образом обозначается конец строки) без нее при скармливании процедуры вас ожидает обрезка тела процедуры ровно до этой ";", все после исчезнет. Хотя при создании процедур не из файлов, а на прямую в linteradmin это не требуется. 5. Забудьте про тип STRING. Онли VARCHAR(4096) и ни символом больше. Такова реализация архитектуры. Причем 4096 это суммарная длинна все полей типа (VARCHAR, CHAR, ...). Может ошибка версии СУБД, может особенности архитектуры, может мой косяк (эксперименты с этим продуктом меня за доконали) в магическое 4096 включаются и остальные типы. 6. Техподдержка действительно оперативна, за что им респект. Порой отвечают на крайне поздние запросы. Но любят потом присылать письма с предложением купить подписку. Хотя большинство обращений к ним это баги и отсутствие внятных док. В итоге: после Линтер-ВС переход на Линтер был для меня "малость" неприятен. По большому счету - расстройство ЦНС гарантировано)) В первую очередь уж очень сильными особенностями. Если использовать как чистый SQL - нормально. Хотите процедурный язык - готовтесь к багам. З.Ы. Количество пунктов было 14 но в процессе случайно грохнул половину. Там были в основном особенности и сюрпризы работы СУБД, в том числе бэкапы и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 00:13 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
heleo, приветствую от разработчиков того самого источника транквилизаторов :). Ни в коей мере не утверждая, что они не понадобятся, сообщу, что указанная Вами поддержка действительно работает и если бы Вы попросили бы прислать информацию по установке значения SEQUENCE, то получили бы цитату из документации (да и из стандарта пожалуй) в разделе ALTER SEQUENCE - alter sequence <имя> start with <значение>; По остальным 8 пунктам (кроме 6 перечисленным) нам бы тоже очень хотелось бы знать указанную информацию. Возможно, что что-то мы упускаем из неудобного. К сожалению, сделать всё и сразу в серверном продукте очень сложно, но знание неудобных моментов позволяет постепенно устранять проблемы. Теперь по Вашим пунктам - я не буду высказывать своё мнение - просто подтверждение или комментарий. heleo1. Документация по их честному заявлению написана по ГОСТу. Написана так что читать невозможно. Примеров для некоторых задач вообще нет. Некоторые нужно искать в других разделах. К примеру: так и не нашел как установить текущее значение сиквенса на необходимое, все что нашел только стартовое значение. Сиквенс был выше. Остальное - отчасти я согласен - есть проблемы в связности изложения и в целостности примеров, но нужно учитывать, что это документация, а не книжка по работе в системой или с SQL. Если есть список "тёмных мест" - пришлите пожалуйста - будем устранять или укажу, где можно найти ответы. heleo2. Просто так создать несколько баз данных нельзя. Каждая БД запускается отдельным процессом. На каждый процесс свой порт для работы в сети (наверно один из немногих плюсов). На хосте по факту ставится полноценный Линтер из которого запускается nodetab с вручную заполненной таблицей "имя бд\хост\порт". Старт каждой БД на серваке вручную или пишите скрипты и пихайте сами куда хотите. По поводу вручную - неверно. Усе установки в linux содержит конфигурационные скрипты по настройке автозапуска. Эти скрипты можно клонировать и использовать для себя. Ручное заполнение тоже не вполне верно - может заполняться приложениями. А то, что это текстовый файл - да - это файл конфигурации клиента - он текстовый. heleo3. Язык SQL и "тот который" используется в процедурах писали разные люди (сами разработчики рассказывали), так что не удивляйтесь если один и тот же тип данных будет восприниматься только в SQL, но не в процедурах. Ничего удивительного, что писали разные люди нет. Другое дело, как писали :) Язык процедур вообще не предназначался для сервера. Но этот вопрос сейчас решается новым синтаксисом (с сохранением совместимости). Много вопросов по несовпадению типов уже снято. Добавлены новые конструкции, унифицирован вызов функций SQL и процедур. heleo4. Коль о процедурах. Каждая строка тела процедуры заканчивающаяся ";" должна так же содержать "\\", то есть в итоге получаем ";\\". Таким образом обозначается конец строки) без нее при скармливании процедуры вас ожидает обрезка тела процедуры ровно до этой ";", все после исчезнет. Хотя при создании процедур не из файлов, а на прямую в linteradmin это не требуется. Да, подобная фича есть - это ограничение интерфейса взаимодействия с ядром. Т.к. процедуры являются частью SQL, то и возникает конфликт с разбором запроса и текста процедур. В средствах, предназначенных специально для работы с процедурами такой проблемы нет, но для приложения и некоторой работы - есть. В настоящее время работаем в области нового интерфейса и транслятора, который снимет эти вопросы и ограничения. heleo5. Забудьте про тип STRING. Онли VARCHAR(4096) и ни символом больше. Такова реализация архитектуры. Причем 4096 это суммарная длинна все полей типа (VARCHAR, CHAR, ...). Может ошибка версии СУБД, может особенности архитектуры, может мой косяк (эксперименты с этим продуктом меня за доконали) в магическое 4096 включаются и остальные типы. Верно. И даже не 4096, а меньше. По поводу того, что это длина всех полей - неверно. Длина всех полей 64к и уже давно. Для этого есть возможность конфигурирования БД. heleo 6. Техподдержка действительно оперативна, за что им респект. Порой отвечают на крайне поздние запросы. Но любят потом присылать письма с предложением купить подписку. Хотя большинство обращений к ним это баги и отсутствие внятных док. .... З.Ы. Количество пунктов было 14 но в процессе случайно грохнул половину. Там были в основном особенности и сюрпризы работы СУБД, в том числе бэкапы и т.п. Если возможно, то список оставшихся пунктов будет очень ценен для нас. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.10.2014, 14:02 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Вопрос, на сайте есть слова, что Linter поддерживает: OCI (интерфейс совместимости с Oracle) возникает вопрос: 1) насколько правда 2) насколько без глючно 3) с какой версией совместимо ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2014, 12:29 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Добрый день! Leonid KudryavtsevНа сайте есть слова, что Linter поддерживает: OCI (интерфейс совместимости с Oracle) возникает вопрос: 1) насколько правда 2) насколько без глючно 3) с какой версией совместимо 1. Правда на 100% и в Win и в UNIX. Исключение - интерфейса нет в дистрибутиве. Он поставляется отдельно. В дистрибутиве есть скрипты которые частично эмулируют каталог Oracle (dict/ora_cat.sql) 2. :) Как пойдёт. Мы не утверждаем, что эмулируем интерфейс на 100% (не совпадают типы данных, нет части функциональности которая есть в Oracle и т.п.), но то, что работает, позволяет использовать сторонние приложения с нами как будто они работают с Oracle. Штатные Оракловские примеры на интерфейс собираются с нами и работают. 3. Интерфейс содержит наборы функций для OCI7 и 8-11. Вся куча порядка 1000 функций не поддерживается, но можно отследить каких функций нет и мы сможем их реализовать. Если интересно - обращайтесь штатным способом - Вам вышлют соответствующие библиотеки и краткую инструкцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2014, 13:09 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
С Линтер пока дело не имел, но возможно есть заказ. Начальство сегодня уже к Вам звонило, т.ч. в качестве одного из вариантов Линтер расматривается. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2014, 14:18 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, Расскажешь потом об опыте ... |
|||
:
Нравится:
Не нравится:
|
|||
22.10.2014, 16:13 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Leonid Kudryavtsev, поплотнее с поддержкой работайте: и Вам, и Линтеру полезно будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2014, 15:24 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
все от потенциального заказчика зависит нам то что, мы специалисты широкого профиля: можем копать, можем не копать ... |
|||
:
Нравится:
Не нравится:
|
|||
28.10.2014, 20:24 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Ермаков Михаил, Ермаков Михаилheleo, Теперь по Вашим пунктам - я не буду высказывать своё мнение - просто подтверждение или комментарий. heleo1. Документация по их честному заявлению написана по ГОСТу. Написана так что читать невозможно. Примеров для некоторых задач вообще нет. Некоторые нужно искать в других разделах. К примеру: так и не нашел как установить текущее значение сиквенса на необходимое, все что нашел только стартовое значение. Сиквенс был выше. Остальное - отчасти я согласен - есть проблемы в связности изложения и в целостности примеров, но нужно учитывать, что это документация, а не книжка по работе в системой или с SQL. Если есть список "тёмных мест" - пришлите пожалуйста - будем устранять или укажу, где можно найти ответы. По всей видимости сиквенс я в документации просмотрел. Хотелось бы нормальную документацию, не то что сейчас в pdf, а в виде онлайн\офлайн html, с перекрестными ссылками. Тот же PostgreSQL к примеру имеет более удобоваримую документацию хотя там все разбито на атомарные куски. А в Вашем случае разбиение по файлам порой подводит к рытью писком в каждом файле, так как не понятно где это искать. С примерами могу сказать так. Работать с BLOB не совсем ясно как. В примерах показана запись BLOB одноразовая, а если нужно записать в цикле через UPDATE дана только функция INSERT и REPLACE. С INSERT не сложилось, то ли баг, то ли что то еще. В итоге наращивание BLOB произвел через: Код: sql 1.
В документации возможности применения такого метода не упомянуто, а хотелось бы видеть пускай это даже очевидные вещи. Ермаков Михаилheleo2. Просто так создать несколько баз данных нельзя. Каждая БД запускается отдельным процессом. На каждый процесс свой порт для работы в сети (наверно один из немногих плюсов). На хосте по факту ставится полноценный Линтер из которого запускается nodetab с вручную заполненной таблицей "имя бд\хост\порт". Старт каждой БД на серваке вручную или пишите скрипты и пихайте сами куда хотите. По поводу вручную - неверно. Усе установки в linux содержит конфигурационные скрипты по настройке автозапуска. Эти скрипты можно клонировать и использовать для себя. Ручное заполнение тоже не вполне верно - может заполняться приложениями. А то, что это текстовый файл - да - это файл конфигурации клиента - он текстовый. Может я опять чего то в документации не досмотрел, но тогда скажите: Параметры порта, LINTER_MBX автоматически тоже настраиваются при использовании нескольких баз? К примеру я попал в ситуацию когда эти значения были заняты первыми пришедшими к серваку. Дальше идем на сторону клиента, где каждому клиенту приходится настраивать файл nodetab с параметрами сервака. Стоит только добавить новую базу или сменить порт и прогулка по всем клиентам обеспечена. К тому же просто поставить nodetab на клиента нельзя, поскольку он не отделен от пакета установки СУБД, а хотелось бы видеть отдельно, и что бы не скриптами это все регулировалось, а полноценным демоном. Так как разбираться где каждый "буратино" хранит скрипты от запуска своей базы и в каком месте при старте ОС он их вызывает очень не хочется. Наличие скриптов создания системных таблиц базы которые надо затянуть вручную при создании своей базы. Нельзя внутрь спрятать сей момент? Я понимаю, что там можно отключить лишнее и не тащить, но выигрыша от этого я не заметил. Зато СУБД может быть установлена черти куда и где искать эти системные таблицы при развертывании базы вопрос хороший, ладно если в скрипте поиск найдет то что надо, а не остатки предыдущей версии СУБД. Пойдем далее. Сопряжение пользователей СУБД и пользователей ОС нет. Сопряжение меток ОС с СУБД нет. Процедуры нужно запускать с указанием имени схемы в которой она создана. При этом для представлений и таблиц еще можно сделать синоним и скрыть этот момент, но не с процедурами. Фактически не хватает схемы паблик. Бэкап. Удалось сделать только полный. Отключение триггеров нет, данный момент реализуется только путем наложения\создания всех проверок (уникальность, зависимоти, включение триггеров) после восстановления таблиц с данными. Для выгрузки отдельных частей БД пришлось писать скрипт, особенно для их восстановления, где как раз и потребовалась установка сиквенса, благо сиквенсы все по одной схеме делались и имена их легко тащились по имени таблицы, а так же поля для которых оные использовались с одним именем для всех таблиц. Тут надо сделать ремарку. При восстановлении мне как таковой "ALTER SEQUENCE START WITH X" не подходит. Хотелось бы именно задание значения как в постгрессе pg_catalog.setval('seq', 123, true); Опять же в сравнении с постгрессом, очень не хватает нотисов и особенно именованных констрейнов. К примеру если в коде несколько уникальных ключей, чеков, внешних ключей - выковыривать это не получится. Опять же, если делать обработку в каждой процедуре это просто ад. Да чуть не забыл. Версия 6.0.17.15 не собирается драйвер Qt под Qt 4 и МСВС 5, ругается на опцию компиляции, удаляем - собирается. А еще, решение с экспортом пути к директории Qt 4 в переменную QTDIR не самая лучшая идея для выбора версии Qt под которую собирается драйвер. Лучше идти стандартным путём qmake, qmake-qt4. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2014, 19:58 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Линтеру нужно краткую презенташку сделать как унутри все работает. По моему опыту _игр_ с ним, очень похоже на нечто среднее между Oracle и DB2, только с меньшим количеством функций из-за размера компании разработчика. ограничение varchar как в DB2 зависит от размера табличного пространства, компилятор SQL и PLSQL разные, зато есть embedded sql если все на С/С++ пишется то и процедуры на нем можно писать. Одна база на один порт, почему и нет, все можно по логическим схемам развести, зачем плодить разные базы... Эмуляция Oracle понятна, клиентов много оттуда можно перетащить. А так в принципе в контексте модного импортозамещеня нормальная зрелая система, больше клиентов больше функций для них разработчики сделают. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2014, 21:07 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
xz321Эмуляция Oracle понятна, клиентов много оттуда можно перетащить. RAC+Exadat-у эмулируют? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2014, 21:26 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
xz321 Одна база на один порт, почему и нет, все можно по логическим схемам развести, зачем плодить разные базы... Наверно потому, что базы разные и в одну не слить) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.12.2014, 21:44 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Вася УткинRAC+Exadat-у эмулируют? Пока нет :). Но это вопросы - времени - денег - потребностей При этом следует давать себе отчёт, что за месяц 9 женщин ребёнка родить не смогут. Поэтому все 3 фактора должны присутствовать достаточно длительное время. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 11:03 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
heleoХотелось бы нормальную документацию, не то что сейчас в pdf, а в виде онлайн\офлайн html, с перекрестными ссылками. Мне тоже хотелось бы :). Правда не в виде альтернативы, а в виде дополнения к текущей документации. Но наш объём документации очень сложно поддерживать в таким виде. heleoС примерами могу сказать так. Работать с BLOB не совсем ясно как. В примерах показана запись BLOB одноразовая, а если нужно записать в цикле через UPDATE дана только функция INSERT и REPLACE. С INSERT не сложилось, то ли баг, то ли что то еще. В итоге наращивание BLOB произвел через: В пакете примеров для CALL интерфейса реализована функция LinterAOBJ (exlib.c). В документации по CALL интерфейсу в разделе о добавлении BLOB цитата - "Команда ABLB предназначена для добавления заданной порции BLOB-данных." В примерах, к сожалению, приведена только команда AOBJ - хотя работают они одинаково. И последовательное обращение к этой функции обеспечивает последовательную загрузку данных в BLOB. Кстати, а через какой интерфейс Вы пробовали работать? heleoМожет я опять чего то в документации не досмотрел, но тогда скажите: Параметры порта, LINTER_MBX автоматически тоже настраиваются при использовании нескольких баз? Нет, для нескольких баз - не настраивается. Точнее утилита подобная есть (SNMPmanager), но она пока не очень удобна и содержит некоторые проблемы (частично унаследованные от протокола) над которыми мы сейчас работаем. heleoДальше идем на сторону клиента, где каждому клиенту приходится настраивать файл nodetab с параметрами сервака. Стоит только добавить новую базу или сменить порт и прогулка по всем клиентам обеспечена. К тому же просто поставить nodetab на клиента нельзя, поскольку он не отделен от пакета установки СУБД, а хотелось бы видеть отдельно, и что бы не скриптами это все регулировалось, а полноценным демоном. Так как разбираться где каждый "буратино" хранит скрипты от запуска своей базы и в каком месте при старте ОС он их вызывает очень не хочется. Зависит от поставленной задачи. Интересно, а как будет в случае смены порта или инстанса в oracle? Не придётся перенастраивать клиентские? Вариантов решения много - от размещения на неком разделяемом ресурсе общего файла до интеграции наших клиентских компонент в свой приложение (опять же для работы клиента нужно только 2 файла и никаких скриптов кроме запуска). heleoНаличие скриптов создания системных таблиц базы которые надо затянуть вручную при создании своей базы. Нельзя внутрь спрятать сей момент? Я понимаю, что там можно отключить лишнее и не тащить, но выигрыша от этого я не заметил. Я не знаю Вашей технологии развёртывания приложения, но согласитесь, это не сложно сделать. Кроме того, потребности у разных систем разные и, бывает, отключение полезно. Кроме того, если Вы возьмёте почти :) любую систему, то получите что-то подобное - или развёртывание готовой БД с грудой мусора или создание БД с нуля с указанием конкретных параметров. В нашем случае Вам ничто не мешает получить копию DEMO базы и тиражировать её изменяя параметры по необходимости. Да, для этого в UNIX пока не очень удобные средства, но это тоже временно (см. выше.) heleoСопряжение пользователей СУБД и пользователей ОС нет. В настоящий момент полностью работоспособна аутентификация через PAM и, локально, через систему. http://www.linter.ru/documentation.php?ID=3057 - "создание пользователя". Соответствующая информация должна будет быть добавлена в "архитектуру", но пока обновлённый документ не опубликован. heleoСопряжение меток ОС с СУБД нет. Да, нет. Но это дискуссионный вопрос - что лучше. Что проще - понятно. А вот что лучше .... heleoПроцедуры нужно запускать с указанием имени схемы в которой она создана. При этом для представлений и таблиц еще можно сделать синоним и скрыть этот момент, но не с процедурами. Фактически не хватает схемы паблик. Да, в настоящее время синонимов на процедуры нет. А вот схема такая недопустима по соображениям безопасности :). heleoБэкап. Удалось сделать только полный. А почему не получилось частичный? heleoОтключение триггеров нет, данный момент реализуется только путем наложения\создания всех проверок (уникальность, зависимоти, включение триггеров) после восстановления таблиц с данными. Есть. http://www.linter.ru/documentation.php?ID=3057 раздел "состояние триггера" heleoПри восстановлении мне как таковой "ALTER SEQUENCE START WITH X" не подходит. Хотелось бы именно задание значения как в постгрессе pg_catalog.setval('seq', 123, true); А в чём криминал первой конструкции? heleoОпять же в сравнении с постгрессом, очень не хватает нотисов и особенно именованных констрейнов. К примеру если в коде несколько уникальных ключей, чеков, внешних ключей - выковыривать это не получится. Опять же, если делать обработку в каждой процедуре это просто ад. нотисы - это комментарии? Если так, то сейчас они уже есть. http://www.linter.ru/documentation.php?ID=3057 - "создание комментария". heleoДа чуть не забыл. Версия 6.0.17.15 не собирается драйвер Qt под Qt 4 и МСВС 5, ругается на опцию компиляции, удаляем - собирается. А еще, решение с экспортом пути к директории Qt 4 в переменную QTDIR не самая лучшая идея для выбора версии Qt под которую собирается драйвер. Лучше идти стандартным путём qmake, qmake-qt4. Проверим - что там не так, но там есть файл linqt.pro - он должен корректно собираться любыми стандартными средствами qmake. И, судя по набору исходников, там сборка будет корректной и для QT4 и для QT5. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 12:05 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Ермаков МихаилВася УткинRAC+Exadat-у эмулируют? Пока нет :). Но это вопросы - времени - денег - потребностей При этом следует давать себе отчёт, что за месяц 9 женщин ребёнка родить не смогут. Поэтому все 3 фактора должны присутствовать достаточно длительное время. Ну потребности намного выше, чем вы себе представляете :) Но конечно никто не будет требовать это от вас - легче сразу взять ту СУБД в которой это уже реализовано. Но если будете делать - делайте сразу с поддержкой uDAPL, на прикладном уровне сократите задержки доступа к удаленному буферному кэшу раз в 10. У вас же в основном сейчас военные заказчики? Перевооружение ещё 5 лет продлиться, денег на IT-решения там не мало, СУБД в военщине, как и в коммерческой сфере покрывает до 50% всех потребностей, или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 12:48 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Вася Уткин Ну потребности намного выше, чем вы себе представляете :) Но конечно никто не будет требовать это от вас - легче сразу взять ту СУБД в которой это уже реализовано. В этом-то и проблема. потребности я представляю, но и имел ввиду, чтобы эта потребность реализовалась в 2 пункт - деньги. Очевидно, что это технологии очень сложные и требующие достаточных затрат. А вот наши возможности не позволяют не позволяют даже близко подойти к реализации. Вася Уткин Но если будете делать - делайте сразу с поддержкой uDAPL, на прикладном уровне сократите задержки доступа к удаленному буферному кэшу раз в 10. Спасибо. Мы, если будем делать, будет абстрагироваться от транспорта. И одним из вариантов будет именно подобный транспорт - не использовать же низкоуровневые средства при наличии высокоуровневых :). Вася Уткин У вас же в основном сейчас военные заказчики? Перевооружение ещё 5 лет продлиться, денег на IT-решения там не мало, СУБД в военщине, как и в коммерческой сфере покрывает до 50% всех потребностей, или нет? Я воздержусь от комментариев по поводу перевооружения. Скажу только одно - очень тяжело (не технически, а бюрократически) бороться с Postgress. Даже несмотря на то, что мы - полностью отечественная разработка, а PG - сами знаете... ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 13:07 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Ермаков МихаилДаже несмотря на то, что мы - полностью отечественная разработка Ну, если ваше отечество - Корея... Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 13:14 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovЕрмаков МихаилДаже несмотря на то, что мы - полностью отечественная разработка Ну, если ваше отечество - Корея... :) Ну, в таком нас пока ещё никто не обвинял. В копировании Oracle, pg и чего ещё там - да. Но в Корее - нет. Это откуда же такая информация-то? На основании чего такое заключение? Если есть желание - приезжайте - лично проведу по компании, покажу и расскажу где и что. И, если найдёте хоть одну фразу по корейски (за исключением поддерживаемых кодировок) - получите приз - я лично сознаюсь в Корейском гражданстве и пойду под суд как нарушитель закона :). Адрес - г. Воронеж, ул. 20 лет Октября, 119. +7-4732-711-711. Если нужен личный - есть в профиле ICQ. Когда ждать :) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 13:20 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
heleoВерсия 6.0.17.15 не собирается драйвер Qt под Qt 4 и МСВС 5, ругается на опцию компиляции, удаляем - собирается. А еще, решение с экспортом пути к директории Qt 4 в переменную QTDIR не самая лучшая идея для выбора версии Qt под которую собирается драйвер. Лучше идти стандартным путём qmake, qmake-qt4. Проверили поведение. 1. qmake работает. Он создает отдельный Makefile. Потом достаточно запустить make -f Makefile 2. В нашей штатной сборке действительно есть один ключ от более нового компилятора. Его нужно убрать там где компилятор не поддерживает - как Вы, собственно, и сделали. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 13:23 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Ермаков МихаилВася Уткин Но если будете делать - делайте сразу с поддержкой uDAPL, на прикладном уровне сократите задержки доступа к удаленному буферному кэшу раз в 10. Спасибо. Мы, если будем делать, будет абстрагироваться от транспорта. И одним из вариантов будет именно подобный транспорт - не использовать же низкоуровневые средства при наличии высокоуровневых :). Я к тому, что если взять уж самый стандартный транспорт TCP из TCP/IP over Ethernet/Infiniband/..., то это будет лучшее решение с точки зрения абстракции, но такой кластер мало кому будет нужен из-за своей скорости :) Не зря же IBM DB2 PureScale поддерживает uDAPL, а Oracle RAC поддерживает и uDAPL, и RDS. Ермаков МихаилСкажу только одно - очень тяжело (не технически, а бюрократически) бороться с Postgress. Даже несмотря на то, что мы - полностью отечественная разработка, а PG - сами знаете... В PG тоже пару отечественных разработчиков есть в топ5 :) А у вас как, периодически происходит полная синхронизация с текущей новой версией PG или подтягиваете только некоторые новые фичи из PG? Например, когда можно ждать фич из PostgreSQL 9.2? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 13:24 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Ермаков Михаил:) Ну, в таком нас пока ещё никто не обвинял. Ох, извиняюсь, перепутал Вас с Tibero. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 13:26 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Вася УткинЯ к тому, что если взять уж самый стандартный транспорт TCP из TCP/IP over Ethernet/Infiniband/..., то это будет лучшее решение с точки зрения абстракции, но такой кластер мало кому будет нужен из-за своей скорости :) Верно, и он тоже будет поддержан для систем, где нет возможности развернуть другие. но только для такого случая. Мы стараемся ориентироваться на лучшие протоколы при новых разработках, при этом сохраняя возможность (речь уже не идёт об эффективности) работы по старым. Ермаков МихаилВ PG тоже пару отечественных разработчиков есть в топ5 :) А у вас как, периодически происходит полная синхронизация с текущей новой версией PG или подтягиваете только некоторые новые фичи из PG? Например, когда можно ждать фич из PostgreSQL 9.2? Мы же не pg и не синхронизируемся с их репозиторием никак :). А по разработчикам - они смогут самостоятельно поддерживать всю систему после потери доступа в помощи открытого сообщества? <оставим в стороне как это будет сделано технически :) > Если интересуют какие-то фичи, то пишите - будем смотреть - когда и как реализовать. Если ваша компания сможет заказать доработку - можем выполнить заказ :). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 13:58 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Ермаков МихаилЕрмаков МихаилВ PG тоже пару отечественных разработчиков есть в топ5 :) А у вас как, периодически происходит полная синхронизация с текущей новой версией PG или подтягиваете только некоторые новые фичи из PG? Например, когда можно ждать фич из PostgreSQL 9.2? Мы же не pg и не синхронизируемся с их репозиторием никак :). А по разработчикам - они смогут самостоятельно поддерживать всю систему после потери доступа в помощи открытого сообщества? <оставим в стороне как это будет сделано технически :) > Если интересуют какие-то фичи, то пишите - будем смотреть - когда и как реализовать. Если ваша компания сможет заказать доработку - можем выполнить заказ :). Т.е. один раз Линтер-ВС 6.0 отпочковались от PostgreSQL 7.2 и забыли про PG, дальше исключительно своим путем? Наша фирма продает железо на котором бывает крутиться ваша СУБД. А клиентам зачастую проще, быстрее и дешевле использовать СУБД с готовыми фичами, чем заказывать их :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 14:13 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Ермаков МихаилheleoВерсия 6.0.17.15 не собирается драйвер Qt под Qt 4 и МСВС 5, ругается на опцию компиляции, удаляем - собирается. А еще, решение с экспортом пути к директории Qt 4 в переменную QTDIR не самая лучшая идея для выбора версии Qt под которую собирается драйвер. Лучше идти стандартным путём qmake, qmake-qt4. Проверили поведение. 1. qmake работает. Он создает отдельный Makefile. Потом достаточно запустить make -f Makefile 2. В нашей штатной сборке действительно есть один ключ от более нового компилятора. Его нужно убрать там где компилятор не поддерживает - как Вы, собственно, и сделали. ключ -fno-strict-overflow qmake - утилита для сборки приложения с использованием Qt 3 либо Qt4 в зависимости от того откуда она вызвана. Как правило выбор производится запуском скрипта для Qt 4 - qmake4 (qmake-qt4), либо прямого вызова qmake для Qt 3. У Вас в документации даже написано (readme.txt файл в паке с исходниками драйвера) "Before compile ensure, that QTDIR and QMAKE enviroment variables are set property.". Это вообще такой маленький грязный хак, что бы собралось с нужной версией. Хотя переменная QTDIR относится чисто к Qt 3, и в Qt 4 не применяется. К тому же у Вас уже создан makefile. После выполнения make он преобразуется в Makefile (с учетом qmake linter.pro и параметров makefile) который собственно и выполняется при компиляции. Если я попробую сходу запустить qmake linter.pro, а потом make -f Makefile, то результатом будет ошибка: Код: powershell 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42.
Ошибка кроется во включении необходимых параметров компиляции (include ../Definition, QTDIR) которые есть только в makefile, но не в linter.pro где этим вещам самое место. Причем в прошлый раз (версия 6.0.15.3х) это использование qmake4 уже правилось. А в 6.0.17.15 вернулось обратно. И моя самая любимая фича при сборке: Если кто то грохнет по незнанию ваш makefile присутствующий по умолчанию в драйвере, то уже ни как не собрать драйвер. Дальше начинается поиск дистрибутива СУБД или копии этой папки. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 14:41 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Вася Уткин Т.е. один раз Линтер-ВС 6.0 отпочковались от PostgreSQL 7.2 и забыли про PG, дальше исключительно своим путем? К сожалению, наш маркетинг посчитал эту информацию несущественной и убрал соответствующую информацию с сайта :). Нет, это не так. Мы никогда не отпочковывались от pg. Мы выпускали свой продукт - ЛИНТЕР. По заказу мыл разработан в 1996-2000 годах вариант ЛИНТЕР-ВС на нашим коде (версии 4.4 - 5.7). Однако, разработка требует вложений и заказчик решил :) обойтись без собственного продукта, подсунув своим клиентам под тем же названием другой продукт - совершенно с другими интерфейсами, логикой и т.п. Вот как раз он и был клоном pg :). И до сих пор под таким названием существует продукт. Только уже с другими характеристикам и (клон другой версии). Вася УткинНаша фирма продает железо на котором бывает крутиться ваша СУБД. А клиентам зачастую проще, быстрее и дешевле использовать СУБД с готовыми фичами, чем заказывать их :) Разумеется проще. Естественно, все считают свои деньги. Но можно считать их с оглядкой вперёд, а можно назад. И, в первую очередь, делать это должно государство, а не коммерческие компании. В любом случае, чем больше информация будет распространяться, тем нам полезнее. :). ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 14:42 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Вася Уткин, Вася УткинЕрмаков Михаилпропущено... Мы же не pg и не синхронизируемся с их репозиторием никак :). А по разработчикам - они смогут самостоятельно поддерживать всю систему после потери доступа в помощи открытого сообщества? <оставим в стороне как это будет сделано технически :) > Если интересуют какие-то фичи, то пишите - будем смотреть - когда и как реализовать. Если ваша компания сможет заказать доработку - можем выполнить заказ :). Т.е. один раз Линтер-ВС 6.0 отпочковались от PostgreSQL 7.2 и забыли про PG, дальше исключительно своим путем? Наша фирма продает железо на котором бывает крутиться ваша СУБД. А клиентам зачастую проще, быстрее и дешевле использовать СУБД с готовыми фичами, чем заказывать их :) Линтер-ВС 6.0.1 живет своей жизнью и дальше, его часто приписывают к Линтер, но делает его другая контора которая собственно запилила МСВС - ВНИИНС. В частности была Линтер-ВС с постгрессом 7.2 и 8.х, и вроде проскакивала новая версия с 9.х, но в руках не держал. К тому же, постгрес по умолчанию присутствует в AstraLinux с добавлением механизма мандатных меток и сопрягается с ОС при необходимости. Так же постгрес 9.х имеется еще в одной ОС, но по ней точно не скажу, что и как потому как в руки не попадала, но версия постгреса 9.0 или 9.1. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 14:50 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Ермаков МихаилheleoС примерами могу сказать так. Работать с BLOB не совсем ясно как. В примерах показана запись BLOB одноразовая, а если нужно записать в цикле через UPDATE дана только функция INSERT и REPLACE. С INSERT не сложилось, то ли баг, то ли что то еще. В итоге наращивание BLOB произвел через: В пакете примеров для CALL интерфейса реализована функция LinterAOBJ (exlib.c). В документации по CALL интерфейсу в разделе о добавлении BLOB цитата - "Команда ABLB предназначена для добавления заданной порции BLOB-данных." В примерах, к сожалению, приведена только команда AOBJ - хотя работают они одинаково. И последовательное обращение к этой функции обеспечивает последовательную загрузку данных в BLOB. Кстати, а через какой интерфейс Вы пробовали работать? Работаю я через Qt драйвер, а разговор шел непосредственно про SQL по работе с BLOB. Ермаков МихаилheleoДальше идем на сторону клиента, где каждому клиенту приходится настраивать файл nodetab с параметрами сервака. Стоит только добавить новую базу или сменить порт и прогулка по всем клиентам обеспечена. К тому же просто поставить nodetab на клиента нельзя, поскольку он не отделен от пакета установки СУБД, а хотелось бы видеть отдельно, и что бы не скриптами это все регулировалось, а полноценным демоном. Так как разбираться где каждый "буратино" хранит скрипты от запуска своей базы и в каком месте при старте ОС он их вызывает очень не хочется. Зависит от поставленной задачи. Интересно, а как будет в случае смены порта или инстанса в oracle? Не придётся перенастраивать клиентские? Вариантов решения много - от размещения на неком разделяемом ресурсе общего файла до интеграции наших клиентских компонент в свой приложение (опять же для работы клиента нужно только 2 файла и никаких скриптов кроме запуска). Тут нужно понимать две вещи: 1. Файл этот будет настраивать админ. 2. Выбор базы настроит пользователь в ПО сам, один раз и тогда когда надо будет, но без пункта 1 в Вашем случае к СУБД не подключиться никак. В чем и кроется плюс постгреса - настраивается только ПО, причем для этого не обязательно нужен админский доступ, хватит реквизитов хоста\имени базы у пользователя на бумажке. Ермаков МихаилheleoНаличие скриптов создания системных таблиц базы которые надо затянуть вручную при создании своей базы. Нельзя внутрь спрятать сей момент? Я понимаю, что там можно отключить лишнее и не тащить, но выигрыша от этого я не заметил. Я не знаю Вашей технологии развёртывания приложения, но согласитесь, это не сложно сделать. Кроме того, потребности у разных систем разные и, бывает, отключение полезно. Кроме того, если Вы возьмёте почти :) любую систему, то получите что-то подобное - или развёртывание готовой БД с грудой мусора или создание БД с нуля с указанием конкретных параметров. В нашем случае Вам ничто не мешает получить копию DEMO базы и тиражировать её изменяя параметры по необходимости. Да, для этого в UNIX пока не очень удобные средства, но это тоже временно (см. выше.) Очень просто, для постгресса мы просто выполняем: Код: powershell 1. 2.
и радуемся развернутой базе. При этом не нужно беспокоится о системных кусках СУБД, для нас и админов этот момент полностью прозрачен. К тому же не нужно думать о тех же LINTER_MBX. Какие бы базы не стояли уже, мы с ними кроме как по имени не будем конфликтовать, а уникальное имя БД не проблема. Ермаков МихаилheleoСопряжение пользователей СУБД и пользователей ОС нет. В настоящий момент полностью работоспособна аутентификация через PAM и, локально, через систему. http://www.linter.ru/documentation.php?ID=3057 - "создание пользователя". Соответствующая информация должна будет быть добавлена в "архитектуру", но пока обновлённый документ не опубликован. Хорошо. А возможности аутентификации по trust, ident? Меня вот ident интересует очень. Ермаков МихаилheleoСопряжение меток ОС с СУБД нет. Да, нет. Но это дискуссионный вопрос - что лучше. Что проще - понятно. А вот что лучше .... Ермаков МихаилНу раз далее был разговор про безопасность... Как говорить про безопасность если её настройка лежит полностью на ПО? Получается что запустив inl я сам могу указать метку текущей сессии и под 0й меткой работать с 3й меткой безопасности? heleoБэкап. Удалось сделать только полный. А почему не получилось частичный? heleoОтключение триггеров нет, данный момент реализуется только путем наложения\создания всех проверок (уникальность, зависимоти, включение триггеров) после восстановления таблиц с данными. Есть. http://www.linter.ru/documentation.php?ID=3057 раздел "состояние триггера" При выборе бэкапа отдельной таблицы происходит выгрузка данных этой таблицы, никаких сиквенсов при этом в ней нет как в случае бэкапа постгреса. Так же нет опции которая включит в этот бэкап SQL код по отключению триггеров на данную таблицу перед восстановление данных. Поэтому пришлось писать скрипт для частичного бэкапа БД, где добавлялись все необходимые параметры, и высчитываю сиквенсы SQL запросами после восстановления таблиц. Ермаков МихаилheleoПри восстановлении мне как таковой "ALTER SEQUENCE START WITH X" не подходит. Хотелось бы именно задание значения как в постгрессе pg_catalog.setval('seq', 123, true); А в чём криминал первой конструкции? Представьте, что сиквенс от 1 до 100 с автоповтором, то есть некий диапазон допустимых к выдаче значений. И мне нужно сделать дамп а потом развернуть. Для восстановления сиквенса я использую Код: sql 1.
потому как максимальное предыдущее значение было 98. Вопрос: что будет после перехода через значение 100? В доках постгресса к примеру написано Код: plaintext
Ермаков МихаилheleoОпять же в сравнении с постгрессом, очень не хватает нотисов и особенно именованных констрейнов. К примеру если в коде несколько уникальных ключей, чеков, внешних ключей - выковыривать это не получится. Опять же, если делать обработку в каждой процедуре это просто ад. нотисы - это комментарии? Если так, то сейчас они уже есть. http://www.linter.ru/documentation.php?ID=3057 - "создание комментария". Нет не то. Это по факту фича , не знаю как у остальных СУБД, но очень удобная при наличии тяжелой бизнес логики в процедурном языке. Ермаков МихаилheleoПроцедуры нужно запускать с указанием имени схемы в которой она создана. При этом для представлений и таблиц еще можно сделать синоним и скрыть этот момент, но не с процедурами. Фактически не хватает схемы паблик. Да, в настоящее время синонимов на процедуры нет. А вот схема такая недопустима по соображениям безопасности :). А теперь самый цимус. Чем public Вам не угодил? Все постгрессы которые были у меня в руках имели public и не имели проблем с безопасностью. При этом все шикарно работало, мандатные метки на строки, столбцы, таблицы, доступ к процедурам. Всё это работало как под метками так и с возможностью их обхода при необходимости. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.12.2014, 15:48 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
heleo .... Причем в прошлый раз (версия 6.0.15.3х) это использование qmake4 уже правилось. А в 6.0.17.15 вернулось обратно. И моя самая любимая фича при сборке: Если кто то грохнет по незнанию ваш makefile присутствующий по умолчанию в драйвере, то уже ни как не собрать драйвер. Дальше начинается поиск дистрибутива СУБД или копии этой папки. Спасибо. В очередной (видимо последний :) ) раз разобрались с этим модулем (#24941). Теперь не будет нашего makefile вообще. Флаг будет корректно определяться по конфигурации. Изменения затронут все версии начиная с 6.0.15. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 12:29 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
heleoРаботаю я через Qt драйвер, а разговор шел непосредственно про SQL по работе с BLOB. Да, у нас нет средств работы с BLOB через SQL (кроме того, которое Вы обнаружили). В QT есть возможность подавать специальные команды по работе с BLOB как обычные запросы. Описано в документе http://www.linter.ru/documentation.php?ID=2193, Псевдооператор для работы с BLOB-данными heleoТут нужно понимать две вещи: 1. Файл этот будет настраивать админ. 2. Выбор базы настроит пользователь в ПО сам, один раз и тогда когда надо будет, но без пункта 1 в Вашем случае к СУБД не подключиться никак. В чем и кроется плюс постгреса - настраивается только ПО, причем для этого не обязательно нужен админский доступ, хватит реквизитов хоста\имени базы у пользователя на бумажке. Если речь про то, что нельзя просто в команде на установку соединения задать адрес и порт, то да. Этого <пока> нет. Отчасти по соображениям безопасности, отчасти по причине нашей архитектуры. Администратор (если это выделенное лицо) настроит возможность доступа ко всем базам. Эти базы пользователь создать на удалённой машине никак не может. А уж к какому алиасу коннектиться - это он и сам решит. При этом никто не мешает запустить (dbc_tcp) самоcтоятельно и настраивать себе как угодно. Действия лишние понадобятся, конечно, в любом случае. heleoОчень просто, для постгресса мы просто выполняем: [src PS] createdb databaseName psql -f /schema.sql databaseName Да, есть свои преимущества и в таком подходе. Но есть схемы атак на pg связанные с подобной архитектурой которые мы стараемся избежать. Но дискуссия об этом должна быть не здесь :). heleoХорошо. А возможности аутентификации по trust, ident? Меня вот ident интересует очень. trust - мы не допускаем :). Но для тех целей для которых trust применим подходит именно локальная аутентификация BY PROTOCOL (в локальном варианте это ident). Она, к сожалению, пока не работает через сеть. Но мы будем делать расширение с использованием IPSec расширений. В ближайшем будущем будет наконец-то отрелизен kerberos. Ну, и PAM никто не отменял. Если будет соответствующий модуль - не проблема сделать что угодно :). heleoНу раз далее был разговор про безопасность... Как говорить про безопасность если её настройка лежит полностью на ПО? Получается что запустив inl я сам могу указать метку текущей сессии и под 0й меткой работать с 3й меткой безопасности? :). В некоторых случаях можете. Если Вам как пользователю это разрешено. Это вопрос идеологии и архитектуры меток. В гетерогенной среде с возможностью работы по сети только собственнй контроль позволит построить единую сеть. При этом остаётся вопрос о необходимости интеграции приложения и среды с уровнями и метками. heleoПри выборе бэкапа отдельной таблицы происходит выгрузка данных этой таблицы, никаких сиквенсов при этом в ней нет как в случае бэкапа постгреса. Так же нет опции которая включит в этот бэкап SQL код по отключению триггеров на данную таблицу перед восстановление данных. Поэтому пришлось писать скрипт для частичного бэкапа БД, где добавлялись все необходимые параметры, и высчитываю сиквенсы SQL запросами после восстановления таблиц. Понятно. В случае необходимости перечисления объектов для backup проблема некоторая есть. Потенциально она решается параметрами. lhbx это позволяет сделать, но сгенерить параметры для backup нет возможности. Вопрос понятен - учтём. А зачем отключение триггеров? Или Вы хотите использовать backup только для данных в схеме, но не для самой схемы? Т.е. сохранить данные из таблиц и необходимые параметры (те же Sequences). Затем, в аварийном случае, почистить все таблицы и залить их данные из backup? Описана ли эта модель где-то? Мы можем её рассмотреть и сделать в будущем средства для подобных моделей. Если это так, то становится понятна заинтересованность в установке значения последовательности в конкретное значение :). Учтём. heleoНет не то. Это по факту фича , не знаю как у остальных СУБД, но очень удобная при наличии тяжелой бизнес логики в процедурном языке. Понятно. http://www.linter.ru/documentation.php?ID=2200 - раздел - генерация пользовательского исключения. Наверное, речь об этом. heleoА теперь самый цимус. Чем public Вам не угодил? Все постгрессы которые были у меня в руках имели public и не имели проблем с безопасностью. При этом все шикарно работало, мандатные метки на строки, столбцы, таблицы, доступ к процедурам. Всё это работало как под метками так и с возможностью их обхода при необходимости. А как это "с возможностью их обхода при необходимости" ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 13:37 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Ермаков Михаил Администратор (если это выделенное лицо) настроит возможность доступа ко всем базам. Эти базы пользователь создать на удалённой машине никак не может. А уж к какому алиасу коннектиться - это он и сам решит. При этом никто не мешает запустить (dbc_tcp) самоcтоятельно и настраивать себе как угодно. Действия лишние понадобятся, конечно, в любом случае. Вот только не стоит рассчитывать на то, что пользователь будет запускать самостоятельно dbc_tcp, не факт что ему дадут права на это (по факту и не дают). Тогда уж сразу возникает вопрос о безопасности работы с nodetab. Вдруг я захочу его подредактировать, а коллеги то и не заметят, что база не совсем та. Ермаков Михаил Понятно. В случае необходимости перечисления объектов для backup проблема некоторая есть. Потенциально она решается параметрами. lhbx это позволяет сделать, но сгенерить параметры для backup нет возможности. Вопрос понятен - учтём. А зачем отключение триггеров? Или Вы хотите использовать backup только для данных в схеме, но не для самой схемы? Т.е. сохранить данные из таблиц и необходимые параметры (те же Sequences). Затем, в аварийном случае, почистить все таблицы и залить их данные из backup? Описана ли эта модель где-то? Мы можем её рассмотреть и сделать в будущем средства для подобных моделей. Если это так, то становится понятна заинтересованность в установке значения последовательности в конкретное значение :). Учтём. Да, только не всегда с зачисткой схем. Про модель ничего не скажу, так как у меня это в основном возникатет при сопровождении и разработке. Зачастую, бывает необходимо делать бэкап данных (только части или всех) для переноса на другой сервер, или при разработке есть необходимость внесения корректировки в БД при которой БД можно только пересоздать. При этом нужно сохранить часть данных и восстановить на новую схему. Вот тогда и появляется необходимость отключения триггеров. Ермаков МихаилheleoНет не то. Это по факту фича , не знаю как у остальных СУБД, но очень удобная при наличии тяжелой бизнес логики в процедурном языке. Понятно. http://www.linter.ru/documentation.php?ID=2200 - раздел - генерация пользовательского исключения. Наверное, речь об этом. Практически об этом, но: 1. У постгреса можно выкидывать не только исключения, но и передавать сообщения из БД без остановки выполнения. Код: plaintext 1.
3. У Вас может возникнуть один и тот же вид исключения вызванный разными ситуациями, к примеру: два внешних ключа, оба должны быть не NULL, один из ключей пишут NULL или не существующий. Какой именно ключ выкинул исключение не ясно. Ермаков Михаил А как это "с возможностью их обхода при необходимости" ? :) К примеру, для функция это параметр при создании (опять же сравнивая с постгресом): Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2014, 14:30 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
heleo Вот только не стоит рассчитывать на то, что пользователь будет запускать самостоятельно dbc_tcp, не факт что ему дадут права на это (по факту и не дают). Тогда уж сразу возникает вопрос о безопасности работы с nodetab. Вдруг я захочу его подредактировать, а коллеги то и не заметят, что база не совсем та. Верно. Но есть 2 момента. 1. Как администратор узнает - к какой БД обращается приложение? Т.е. как раз в PG у администратора пропадает возможность контроля за действиями приложения. 2. dbc может быть несколько и каждое приложение может использовать свой nodetab :) - совершенно не обязательно делать его общий. heleo Да, только не всегда с зачисткой схем. Про модель ничего не скажу, так как у меня это в основном возникатет при сопровождении и разработке. Зачастую, бывает необходимо делать бэкап данных (только части или всех) для переноса на другой сервер, или при разработке есть необходимость внесения корректировки в БД при которой БД можно только пересоздать. При этом нужно сохранить часть данных и восстановить на новую схему. Вот тогда и появляется необходимость отключения триггеров. В общем, идея понятна. Триггера отключать можно, но всё равно это не решит ситуацию. Зафиксируем heleo 1. У постгреса можно выкидывать не только исключения, но и передавать сообщения из БД без остановки выполнения. Да, у нас пока нельзя. Это связано с нашей не очень удачной моделью диагностики ошибок. Она будет меняться - не говорить о сроках пока рано. heleo 2. Возможность передавать не формализованные сообщения. В вашем случае идет привязка к определенному коду и на выходе будет именно этот код. В итоге приходится лезть в таблицу за определением этого кода, так как просто выдать цифру для нас недопустимо. В нашем случае это может быть стандартный запрос на получение ошибки - GETE из БД по коду. В этом случае Вы получите текстовое описание ошибки из таблиц ERRORS. heleo 3. У Вас может возникнуть один и тот же вид исключения вызванный разными ситуациями, к примеру: два внешних ключа, оба должны быть не NULL, один из ключей пишут NULL или не существующий. Какой именно ключ выкинул исключение не ясно. См. ответ на п.1 :). heleo Ермаков Михаил А как это "с возможностью их обхода при необходимости" ? :) К примеру, для функция это параметр при создании (опять же сравнивая с постгресом): EXTERNAL] SECURITY DEFINER У нас тоже есть EXECUTE AS DEFINER для процедур, но на мандатные метки это не действует. Относится только к дискреционным правилам. И это сознательный механизм который не позволяет скрыто передать информацию защищённую мандатными метками. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2014, 13:02 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
Ермаков Михаилheleo Вот только не стоит рассчитывать на то, что пользователь будет запускать самостоятельно dbc_tcp, не факт что ему дадут права на это (по факту и не дают). Тогда уж сразу возникает вопрос о безопасности работы с nodetab. Вдруг я захочу его подредактировать, а коллеги то и не заметят, что база не совсем та. Верно. Но есть 2 момента. 1. Как администратор узнает - к какой БД обращается приложение? Т.е. как раз в PG у администратора пропадает возможность контроля за действиями приложения. 2. dbc может быть несколько и каждое приложение может использовать свой nodetab :) - совершенно не обязательно делать его общий. Получается что контроль над приложением по доступу к БД есть, но управлять nodetab может кто угодно, либо администратор бегает и настраивает каждый ПК да еще под каждое приложение. При этом ни какой централизации управления доступом с различных хостов на сервере нет. Получается что nodetab будет выполнять свои функции нормально до тех пор пока в сети все ПК под жестким контролем админа и их количество не превышает некоего критичного порога обслуживания. А если ПК работает удаленно или все ПК без администрирования... Тогда "кто в лес кто по дрова", к томуже пользователь еще должен знать как настроить nodetab и как его запустить. Ермаков Михаил В нашем случае это может быть стандартный запрос на получение ошибки - GETE из БД по коду. В этом случае Вы получите текстовое описание ошибки из таблиц ERRORS. По факту так и сделано. Хотя возникает вопрос: сработает ли данный запрос в блоке begin - commit, если произойдет ошибка, но rollback или commit не будут вызваны до GET? Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
13.12.2014, 14:43 |
|
СУБД в Astra Linux
|
|||
---|---|---|---|
#18+
heleo Получается что контроль над приложением по доступу к БД есть, но управлять nodetab может кто угодно, либо администратор бегает и настраивает каждый ПК да еще под каждое приложение. При этом ни какой централизации управления доступом с различных хостов на сервере нет. Получается что nodetab будет выполнять свои функции нормально до тех пор пока в сети все ПК под жестким контролем админа и их количество не превышает некоего критичного порога обслуживания. А если ПК работает удаленно или все ПК без администрирования... Тогда "кто в лес кто по дрова", к томуже пользователь еще должен знать как настроить nodetab и как его запустить. А вот управление nodetab и запуском dbc_tcp уже полностью на стороне admin :). Если ему необходимо, то он это запретит. Это позволяет гибко настраивать среду под потребности конкретной системы. Кому централизацию, кому произвольный доступ. Альтернатива у pg - администратор никак не может проконтролировать - что написал пользователь в приложении - к какой базе доступ. И придётся лезть или в настройки сервера БД (конфигурировать там) или настраивать пакетную фильтрацию во внутренней сети. В нашем случае существует возможность разделения функций администратора БД и администратора сети - это позволяет более гибко настраивать сеть предприятия. Платой за это и является невозможность в приложении непосредственно указать параметры доступа к конкретному серверу. heleo Ермаков Михаил В нашем случае это может быть стандартный запрос на получение ошибки - GETE из БД по коду. В этом случае Вы получите текстовое описание ошибки из таблиц ERRORS. По факту так и сделано. Хотя возникает вопрос: сработает ли данный запрос в блоке begin - commit, если произойдет ошибка, но rollback или commit не будут вызваны до GET? Код: sql 1.
Я не совсем понял - где здесь криминал. GETE это просто получение текстового сообщения по коду. Не играет роли - где он будет вызван - внутри транзакции или вне её, до или после commit/rollback. Это никак не повлияет на транзакцию. По крайней мере не должно :). ... |
|||
:
Нравится:
Не нравится:
|
|||
14.12.2014, 09:35 |
|
|
start [/forum/topic.php?all=1&fid=35&tid=1552349]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
15ms |
get forum data: |
3ms |
get page messages: |
78ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 199ms |
0 / 0 |