Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Мое знакомство с firebird (ацкий сотона)  [new]
pgres
Member

Откуда: Харьков
Сообщений: 140
В последнее время все чаще стал встречать упоминания о firebird. Разобрало любопытство - что ж это за зверь.

Решил потестить.

Тестовая тачка P4 3.0 мегагерца с включенным гиперсридингом, RAM 512М, HDD SATA 80Gb, Windows XP Professional SP2.

С любимой продакшн базы слил 2 таблички в csv 1000000 и 15000 строк соответственно.
Объем был выбран в 2.5 меньшим размера оперативки, то есть умный сервер может все это свободно в кэш засунуть.
(очень многого я от firebird и не ждал)
Любимый запрос

SELECT	
	-SUM(case when ASSET_IND BETWEEN 'I' AND 'V' then AMOUNT else 0 end) AS ba,
	-SUM(case when ASSET_IND = 'D' then AMOUNT else 0 end) AS bad,
	a.ASSET_CODE
FROM	SALFLDGPMU a inner join ssrffvr b on 	b.ASSET_CODE = a.ASSET_CODE 
where 
	(ASSET_IND BETWEEN 'I' AND 'V' OR ASSET_IND = 'D') 
	and 
	SUN_DB = 'PMU'
GROUP BY a.ASSET_CODE;

Что бы было с чем срвнивать на той же тачке поставил сначала SQL Server 2000 SP2.

Почти мгновенно залил все данные bulk insert.

Сиквел показал в точности то что я от него и ожидал за 9 сек все поджойнил и посчитал.
StmtText                                                                                                                                                                                                                                                         
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
SELECT	
	-SUM(case when ASSET_IND BETWEEN 'I' AND 'V' then AMOUNT else 0 end) AS ba,
	-SUM(case when ASSET_IND = 'D' then AMOUNT else 0 end) AS bad,
	a.ASSET_CODE
FROM	SALFLDGPMU a inner join ssrffvr b on 	b.ASSET_CODE = a.ASSET_CODE 
where 
	(ASSET_

(1 row(s) affected)

StmtText                                                                                                                                                                                                                                                         
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 
  |--Compute Scalar(DEFINE:([Expr1004]= -[Expr1002], [Expr1005]= -[Expr1003]))
       |--Hash Match Root(Aggregate, HASH:([a].[ASSET_CODE]), RESIDUAL:([a].[ASSET_CODE]=[a].[ASSET_CODE]) DEFINE:([Expr1002]=SUM([partialagg1006]), [Expr1003]=SUM([partialagg1007])))
            |--Hash Match Team(Inner Join, HASH:([a].[ASSET_CODE])=([b].[ASSET_CODE]), RESIDUAL:([a].[ASSET_CODE]=[b].[ASSET_CODE]))
                 |--Hash Match(Aggregate, HASH:([a].[ASSET_CODE], [a].[ASSET_CODE]), RESIDUAL:([a].[ASSET_CODE]=[a].[ASSET_CODE] AND [a].[ASSET_CODE]=[a].[ASSET_CODE]) DEFINE:([partialagg1006]=SUM(If ([a].[ASSET_IND]>='I' AND [a].[ASSET_IND]<='V') then [a]
                 |    |--Table Scan(OBJECT:([Northwind].[dbo].[SALFLDGPMU] AS [a]), WHERE:(([a].[ASSET_IND]>='I' AND [a].[ASSET_IND]<='V') OR [a].[ASSET_IND]='D'))
                 |--Table Scan(OBJECT:([Northwind].[dbo].[SSRFFVR] AS [b]), WHERE:([b].[SUN_DB]='PMU'))

(6 row(s) affected)

StmtText                       
------------------------------ 

SET STATISTICS PROFILE OFF

(1 row(s) affected)

Table 'SSRFFVR'. Scan count 1, logical reads 615, physical reads 0, read-ahead reads 0.
Table 'SALFLDGPMU'. Scan count 1, logical reads 22157, physical reads 0, read-ahead reads 0.


Такой вот получился план и статистика IO, вернее никакого дискового IO.
Зачет.

Теперь гасим сиквел для чистоты эксперимента. У firebird есть вся та же память что и у сиквела.

И вот тут начинается лажа за лажей.
Чудо супер оператор insertex упорно не понимает того что текстовые поля взяты в кавычки.
Так и быть поменял разделитель на '|', кавычки выкинул.
Блин, что за чудесный оператор insertex
insertex into ssrffvr from csv 'C:\Documents and Settings\pgres.PMI\Desktop\4.csv' delimeter '|';

Что он мне собака навставлял. Увидел бы кто его реализовывал, спасибо б не сказал.
Короче лажа 1.

Идем другим путем.
Скачал ацкую прогу ibimport. Зараза триалка больше 20 записей не вставляет. Крэк не нашел.
Посмотрел на скрипт который она генерит для аплоада.
Один за другим insert values.
Скорость работы такого скрипта при масштабировании уже хотя бы на маленькую таблицу просто завораживает.
Качаю прогу ibload. Оказалась не менее ацкой. Тоже не понимает ни разделителей ни кавычек и вставляет в таблицы только char(nn). Нет так мы коммунизм не построим.
Джаваскриптом из маленькой таблицы сделал серию инсертов. Вот незадача кодировочка то у меня cp1251 а isql понимает наверно только 866 или какая там дос. Довольно быстро если отключить вывод на консоль, из 15 тыс в итоге он мне вставил на 1000 меньше чем надо.Перекодировал в дос.

-Token unknown - line 1, char 82
-s
Statement failed, SQLCODE = -104

Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, char 82
-s
Statement failed, SQLCODE = -104

Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, char 82
-s
Statement failed, SQLCODE = -104

Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, char 82
-s
Statement failed, SQLCODE = -104

Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, char 82
-s
Statement failed, SQLCODE = -104

Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, char 82
-s
Statement failed, SQLCODE = -104

Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, char 82
-s
Statement failed, SQLCODE = -104

Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, char 82
-s
Statement failed, SQLCODE = -104

Dynamic SQL Error
-SQL error code = -104
-Token unknown - line 1, char 82
-s
Single isql command exceeded maximum buffer size
Single isql command exceeded maximum buffer size


Зараза. Низачет.

Что за чудесный табличный прочессор firebird. Excel и то лучше работает.
14 апр 06, 10:55    [2562462]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
pgres
Member

Откуда: Харьков
Сообщений: 140
Забыл сказать.
Для своих смелых экспериментов скачал ibexpert free personal.
Так он гад может выполнять только один сиквел оператор за раз. зараза.
14 апр 06, 10:57    [2562476]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
MsDatabaseru
Member

Откуда: Hobby.MsDatabase.ru
Сообщений: 10938
вы эксперт по обеим видам серверов чтобы судить столь категорично?


-ошибочно включать гипертрейдинг для серверов
-ошибочно сравнивать FB и MSSQL (FB это типа MSDE от MSSQL)

зы лично мне FB не понравился, но я это списываю на свое незнание технологий его использования.

особенно шокировало в FB:
-отсуствие единного профайлера для сервера
-убогость бесплатых драйверов ODBC
-цена на платные OLEDB драйвера (150 баксов!!!)
14 апр 06, 11:12    [2562574]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
pgres
Member

Откуда: Харьков
Сообщений: 140
Конечно я далек от мысли что я эксперт.
Однако считаю что неплохо разбираюсь в прикладном использовании СУБД.
Я отлично знаю что я хотел сделать и не пожалел на это сил и времени.
В случае с сиквел сервером у меня на это ушло полчаса включая установку.
В случае с firebird целый день и никакого результата.
Даже делая скидку на то что я впервые увидел firebird несколько многовато для загрузки csv файла.

P.S. А гиперсридинг включен потому что это не сервер а простая тестовая тачка.
14 апр 06, 11:24    [2562671]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Из всех вышеперечисленных высказываний, можно вывести мудрую мысль:
"Скачал, ничего не понял, работает не так, как привык, менять мышление в лом - в общем итак понятно, что отстой".

pgres - не знаю, чего Вы доказать хотели своей заливкой и запросом, с учетом того, что FB версионник со сборщиком мусора и у него Rule-Based оптимизатор. Сейчас возьми любого FB-шника, кто в жизнь не видел блокировочников и посади на MSSQL - в целом будут точно такие же высказывания - и насчет EM/QA и насчет тупизны MSSQL.

P.S. Кстати совершенно пару дней назад нужно было выгрузить базу с MSSQL 2000 и загрузить в ASA 9 за короткий промежуток, где DTS уже изначально не подходил по скорости работы. И вот ведь досада - получилась точно такая же ситуация - у ASA все штатно с любыми настройками, у MSSQL куча проблем с выгрузкой и предварительной обработкой перед выгрузкой, в особенности с блобами (которые как известно вообще никак не возможно обработать на самом MSSQL). В итоге пришлось самим утилиту выгружки в CSV накатать, благо хоть теперь можно любой сервер через нее выгружать.
14 апр 06, 11:28    [2562697]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
будь я незнаком с MSSQL, тоже бы промудохался бы с импортом полдня. Т.к. не имею ни малейшего представления про bulk import, да и в DTS с первого раза не разберешься.

но вообще, уровень поста говорит о многом. В такое даже в пятницу влезать лень. Про дос-кодировку особенно понравилось :-)
14 апр 06, 11:36    [2562764]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
pgres
Member

Откуда: Харьков
Сообщений: 140
Про версионник понял но несовсем.
повставлял коммитов тоже не помогает.

Так есть вабще способ файл загрузить то.
14 апр 06, 11:49    [2562861]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 30232
MsDatabaseru
ошибочно сравнивать FB и MSSQL (FB это типа MSDE от MSSQL)

не надо гнать, пожалуйста, на тему MSDE = FB. MSDE = FB Embedded, при том что у FB Embedded нет тех ограничений, которые есть в MSDE.

автор
убогость бесплатых драйверов ODBC

Gemini ODBC - великолепный драйвер, и бесплатен в России.

автор
цена на платные OLEDB драйвера (150 баксов!!!)

абасрацца. целых 150 баксов за возможность установить драйвер на любое число компов в организации!!!
14 апр 06, 11:56    [2562919]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
hvlad
Guest
dimitr
но вообще, уровень поста говорит о многом. В такое даже в пятницу влезать лень. Про дос-кодировку особенно понравилось :-)
Оно на каждый инсерт isql вызывает. Мастер наверное
14 апр 06, 12:17    [2563100]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
Критикан
Guest
pgres

Для своих смелых экспериментов скачал ibexpert free personal.

Па сикрету - для всех у кого на компе установлена кодовая страница win1251(т.е. для всех русских) IBExpert бесплатен. А полнофункциональную бесплатную радость можно с русскоязычной страницы сайта разработчика.
14 апр 06, 12:26    [2563178]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
-=KD=-
Guest
Мальчег, а где ты в Харькове работаешь?
14 апр 06, 12:37    [2563288]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
pgres
Member

Откуда: Харьков
Сообщений: 140
-=KD=-
Мальчег, а где ты в Харькове работаешь?

А что ? :))
14 апр 06, 12:40    [2563313]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
Kull Damned
Member [заблокирован]

