Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Наилучшая СУБД для десктопной программы? 
:(
    Опции темы
mbasil
Дата 24.9.2008, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 399
Регистрация: 4.5.2007
Где: Москва

Репутация: 2
Всего: 13



Тут в виде издевки прозвучало - "Вы еше Oracle предложите"

А я бы выбрал Oracle Express (XE), если есть хотя бы одна потенциальная возможность дальнейшего расширения. Уже не раз сталкивался с тем, что руководство организации говорит - "Да у нас будет что-то маленькое и исключительно десктопное". А потом оказывается, что дитятя совсем не маленькая и имеет тенденцию к росту. И наступает время, когда надо все переписывать, так как база не тянет.   Поскольку версия XE бесплатна, особых вопросов по лицензии быть не должно. А когда захочется все это портировать на сеть и множество пользователей и в части миграции на старшую версию проблем не будет. 

Выбрал бы Derby в том случае, когда известно  совершенно точно, что база всегда будет невелика, всегда будет связана исключительно с данным приложением. Например для приложения в домашнем использовании при количестве таблиц до пары десятков. Почему Derby. Да именно потому что требуется что-то малое и, например, потому, что Sun включает ее в JDK SE6, чтобы не заморачиваться на инсталляции.

Здесь по-моему все, как в артиллерии на дредноутах - одно из кардинальных положений - только самый маленький калибр и самый большой.

Это сообщение отредактировал(а) mbasil - 24.9.2008, 09:00
PM MAIL   Вверх
jeank
Дата 24.9.2008, 11:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 26.6.2008
Где: Калининград

Репутация: нет
Всего: 1



Ну я выходил из ситуации пересаживания на другую, более мощную СУБД, исходя из принципов самого Sun - написано раз, вроде должно работать везде.
Применительно к базам данных - пишется класс DAO, где используется только стандартный sql, одинаково работающий на всех уважающих себя СУБД (без всяких там типа новшеств, например, у Mysql ключевое слово BETWEEN И Т.Д.).
Ну если не получается и sql запросы все же разные - не беда, пишем два класса для каждой СУБД свой, а работаем с этим через интерфейсный класс, переключаясь между DAO когда это надобно, но интерфейс надо заранее предусмотреть, что собственно, я и сделал.

Тогда вся проблема съезда базы с Derby на Oracle или Mysql в переносе данных таблиц, что можно тупо сделать копированием строчек из одной таблицы в другую с помощью того же JDBC.

Ну а по теме ))))))), я бы выбрал Derby - офигительно удобно, причем в документации по ней используется именно стандартный sql, да и документация по ней ну уж очень классная - читаешь как учебник по бд.
Ну а если надо пересесть на что либо другое, так все описал чуть выше - ведь не зря jdbc придумали - единый интерфейс для всех бд, зачем же ограничивать себя )).
PM MAIL WWW   Вверх
mbasil
Дата 24.9.2008, 12:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 399
Регистрация: 4.5.2007
Где: Москва

Репутация: 2
Всего: 13



Проблема перехода с одной базы данных в том виде, как ее трактует  jeank, проста только до определенного размера сложности и объема. Как правило она связана с изменением структуры базы, с переносом большого количества существующих данных в другую структуру при работающей ежедневно системе и при необходимости сделать это без напряжения для пользователей (что требует руководство организации). Возникают вопросы с разными генераторами первичных ключей, созданием ограничений, обеспечивающих целостность базы данных и т.д. и т.п.

Еще не так давно я пытался все писать сам с использованием JDBC. Но сегодня это подходит только для заведомо незначительных программ, работающих с базами данных. Когда требуется управление выполнением транзакций и объектно реляционное отображение более или менее сложной схемы, сегодня разработчик не будет сам писать DAO слой - он воспользуется JP API или Hibernate, или какой либо другой ORM системой. Это облегчит переход на другую базу, но не избавит от проблем.
Например в Derby, я не могу назвать столбец year, я обязательно должен заключать его в кавычки. В MS SQL Server имеется поле типа identity, для первичных ключей в Oracle надо использовать последовательности и т.д. и т.п.

Это сообщение отредактировал(а) mbasil - 24.9.2008, 12:13
PM MAIL   Вверх
jeank
Дата 24.9.2008, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 71
Регистрация: 26.6.2008
Где: Калининград

Репутация: нет
Всего: 1



Цитата

Проблема перехода с одной базы данных в том виде, как ее трактует  jeank, проста только до определенного размера сложности и объема.


Полностью согласен, но не думаю, что речь идет о столь сложном приложении )))).
А так, как говорится - совершенству нет предела и засунуть еще и JPA, а на этом не ограничиться  - "чей то у меня двухзвенка, моловато будет хочу тиер фри", но только повторюсь, мне кажется, что речь здесь о чем то попроще - ну и решение соответствующее )))
PM MAIL WWW   Вверх
nerezus
Дата 25.9.2008, 08:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Цитата

сам пробовал?
 Нет.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
gcc
Дата 25.9.2008, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: нет
Всего: 17



SQLite?

Это сообщение отредактировал(а) gcc - 25.9.2008, 14:44
PM WWW ICQ Skype GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0518 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.