Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Выбор компактной СУБД  [new]
Alexey.Chaley
Member

Откуда:
Сообщений: 18
День добрый.
Меня интересует мнение уважаемой аудитории относительно выбора СУБД удовлетворяющей следующим требованиям:
- свободное использование в коммерческих продуктах
- минимальный размер
- возможность статической компиляции в собственное приложение
- наличие C++ библиотеки для работы;
- поддержка языка SQL (основной набор команд).
БД будет использоваться для хранения логов работы программы. Основные действия:
- запись в БД (вероятно, достаточно одного коннекта, то есть возможно блокирование на уровне файла);
- получение отчетов (группировки + поиск по временному интервалу).
Вероятно, в БД будет немного записей:
- 3-10 таблиц;
- в основном все таблицы справочного характера (не более 100-200 записей);
- одна основная таблица (10 000 - 100 000 записей).
Мои поиски показали, что есть варианты:
- FireBird Embedded;
- SQLite.
Сам пока склоняюсь в сторону FireBird Embedded, хотя пугает размер.

Что можете посоветовать для моей задачи?
Какие плюсы и минусы каждая СУБД имеет?
Возможно, кто-то имеет опыт разработки ПО, где логи хранились в СУБД. Было бы интересно узнать применяемые технологии и полученные результаты.
Спасибо.
11 янв 07, 20:55    [3629655]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
miksoft
Member

Откуда:
Сообщений: 38919
MySQL
11 янв 07, 21:25    [3629717]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Alexey.Chaley
Member

Откуда:
Сообщений: 18
miksoft

MySQL

Одним из требований, предъявляемых мною к СУБД является:
Alexey.Chaley

- свободное использование в коммерческих продуктах

К сожалению, mySQL не подходит по этому критерию
http://www.mysql.com/company/legal/licensing/

For Commercial OEMs, ISVs and VARs:
* For OEMs, ISVs, and VARs who distribute MySQL with their products, and do not license and distribute their source code under the GPL, MySQL provides a flexible OEM Commercial License.
12 янв 07, 01:19    [3630054]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
anjey
Member

Откуда: Прокопьевск
Сообщений: 933
DBF. однако
12 янв 07, 06:37    [3630198]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
RENaissance
Member

Откуда: Муром->Москва
Сообщений: 10895

Как вариант, MSSQL Compact Edition.


Posted via ActualForum NNTP Server 1.3

12 янв 07, 08:00    [3630289]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Танцор Пасадобля
Member

Откуда: S.PR
Сообщений: 240
FireBird
12 янв 07, 11:35    [3631435]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
Танцор Пасадобля
FireBird

Да он там уже...
12 янв 07, 13:14    [3632309]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Танцор Пасадобля
Member

Откуда: S.PR
Сообщений: 240
Di_LIne
Да он там уже...

От добра добра не ищут!
А логи в нем хранить - милое дело.
Сам чего-только там не храню. :)
12 янв 07, 13:47    [3632631]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Alexey.Chaley
Member

Откуда:
Сообщений: 18
Танцор Пасадобля

От добра добра не ищут!
А логи в нем хранить - милое дело.
Сам чего-только там не храню. :)

А какие отчеты Вы строили по логам (насколько сложные запросы)?
И какого объема логи?
12 янв 07, 14:06    [3632827]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Танцор Пасадобля
Member

Откуда: S.PR
Сообщений: 240
Alexey.Chaley
А какие отчеты Вы строили по логам (насколько сложные запросы)?
И какого объема логи?

Кто, когда, где, чего поменял.
В чем измеряется сложность запроса?

Потестировать логгирование в FireBird можете сами:
в ibexpert даже есть соответствующее меню Log Manager
12 янв 07, 15:56    [3633806]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
A.V.Goncharyk
Member

Откуда: Ternopil, Ukraine
Сообщений: 672
Берите SQLITE 3-й
по всем параметрам подходит
12 янв 07, 16:58    [3634222]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Alexey.Chaley
Member

Откуда:
Сообщений: 18
A.V.Goncharyk

Берите SQLITE 3-й
по всем параметрам подходит

Согласен, подходит.
Но пугает то, SQLite хранит и использует не типизированные данные. Я с ним не работал, но этот факт очень насторожил.

SQLite lets me insert a string into a database column of type integer!

This is a feature, not a bug. SQLite does not enforce data type constraints. Any data can be inserted into any column. You can put arbitrary length strings into integer columns, floating point numbers in boolean columns, or dates in character columns. The datatype you assign to a column in the CREATE TABLE command does not restrict what data can be put into that column. Every column is able to hold an arbitrary length string. (There is one exception: Columns of type INTEGER PRIMARY KEY may only hold a 64-bit signed integer. An error will result if you try to put anything other than an integer into an INTEGER PRIMARY KEY column.)

But SQLite does use the declared type of a column as a hint that you prefer values in that format. So, for example, if a column is of type INTEGER and you try to insert a string into that column, SQLite will attempt to convert the string into an integer. If it can, it inserts the integer instead. If not, it inserts the string. This feature is sometimes call type or column affinity.

