Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Подскажите простую бд для GUI-приложения


Автор: CHEM_Eugene 17.2.2009, 13:45
Требуется в swing приложении использовать базу данных.
Подскажите простую базу, которую можно было бы скопировать на комп вместе с java-приложением, чтобы приложение сразу работало!
Нужно что-то типа sqlite. 

Автор: Skynin 17.2.2009, 14:01
HSQLDB, H2, Derby

Автор: Connie 17.2.2009, 15:06
а чем сама sqlite не подходит? smile

Автор: CHEM_Eugene 17.2.2009, 15:24
Цитата(Connie @  17.2.2009,  15:06 Найти цитируемый пост)
а чем сама sqlite не подходит?

дык может и подходит. Не знаю как прикрутить...  Подскажите как установить, пожалуйста!
Я с ней только на php работал.

Автор: Platon 17.2.2009, 19:30
Ответ даден ещё/уже во втором посте. 
Во-первых, поиск по форуму. В последнее время этот вопрос часто подымался.
Во-вторых, пользуйтесь Pure Java, т.е. 
Цитата(Skynin @  17.2.2009,  15:01 Найти цитируемый пост)
HSQLDB, H2, Derby 

Автор: kuaw26 17.2.2009, 20:25
h2 однозначно

Автор: Platon 18.2.2009, 09:07
kuaw26, поддерживаю. 
Использую в своем проекте, которым ежедневно пользуются уже более 300 человек. Нареканий пока нет.

Автор: CHEM_Eugene 18.2.2009, 09:16
Platon, хорошая у тебя программа. Я честно говоря тоже собираюсь сеошную прогу писать. В принципе похожую на твою, но решающую другие задачи. Если не трудно напиши, пожалуйста, как H2 использовать (можно в личку).

Автор: Platon 18.2.2009, 11:44
Начни от сюда http://www.h2database.com/ Ей пользоваться не сложнее чем любой другой СУБД через JDBC

Автор: CHEM_Eugene 18.2.2009, 12:11
Цитата(Platon @ 18.2.2009,  11:44)
Начни от сюда http://www.h2database.com/ Ей пользоваться не сложнее чем любой другой СУБД через JDBC

Ок, спасибо. Буду копать про JDBC, может понятнее станет.

Автор: javanew 18.2.2009, 13:12
Platon - можно спросить - какие размеры БД тянет H2 ? И все 300 человек работают одновременно? Производительность просаживаеться? Режим - embedded или server?

Уж очень интересно. И были ли сравнения с derby - кто в чем проиграл и выиграл?

Заранеее спасибо!

Автор: Kangaroo 18.2.2009, 15:18
Цитата(Platon @  18.2.2009,  09:07 Найти цитируемый пост)
Использую в своем проекте, которым ежедневно пользуются уже более 300 человек. Нареканий пока нет. 

У тебя же, вроде, была локальная база для каждого юзера. Или это другой проект?

Автор: Platon 18.2.2009, 17:12
Kangaroo, javanew, прошу прощения, ввел людей в заблуждение.
База локальная, у каждого пользователя своя.
Я имел ввиду, что сбоев в работе у этих трехсот человек еще не было.
На работе внедрил свою программу, импортировали двухгодичную историю. База занимает пока 30Мб дискового пространства и шевелится довольно лихо.

Добавлено через 8 минут и 26 секунд
javanew, изначально я взялся за Derby. Всё-таки люблю я Apache. Если уж он "лжет" (то бишь не тру), то кому верить?
К сожалению, я почувствовал тяжесть работы. И начал искать альтернативы, пришел к H2 как наиболее компактной, к тому же чистокровной Java. Быстродействие тоже порадовало, ощутимо быстрее по сравнению с Derby.

Автор: javanew 18.2.2009, 18:28
Блин придется самому тестить - надо СУБД в серверном режиме - клиентов не мало от 10 до 50, размер до 100-200 максимум , в основном несложные селекты, обновлений почти нет

Автор: Platon 18.2.2009, 18:40
javanew, да, к сожалению, конкурентную работу с h2 не проверял... Как будут какие-то результаты, сразу пишите, мне тоже интересно.

Автор: techmax 19.2.2009, 06:24
Derby вполне работоспособна при 50 пользователях и размерах под 2ГБ

