powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Выбор между SQLIte и FireBird
25 сообщений из 40, страница 1 из 2
Выбор между SQLIte и FireBird
    #38507296
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.

Помогите с выбором базы.

В базе будет около 120 таблиц.
Примерный объем данных поступивших базу за год, будет составлять 3-5 GB

Выдержат ли эти базы такой объем? Не будет ли потом каких то подводных камней?
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38507323
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни то, ни другое.

Потянуть то эти объемы эти базы потянут, но судя по самому вопросу, ты мало что знаешь об этих СУБД и значит будут очень большие проблемы в дальнейшем.
SQLite предназначена для embedded applictions. И требует хорошего знания С для успешной работы.
Firebird поделка Борлнадов и хороша только в связке с Дельфями.
В сумме эти СУБД из очень разных миров и выбирать между ними как между карьерным Камазом и болидом F1 для поездок за хлебом.

Для новичков с большими объемами лучше брать что-то типа Oracle или MS SQL - по ним учебников много. И спецов нанять проще.
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38507409
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про базы не знаю вообще ничего, вчера только сел читать про них.
Нужно именно эти, так как нету сервера у них, сервер будет писаться свой.
Работа с базой будет только происходить в режиме запись чтении, позже возможно какие-то плюшки допиляться, но на первоначальной долгой стадии этого хватает с головой.

Софт будет написан на Delphi, СИ шарп пока что знаю плохо, имеющихся знаний по шарпу, точно не хватит что-бы сделать вполне работающее приложение.

Курил по поводу SQLite, для Delphi есть куча компонентов (Да это Вы и без меня знаете),
когда начал искать инфу по SQLite, то столкнулся с такой ситуацией, что один автор говорит не больше 300 мб (дальше глюки),
а на сервисе сравнения БД, говориться 32 GB, это и ввело в ступор.

Поэтому все же прошу дать ответ, не обращая внимания на то, что софт будет написал в Delphi.
SQLite или FireBird?
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38507428
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот нашел сравнение FireBird мы SQLite] http://database-management-systems.findthebest.com/compare/13-53/Firebird-vs-SQLite
По сравнению понятно и совсем тупому, что FireBird по круче, всяких фишек больше.

Но опять же это первая моя база данных, раньше категорически не признавал их, в своих проектах использовал текстовые файлы. ))
Ближайший год, проект будет жить в Delphi, а дальше кто его знает.
SQL язык вроде везде одинаков, с малейшими изменениями.

И к ответу скажите, какого максимального размера может достигнуть та и другая база??
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38508413
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
crauseСофт будет написан на Delphi,Тогда либо Firebird, либо Oracle.
За дальнейшим иди в Дельфевый форум.

crauseКурил по поводу SQLite, для Delphi есть куча компонентов (Да это Вы и без меня знаете), Именно по этой причине SQLite это очень неподходящая база для Дельфей. Курить словарь на слово embedded до полного просветления. ... на просветление может понадобиться не один год к сожалению.

crauseкогда начал искать инфу по SQLite, то столкнулся с такой ситуацией, что один автор говорит не больше 300 мб (дальше глюки), а на сервисе сравнения БД, говориться 32 GB, это и ввело в ступор. Оба врут. Теоретически, SQLite может работать с террабайтами данных. На этом форуме есть люди имеющие на руках базы по две-три сотни гигабайт, но это исключение. А так как SQLite это embedded СУБД, то чаще всего ее базы не превышают нескольких мег. Просто по кругу решаемых задач...

crauseПоэтому все же прошу дать ответ, не обращая внимания на то, что софт будет написал в Delphi.
SQLite или FireBird?Если хочешь рвать на себе волосы в неудобных местах - выбирай базу независимо ни от чего. Но если хочешь писать на Дельфях - то Firebird это практически единственный вариант. Возможно использование Oracle, оно довольно неплохо представлено в Дельфях, но Дельфи это инструмент организованный вокруг идеи "компонентов". Так что выбор окружения для Дельфей очень ограничен.
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38508432
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White Owl, ощущение, что здесь соревнуются в бредовости заявлений))