Как этот факт влияет на работу СУБД?
В чем плюсы и минусы такого представления данных?
12 янв 07, 17:07    [3634276]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Танцор Пасадобля
Member

Откуда: S.PR
Сообщений: 240
SQLite думается далековато до FireBird.
Аргументы:
FireBird - полноценная СУБД.
SQLite - неполноценная.
12 янв 07, 18:04    [3634618]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
DocAl
Member

Откуда: Оккупирую западный берег
Сообщений: 10472
Танцор Пасадобля
SQLite думается далековато до FireBird.
Аргументы:
FireBird - полноценная СУБД.
SQLite - неполноценная.
Армяне лучше чем грузины! (с) Анекдот Картинка с другого сайта.
12 янв 07, 18:34    [3634770]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Танцор Пасадобля
Member

Откуда: S.PR
Сообщений: 240
DocAl
Армяне лучше чем грузины! (с) Анекдот Картинка с другого сайта.

Каждому, конечно своё...
Я бы сказал: армянки лучше чем грузинки!
:)
12 янв 07, 19:11    [3634945]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
A.V.Goncharyk
Member

Откуда: Ternopil, Ukraine
Сообщений: 672
Какая разница как SQLITE _хранит_ информацию... работает он коректно и со своей работой справляется отлично...
лучше всего возьмите и попробуйте, с ней разбиратся от сил пол часа...
а лучше попробуйте и один и другой вариант и потестируйте....
15 янв 07, 13:59    [3641730]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Di_LIne
Member

Откуда: Тропик Скорпиона
Сообщений: 32554
A.V.Goncharyk
а лучше попробуйте и один и другой вариант и потестируйте....

И как ж енто сделать? Только конкретно, без манной каши.
15 янв 07, 14:51    [3642237]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
ЛП
Guest
A.V.Goncharyk
Какая разница как SQLITE _хранит_ информацию... работает он коректно

Хммм... запись произвольного текста в числовое поле - сложно назвать корректной работой. И пусть сколько угодно говорят, что дескать "this is a feature, not a bug" :)
15 янв 07, 14:58    [3642311]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Серж
Member

Откуда:
Сообщений: 756
ЛП
Хммм... запись произвольного текста в числовое поле - сложно назвать корректной работой.


Дезинформация... она хранит данные в зависимости от их типа. Базовых типов -- целое, вещественное, строка, блоб.

Alexey.Chaley
День добрый.
Меня интересует мнение уважаемой аудитории относительно выбора СУБД удовлетворяющей следующим требованиям:...


SQLite. Лимит на одну запись -- 1 мег. В 2.х версии точно, сейчас может поменялось. Можно перекомпилить под любой размер записи. Но мега для логов хватает.

Логи хранить в ней нормально с одним но... Это все ж таки встраиваемая субд, не рассчитанная на сколько-нибудь большие объемы.

На второй версии делал протенькую программку для обсчета логов ВинРоута -- чего куда сколько и почему накачал... База была мег 300, запросы вида

select user_name, sum(bytes)
from log
where date between ...
group by user_name
order by date desc

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

Вообще я sqlite плотно работал(ю) -- приятная вещь для своих задач. По всем вашим требованиям она подходит идеально.

Поэтому мой совет -- скачать, посмотреть. Создать БД, написать скрипт генерации данных, наполнить базу до максимального расчетного размера. Погонять запросы. Покрутить параметры -- sync, cache...

P.S. Аккуратно с обертками и тулзами для администрирования -- некоторые из них являются криворукими поделками. Реальный пример -- обертка с++ (или делфи) fetch выполняла в разы дольше, чем должно быть. Можно сделать неверный вывод о производительности...
16 янв 07, 09:48    [3645931]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
A.V.Goncharyk
Member

Откуда: Ternopil, Ukraine
Сообщений: 672
Об оптимизации запросов в sqlite
http://www.sqlite.org/optoverview.html
вики
http://www.sqlite.org/cvstrac/wiki
Модуль полнотекстного поиска
http://ft3.sourceforge.net/
русское вики
http://www.freesource.info/wiki/SQLite
ещё интересно http://sqlitedbms.sourceforge.net/index.htm
16 янв 07, 10:53    [3646427]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Dmitriy Ivanov
Member

Откуда: Moscow
Сообщений: 68

Hello Серж,

С> SQLite. Лимит на одну запись -- 1 мег. В 2.х версии точно, сейчас
С> может поменялось. Можно перекомпилить под любой размер записи. Но
С> мега для логов хватает.
С>
С> Логи хранить в ней нормально с одним но... Это все ж таки
С> встраиваемая субд, не рассчитанная на сколько-нибудь большие объемы.
С>
С> На второй версии делал протенькую программку для обсчета логов
С> ВинРоута -- чего куда сколько и почему накачал... База была мег 300,
С> запросы вида
C>|...snip...|

