Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор компактной СУБД / 25 сообщений из 26, страница 1 из 2
11.01.2007, 20:55
    #34250136
Alexey.Chaley
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
День добрый.
Меня интересует мнение уважаемой аудитории относительно выбора СУБД удовлетворяющей следующим требованиям:
- свободное использование в коммерческих продуктах
- минимальный размер
- возможность статической компиляции в собственное приложение
- наличие C++ библиотеки для работы;
- поддержка языка SQL (основной набор команд).
БД будет использоваться для хранения логов работы программы. Основные действия:
- запись в БД (вероятно, достаточно одного коннекта, то есть возможно блокирование на уровне файла);
- получение отчетов (группировки + поиск по временному интервалу).
Вероятно, в БД будет немного записей:
- 3-10 таблиц;
- в основном все таблицы справочного характера (не более 100-200 записей);
- одна основная таблица (10 000 - 100 000 записей).
Мои поиски показали, что есть варианты:
- FireBird Embedded;
- SQLite.
Сам пока склоняюсь в сторону FireBird Embedded, хотя пугает размер.

Что можете посоветовать для моей задачи?
Какие плюсы и минусы каждая СУБД имеет?
Возможно, кто-то имеет опыт разработки ПО, где логи хранились в СУБД. Было бы интересно узнать применяемые технологии и полученные результаты.
Спасибо.
...
Рейтинг: 0 / 0
11.01.2007, 21:25
    #34250177
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
MySQL
...
Рейтинг: 0 / 0
12.01.2007, 01:19
    #34250361
Alexey.Chaley
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
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.
...
Рейтинг: 0 / 0
12.01.2007, 06:37
    #34250455
anjey
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
DBF. однако
...
Рейтинг: 0 / 0
12.01.2007, 08:00
    #34250512
RENaissance
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
Как вариант, MSSQL Compact Edition.


Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
12.01.2007, 11:35
    #34251054
Танцор Пасадобля
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
FireBird
...
Рейтинг: 0 / 0
12.01.2007, 13:14
    #34251472
Di_LIne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
Танцор ПасадобляFireBird
Да он там уже...
...
Рейтинг: 0 / 0
12.01.2007, 13:47
    #34251617
Танцор Пасадобля
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
Di_LIne Да он там уже...
От добра добра не ищут!
А логи в нем хранить - милое дело.
Сам чего-только там не храню. :)
...
Рейтинг: 0 / 0
12.01.2007, 14:06
    #34251713
Alexey.Chaley
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
Танцор Пасадобля
От добра добра не ищут!
А логи в нем хранить - милое дело.
Сам чего-только там не храню. :)

А какие отчеты Вы строили по логам (насколько сложные запросы)?
И какого объема логи?
...
Рейтинг: 0 / 0
12.01.2007, 15:56
    #34252267
Танцор Пасадобля
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
Alexey.ChaleyА какие отчеты Вы строили по логам (насколько сложные запросы)?
И какого объема логи?
Кто, когда, где, чего поменял.
В чем измеряется сложность запроса?

Потестировать логгирование в FireBird можете сами:
в ibexpert даже есть соответствующее меню Log Manager
...
Рейтинг: 0 / 0
12.01.2007, 16:58
    #34252507
A.V.Goncharyk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
Берите SQLITE 3-й
по всем параметрам подходит
...
Рейтинг: 0 / 0
12.01.2007, 17:07
    #34252538
Alexey.Chaley
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
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.

Как этот факт влияет на работу СУБД?
В чем плюсы и минусы такого представления данных?
...
Рейтинг: 0 / 0
12.01.2007, 18:04
    #34252687
Танцор Пасадобля
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
SQLite думается далековато до FireBird.
Аргументы:
FireBird - полноценная СУБД.
SQLite - неполноценная.
...
Рейтинг: 0 / 0
12.01.2007, 18:34
    #34252781
DocAl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
Танцор ПасадобляSQLite думается далековато до FireBird.
Аргументы:
FireBird - полноценная СУБД.
SQLite - неполноценная.Армяне лучше чем грузины! (с) Анекдот
...
Рейтинг: 0 / 0
12.01.2007, 19:11
    #34252857
Танцор Пасадобля
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
DocAlАрмяне лучше чем грузины! (с) Анекдот

Каждому, конечно своё...
Я бы сказал: армянки лучше чем грузинки!
:)
...
Рейтинг: 0 / 0
15.01.2007, 13:59
    #34255675