тс, бери sqlite, она тупо проще и, пока каша в голове не уляжется, юзай ее. когда реально будет НЕ ХВАТАТЬ (это не тупо по размеру БД определяется, 32 гигабайта в которой можно ОЧЕНЬ разными по структуре данными набить) - перейдешь на Firebird тот же или еще что-то
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38508514
crause
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за ответы. Ждал целый день.

Главной будет пока SQLite и в процессе буду изучать FireBird, по окончанию выберу что то одно.
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38508569
wowow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
crause,
Типизация полей бд sqlite более свободная, там по сути числа, текст и блобы.
С firebird необходимо более четко определяться с типами полей бд.
С одной стороны это хорошо, с другой если необходимо по ходу решения задач
на лету менять типы данных для хранения это очень выручает.
Поэтому смотря для каких задач.
А так я за SQLite!
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38511718
Фотография PPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wowowcrause,
на лету менять типы данных для хранения это очень выручает.


Приведите реальный пример?
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38511719
Фотография PPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fd00chощущение, что здесь соревнуются в бредовости заявлений))
- перейдешь на Firebird тот же или еще что-то

Прозрачный прыжок в продуктиве с "sqlite на Firebird/или что-то еще" победил по уровню бреда - 100% :)
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38512323
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То, что некоторые этого не умеют, не делает прозрачные переходы между СУБД невозможными.
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38512576
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovТо, что некоторые этого не умеют, не делает прозрачные переходы между СУБД невозможными.ой, вот только не надо смущать молодежь.
Возможно это, но вот легко ли это будет, и будет ли этот переход экономически выгоден - это уже совершенно другой вопрос. Ответы на которые обычно: "нет" и "нет".

Прозрачные переходы возможны. Но для людей которые всерьез рассматривают "SQLite vs Firebird" - это практически нереально.
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38512592
fd00ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PPA,победил тот, кто в моем пред. посте увидел заявление о возможности сделатьPPAПрозрачный прыжок в продуктиве с "sqlite на Firebird/или что-то еще"
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38512776
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlcrauseСофт будет написан на Delphi,Тогда либо Firebird, либо Oracle.
Очень странное замечание. В Delphi поддерживается большой список СУБД. При чем как родными так и сторонними библиотеками. FireDAC поддерживает, в частности, SQLite. При этом поддержка SQLite возможно будет одна из наиболее полных по кол-ву фичей.
White OwlcrauseКурил по поводу SQLite, для Delphi есть куча компонентов (Да это Вы и без меня знаете), Именно по этой причине SQLite это очень неподходящая база для Дельфей. Курить словарь на слово embedded до полного просветления. ... на просветление может понадобиться не один год к сожалению.
И чем же плоха embedded DBMS для Delphi ? Прекрасно встраивается в Delphi приложение, и позволяет расширять ее функциями, коллейшинами, пользовательскими источниками данных. SQLite безтиповая система данных вполне дружится с Delphi TDataSet и т.д.

Короче говоря, проблем нет в связке SQLite и Delphi.
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38512777
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По поводу SQLite и Firebird:
- SQLite более простая, быстрая, "малопользовательская";
- Firebird более классическая СУБД, масштабируемая, многопользовательская.
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38512870
Фотография PPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
120 таблиц это достаточно большая модель
(если конечно на каждый простейший справочник типа - "1-мальчик, 2-девочка" не создана отдельная сущность)
Считаю что, подходить к выбору несущей СУБД нужно внимательней, а не только узнать сколько гигов влезет в ту или иную базу)
Но если в систему будет идти несколько конкурирующих писателей то sqlite лучше даже не рассматривать.
+ она не умеет размещать хранимый код в базе и не имеет нормальных инструментов для его отладки и сопровождения.

