powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Требуется опытный наставник
59 сообщений из 59, показаны все 3 страниц
Требуется опытный наставник
    #38101986
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго дня всем! У меня иммется немного свободного времени которое я хочу потратить на написание клиент серверного приложения . Необходима помощь профессионалов советами. Знания языков у меня кое какое имеется . Есть желающие помочь ? с меня пивас :)


1) сделал сервер для тестирования который постоянно доступен (поставил fb2,5 и oracle11gr2 ) (fb и oracle порты по умолчанию) (при необходимости вышлю все пароли и т.д)
2) 1 - е что планирую сделать сравнить субд в плане производительности . Для фб написал клиента для тестирования , для оракла делаю в данный момент(точно такого же) как будет готого , выложу всё . Пока вопросы не возникают но дальше я уверен появятся.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102024
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выкладывай сюда, наставника не обещаю, а обоср..ать подход тут всегда рады
делать "точно такого же" под оракл - плохая идея, каждая субд имеет свои особенности и навороты (особенности FB местами ни в какие ворота например не лезут). если код работает одинаково везде, значит он везде работает хренового.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102080
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
выкладываю клиента fb в архиве 2 файла http://files.mail.ru/US2QV8 (БОЛЬШАЯ ПРОСЬБА СУБД КОНЧ..ТЬ)
1- стартер
2- сам клиент
размещение должно быть d:\ais\
в базу уже добавлено 1000 пользователей . пробовал запускать с 6 компов в офисе в общей сложности 250-300 клиентов одновременно . время инсерта не превышало 11 сек(это когда подвисало , так в среднем до 1 сек) .

вот что делает клиент
while ok=false do
begin
Form1.Update;
t:=Now;
Form1.Update;
Application.ProcessMessages;
dm.tr1.StartTransaction;
Randomize;
dm.qu1.SQL.Clear;
dm.qu1.SQL.Add('insert into customer(firstname,lastname,address1,city,country,region,');
dm.qu1.SQL.Add('CREDITCARDTYPE,CREDITCARD,CREDITCARDEXPIRATION,username,passwd) values ');
dm.qu1.SQL.Add('(''serg'',''ivanov'',''anywhere'',''ttau'',''kz'',2,2,''12'',''324'',:user,''SERG1'')');
dm.qu1.ParamByName('user').Value:=ParamStr(1)+'___'+ParamStr(2)+IntToStr(RandomRange(1000000,999999999));
dm.qu1.ExecQuery;
dm.tr1.Commit;
Memo1.Lines.Add('время выполнения инсерт='+TimeToStr(Now-t));
Form1.Update;
Application.ProcessMessages;
//--------------------------------------------
t:=Now;
dm.tr2.StartTransaction;
dm.qu2.SQL.Clear;
dm.qu2.SQL.Add('select * from customer c where c.id=(select max(id) from customer)');
dm.qu2.ExecQuery;
dm.tr2.Commit;
Memo1.Lines.Add('время выполнения select='+TimeToStr(Now-t));
Form1.Update;
Application.ProcessMessages;


end;
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102090
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тестовый сервер подключен к сети туда\сюда ~ 800 кбит
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102102
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey do
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
while ok=false do
begin
    Form1.Update;
    t:=Now;
    Form1.Update;
    Application.ProcessMessages;
     dm.tr1.StartTransaction; 
    <...>
    dm.qu1.ExecQuery;
     dm.tr1.Commit; 
    Memo1.Lines.Add('время выполнения инсерт='+TimeToStr(Now-t));
    Form1.Update;
    Application.ProcessMessages;
    //--------------------------------------------
    t:=Now;
    <...>
    dm.qu2.SQL.Add(' select * from customer c where c.id=(select max(id) from customer) ');
    <...>
    Memo1.Lines.Add('время выполнения select='+TimeToStr(Now-t));
    <...>
end;
Правильно ли я понял, что:
1) на каждой итерации цикла вы стартуете транзакцию, в которой делаете только лишь 1 инсерт, и тут же её фиксируете;
2) на каждой итерации цикла вы делаете селект за "последним добавленным" покупателем, причём по полю customer.id у вас *нет* убывающего индекса ?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102104
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все правильно , и так происходит на каждом клиенте .
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102110
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на данном этапе вопрос в том насколько быстрее будет оракл . либо будет достаточно фб.