Автор: javanew 19.2.2009, 08:11
techmax, 
Ну вот это уже серьезно !!!!! Как вообще скорость работы при пиковой нагрузке? Сильно ли отличается от не нагруженного сервера?
Каковы запросы - сложность выборки, сортировки, групировки, блокировки и т.д.? Как сильно просаживается производительность с ростом базы?

Заранее спасибо!

Автор: rimidal 19.2.2009, 10:04
Цитата

Блин придется самому тестить - надо СУБД в серверном режиме - клиентов не мало от 10 до 50, размер до 100-200 максимум , в основном несложные селекты, обновлений почти нет


А чем собственно MySQL не устраивает? Вполне хорошая СУБД.  Я бы даже сказал - отличная. 

Автор: cutwater 19.2.2009, 10:39
Если серверную бд брать а не встраиваимую, чем действительно не устраивает mysql или postgresql?

Автор: javanew 19.2.2009, 11:40
Да нет устраивает - но их возможностей более чем достаточно. Но если возможно решить путем 100% jСУБД то мне такое решение кажется более правильным. smile

Автор: Platon 19.2.2009, 11:56
javanew, заблуждаетесь. Если вы работаете с СУБД в режиме embedded, тогда понятно. Но вы же хотите организовать серверный вариант, поэтому не стоит ограничивать свой выбор только jСУБД.

Автор: math64 19.2.2009, 13:08
MySQL можно записать на флешку вместе java-программой (туде же можно записать jre) и пользоваться ей без установки. Но если на машине уже стоит mysql, его придётся останавливать.

Автор: javanew 19.2.2009, 16:18
Все! курю PostrgeSQL!

Автор: techmax 20.2.2009, 11:36
Бывало сильно просаживалась. И очень не любит вложенные запросы.
Были проблемы с удаление из таблицы  больше 1 000 000 записей.

Автор: skif18 25.2.2009, 18:31
Цитата(techmax @ 20.2.2009,  11:36)
Бывало сильно просаживалась. И очень не любит вложенные запросы.
Были проблемы с удаление из таблицы  больше 1 000 000 записей.

Это ты про PostgreSQL?

Автор: Connie 26.2.2009, 09:48
Цитата(CHEM_Eugene @ 17.2.2009,  15:24)
Цитата(Connie @  17.2.2009,  15:06 Найти цитируемый пост)
а чем сама sqlite не подходит?

дык может и подходит. Не знаю как прикрутить...  Подскажите как установить, пожалуйста!
Я с ней только на php работал.


http://www.zentus.com/sqlitejdbc/

так же использую в своем приложении именно в embedded режиме, пользуется достаточно много людей, но в единоличном доступе, нареканий нет. То есть можно на флешу кинуть и запускать там, где есть java smile 

Есть там по ссылке и чистый драйвер (pure) но он медленный, есть больший по размеру, но более быстрый, который и использую.

Автор: CHEM_Eugene 26.2.2009, 09:58
Цитата(Connie @  26.2.2009,  09:48 Найти цитируемый пост)
http://www.zentus.com/sqlitejdbc/

так же использую в своем приложении именно в embedded режиме, пользуется достаточно много людей, но в единоличном доступе, нареканий нет. То есть можно на флешу кинуть и запускать там, где есть java smile 

Есть там по ссылке и чистый драйвер (pure) но он медленный, есть больший по размеру, но более быстрый, который и использую.


Премного благодарен! Обязательно попробую, но сейчас разобрался с H2 и пока очень доволен  smile 

Автор: SoulKeeper 26.2.2009, 10:52
Цитата

SQLiteJDBC
SQLiteJDBC is a Java JDBC driver for SQLite. It runs using either a native code library 100% Pure Java driver based on NestedVM emulation.
Both the pure driver and the native binaries for Windows, Mac OS X, and Linux x86 have been combined into a single jar file.


Что-то слишком много плясок с бубном.

Автор: Connie 26.2.2009, 14:33
SoulKeeper, не знаю, я подключил jar библиотеку и создал коннект к базе и все. Все сложности для меня закончились.

Начинал освоение java со студенческого отдела кадров, там сразу использовал sqlite, 


Код

Class.forName("org.sqlite.JDBC");
      
      String url = "jdbc:sqlite:base.sqlite";

      con = DriverManager.getConnection(url);

вот и все подключение. Чего тут сложного? smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)