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

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


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

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

Потестировать логгирование в FireBird можете сами:
в ibexpert даже есть соответствующее меню Log Manager
...
Рейтинг: 0 / 0
Выбор компактной СУБД
    #34252507
A.V.Goncharyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Берите SQLITE 3-й
по всем параметрам подходит
...
Рейтинг: 0 / 0
Выбор компактной СУБД
    #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
Выбор компактной СУБД
    #34252687
Танцор Пасадобля
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SQLite думается далековато до FireBird.
Аргументы:
FireBird - полноценная СУБД.
SQLite - неполноценная.
...
Рейтинг: 0 / 0
Выбор компактной СУБД
    #34252781
DocAl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Танцор ПасадобляSQLite думается далековато до FireBird.
Аргументы:
FireBird - полноценная СУБД.
SQLite - неполноценная.Армяне лучше чем грузины! (с) Анекдот
...
Рейтинг: 0 / 0
Выбор компактной СУБД
    #34252857
Танцор Пасадобля
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DocAlАрмяне лучше чем грузины! (с) Анекдот

Каждому, конечно своё...
Я бы сказал: армянки лучше чем грузинки!
:)
...
Рейтинг: 0 / 0
Выбор компактной СУБД
    #34255675
A.V.Goncharyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая разница как SQLITE _хранит_ информацию... работает он коректно и со своей работой справляется отлично...
лучше всего возьмите и попробуйте, с ней разбиратся от сил пол часа...
а лучше попробуйте и один и другой вариант и потестируйте....
...
Рейтинг: 0 / 0
Выбор компактной СУБД
    #34255901
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A.V.Goncharykа лучше попробуйте и один и другой вариант и потестируйте ....
И как ж енто сделать? Только конкретно, без манной каши.
...
Рейтинг: 0 / 0
Выбор компактной СУБД
    #34255924
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
A.V.GoncharykКакая разница как SQLITE _хранит_ информацию... работает он коректно
Хммм... запись произвольного текста в числовое поле - сложно назвать корректной работой. И пусть сколько угодно говорят, что дескать "this is a feature, not a bug" :)
...
Рейтинг: 0 / 0
Выбор компактной СУБД
    #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
Выбор компактной СУБД
    #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
Выбор компактной СУБД
    #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
Выбор компактной СУБД
    #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
Выбор компактной СУБД
    #34277350
MaxDAG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По вопросу использования FireBird.
Насколько она отошла в части реализации алгоритмов поиска от InterBase 7.1 не знаю, но вот вам информация для размышления.
Писали что-то вроде системы принятия решения в ответ на реакцию АСУ. Были там и логи и статичные данные, но вот факт:
1. Начальный размер БД 1.7 Мб - работает быстро, все радуются;
2. Размер БД 97 Мб - производительность упала в 3 раза, уже волнуются;
3. Сейчас размер БД 150 Мб - производительность упала относительно 1 в 9 раз ...приплыли... аппаратная часть выдает ошибки из-за того, что ответ от БД приходит слишком поздно (8 секунд!!!), вот такие дела (и это при подключении 2-х(двух) клиентов).
Если это не критично, то можете использовать, а вот нам уже дали задание на доработку...курим...думаем...
...
Рейтинг: 0 / 0
Выбор компактной СУБД
    #34277408
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет, MaxDAG!
Ты пишешь:

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


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

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Выбор компактной СУБД
    #34277542
Фотография 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]