Если конечно всю бизнес логику разместить на клиенте - то на Delphi можно наговнокодить морду и прозрачно коннектиться к любой базульке, а потом героически искать почему нарушилась логическая целостность данных.

Но если вы выберите sqlite - продумайте о бэкапе.
база хранится в файлах и может рассыпаться (даже при работе в WAL-режиме)

у меня в программе идет одно-пользовательский доступ к sqlite базе (объемы 100m-1gb)
но иногда пользователи присылают сообщения о разрушении бд.

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

Примеры разрушенных баз

C:\!dc-db\db-sqlite-corrupt\db-bug-2>echo PRAGMA integrity_check; | sqlite3.exe FlylinkDC.sqlite
*** in database main ***
Page 4064: btreeInitPage() returns error code 11
Page 4062 is never used
Page 4063 is never used
Page 4065 is never used
Page 4066 is never used


C:\!dc-db\db-sqlite-corrupt\db-bug>echo PRAGMA integrity_check; | sqlite3.exe FlylinkDC.sqlite
*** in database main ***
On tree page 1590 cell 5: 2nd reference to page 39299
On tree page 1590 cell 5: Child page depth differs
On tree page 1590 cell 6: Child page depth differs
rowid 13426 missing from index iu_fly_last_ip_nick_hub
rowid 13465 missing from index iu_fly_last_ip_nick_hub
rowid 13583 missing from index iu_fly_last_ip_nick_hub
rowid 13628 missing from index iu_fly_last_ip_nick_hub
Error: near line 1: database disk image is malformed

По статистике собранной за 3 месяца у меня подобное разрушение возникло у 211 различных юзеров (рис 1)
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38513075
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PPA+ она не умеет размещать хранимый код в базе и не имеет нормальных инструментов для его отладки и сопровождения.
Постановка вопроса некорректная. Есть триггеры. Если их мало, то это встраиваемая СУБД и
все прочие расширения делаются на хост-языке. Можно создать функцию и вызывать ее из
триггера. Инструмент и отладчик - среда хост-языка.
PPAЕсли конечно всю бизнес логику разместить на клиенте - то на Delphi можно наговнокодить морду и прозрачно коннектиться к любой базульке, а потом героически искать почему нарушилась логическая целостность данных.
Тут все один большой "клиент" - СУБД встраиваемая. Хотя физически вся бизнес логика
будет в приложении, но дергаться она будет событийно самой СУБД, как и в больших СУБД.

Как выше White Owl писал:
White OwlКурить словарь на слово embedded до полного просветления. ... на просветление может понадобиться не один год к сожалению.
+1 к его словам, с уточнением, что проблем в связке embedded SQLite + Delphi нет.
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38513598
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry Arefiev,

Гы... И ты еще спрашиваешь почему я резко против использования SQLite с Дельфями?

Да потому что обе системы это "вещь в себе". Что встраиваемый SQLite, что компонентная Дельфи. Подружить их можно конечно, но для этого надо быть ЭКСПЕРТОМ в обоих системах. Ты знаешь в каком компоненте находится код движка СУБД? А если ты захочешь подправить парочку прагм в движке, ты это сделать в Дельфях сможешь? А если, не дай бог, понадобиться многопользовательский доступ, ты гарантируешь что все нужные прагмы будут включены у всех клиентов?
Дело-то не в том, что связку Delphi-SQLite сделать нельзя. Дело в количестве граблей на этом пути.
Большее количество граблей пожалуй только у связки с Visual Basic будет, из-за его любви к OLE. Но даже этот путь проходим. Но он граблист до усрачки... Но проходим...
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38513785
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
White OwlDmitry Arefiev,

Гы... И ты еще спрашиваешь почему я резко против использования SQLite с Дельфями?