Сам использовал SQLite базы до 200 МБ. Но без русского языка. А как там с
поддержкой русского collation? Судя по документации, в реализованно только
бинарное сравнение и нечувствительное к регистру для латиницы.

К существенным проблемам можно отнести выполнение нескольких предложений
(statements) в рамках одного соединения (connection) в разных потоках
(threads). Приводит к ошибке "library routine called out of sequence" или
повреждениям в базе. Возможный обход - использование, например, thread-safe
ODBC драйвера - см. http://www.ch-werner.de/sqliteodbc/


Posted via ActualForum NNTP Server 1.3

16 янв 07, 13:47    [3648203]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Серж
Member

Откуда:
Сообщений: 756
Dmitriy Ivanov

Сам использовал SQLite базы до 200 МБ. Но без русского языка. А как там с
поддержкой русского collation? Судя по документации, в реализованно только
бинарное сравнение и нечувствительное к регистру для латиницы.

К существенным проблемам можно отнести выполнение нескольких предложений
(statements) в рамках одного соединения (connection) в разных потоках
(threads). Приводит к ошибке "library routine called out of sequence" или
повреждениям в базе. Возможный обход - использование, например, thread-safe
ODBC драйвера - см. http://www.ch-werner.de/sqliteodbc/


В 3-ке с русским нормально, есть там коллайшины, вернее callback функции. На вход этой функции две строки, на выходе ты должен дать ответ -- какая из них больше. Ясное дело вызываешь внутри AnsiCompareStr и все дела...

Про проблему с потоками не слыхал... она заявлена как потокобезопасная. Скорее всего проблема не sqlite, а на другой стороне ;) У меня крутится в разных потоках все подряд -- от select до pragma...
Ни разу не видел такой ошибки.

Был бы АДОшный драйвер, было бы супер.
16 янв 07, 17:54    [3650272]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
MaxDAG
Member

Откуда:
Сообщений: 16
По вопросу использования FireBird.
Насколько она отошла в части реализации алгоритмов поиска от InterBase 7.1 не знаю, но вот вам информация для размышления.
Писали что-то вроде системы принятия решения в ответ на реакцию АСУ. Были там и логи и статичные данные, но вот факт:
1. Начальный размер БД 1.7 Мб - работает быстро, все радуются;
2. Размер БД 97 Мб - производительность упала в 3 раза, уже волнуются;
3. Сейчас размер БД 150 Мб - производительность упала относительно 1 в 9 раз ...приплыли... аппаратная часть выдает ошибки из-за того, что ответ от БД приходит слишком поздно (8 секунд!!!), вот такие дела (и это при подключении 2-х(двух) клиентов).
Если это не критично, то можете использовать, а вот нам уже дали задание на доработку...курим...думаем...
24 янв 07, 09:56    [3684810]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
Мимопроходящий
Member

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

Привет, MaxDAG!
Ты пишешь:

MaxDAG
M> Насколько она отошла в части реализации алгоритмов поиска от InterBase 7.1
какие такие алгоритмы?..
MaxDAG
M> Если это не критично, то можете использовать, а вот нам уже дали задание на
M> доработку...курим...думаем...
тряпки жжем, смеёмся... (С)


--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.3

24 янв 07, 10:08    [3684907]     Ответить | Цитировать Сообщить модератору
 Re: Выбор компактной СУБД  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30253
автор
2. Размер БД 97 Мб - производительность упала в 3 раза, уже волнуются;
3. Сейчас размер БД 150 Мб - производительность упала относительно 1 в 9 раз ...приплыли... аппаратная часть выдает ошибки из-за того, что ответ от БД приходит слишком поздно (8 секунд!!!), вот такие дела (и это при подключении 2-х(двух) клиентов).

честное слово, и смешно и грустно. Вы и Оракл точно так же загнете, я точно говорю.
150 мегабайт - это совершенно несерьезный размер. Если бы Вы сказали что у Вас Firebird на 10 гиг базе тормозит, то еще можно было бы посоветовать как-то настройки подкрутить.

Здесь же в форуме по IB/FB однажды был топик, где человеку досталась софтина, которая умудрялась давать такие запросы к 100мб базе, что серверу приходилось генерить 1гб временный файл. Совет был понятно какой - стереть софтину и забыть про нее.

И вообще. Если у Вас происходит подобный затык при начальном использовании сервера, то это значит Вы что-то совершенно однозначно делаете НЕ ТАК. По Вашему примеру - настолько не так, что случаи появления подобных тормозов ЕДИНИЧНЫ, и определяются не сервером, а именно тем, как начинающий разработчик над ним измывается. Здесь просто надо обратиться с вопросом сюда, на форум ibase.ru или в support ibase.ru, а не забивать, а потом выкладывать вот такие "факты" направо и налево. Потому что любой человек, у которого с IB/FB все нормально, просто забракует подобное выступление, так же как это только что сделал я.
24 янв 07, 10:39    [3685201]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить