Уведомления

Группа в Telegram: @pythonsu

#2 Окт. 15, 2006 15:57:22

OlDer
От:
Зарегистрирован: 2006-07-19
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

sqlite

slav0nic
но если тебе нужна серьёзная логика, то лучше СУБД
И вот тут на арену выходит firebird :cool:. Весьма рекомендую. firebird имеется в варианте embedded, при этом он отличается от sqlite только в лучшую сторону - хранимые процедуры, UDF, полная поддержка триггеров, database events и прочее. И самое главное преимущество - если вдруг понадобится развернуть программу в клиент-серверном варианте, в программе не нужно будет делать никаких изменений - достаточно имя файла в строке подключения заменить на host:database и все.
Плюс в python он прекрасно поддерживается - kinterbasdb с обертками - SQLObject, SQLAlchemy, плюс большое русскоязычное community, да и вообще, основные разработчики firebird сейчас - наши (Россия/Украина), плюс отличные инструменты для разработки/администрирования БД тоже бесплатны для exUSSR.
Есть, конечно, и недостатки (например низкая распространенность на хостингах), но это сейчас меняется в лучшую сторону - тот же grokthis.net (на котором хорошо python поддерживается) предлагает firebird в качестве опции.



Офлайн

#3 Окт. 15, 2006 16:33:12

koder
От:
Зарегистрирован: 2006-09-29
Сообщения: 95
Репутация: +  0  -
Профиль   Отправить e-mail  

sqlite

!!!Все написанное относится к версии 1.5. 2.0 не знаю!!!

OlDer
И вот тут на арену выходит firebird
И тут же уходит. Использовали в 24/7 программе Firebird 1.5 :(. НИКОГДА НЕ ИСПОЛЬЗУЙТЕ “ЭТО” для любых критичных задач. Начиная от банальных глюков (сервер падает при АРИФМЕТИЧЕСКОМ ПЕРЕПОЛНЕНИИ) до кривого SQL синтаксиса (например нельзя делать “select from ( select” ). Низкая скорость работы. Для небольших программа может и подходит. Но в случае с эмбеддед версией я не знаю можно-ли работать из питона(по меньшей мере модулей не видел). Скорость гарантированно будет ниже чем у sqlite.


OlDer
хранимые процедуры
В sqlite можно писать хранимые процедуры причем на питоне(в смысле что можно просто забиндить на хранимую процедуру любую питоновскую функцию). То-же относится и постгресу.

OlDer
Плюс в python он прекрасно поддерживается - kinterbasdb с обертками - SQLObject, SQLAlchemy
Как и все остальные базы.

OlDer
например низкая распространенность на хостингах
+1. Скажем прямо я первый раз слышу о том что какой-то хостер предлагает firebird. Подавляющее(тотально подавляющее) большинство программ используют другие базы.

OlDer
но это сейчас меняется в лучшую сторону
-1. Хочу увидеть официальную статистику.

Единственная причина по которой я бы рекомендовал Firebird это наличие IBExpert(для mysql можно toad халявный использовать(тока придется каждые два месяца перекачивать его заново)), а вот для постгреса ничего такого уровня не знаю. Если же ето не проблема то в невстраиваемая база - ето пострес, а встраиваемая sqlite3.



Офлайн

#4 Окт. 15, 2006 16:50:30

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

sqlite

оффтоп но слышал что firebird юзается в абрамсах (американский танк =) )

Офлайн

#5 Окт. 15, 2006 18:01:31

koder
От:
Зарегистрирован: 2006-09-29
Сообщения: 95
Репутация: +  0  -
Профиль   Отправить e-mail  

sqlite

slav0nic
оффтоп но слышал что firebird юзается в абрамсах (американский танк =) )
Хочу ссылку. Поржем всей конторой. :)



Офлайн

#6 Окт. 15, 2006 18:06:23

OlDer
От:
Зарегистрирован: 2006-07-19
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

sqlite