вопрос :запуская клиетов с 6 машин(пусть по 50) у меня по сути быстродействие проверяется 6-ю клиентами т.к процессор последовательно выполняет команды для разных приложений или нет?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102111
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doвсе правильно , и так происходит на каждом клиенте .
А опытный наставник, значит, тебе нужен чтобы вслух читать букварь. Ню-ню... Так как
пишешь ты, писать нельзя. Ни для FB, ни для Oracle. Это код для настольного DBF-движка.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102114
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doна данном этапе вопрос в том насколько быстрее будет оракл

Намного быстрее будет Оракул, так что про ФБ забудь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102116
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, для того в каком напправлении и какой букварь читать , если бы все были такими умными ,вопросы бы никто тут не задавал. Я не навязываюсь.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102118
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вопрос :запуская клиетов с 6 машин(пусть по 50) у меня по сути быстродействие проверяется 6-ю клиентами т.к процессор последовательно выполняет команды для разных приложений или нет?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102119
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doвсе правильно , и так происходит на каждом клиенте .Тогда этот тест мало связан с реальностью. Большинство транзакций (в OLTP-системах) модифицируют десятки или сотни строк, иногда - тысячи. Причём, не только добавляют, но и делают update / delete тоже. И не одной таблицы, а хотя бы трёх-четырёх. Я когда-то забавлялся этим. Пусть там и коряво всё, на таки посмотрите, пригодится м.б.

Далее. Чтобы быстро получить в ФБ значение последней записи (при поиске в порядке возрастания некоторого ключа - id, даты и проч.), надо создать по этому же ключу УБЫВАЮЩИЙ (descend) индекс. Иначе сравнение с другими СУБД, где для поиска в любом направлении (asc / desc) используется один индекс, будет некорректным.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102127
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тест кривой. Нафига на каждом шаге цикла очищать текст запроса, а затем добавлять его заново? Тем более, что запрос параметризирован. Да и про тразакции Таблоид уже сказал.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102140
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doдля того в каком напправлении и какой букварь читать

Раз пишешь на дельфи, читай штатный Database Application Development Guide.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102170
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок тест усложню добавлю в теле одной транзакции инсерт апдей делит к разным таблицам.

вопрос :запуская клиетов с 6 машин(пусть по 50) у меня по сути быстродействие проверяется 6-ю клиентами т.к процессор последовательно выполняет команды для разных приложений или нет?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102186
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doвопрос :запуская клиетов с 6 машин(пусть по 50) у меня по сути быстродействие проверяется 6-ю клиентами т.к процессор последовательно выполняет команды для разных приложений или нет?Если на сервере несколько ядер, то ФБ в режиме Classic Server'a будет работать на каждом из них (там каждый коннект отображается в отдельный процесс с именем fb_inet_server; рассаживанием их по ядрам занимается операционка). В режиме SuperClassic'a коннекты ( работающие в данный момент) отображаются на потоки внутри одного процесса (его имя в линухе: fb_smp_server; в виндузе - такое же как для CS, т.е. fb_inet_server). Этот процесс будет вертеться только на одном ядре, к сож-ю.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102251
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоидsergey doвопрос :запуская клиетов с 6 машин(пусть по 50) у меня по сути быстродействие проверяется 6-ю клиентами т.к процессор последовательно выполняет команды для разных приложений или нет?Если на сервере несколько ядер, то ФБ в режиме Classic Server'a будет работать на каждом из них (там каждый коннект отображается в отдельный процесс с именем fb_inet_server; рассаживанием их по ядрам занимается операционка). В режиме SuperClassic'a коннекты ( работающие в данный момент) отображаются на потоки внутри одного процесса (его имя в линухе: fb_smp_server; в виндузе - такое же как для CS, т.е. fb_inet_server). Этот процесс будет вертеться только на одном ядре, к сож-ю.

Таблойд , я не корректно задал вопрос , он немного проще. На стороне клиента я запускаю к примеру 50 экземпляров одного и того же приложения под разными для базы фб пользователями , приложения коннектится к базе и выполняют инсерт и селект.они будут выполняться паралельно или последовательно со стороны клиента (это тоже самое если бы я запустил по 1 экземпляру приложения на 50 разных машинах)?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102274
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doони будут выполняться паралельно или последовательно со стороны клиента (это тоже самое если бы я запустил по 1 экземпляру приложения на 50 разных машинах)?Если окно_1 вызвало некий "тяжелый селект", то весьма вероятно, что до того как оно получит все строки выборки, виндуза переключит процессор на окно_2. Ибо работает вытесняющая многозадачность.
И хотя процессор на вашей машине всего один, для сервера всё будет так, как будто его дёргают несколько разных коннектов. Пока он выполняет выборку для окна_1, придёт новый запрос от окна_2, затем от окна_3 и т.д.
Но у вас вместо "тяжелых селектов" - какие-то микроскопические нагрузки в виде одиночных инсертов.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102366
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидВ режиме SuperClassic'a .... Этот процесс будет вертеться только на одном ядре, к сож-ю.Уверен ?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102368
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doНа стороне клиента я запускаю к примеру 50 экземпляров одного и того же приложения под разными для базы фб пользователями , приложения коннектится к базе и выполняют инсерт и селект.они будут выполняться паралельно или последовательно со стороны клиентаПараллельно.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102425
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladТаблоидВ режиме SuperClassic'a .... Этот процесс будет вертеться только на одном ядре, к сож-ю.Уверен ?Пардон, соврамши я. Действительно по разным ядрам раскладывается... :-)
Запустил известный тебе idx_test, 200 окон. Вижу в top'e вот это:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
top - 22:52:54 up 12 days,  4:32,  2 users,  load average: 0.01, 0.01, 0.00
Tasks: 318 total,   1 running, 317 sleeping,   0 stopped,   0 zombie
Cpu0  : 20.9%us, 75.1%sy,  0.0%ni,  4.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  : 22.6%us, 72.6%sy,  0.0%ni,  4.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu2  : 18.0%us, 76.5%sy,  0.0%ni,  5.4%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  : 20.5%us, 73.0%sy,  0.0%ni,  6.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu4  : 20.4%us, 72.4%sy,  0.0%ni,  7.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  : 20.8%us, 71.3%sy,  0.0%ni,  7.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  : 20.3%us, 72.1%sy,  0.0%ni,  7.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  : 18.7%us, 72.8%sy,  0.0%ni,  8.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu8  : 19.0%us, 71.8%sy,  0.0%ni,  9.2%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu9  : 20.7%us, 69.5%sy,  0.0%ni,  9.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu10 : 19.0%us, 70.5%sy,  0.0%ni, 10.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu11 : 18.4%us, 70.3%sy,  0.0%ni, 11.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  16321244k total,  2157112k used, 14164132k free,   196804k buffers
Swap: 16383992k total,        0k used, 16383992k free,   753976k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 2133 firebird  20   0 8220m 720m 139m S 1110.1  4.5  41:43.81 fb_smp_server

Ну, и разблюдовка по потокам и ядрам (см столб 'PSR' - это номер ядра, которое работает с соотв-щим LWP):
Код: plaintext
1.
2.
3.
4.
5.
6.
-bash-4.1$ ps -FLC fb_smp_server|head -5
UID        PID  PPID   LWP  C NLWP    SZ   RSS    PSR  STIME TTY          TIME CMD
firebird  2133  2130  2133  0  149 2191267 913256  11  2012 ?       00:00:16 /opt/fb_252/bin/fb_smp_server
firebird  2133  2130  2134  0  149 2191267 913256   7  2012 ?        00:00:00 /opt/fb_252/bin/fb_smp_server
firebird  2133  2130  2135  0  149 2191267 913256   6  2012 ?        00:04:50 /opt/fb_252/bin/fb_smp_server
firebird  2133  2130 15081 10  149 2191267 913256   8  22:48 ?       00:01:36 /opt/fb_252/bin/fb_smp_server
firebird  2133  2130 15093  0  149 2191267 913256  10  22:48 ?      00:00:00 /opt/fb_252/bin/fb_smp_server
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102578
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!особенности FB местами ни в какие ворота например не лезут
Кстати. Товарищ Yo,!

Помнишь вот эту: 13297731 - дискуссию про перечитывания (рестарты) ораклом записей, которые поменялись с момента начала запроса, идущего с TIL= RC ? Вот твои слова оттуда:Yo.!firebird запись в конце проапдейтит, а ту что в начале нет, хотя такого состояния в БД ни в один момент времени не было.
А чего тогда Оракл не реализовал такой же подход для случая:
Код: sql
1.
2.
3.
select field_01, field_02, some_function(some_arg)
from huge_table t
where ...

- причем pl/sql-функция some_function() возвращает некие значения, основываясь на данных huge_table.
Я так понимаю, что если некий конкурирующий коннект_2 возьмёт да и затолкает в huge_table новые данные, закоммитит их, то когда первый запрос доберётся до них, то ПОКАЖЕТ их - правильно ? Дальше он будет молотить до упора, но тут еще один коннект_3 возьмёт да и грохнет вставленные коннектом_2 записи. И получится, что коннект_1 выдаст в итоге неконсистентные данные - так или нет ?

ЗЫ.
Сведения почерпнуты у дяди Тома :
авторlet’s suppose you are executing a simple query such as select a, b, c, f(x) from t, where a, b, c, and x are columns of a table t and f is a PL/SQL function you’ve written that contains its own SQL statements. And you are seeing what appear to be inconsistent results—that is, the data returned for the first row is inconsistent with the data returned for the last row, something that sounds impossible in Oracle Database. Well, the rules of read consistency have not been violated here: every query executed in this case will be read-consistent. However, each query executed will be read-consistent with respect to itself by default. If you use SQL to execute a function that in turn runs its own SQL, each query executed is by default consistent with itself but not with the original driving SQL.
и вот в этом материальчике. Там в качестве обходного манёрва рекомендуется то же самое: повышать TIL до serializable (или же стартовать запрос в RO-транзакции, но это далеко не всегда возможно).

Ну так вот, вопрос у меня: чего им помешало сделать read consistency в этом случае ?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102700
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид,

завтра попробую потестировать, до сего дня был уверен, что данные берутся на момент старта запроса, не важно есть там функции или нет. было бы странно если олракл сдвигал бы SCN для каждого вызова функции, на мой взгляд для этого нужно дополнительные старания.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38102776
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey do2) 1 - е что планирую сделать сравнить субд в плане производительности . Для фб написал клиента для тестирования , для оракла делаю в данный момент(точно такого же) как будет готого , выложу всё . Пока вопросы не возникают но дальше я уверен появятся.

Как бы ничего не зная и не умея что-то пытаться тестировать -- это очень смелое желание.
Ну, протестируешь, а дальше что ?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38104109
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivsergey do2) 1 - е что планирую сделать сравнить субд в плане производительности . Для фб написал клиента для тестирования , для оракла делаю в данный момент(точно такого же) как будет готого , выложу всё . Пока вопросы не возникают но дальше я уверен появятся.

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

я же говорю , время немного имеется(играть на работе надоело!!) , читать умею , думаю во всем можно разобраться до требуемого уровня , следущий этап я думаю будет связан с безопасностью(обзор и выбор решения), а не знаю и не умею ничего потому что работаю не в айти сфере .
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38104121
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doчитать умею
Докажи! Прочти от корки до корки http://ibase.ru/develop.htm и представь исправленный код
вышеприведённого тобой "теста".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38104131
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Дмитрий , доказывать никому ничего не собираюсь , а за помощь спс, как разберусь с odac выложу данные по тестам со сложными инсерт апдате дэлит c несколькими таблицами и строками в теле одной транзакции по fb и oracle.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38104136
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doдоказывать никому ничего не собираюсь
Значит и дальше будешь проходить по разряду "нечитатель".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38104156
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovsergey doдоказывать никому ничего не собираюсь
Значит и дальше будешь проходить по разряду "нечитатель".


хорошо буду :))
я не собираюсь ни у кого отнимать звание супер-мега-шар-oracle-ивсея-всея......
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38106023
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблоид,

