Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 27.07.2011, 18:13
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
Вопрос Несколько вопросов оптимизации БД

Здравствуйте!

Возникло несколько вопросов оптимизации БД, использую Firebird 2.5 и IBExpert, интересно ваше мнение...

1. СУБД используется Firebird, которую легко открыть и украсть данные, тк не поддерживается шифрование. Можно ли перейти на какую-то другую СУБД с поддержкой шифрования наиболее легко? Желательно также бесплатную. Желательно дистрибутив СУБД покомпактнее.

2. Если в СУБД поддерживается шифрование - шифруются ли все хранимые процедуры и др код обработки? Или только данные? Как можно защитить код в файле БД от корректировки?

3. Можно ли как-то быстро очистить весь файл БД от комментариев?

4. В БД есть некие таблицы, которые есть желание перенести из СУБД в программу. Подскажите, пожалуйста, как это сделать наиболее правильно и удобно?

5. В БД оказалась одна большая таблица назовём C состоящая из 50 полей данных автоматически скопированных из таблиц А и B - это вообще нормально? или предыдущий разработчик долдон??

PS У меня мало опыта с СУБД, но достаточно в разработки ПО, поэтому прошу отвечать подробно и профессионально. Заранее спасибо.
Ответить с цитированием
  #2  
Старый 27.07.2011, 18:45
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,026
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

1, 2 Положи БД на Encrypted диск. Можно, конечно, шифровать и руками, но в этом нет смысла. Только потеряешь производительность и услолжнишь себе работу, т.к. многие фильтрации надо будет делать на клиентской стороне. Скорее всего именно поэтому рахработчики БД этим не особо заморачиваются.

3. А зачем??? Что бы усложнить себе же жизнь? Вообще, можно написать программку, которая будет выдирать все исходники из БД, убирать в них комментарии а потом пересоздавать нужные объекты, благо это все равно SQL...

4. Не совсем понятно, что ты хочешь сделать. Если просто на время работы перенести пару таблиц в память (типа справочники), то можно воспользоваться чем-то типа TMemTable или просто TClientDataSet. Но тогда ты теряешь возможность делать разные JOIN'ы на уровне запросы в БД. Если вообще "навсегда" перенести, то нет смысла, если от БД не отказываешься полностью.

5. Возможно, долдон. Хотя мог пойти на это для того, что бы добиться повыгения производительности в некоторых специфических ситуациях. Вообще, надо в таком случае делать не таблицу, а вью.
Ответить с цитированием
  #3  
Старый 27.07.2011, 19:05
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

1 и 2 задачи разные:
1 - задача защиты данных от конкурентов юзера
2,3 - задача защиты ПО от копирования конкурентами разработчика
4 - навсегда, если справшиваю значит смысл есть
5 - да вот мне тоже кажется это как-то тупо... проще написать код, который сделает всё что нужно с таблицей А и сразу повторится на таблице B, чем делать ещё одну таблицу тупо копируя все нужные данные из А и B...

Пока ответ есть только на вопрос №5, остальные без ответов...
Ответить с цитированием
  #4  
Старый 27.07.2011, 19:46
Аватар для Viajero
Viajero Viajero вне форума
Активный
 
Регистрация: 14.06.2011
Адрес: РБ
Сообщения: 214
Версия Delphi: Delphi 7 FB 2.5
Репутация: 5849
По умолчанию

PostreSQL не пробовал, помощнее, чем Firebird , будет, но переделывать, практически всю программу придётся.
Sybase ASA ещё бесплатные редакции бывают, тоже неплохая, в смысле защищённости.

Цитата:
1 - задача защиты данных от конкурентов юзера
Если юзер боится конкурентов, то не лучше ли ему перейти на хорошее платное решение.
__________________
- Товарищ прапорщик!!! Остановите поезд!!! - Поезд СТОЙ! РАЗ! ДВА!

Последний раз редактировалось Viajero, 27.07.2011 в 19:56.
Ответить с цитированием
  #5  
Старый 27.07.2011, 20:29
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

PostgreSQL всё же прилично отличается и весит аж 50Мб, как MySQL в минимуме. Sybase ASA совсем уже напоминает монстроракл весом 300Мб и слабая русская поддержка (малое распространение в России).
В этом плане конечно ближайший родственник InterBase видимо оптимален - 20-25мб и ближайшее сходство.
При переходе с Firebird на Interbase что придётся переделывать???
Цитата:
Если юзер боится конкурентов, то не лучше ли ему перейти на хорошее платное решение.

Последний раз редактировалось delphicoding, 27.07.2011 в 20:40.
Ответить с цитированием
  #6  
Старый 28.07.2011, 21:27
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

У кого-нибудь ещё есть мнения по вопросам 2,3,4 ?
Ответить с цитированием
  #7  
Старый 28.07.2011, 22:19
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,026
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от delphicoding
У кого-нибудь ещё есть мнения по вопросам 2,3,4 ?

2 - думаю, только данные
3 - нет, но можно написать такую тулзу. вопрос в том, что это бессмысленно.
4. Опять же, не имеет смысла. Проблем ты этим создаш больше, чем получишь бенифитов.
Ответить с цитированием
  #8  
Старый 29.07.2011, 09:51
Аватар для Viajero
Viajero Viajero вне форума
Активный
 
Регистрация: 14.06.2011
Адрес: РБ
Сообщения: 214
Версия Delphi: Delphi 7 FB 2.5
Репутация: 5849
По умолчанию

Цитата:
При переходе с Firebird на Interbase что придётся переделывать???
Interbase, насколько я знаю, платный. Но неоднократно проскакивала в Интернете информация, что уже существует альфа весия Firebird 3.0, в которой вопросы безопасности решены намного успешнее чем в Firebird 2.х
http://ibase.ru/conf2010/Firebird_3.pdf
возможно в ближайшем будущем выйдет и бета
__________________
- Товарищ прапорщик!!! Остановите поезд!!! - Поезд СТОЙ! РАЗ! ДВА!
Ответить с цитированием
  #9  
Старый 29.07.2011, 13:12
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

lmikle
2 - плохо, а в InterBase тоже нет шифрования процедур?
И вообще о шифровании в БД - кто-нибудь слышал/видел чтобы взламывали шифрованные БД и насколько легко это вообще делается? (шифрование и пароли тоже бывают разные)
3 - нет, не бессмысленно, удаление комментов повышает защищённость сложной БД от копирования или редактирования конкурентами разработчика или любителями краденных версий ПО.
4 - это не очень умно говорить другому человеку, что ему нужно, не зная ситуации. Если знаешь как правильно сделать п.4 с возможностью визуального редактирования таблицы в Delphi - подскажи, пожалуйста...

Viajero
Цитата:
уже существует альфа весия Firebird 3.0
Правильно. Но отладка всего этого займёт ещё массу времени, да и боюсь реализация скорее всего будет заметно проще, чем у СУБД класса InterBase/Postgre.
Ответить с цитированием
  #10  
Старый 01.08.2011, 14:06
delphicoding delphicoding вне форума
Активный
 
Регистрация: 04.07.2011
Сообщения: 206
Репутация: -461
По умолчанию

Остались нерешёнными вопросы 2,3,4... профи, есть соображения?
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:42.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter