powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Мое знакомство с firebird (ацкий сотона)
25 сообщений из 40, страница 1 из 2
Мое знакомство с firebird (ацкий сотона)
    #33666454
pgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В последнее время все чаще стал встречать упоминания о firebird. Разобрало любопытство - что ж это за зверь.

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

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

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

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
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 сек все поджойнил и посчитал.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
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])=(.[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'))

( [b]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
Код: plaintext
1.
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 меньше чем надо.Перекодировал в дос.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
-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 и то лучше работает.
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666462
pgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Забыл сказать.
Для своих смелых экспериментов скачал ibexpert free personal.
Так он гад может выполнять только один сиквел оператор за раз. зараза.
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666517
MsDatabaseru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вы эксперт по обеим видам серверов чтобы судить столь категорично?


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

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

особенно шокировало в FB:
-отсуствие единного профайлера для сервера
-убогость бесплатых драйверов ODBC
-цена на платные OLEDB драйвера (150 баксов!!!)
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666560
pgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Конечно я далек от мысли что я эксперт.
Однако считаю что неплохо разбираюсь в прикладном использовании СУБД.
Я отлично знаю что я хотел сделать и не пожалел на это сил и времени.
В случае с сиквел сервером у меня на это ушло полчаса включая установку.
В случае с firebird целый день и никакого результата.
Даже делая скидку на то что я впервые увидел firebird несколько многовато для загрузки csv файла.

P.S. А гиперсридинг включен потому что это не сервер а простая тестовая тачка.
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666573
Фотография ASCRUS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из всех вышеперечисленных высказываний, можно вывести мудрую мысль:
"Скачал, ничего не понял, работает не так, как привык, менять мышление в лом - в общем итак понятно, что отстой".

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

P.S. Кстати совершенно пару дней назад нужно было выгрузить базу с MSSQL 2000 и загрузить в ASA 9 за короткий промежуток, где DTS уже изначально не подходил по скорости работы. И вот ведь досада - получилась точно такая же ситуация - у ASA все штатно с любыми настройками, у MSSQL куча проблем с выгрузкой и предварительной обработкой перед выгрузкой, в особенности с блобами (которые как известно вообще никак не возможно обработать на самом MSSQL). В итоге пришлось самим утилиту выгружки в CSV накатать, благо хоть теперь можно любой сервер через нее выгружать.
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666614
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
будь я незнаком с MSSQL, тоже бы промудохался бы с импортом полдня. Т.к. не имею ни малейшего представления про bulk import, да и в DTS с первого раза не разберешься.

но вообще, уровень поста говорит о многом. В такое даже в пятницу влезать лень. Про дос-кодировку особенно понравилось :-)
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666676
pgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про версионник понял но несовсем.
повставлял коммитов тоже не помогает.

Так есть вабще способ файл загрузить то.
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666717
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsDatabaseru ошибочно сравнивать FB и MSSQL (FB это типа MSDE от MSSQL)
не надо гнать, пожалуйста, на тему MSDE = FB. MSDE = FB Embedded, при том что у FB Embedded нет тех ограничений, которые есть в MSDE.

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

авторцена на платные OLEDB драйвера (150 баксов!!!)
абасрацца. целых 150 баксов за возможность установить драйвер на любое число компов в организации!!!
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666817
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dimitrно вообще, уровень поста говорит о многом. В такое даже в пятницу влезать лень. Про дос-кодировку особенно понравилось :-)Оно на каждый инсерт isql вызывает. Мастер наверное
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666854
Критикан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pgres
Для своих смелых экспериментов скачал ibexpert free personal.

Па сикрету - для всех у кого на компе установлена кодовая страница win1251(т.е. для всех русских) IBExpert бесплатен. А полнофункциональную бесплатную радость можно с русскоязычной страницы сайта разработчика.
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666917
-=KD=-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мальчег, а где ты в Харькове работаешь?
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666931
pgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-=KD=-Мальчег, а где ты в Харькове работаешь?
А что ? :))
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666966
Фотография Kull Damned
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pgresА что ? :))Мне просто интересно какая контора пригрела такого придурка...
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666971
fynda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pgres
Блин, что за чудесный оператор insertex


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

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


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

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


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

pgres
Код: plaintext
1.
-Token unknown - line  1 , char  82 
Зараза. Низачет.


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

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


Решил вчера попробовать жигуль. Скажу вам так - фигня, полчаса тронуться не мог, ключи там какие-то, педали, руль зачем-то. А когда тронулся - он два метра проехал и сразу в столб врезался. Низачот. Автобус и то лучше ездит.
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33666979
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kull Damned pgresА что ? :))Мне просто интересно какая контора пригрела такого придурка... 1-ый курс кулинарного техникума ?
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33667014
pgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pgres
А что ? :))
Мне просто интересно какая контора пригрела такого придурка...

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

pgres

-Token unknown - line 1, char 82


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



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


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

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

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


---
Кто - еще до сражения - побеждает предварительным расчетом , у того шансов
многоn (Сунь Цзы)
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33667021
Sexton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad Kull Damned pgresА что ? :))Мне просто интересно какая контора пригрела такого придурка... 1-ый курс кулинарного техникума ?
Неа. Судя по профилю пользователя, System Analyst где-то, ни больше ни меньше
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33667025
Критикан
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
-=KD=-Мальчег, а где ты в Харькове работаешь?
О боже он из Харькова...
Прямо стыдно за свой город.
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33667044
pgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fyndaА, да-да, закачка данных в базу - это ж такая критичная по времени операция! Если вместо трех минут она будет выполняться пять - значит серверу низачот адназначна.


Саму закачку то я может быть и стерпел бы.
А вот превращать джава скриптом нормальный 200Мб цвс файл в кучу инсертов -- вот это боюсь критичнаяпо времени для моих нервов операция.
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33667052
Sexton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А еще недавно один знакомый мне заявил, что выбрал MS-SQL, так как в Interbase отсутствуют нормальные средства отладки. Подпольная школа микрософта таких аналитиков штампует, что ли...
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33667137
fynda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pgres
А вот и не правда. Когда вставляешь первую 1000 строк все нормально, а вот когда вставляешь 5000 лезут ошибки.


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

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


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

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

lol
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33667144
fynda
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pgres
Саму закачку то я может быть и стерпел бы.
А вот превращать джава скриптом нормальный 200Мб цвс файл в кучу инсертов -- вот это боюсь критичнаяпо времени для моих нервов операция.

Вдогонку: с каких пор 200-мегабитный CVS-файл стал чем-то более нормальным, чем стандартные insert'ы? И нахрена вообще было этот файл генерить?
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33667212
pgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fynda pgres
Саму закачку то я может быть и стерпел бы.
А вот превращать джава скриптом нормальный 200Мб цвс файл в кучу инсертов -- вот это боюсь критичнаяпо времени для моих нервов операция.

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

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

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

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

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

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


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

тогда проблемы или с файрберд или с гуру
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33667218
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Миш, забей. Это не лечится.
...
Рейтинг: 0 / 0
Мое знакомство с firebird (ацкий сотона)
    #33667219
pgres
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fynda Прикинь, а у меня вот HelloWorld.java компилится без ошибок, а код нашей биллинговой системы - регулярно ругается.

биллинг на файрберде эта пять
...
Рейтинг: 0 / 0
25 сообщений из 40, страница 1 из 2
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Мое знакомство с firebird (ацкий сотона)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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