наткнулся в документации на цитату после которой тестировать смысла нет
oracle docsIf a SELECT list contains a function, then the database applies statement-level read consistency at the statement level for SQL run within the PL/SQL function code, rather than at the parent SQL level. For example, a function could access a table whose data is changed and committed by another user. For each execution of the SELECT in the function, a new read consistent snapshot is established.
http://docs.oracle.com/cd/B19306_01/server.102/b14220/consist.htm

зачем так сделали идей нет, но как не крути оракловый RC все равно на голову выше, чем RC firebird и блокировочников.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38106320
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!как не крути оракловый RC все равно на голову выше, чем RC firebird и
блокировочников.
Вот только таблицы почему-то мутируют. В отличии от.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38106396
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovYo.!как не крути оракловый RC все равно на голову выше, чем RC firebird и
блокировочников.
Вот только таблицы почему-то мутируют. В отличии от.

в отличии от писанины неконсистентного мусора в базах firebird
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38106454
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!в отличии от писанины неконсистентного мусора в базах firebird

И ведь не смущает тебя, что они мутируют на чтение, без всякой писанины...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38106558
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovИ ведь не смущает тебя, что они мутируют на чтение, без всякой писанины...

так и встает перед глазами эта ужасная картина - тригеры на чтение
забил бы ты уже на мутацию, все равно это выше твоего понимания ...
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38106576
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yo.!забил бы ты уже на мутацию, все равно это выше твоего понимания ...

Да, мне никогда не понять упорства, с которым этот баг считается фичей.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38106609
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovYo.!забил бы ты уже на мутацию, все равно это выше твоего понимания ...

Да, мне никогда не понять упорства, с которым этот баг считается фичей.

я понимаю если бы в ФБ не происходило мутаций тригеров, этим можно было бы козырять. ладно, спорить с дурачком ...
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38108754
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день всем. Кто подскажет в чем загвоздка.

CREATE ROLE SS1;

GRANT SS1 TO USER1;

GRANT SS1 TO USER2;
commit;

У роли ss1 есть все права на все таблицы. Однако под user1 или user2 не выполняет даже селект. Если задать user1 или user2 гранты напрямую то все ок.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38108760
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все нашел , надо коннектится к базе с нужной ролью.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38108786
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
при запуске нескольких клиентов одновременно вылазит вот эта ошибка. почему?

t:=Now;
dm.tr1.StartTransaction;
dm.sp1.ExecProcedure('UPDATE_SOME_ORDERS',[40]);
dm.tr1.Commit;
Memo1.Lines.Add('время update '+VarToStr(dm.sp1.ParamValue(0))+' строк='+TimeToStr(Now-t));
Form1.Update;
Application.ProcessMessages;


CREATE OR ALTER PROCEDURE UPDATE_SOME_ORDERS (
count_id integer not null)
as
begin
UPDATE ORDERS o SET o.netamount = rand()*100+100,o.tax = rand()*20+20, o.totalamount = o.netamount+o.tax
WHERE o.id between 574400 and (574400+:count_id);
end

ошибка
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38108844
Oliph
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doпри запуске нескольких клиентов одновременно вылазит вот эта ошибка. почему?Основная причина:sergey doа не знаю и не умею ничего потому что работаю не в айти сфереНо вы уже делаете успехи! Продолжайте учиться.
Разберитесь как работают транзакции, что такое update-конфликт.
Эффект от мастерства владения одним из инструментов, может переплюнуть выявленную вами разницу в тестировании самих инструментов.
Бросьте тестировать, осваивайте тот инструмент, который вам подходит по другим критериям.
Я к примеру, знаю, что в определенных случаях Oracle намного производительнее FireBird. Но ощутить от этого дискомфорт (от долей секунд разницы) на моих объемах данных вряд ли удастся.
Справедливости ради, Firebird намного быстрее в чем-то другом, например в инсталляции сервера ;) - дискомфорт уже довольно значительный :).
Удобство набора инструментов, компонентов доступа, методов разработки, все это может доставлять значительно больше неудобств, чем пресловутая производительность DML.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38108911
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Oliph, я представляю что такое апдейт конфликт , я не понимаю почему он происходит , по идее вторая транзакция должна дождаться окончания первой(при обращении к одним и тем же записям ) и конфликта возникать не должно. ДУмаю конфлик происходит из-за того что они выполняются частично в паралель , но почему ?