Откуда: Князь Мышкин
Сообщений: 34357
pgres
А что ? :))
Мне просто интересно какая контора пригрела такого придурка...
14 апр 06, 12:49    [2563389]     Ответить | Цитировать Сообщить модератору
 Re: Замена ПШНХ...  [new]
fynda
Member

Откуда: Пенза
Сообщений: 2785
pgres

Блин, что за чудесный оператор insertex


Вот и я думаю - что ж это за чудесный оператор такой? В Language Reference я его вроде не видел. В реальной жизни тоже ни разу не применял. Вспоминаю что вроде было что-то подобное в IBExpert , но при чем тут сервер?

pgres

Скачал ацкую прогу ibimport.
Качаю прогу ibload.


И снова - казалось бы, при чем здесь сервер?

pgres

Один за другим insert values.
Скорость работы такого скрипта при масштабировании уже хотя бы на маленькую таблицу просто завораживает.


А, да-да, закачка данных в базу - это ж такая критичная по времени операция! Если вместо трех минут она будет выполняться пять - значит серверу низачот адназначна.

pgres

-Token unknown - line 1, char 82
Зараза. Низачет.


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

pgres

Что за чудесный табличный прочессор firebird. Excel и то лучше работает.


Решил вчера попробовать жигуль. Скажу вам так - фигня, полчаса тронуться не мог, ключи там какие-то, педали, руль зачем-то. А когда тронулся - он два метра проехал и сразу в столб врезался. Низачот. Автобус и то лучше ездит.
14 апр 06, 12:49    [2563397]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
hvlad
Guest
Kull Damned
pgres
А что ? :))
Мне просто интересно какая контора пригрела такого придурка...
1-ый курс кулинарного техникума ?
14 апр 06, 12:51    [2563413]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
pgres
Member

Откуда: Харьков
Сообщений: 140
pgres
А что ? :))
Мне просто интересно какая контора пригрела такого придурка...


Которая не использует firebird

pgres

-Token unknown - line 1, char 82


Зараза. Низачет.



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


А вот и не правда. Когда вставляешь первую 1000 строк все нормально, а вот когда вставляешь 5000 лезут ошибки.

Видя ругань про буфер поставил коммиты через каждые 100 строк. Не помогает. что ж там за буфер такой?

2 hvlad
1-ый курс кулинарного техникума ?

а вот 1-ый курс кулинарного техникума судя по выдающейся способности к прочтению достаточно полно приведенного отчета об ошибке это к Вам