Да потому что обе системы это "вещь в себе". Что встраиваемый SQLite, что компонентная Дельфи. Подружить их можно конечно, но для этого надо быть ЭКСПЕРТОМ в обоих системах. Ты знаешь в каком компоненте находится код движка СУБД? А если ты захочешь подправить парочку прагм в движке, ты это сделать в Дельфях сможешь? А если, не дай бог, понадобиться многопользовательский доступ, ты гарантируешь что все нужные прагмы будут включены у всех клиентов?
Дело-то не в том, что связку Delphi-SQLite сделать нельзя. Дело в количестве граблей на этом пути.

Вот Дима точно знает :D Для дельфи есть отличная поддержка эскулайт, и чтобы ею воспользоваться - отнюдь не надо быть экспертом, достаточно уметь немного читать документацию.

Все прочие утверждения тоже далеки от истины. Как будто внутреннее устройство любой другой СУБД можно изучить за час (кстати, а зачем?!). И "прагм в движке" не бывает, как упыря - прагмы это интерфейс конфигурирования и выполняются они точно так же, как обычные SQL запросы. Да, эти таинственные "нужные прагмы" при старте программы устанавливаются непосредственно приложением, вышеназванная проблема совершенно надуманная. В том и смысл, что эскулайт конфигурируется "на лету", не требуется иметь доступ к каким-то системным конфигам и проч.
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38513789
MBG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MBG
Гость
PPAНо если вы выберите sqlite - продумайте о бэкапе.
база хранится в файлах и может рассыпаться (даже при работе в WAL-режиме)

у меня в программе идет одно-пользовательский доступ к sqlite базе (объемы 100m-1gb)
но иногда пользователи присылают сообщения о разрушении бд.

...

По статистике собранной за 3 месяца у меня подобное разрушение возникло у 211 различных юзеров (рис 1)

Ну-ну. Эскулайт используется в миллиардах андроид и иос устройств, сотнях миллионах браузеров (все браузеры на основе вебкит), клиентах скайпа и дропбокс и много где еще. Как странно, что все эти миллиарды баз эскулайт исправно работают. Но, разумеется, в глюках вашего софта виноват эскулайт, юзеры, и всемирный заговор :)

P.S. Ваши сообщения об ошибках очень напоминают ситуацию с багом в коллэйшене, используемом в разрушенных индексах. Юзеры у вас, видимо, очень терпеливые, но лучше поправьте, пока не выгнали :)
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38513817
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBGВсе прочие утверждения тоже далеки от истины. Как будто внутреннее устройство любой другой СУБД можно изучить за час (кстати, а зачем?!). Я когда-то говорил что надо изучать внутреннее устройство за час? Ты какое-то не то между-строчие читаешь.
Я до вас пытаюсь донести простую мысль: Есть традиционные СУБД, есть встраиваемые. Первые описаны во всех учебниках и любой "SQL для идиотов" ориентируется в первую очередь на них. А вот "встриваемость" почти никогда и нигде не рассматривается.

MBGИ "прагм в движке" не бывает, как упыря - прагмы это интерфейс конфигурирования и выполняются они точно так же, как обычные SQL запросы. Да, эти таинственные "нужные прагмы" при старте программы устанавливаются непосредственно приложением, вышеназванная проблема совершенно надуманная.Правда? Надуманная? Тогда объясни каким образом у PPA база умирает так часто?
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38513840
Фотография PPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBGPPAНо если вы выберите sqlite - продумайте о бэкапе.
По статистике собранной за 3 месяца у меня подобное разрушение возникло у 211 различных юзеров (рис 1)

Ну-ну. Эскулайт используется в миллиардах андроид и иос устройств, сотнях миллионах браузеров (все браузеры на основе вебкит), клиентах скайпа и дропбокс и много где еще. Как странно, что все эти миллиарды баз эскулайт исправно работают. Но, разумеется, в глюках вашего софта виноват эскулайт, юзеры, и всемирный заговор :)