A.V.Goncharyk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
Какая разница как SQLITE _хранит_ информацию... работает он коректно и со своей работой справляется отлично...
лучше всего возьмите и попробуйте, с ней разбиратся от сил пол часа...
а лучше попробуйте и один и другой вариант и потестируйте....
...
Рейтинг: 0 / 0
15.01.2007, 14:51
    #34255901
Di_LIne
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
A.V.Goncharykа лучше попробуйте и один и другой вариант и потестируйте ....
И как ж енто сделать? Только конкретно, без манной каши.
...
Рейтинг: 0 / 0
15.01.2007, 14:58
    #34255924
ЛП
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
A.V.GoncharykКакая разница как SQLITE _хранит_ информацию... работает он коректно
Хммм... запись произвольного текста в числовое поле - сложно назвать корректной работой. И пусть сколько угодно говорят, что дескать "this is a feature, not a bug" :)
...
Рейтинг: 0 / 0
16.01.2007, 09:48
    #34257595
Серж
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
ЛПХммм... запись произвольного текста в числовое поле - сложно назвать корректной работой.

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

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


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

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

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

Код: plaintext
1.
2.
3.
4.
select user_name, sum(bytes)
from log
where date between ...
group by user_name
order by date desc

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

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

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

P.S. Аккуратно с обертками и тулзами для администрирования -- некоторые из них являются криворукими поделками. Реальный пример -- обертка с++ (или делфи) fetch выполняла в разы дольше, чем должно быть. Можно сделать неверный вывод о производительности...
...
Рейтинг: 0 / 0
16.01.2007, 10:53
    #34257824
A.V.Goncharyk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
Об оптимизации запросов в 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
...
Рейтинг: 0 / 0
16.01.2007, 13:47
    #34258682
Dmitriy Ivanov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
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
...
Рейтинг: 0 / 0
16.01.2007, 17:54
    #34259628
Серж
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
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...
Ни разу не видел такой ошибки.

Был бы АДОшный драйвер, было бы супер.
...
Рейтинг: 0 / 0
24.01.2007, 09:56
    #34277350
MaxDAG
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
По вопросу использования FireBird.
Насколько она отошла в части реализации алгоритмов поиска от InterBase 7.1 не знаю, но вот вам информация для размышления.
Писали что-то вроде системы принятия решения в ответ на реакцию АСУ. Были там и логи и статичные данные, но вот факт:
1. Начальный размер БД 1.7 Мб - работает быстро, все радуются;
2. Размер БД 97 Мб - производительность упала в 3 раза, уже волнуются;
3. Сейчас размер БД 150 Мб - производительность упала относительно 1 в 9 раз ...приплыли... аппаратная часть выдает ошибки из-за того, что ответ от БД приходит слишком поздно (8 секунд!!!), вот такие дела (и это при подключении 2-х(двух) клиентов).
Если это не критично, то можете использовать, а вот нам уже дали задание на доработку...курим...думаем...
...
Рейтинг: 0 / 0
24.01.2007, 10:08
    #34277408
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
Привет, MaxDAG!
Ты пишешь:

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


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

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
24.01.2007, 10:39
    #34277542
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выбор компактной СУБД
автор2. Размер БД 97 Мб - производительность упала в 3 раза, уже волнуются;
3. Сейчас размер БД 150 Мб - производительность упала относительно 1 в 9 раз ...приплыли... аппаратная часть выдает ошибки из-за того, что ответ от БД приходит слишком поздно (8 секунд!!!), вот такие дела (и это при подключении 2-х(двух) клиентов).
честное слово, и смешно и грустно. Вы и Оракл точно так же загнете, я точно говорю.
150 мегабайт - это совершенно несерьезный размер. Если бы Вы сказали что у Вас Firebird на 10 гиг базе тормозит, то еще можно было бы посоветовать как-то настройки подкрутить.

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

И вообще. Если у Вас происходит подобный затык при начальном использовании сервера, то это значит Вы что-то совершенно однозначно делаете НЕ ТАК. По Вашему примеру - настолько не так, что случаи появления подобных тормозов ЕДИНИЧНЫ, и определяются не сервером, а именно тем, как начинающий разработчик над ним измывается. Здесь просто надо обратиться с вопросом сюда, на форум ibase.ru или в support ibase.ru, а не забивать, а потом выкладывать вот такие "факты" направо и налево. Потому что любой человек, у которого с IB/FB все нормально, просто забракует подобное выступление, так же как это только что сделал я.
...
Рейтинг: 0 / 0
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Выбор компактной СУБД / 25 сообщений из 26, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]