|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
Добрый день. Помогите с выбором базы. В базе будет около 120 таблиц. Примерный объем данных поступивших базу за год, будет составлять 3-5 GB Выдержат ли эти базы такой объем? Не будет ли потом каких то подводных камней? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 01:58 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
Ни то, ни другое. Потянуть то эти объемы эти базы потянут, но судя по самому вопросу, ты мало что знаешь об этих СУБД и значит будут очень большие проблемы в дальнейшем. SQLite предназначена для embedded applictions. И требует хорошего знания С для успешной работы. Firebird поделка Борлнадов и хороша только в связке с Дельфями. В сумме эти СУБД из очень разных миров и выбирать между ними как между карьерным Камазом и болидом F1 для поездок за хлебом. Для новичков с большими объемами лучше брать что-то типа Oracle или MS SQL - по ним учебников много. И спецов нанять проще. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 04:08 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
Про базы не знаю вообще ничего, вчера только сел читать про них. Нужно именно эти, так как нету сервера у них, сервер будет писаться свой. Работа с базой будет только происходить в режиме запись чтении, позже возможно какие-то плюшки допиляться, но на первоначальной долгой стадии этого хватает с головой. Софт будет написан на Delphi, СИ шарп пока что знаю плохо, имеющихся знаний по шарпу, точно не хватит что-бы сделать вполне работающее приложение. Курил по поводу SQLite, для Delphi есть куча компонентов (Да это Вы и без меня знаете), когда начал искать инфу по SQLite, то столкнулся с такой ситуацией, что один автор говорит не больше 300 мб (дальше глюки), а на сервисе сравнения БД, говориться 32 GB, это и ввело в ступор. Поэтому все же прошу дать ответ, не обращая внимания на то, что софт будет написал в Delphi. SQLite или FireBird? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 08:38 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
Вот нашел сравнение FireBird мы SQLite] http://database-management-systems.findthebest.com/compare/13-53/Firebird-vs-SQLite По сравнению понятно и совсем тупому, что FireBird по круче, всяких фишек больше. Но опять же это первая моя база данных, раньше категорически не признавал их, в своих проектах использовал текстовые файлы. )) Ближайший год, проект будет жить в Delphi, а дальше кто его знает. SQL язык вроде везде одинаков, с малейшими изменениями. И к ответу скажите, какого максимального размера может достигнуть та и другая база?? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 09:04 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
crauseСофт будет написан на Delphi,Тогда либо Firebird, либо Oracle. За дальнейшим иди в Дельфевый форум. crauseКурил по поводу SQLite, для Delphi есть куча компонентов (Да это Вы и без меня знаете), Именно по этой причине SQLite это очень неподходящая база для Дельфей. Курить словарь на слово embedded до полного просветления. ... на просветление может понадобиться не один год к сожалению. crauseкогда начал искать инфу по SQLite, то столкнулся с такой ситуацией, что один автор говорит не больше 300 мб (дальше глюки), а на сервисе сравнения БД, говориться 32 GB, это и ввело в ступор. Оба врут. Теоретически, SQLite может работать с террабайтами данных. На этом форуме есть люди имеющие на руках базы по две-три сотни гигабайт, но это исключение. А так как SQLite это embedded СУБД, то чаще всего ее базы не превышают нескольких мег. Просто по кругу решаемых задач... crauseПоэтому все же прошу дать ответ, не обращая внимания на то, что софт будет написал в Delphi. SQLite или FireBird?Если хочешь рвать на себе волосы в неудобных местах - выбирай базу независимо ни от чего. Но если хочешь писать на Дельфях - то Firebird это практически единственный вариант. Возможно использование Oracle, оно довольно неплохо представлено в Дельфях, но Дельфи это инструмент организованный вокруг идеи "компонентов". Так что выбор окружения для Дельфей очень ограничен. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 19:32 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
White Owl, ощущение, что здесь соревнуются в бредовости заявлений)) тс, бери sqlite, она тупо проще и, пока каша в голове не уляжется, юзай ее. когда реально будет НЕ ХВАТАТЬ (это не тупо по размеру БД определяется, 32 гигабайта в которой можно ОЧЕНЬ разными по структуре данными набить) - перейдешь на Firebird тот же или еще что-то ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 19:48 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
Спасибо за ответы. Ждал целый день. Главной будет пока SQLite и в процессе буду изучать FireBird, по окончанию выберу что то одно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 22:16 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
crause, Типизация полей бд sqlite более свободная, там по сути числа, текст и блобы. С firebird необходимо более четко определяться с типами полей бд. С одной стороны это хорошо, с другой если необходимо по ходу решения задач на лету менять типы данных для хранения это очень выручает. Поэтому смотря для каких задач. А так я за SQLite! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2013, 23:43 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
wowowcrause, на лету менять типы данных для хранения это очень выручает. Приведите реальный пример? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2013, 08:10 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
fd00chощущение, что здесь соревнуются в бредовости заявлений)) - перейдешь на Firebird тот же или еще что-то Прозрачный прыжок в продуктиве с "sqlite на Firebird/или что-то еще" победил по уровню бреда - 100% :) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2013, 08:14 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
То, что некоторые этого не умеют, не делает прозрачные переходы между СУБД невозможными. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2013, 16:36 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovТо, что некоторые этого не умеют, не делает прозрачные переходы между СУБД невозможными.ой, вот только не надо смущать молодежь. Возможно это, но вот легко ли это будет, и будет ли этот переход экономически выгоден - это уже совершенно другой вопрос. Ответы на которые обычно: "нет" и "нет". Прозрачные переходы возможны. Но для людей которые всерьез рассматривают "SQLite vs Firebird" - это практически нереально. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2013, 22:09 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
PPA,победил тот, кто в моем пред. посте увидел заявление о возможности сделатьPPAПрозрачный прыжок в продуктиве с "sqlite на Firebird/или что-то еще" ... |
|||
:
Нравится:
Не нравится:
|
|||
25.12.2013, 22:36 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
White OwlcrauseСофт будет написан на Delphi,Тогда либо Firebird, либо Oracle. Очень странное замечание. В Delphi поддерживается большой список СУБД. При чем как родными так и сторонними библиотеками. FireDAC поддерживает, в частности, SQLite. При этом поддержка SQLite возможно будет одна из наиболее полных по кол-ву фичей. White OwlcrauseКурил по поводу SQLite, для Delphi есть куча компонентов (Да это Вы и без меня знаете), Именно по этой причине SQLite это очень неподходящая база для Дельфей. Курить словарь на слово embedded до полного просветления. ... на просветление может понадобиться не один год к сожалению. И чем же плоха embedded DBMS для Delphi ? Прекрасно встраивается в Delphi приложение, и позволяет расширять ее функциями, коллейшинами, пользовательскими источниками данных. SQLite безтиповая система данных вполне дружится с Delphi TDataSet и т.д. Короче говоря, проблем нет в связке SQLite и Delphi. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2013, 08:45 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
По поводу SQLite и Firebird: - SQLite более простая, быстрая, "малопользовательская"; - Firebird более классическая СУБД, масштабируемая, многопользовательская. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2013, 08:49 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
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) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2013, 11:05 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
PPA+ она не умеет размещать хранимый код в базе и не имеет нормальных инструментов для его отладки и сопровождения. Постановка вопроса некорректная. Есть триггеры. Если их мало, то это встраиваемая СУБД и все прочие расширения делаются на хост-языке. Можно создать функцию и вызывать ее из триггера. Инструмент и отладчик - среда хост-языка. PPAЕсли конечно всю бизнес логику разместить на клиенте - то на Delphi можно наговнокодить морду и прозрачно коннектиться к любой базульке, а потом героически искать почему нарушилась логическая целостность данных. Тут все один большой "клиент" - СУБД встраиваемая. Хотя физически вся бизнес логика будет в приложении, но дергаться она будет событийно самой СУБД, как и в больших СУБД. Как выше White Owl писал: White OwlКурить словарь на слово embedded до полного просветления. ... на просветление может понадобиться не один год к сожалению. +1 к его словам, с уточнением, что проблем в связке embedded SQLite + Delphi нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2013, 13:40 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
Dmitry Arefiev, Гы... И ты еще спрашиваешь почему я резко против использования SQLite с Дельфями? Да потому что обе системы это "вещь в себе". Что встраиваемый SQLite, что компонентная Дельфи. Подружить их можно конечно, но для этого надо быть ЭКСПЕРТОМ в обоих системах. Ты знаешь в каком компоненте находится код движка СУБД? А если ты захочешь подправить парочку прагм в движке, ты это сделать в Дельфях сможешь? А если, не дай бог, понадобиться многопользовательский доступ, ты гарантируешь что все нужные прагмы будут включены у всех клиентов? Дело-то не в том, что связку Delphi-SQLite сделать нельзя. Дело в количестве граблей на этом пути. Большее количество граблей пожалуй только у связки с Visual Basic будет, из-за его любви к OLE. Но даже этот путь проходим. Но он граблист до усрачки... Но проходим... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2013, 20:59 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
White OwlDmitry Arefiev, Гы... И ты еще спрашиваешь почему я резко против использования SQLite с Дельфями? Да потому что обе системы это "вещь в себе". Что встраиваемый SQLite, что компонентная Дельфи. Подружить их можно конечно, но для этого надо быть ЭКСПЕРТОМ в обоих системах. Ты знаешь в каком компоненте находится код движка СУБД? А если ты захочешь подправить парочку прагм в движке, ты это сделать в Дельфях сможешь? А если, не дай бог, понадобиться многопользовательский доступ, ты гарантируешь что все нужные прагмы будут включены у всех клиентов? Дело-то не в том, что связку Delphi-SQLite сделать нельзя. Дело в количестве граблей на этом пути. Вот Дима точно знает :D Для дельфи есть отличная поддержка эскулайт, и чтобы ею воспользоваться - отнюдь не надо быть экспертом, достаточно уметь немного читать документацию. Все прочие утверждения тоже далеки от истины. Как будто внутреннее устройство любой другой СУБД можно изучить за час (кстати, а зачем?!). И "прагм в движке" не бывает, как упыря - прагмы это интерфейс конфигурирования и выполняются они точно так же, как обычные SQL запросы. Да, эти таинственные "нужные прагмы" при старте программы устанавливаются непосредственно приложением, вышеназванная проблема совершенно надуманная. В том и смысл, что эскулайт конфигурируется "на лету", не требуется иметь доступ к каким-то системным конфигам и проч. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 03:20 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
PPAНо если вы выберите sqlite - продумайте о бэкапе. база хранится в файлах и может рассыпаться (даже при работе в WAL-режиме) у меня в программе идет одно-пользовательский доступ к sqlite базе (объемы 100m-1gb) но иногда пользователи присылают сообщения о разрушении бд. ... По статистике собранной за 3 месяца у меня подобное разрушение возникло у 211 различных юзеров (рис 1) Ну-ну. Эскулайт используется в миллиардах андроид и иос устройств, сотнях миллионах браузеров (все браузеры на основе вебкит), клиентах скайпа и дропбокс и много где еще. Как странно, что все эти миллиарды баз эскулайт исправно работают. Но, разумеется, в глюках вашего софта виноват эскулайт, юзеры, и всемирный заговор :) P.S. Ваши сообщения об ошибках очень напоминают ситуацию с багом в коллэйшене, используемом в разрушенных индексах. Юзеры у вас, видимо, очень терпеливые, но лучше поправьте, пока не выгнали :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 03:30 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
MBGВсе прочие утверждения тоже далеки от истины. Как будто внутреннее устройство любой другой СУБД можно изучить за час (кстати, а зачем?!). Я когда-то говорил что надо изучать внутреннее устройство за час? Ты какое-то не то между-строчие читаешь. Я до вас пытаюсь донести простую мысль: Есть традиционные СУБД, есть встраиваемые. Первые описаны во всех учебниках и любой "SQL для идиотов" ориентируется в первую очередь на них. А вот "встриваемость" почти никогда и нигде не рассматривается. MBGИ "прагм в движке" не бывает, как упыря - прагмы это интерфейс конфигурирования и выполняются они точно так же, как обычные SQL запросы. Да, эти таинственные "нужные прагмы" при старте программы устанавливаются непосредственно приложением, вышеназванная проблема совершенно надуманная.Правда? Надуманная? Тогда объясни каким образом у PPA база умирает так часто? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 07:48 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
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/ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 08:40 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
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 Но тут есть верятность, что не все данные восстановятся а как это проверить я пока не придумал. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 08:59 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
White OwlЕсть традиционные СУБД, есть встраиваемые. Первые описаны во всех учебниках и любой "SQL для идиотов" ориентируется в первую очередь на них. А вот "встриваемость" почти никогда и нигде не рассматривается. Я не думаю, что "SQL для идиотов" научит людей правильно использовать транзакции Firebird. Это реально не самая тривиальная вещь, тем паче для начинающих. Касательно встраиваемости SQLite - ее не нужно изучить во всех аспектах. Рядовым пользователям нужны фичи: - пользовательские функции; - пользовательские коллэйшены. Остальное можно оставить за кадром. Думаю, Delphi программисту научиться использовать эти две фичи через высокоуровневые обертки, дело более простое, чем транзакции Firebird. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 11:40 |
|
Выбор между SQLIte и FireBird
|
|||
---|---|---|---|
#18+
White OwlНи то, ни другое. Потянуть то эти объемы эти базы потянут, но судя по самому вопросу, ты мало что знаешь об этих СУБД и значит будут очень большие проблемы в дальнейшем. SQLite предназначена для embedded applictions. И требует хорошего знания С для успешной работы. Firebird поделка Борлнадов и хороша только в связке с Дельфями. В сумме эти СУБД из очень разных миров и выбирать между ними как между карьерным Камазом и болидом F1 для поездок за хлебом. Для новичков с большими объемами лучше брать что-то типа Oracle или MS SQL - по ним учебников много. И спецов нанять проще. совсем не требует. Можно писать, например, на .NET. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2013, 12:50 |
|
|
start [/forum/topic.php?fid=54&msg=38513856&tid=2008823]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
192ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
1ms |
others: | 236ms |
total: | 525ms |
0 / 0 |