И все таки хочу провести тест до конца , хотя понимаю что оракл должен быть круче , но насколько. Да и гемора с ораклом должно быть побольше. будет ли производительность ораскла на порядок выше или нет.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109126
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doпо идее
Эту странную идею ты подчерпнул явно не из чтения API Guide, раздел Working with
Transactions...
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109156
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

походу в битве экстрасенсов участвуют не те люди :). А вообще именно с этим и пытаюсь разобраться , как вы думаете режим WAIT и protected_write мне помогут избавиться от данной блокировки.

P/s В голове каша охр.....еть
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109195
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doмне помогут избавиться от данной блокировки.
Нет, не помогут. Избавиться от update conflict невозможно, поскольку в Interbase/Firebird
молча затирать чужие изменения считается неправильным. В отличие от Oracle, с его
полностью противоположным мнением.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109276
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov Избавиться от update conflict невозможно.


что фб не может вэйтить транзакции и как они закончаться начинать их разбирать по старшенству , пусть при этом вейт будет очееень долгим , или это подъё.....ка ?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109286
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doили это подъё.....ка ?
Это концепция: молча затирать чужие изменения - суксь и мастдай.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109486
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,

"суксь и мастдай" это к чему ?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109514
Yo.!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sergey do "суксь и мастдай" это к чему ?
к тому, что ФБ один Дартаньян, а вокруг (оракл, мсскл, постгрес, mysql/myisam) пидо ...
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109569
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Yo.!sergey do "суксь и мастдай" это к чему ?
к тому, что ФБ один Дартаньян, а вокруг (оракл, мсскл, постгрес, mysql/myisam) пидо ...


а общедоступным языком?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109604
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doа общедоступным языком?
Если Вася сказал update t set a=2, а Петя в параллельной транзакции сказал update t set
a=3, то все молча присвоят а=3 и забьют на Васю. И только Firebird не считает, что Петя
всегда прав.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109937
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doБлабла

А что, результаты твоего супер-теста-то скоро мы увидем ? Главное -- кто же круче ? И на сколько градусов ?
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109958
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv,

как сделаю так сразу , тут приходится всё сразу осваивать , мож кто то и за 5 мин может сделать , у меня пока не густо , обязательно все предоставлю , но думаю большинство местных результат уже знают.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109963
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doдумаю большинство местных результат уже знают.
Большинство местных знают результаты других тестов. Всем интересно на чём облажаешься
именно ты.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109984
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov, время покажет.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38109986
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sergey doпланирую сделать сравнить субд в плане производительностиВаше сравнение будет верным только для вашего конкретного приложения, и не представлять больше никакого интереса ни для кого. Вы к этому морально готовы? Более того, вы не будете иметь права даже итоговые цифры опубликовать, т.к. оракловая лицензия явно запрещает вам делать это.

Вместо "сравнения производительности" напишите лучше какую-нибудь программулинку, которая решила бы конкретную "бытовую" проблему. Толку будет больше. Потому что новую осмысленную бенчмарку для толстых СУБД могут написать 50, ну может 100 спецов на всём глобусе, и вы в их число пока не входите.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38110004
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ru,
на все Ваши вопросы и утверждения есть ответы выше , кроме лицензии, но ведь пдд тоже нарушают.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38110005
sergey do
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ув. Господа , давайте перестанем флудить.
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38110012
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iv_an_ruновую осмысленную бенчмарку
Да хрен с ними, осмысленными. Померяемся на бессмысленной: insert 10 миллионов записей,
commit, update без where, commit, delete без where, commit.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Требуется опытный наставник
    #38110882
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakoviv_an_ruновую осмысленную бенчмарку
Да хрен с ними, осмысленными. Померяемся на бессмысленной: insert 10 миллионов записей,
commit, update без where, commit, delete без where, commit.
Раз ни одного select не предусмотрено, то победителем выйдет /dev/null , как образцовая реализация write-only memory ;)
...
Рейтинг: 0 / 0
59 сообщений из 59, показаны все 3 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Требуется опытный наставник
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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