P.S. Ваши сообщения об ошибках очень напоминают ситуацию с багом в коллэйшене, используемом в разрушенных индексах. Юзеры у вас, видимо, очень терпеливые, но лучше поправьте, пока не выгнали :)

Откуда инфа, что все миллиарды базы работают исправно?
Я статистику стал собирать не так давно и собрана она только для 133443 инсталляций
из них всего 211 оказались с битыми базами.
из этой толпы пока только 2 технически подкованных человека прислали базы данных для анализа.
у меня на компе базы данных битой никогда не было.
но по отзывам, получаемым ранее как правило такое возникает в результате - "Синий экран или Чубайс без UPS".

Вы намекаете, что мой код работы с SQLite кривой и все проблемы из-за него.
возможно это так...
буду благодарен если найдете баг приводящий к разрушению базы - готов обсудить оплату за эту работу.
Код тут
http://code.google.com/p/flylinkdc/source/browse/trunk/client/CFlylinkDBManager.cpp

p.s.
По поводу непотопляемости баз данных это иллюзия
Если бы все было так хорошо, в базах данных не существовало бы команд вроде "PRAGMA integrity_check"

Набираем в гугле
sqlite repair - 560 тыс
sqlite corrupt skype - 1.76 лимона.

Вот даже на хабре есть дока с картинками и скриптами как достать данные из убитой sqlite базы скайпа
http://habrahabr.ru/post/160629/
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38513856
Фотография PPA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MBGP.S. Ваши сообщения об ошибках очень напоминают ситуацию с багом в коллэйшене, используемом в разрушенных индексах. Юзеры у вас, видимо, очень терпеливые, но лучше поправьте, пока не выгнали :)

Вот тут не понял... что за баг и как правится - у меня используется всегд самая последняя версия sqlite?
Хотел встроить в программу автоматический ремонт
вот по такому сценарию
echo PRAGMA integrity_check; | sqlite3.exe FlylinkDC.sqlite
sqlite3.exe FlylinkDC.sqlite .dump > FlylinkDC.sql
sqlite3.exe FlylinkDC-new.sqlite < FlylinkDC.sql

Но тут есть верятность, что не все данные восстановятся
а как это проверить я пока не придумал.
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38514022
Фотография Dmitry Arefiev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlЕсть традиционные СУБД, есть встраиваемые. Первые описаны во всех учебниках и любой "SQL для идиотов" ориентируется в первую очередь на них. А вот "встриваемость" почти никогда и нигде не рассматривается.
Я не думаю, что "SQL для идиотов" научит людей правильно использовать транзакции Firebird. Это реально не самая тривиальная вещь, тем паче для начинающих. Касательно встраиваемости SQLite - ее не нужно изучить во всех аспектах. Рядовым пользователям нужны фичи:
- пользовательские функции;
- пользовательские коллэйшены.
Остальное можно оставить за кадром. Думаю, Delphi программисту научиться использовать эти две фичи через высокоуровневые обертки, дело более простое, чем транзакции Firebird.
...
Рейтинг: 0 / 0
Выбор между SQLIte и FireBird
    #38514130
Winnipuh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
White OwlНи то, ни другое.

Потянуть то эти объемы эти базы потянут, но судя по самому вопросу, ты мало что знаешь об этих СУБД и значит будут очень большие проблемы в дальнейшем.
SQLite предназначена для embedded applictions. И требует хорошего знания С для успешной работы.
Firebird поделка Борлнадов и хороша только в связке с Дельфями.
В сумме эти СУБД из очень разных миров и выбирать между ними как между карьерным Камазом и болидом F1 для поездок за хлебом.

Для новичков с большими объемами лучше брать что-то типа Oracle или MS SQL - по ним учебников много. И спецов нанять проще.

совсем не требует. Можно писать, например, на .NET.
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / SQLite [игнор отключен] [закрыт для гостей] / Выбор между SQLIte и FireBird
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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