koder
Использовали в 24/7 программе Firebird 1.5 :(. НИКОГДА НЕ ИСПОЛЬЗУЙТЕ “ЭТО” для любых критичных задач.
Ничего что я использую это (и собираюсь продолжать) для любых (в том числе и достаточно критичных) задач?
koder
Начиная от банальных глюков (сервер падает при АРИФМЕТИЧЕСКОМ ПЕРЕПОЛНЕНИИ)
URL ошибки в трекере? У меня не падает, может я что-то не так делаю?
koder
до кривого SQL синтаксиса (например нельзя делать “select from ( select” ).
Так а что здесь кривого? Синтаксис самый прямой. В процедуре это всегда можно было заменить на for select… Ну и в 2.0 select from select поддерживается.
koder
Низкая скорость работы. Для небольших программа может и подходит. Но в случае с эмбеддед версией я не знаю можно-ли работать из питона(по меньшей мере модулей не видел). Скорость гарантированно будет ниже чем у sqlite.
У меня скорость работы - высокая. И еще раз повторю - работа с embedded версией ничем не отличается от работы с клиент/серверной версией. Тот же kinterbasdb, только fbclient.dll заменить. Причем fbclient.dll от embedded версии будет работать и с локальной базой и с удаленным сервером.
А насчет “гарантированно ниже” - я уже однажды потратил полдня на демонстрацию обратного. Могу повторить, но уже за деньги :cool:
koder
В sqlite можно писать хранимые процедуры причем на питоне(в смысле что можно просто забиндить на хранимую процедуру любую питоновскую функцию).
А вот тут: http://www.sqlite.org/cvstrac/wiki?p=UnsupportedSql написано что stored procedures не поддерживаются.
OlDer
Плюс в python он прекрасно поддерживается - kinterbasdb с обертками - SQLObject, SQLAlchemy
koder
Как и все остальные базы.
Не буду говорить за все остальные, но MySQLdb-python и pygresql мне показались намного менее качественными чем kinterbasdb. Что могу вспомнить - это невозможность отловить warning в MySQLdb и отсутствие параметров к запросам в pygresql (в psycopg2 все уже намного лучше, я знаю).
koder
OlDer
например низкая распространенность на хостингах
+1. Скажем прямо я первый раз слышу о том что какой-то хостер предлагает firebird. Подавляющее(тотально подавляющее) большинство программ используют другие базы.
Скажем прямо - кто не хочет, тот не ищет. Я сейчас за минуту нашел украинский хостинг с firebird: http://superhost.com.ua/tarif.html И русские есть, и прочие другие: http://www.ibphoenix.com/main.nfs?a=ibphoenix&page=ibp_hosting Не говоря уже о том что, как тут справедливо недавно заметили в соседней ветке, VDS сейчас дешевле семечек.
koder
OlDer
но это сейчас меняется в лучшую сторону
-1. Хочу увидеть официальную статистику.
Я тоже хочу. Но пока что могу судить только по собственным впечатлениям.



Офлайн

#7 Окт. 15, 2006 18:10:11

OlDer
От:
Зарегистрирован: 2006-07-19
Сообщения: 133
Репутация: +  0  -
Профиль   Отправить e-mail  

sqlite

koder
slav0nic
оффтоп но слышал что firebird юзается в абрамсах (американский танк =) )
Хочу ссылку. Поржем всей конторой. :)
Нате, поржыте: http://www.google.com только не firebird а interbase (firebird'а тогда еще не было).
:lol:



Офлайн

#8 Окт. 16, 2006 07:41:22

batman
От:
Зарегистрирован: 2006-08-09
Сообщения: 37
Репутация: +  0  -
Профиль   Отправить e-mail  

sqlite

Мне всё-таки необходима больше локальная база данных. Так что лучше, можете посоветовать?:)



Офлайн

#9 Окт. 16, 2006 12:13:25

koder
От:
Зарегистрирован: 2006-09-29
Сообщения: 95
Репутация: +  0  -
Профиль   Отправить e-mail  

sqlite

Ну у меня есть железный аргумент - sqlite входит в впоставку питона нач. с 2.5
И sqlite заметно пошире используется. Лично я советую sqlite



Офлайн

#10 Окт. 16, 2006 12:22:05

slivlen
От:
Зарегистрирован: 2006-07-06
Сообщения: 764
Репутация: +  0  -
Профиль   Отправить e-mail  

sqlite

koder
Ну у меня есть железный аргумент - sqlite входит в впоставку питона нач. с 2.5
И sqlite заметно пошире используется. Лично я советую sqlite
Присоединяюсь по тем же соображениям :)



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version