---
Кто - еще до сражения - побеждает предварительным расчетом , у того шансов
многоn (Сунь Цзы)
14 апр 06, 13:00    [2563475]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
Sexton
Member

Откуда: Великий Новгород
Сообщений: 403
hvlad
Kull Damned
pgres
А что ? :))
Мне просто интересно какая контора пригрела такого придурка...
1-ый курс кулинарного техникума ?

Неа. Судя по профилю пользователя, System Analyst где-то, ни больше ни меньше Картинка с другого сайта.
14 апр 06, 13:01    [2563484]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
Критикан
Guest
-=KD=-
Мальчег, а где ты в Харькове работаешь?

О боже он из Харькова...
Прямо стыдно за свой город.
14 апр 06, 13:02    [2563490]     Ответить | Цитировать Сообщить модератору
 Re: Замена ПШНХ...  [new]
pgres
Member

Откуда: Харьков
Сообщений: 140
fynda
А, да-да, закачка данных в базу - это ж такая критичная по времени операция! Если вместо трех минут она будет выполняться пять - значит серверу низачот адназначна.


Саму закачку то я может быть и стерпел бы.
А вот превращать джава скриптом нормальный 200Мб цвс файл в кучу инсертов -- вот это боюсь критичнаяпо времени для моих нервов операция.
14 апр 06, 13:06    [2563534]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
Sexton
Member

Откуда: Великий Новгород
Сообщений: 403
А еще недавно один знакомый мне заявил, что выбрал MS-SQL, так как в Interbase отсутствуют нормальные средства отладки. Подпольная школа микрософта таких аналитиков штампует, что ли...
14 апр 06, 13:08    [2563549]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
fynda
Member

Откуда: Пенза
Сообщений: 2785
pgres

А вот и не правда. Когда вставляешь первую 1000 строк все нормально, а вот когда вставляешь 5000 лезут ошибки.


Прикинь, а у меня вот HelloWorld.java компилится без ошибок, а код нашей биллинговой системы - регулярно ругается. Низачот этой джаве, правда?

pgres

Видя ругань про буфер поставил коммиты через каждые 100 строк. Не помогает. что ж там за буфер такой?


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

достаточно полно приведенного отчета об ошибке


lol
14 апр 06, 13:24    [2563695]     Ответить | Цитировать Сообщить модератору
 Re: Замена ПШНХ...  [new]
fynda
Member

Откуда: Пенза
Сообщений: 2785
pgres

Саму закачку то я может быть и стерпел бы.
А вот превращать джава скриптом нормальный 200Мб цвс файл в кучу инсертов -- вот это боюсь критичнаяпо времени для моих нервов операция.


Вдогонку: с каких пор 200-мегабитный CVS-файл стал чем-то более нормальным, чем стандартные insert'ы? И нахрена вообще было этот файл генерить?
14 апр 06, 13:26    [2563710]     Ответить | Цитировать Сообщить модератору
 Re: Замена ПШНХ...  [new]
pgres
Member

Откуда: Харьков
Сообщений: 140
fynda
pgres

Саму закачку то я может быть и стерпел бы.
А вот превращать джава скриптом нормальный 200Мб цвс файл в кучу инсертов -- вот это боюсь критичнаяпо времени для моих нервов операция.


Вдогонку: с каких пор 200-мегабитный CVS-файл стал чем-то более нормальным, чем стандартные insert'ы? И нахрена вообще было этот файл генерить?


Чтобы утилита экспорта генерила кучу инсертов я последний раз видел в mysql
та еще субд.

а что я должен был эксель генерить ?

плоский файл это самое простое и компактное что для передачи данный между системами, особенно если это единичная операция.

единственное что я делал, это искал способ зааплоадить плоский файл.
желательно это сделать одной командой или двумя тремя, но не миллионом инсертов

может конечно я отстал от жизни, подскажите пожалуйста более современный способ перекачать жалкие 200М из сиквела в файрберд


насчет лолов номер ошибки файрберда разве ни о чем не говорит гуру

тогда проблемы или с файрберд или с гуру
14 апр 06, 13:43    [2563826]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7000
Миш, забей. Это не лечится.
14 апр 06, 13:45    [2563838]     Ответить | Цитировать Сообщить модератору
 Re: Мое знакомство с firebird (ацкий сотона)  [new]
pgres
Member

Откуда: Харьков
Сообщений: 140
fynda
Прикинь, а у меня вот HelloWorld.java компилится без ошибок, а код нашей биллинговой системы - регулярно ругается.


биллинг на файрберде эта пять
14 апр 06, 13:45    [2563840]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить