powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Посоветуйте СУБД
53 сообщений из 53, показаны все 3 страниц
Посоветуйте СУБД
    #35898138
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитал форум, но четкого мнения у меня не сложилось...
Помогите пожалуйста выбрать СУБД как альтернативу MSSQL. Соответственно хотелось бы чтобы она
0. Была свободной
1. Как можно больше походила на MSSQL (имела граф. интерфейс, была несложной в освоении чтобы человек, который работал только с MSSQL как можно быстрее разобрался)
2. Была кроссплатформенной

Особых требований по производительности нет, каких-то мегазадач она решать не придется.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898145
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FireBird
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898150
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck99FireBirdА как же насчет п.1? ;)
В самом FB нет среды разработки, но IBExpert не хуже будет, чем SSMS.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898268
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LА как же насчет п.1? ;)А что, FireBird только для зеков? Если, конечно, автор имел в виду свободная = бесплатная.
Ну, а IBExpert чем-то даже получше будет. Не такой тормознутый.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898324
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gluck99А что, FireBird только для зеков?

Я бы не стал рекомендовать переходить на него с MS SQL...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898734
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Devider,

А чем не подходит MSSQL Express? Бесплатная, привычная Вам.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898736
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Невнимательно прочел. Еще есть требование кроссплатформенности.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898817
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С учетом всех последних метаний и брожений в умах ситуация выглядит так. Есть веб-приложение на яве (планировалось ASP.NET MVC, но... ), БД на MSSQL. Сейчас это все надо перевезти на линукс. Ну с явой проблемы все рашаемы, основной вопрос с БД. Я так подумал своей похмельной головой и решил, что сходство с MSSQL не важно особо, потому, что клона мы не найдем и напильнинг все равно будет нужен. А посему уж если осваивать новую СУБД то основные требования к ней - бесплатность, кроссплатформеность и "перспективность", т.е. чтобы потом не было жалко потраченное время, а знания потом пригодились в других проектах. Ну и графический интерфейс сильно хочется конечно. Кстати, за те 20 минут которые я смотрел на IBExpert оно мне понравилось впринципе. Только вот как быть с линем? Я так понял, что она только под винду?
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898863
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Devider пишет:

> новую СУБД то основные требования к ней - бесплатность,
> кроссплатформеность и "перспективность", т.е. чтобы потом не было жалко
> потраченное время, а знания потом пригодились в других проектах. Ну и

Postgres
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898880
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По критерию похожести на MSSQL - Sybase SA. Поддерживает TransactSQL и WatcomSQL (в принципе похожие диалекты, только ватком более родной, а транзакт для совместимоти с ASE)
Есть GUI, кросплатформенна, сама настраивает свои параметры в процессе работы, т.е. в эксплуатации будет близка к микрософту.
Есть бесплатная версия - Sybase SA Web Edition. Но она только под веб-проекты.
Остальные версии - платные.
Ну а если на микрософт вы еще не сильно завязались и проект считай будете переписывать с нуля, то присоединяюсь к предыдущим советам - посмотреть на Postgres или Firebird.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898883
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Devider
смотрел на IBExpert оно мне понравилось впринципе. Только вот
как быть с линем? Я так понял, что она только под винду?

А ты и разрабатывать решил под линухом? Ну, WINE те в руки. Хотя
разработка БД в графической среде это ламерство. Текстовые скрипты рулят.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898891
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А для разрабоки есть бесплатный Sybase SA Developer Edition. Так что можно сказать, что эта субда вместе с ее родственником Sabase ASE наиболее похожи на микрософт, но при этом кросплатформенны.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898916
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeviderТолько вот как быть с линем? Я так понял, что она только под винду?С чего бы это? На офф. сайте посмотри
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35898980
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ggg_oldНу а если на микрософт вы еще не сильно завязались и проект считай будете переписывать с нуля, то присоединяюсь к предыдущим советам - посмотреть на Postgres или Firebird.
Я так понимаю, спрашивать что и чем все-таки лучше- это будет извращенный стеб. =)


Dimitry Sibiryakov
А ты и разрабатывать решил под линухом?

Нет, но изначально я и хоститься хотел под виндой, так что мало ли что..

Senya_L
С чего бы это? На офф. сайте посмотри
Я имел ввиду IBExpert
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35899005
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeviderSenya_L
С чего бы это? На офф. сайте посмотри
Я имел ввиду IBExpertПод Wine IBExpert запускается. Лично у меня не получилось, но я и старался не очень настойчиво. :)
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35899033
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LDeviderSenya_L

Под Wine IBExpert запускается. Лично у меня не получилось, но я и старался не очень настойчиво. :)
Знаем, плавали. =) С вайном у меня тока с сухим отношения скадываются пока.

Ну а если по теме, то огнептица мне нравится все больше и больше. По крайней мере все без проблем нашлось, скачалось, встало..
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35900432
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeviderПомогите пожалуйста выбрать СУБД как альтернативу MSSQL. Соответственно хотелось бы чтобы она
0. Была свободной
1. Как можно больше походила на MSSQL (имела граф. интерфейс, была несложной в освоении чтобы человек, который работал только с MSSQL как можно быстрее разобрался)
2. Была кроссплатформенной

Особых требований по производительности нет, каких-то мегазадач она решать не придется.Помогаю - после MS SQL из бесплатных имхо имеет смысл или Sybase (вроде ближе всех к SS), или DB2 Express-C, которая не очень похожа, но:
0. Свободна для любых применений, можно поставлять со своим продуктом (Sybase - ограничена).
1. Хорошо работает сразу, еще лучше - после небольшой настройки. В комплекте - бесплатные граф. утилиты + мощная бесплатная родная среда разработки IBM DataStudio.
2. Win x32/x64, Lin x32/x64, Solaris x86, Mac OS x86.
С производительность все очень неплохо.
DeviderЕсть веб-приложение на яве (планировалось ASP.NET MVC, но... ), БД на MSSQL. Сейчас это все надо перевезти на линукс. Ну с явой проблемы все рашаемы, основной вопрос с БД. Я так подумал своей похмельной головой и решил, что сходство с MSSQL не важно особо, потому, что клона мы не найдем и напильнинг все равно будет нужен. А посему уж если осваивать новую СУБД то основные требования к ней - бесплатность, кроссплатформеность и "перспективность", т.е. чтобы потом не было жалко потраченное время, а знания потом пригодились в других проектах. Ну и графический интерфейс сильно хочется конечно.Если Java - прямая дорога к IBM DB2, они тесно интегрированы. Можно взять и халявный J2EE-сервер IBM WebSphere Community. Кстати, для web+Java может быть очень полезен нативный XML storage.
Кстати, Data Studio есть плагин к Eclipse, так что всю разработку от схемы БД и SP (в т.ч. на Java) до J2EE сервисов можно вести в одной среде.
Перспективность - взрослая СУБД, на ней можно делать достаточно серьезные проекты.
Firebird на фоне DB2 я бы советовал или для встроенного варианта или для совсем небольшого сервера совсем "без претензий", т.к. у него очень простая настройка.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35901116
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Favn
Спасибо! Выглядит действительно интересно, почитаю.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35902897
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Я бы не стал рекомендовать переходить на него с MS SQL...

Кстати а почему?

Стал разбираться с DB2, ну там по-ходу так сходу не получится, читать придется. Например у меня не получилось создать БД, при создании пишет "нет такого пути" ну и еще что какие-то непонятные вещи. После установки/деинсталляции слетели настройки файерфокса, избранное, пароли и т.д. Да и "антураж" (все прилогающиеся софтины) достаточно задумчивые. Хотя с точки зрения "изучить, чтобы потом пригодилось" наверное все-таки предпочтительнее DB2?
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903051
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeviderКстати а почему?

Слишком разные идеологии. "Блокировочник vs версионник" уже не очень
актуально, но триггера и процедурный язык вцелом... Для выходцев из MS
SQL характерны гипертрофированная любовь к временным таблицам и боязнь
курсоров. Часто встречается недопонимание управления транзакциями.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903155
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovДля выходцев из MS ... Часто встречается недопонимание управления транзакциями.

Т.е. Вы полагаете, что это зависит от СУБД, а не от того, кто ее использует?! ;)
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903404
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin
Т.е. Вы полагаете, что это зависит от СУБД, а не от того, кто ее
использует?! ;)

Ага. Автостарт транзакции и привычка делать роллбэки в триггерах
расслабляют...
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903429
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я сейчас сделал вот что: создал 2 одинаковых таблички с 2мя полями (интовое и текстовое) и делаю по N коннектов с выполнением M простениких селектов. И огнептица работает на порядок быстрее (например 3 секунды против 15). Отсюда я делаю один единственный вывод: человеку, которому делать сервак, писать код и еще ХЗ что чем заниматься наверное больше подойдет огнептица, как наименее требовательная. Хотя на досуге еще поизголяюсь. Мож строк добавлю или запрос усложню.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903445
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovАга. Автостарт транзакции и привычка делать роллбэки в триггерах
расслабляют...


Гм... Коим образом явное использование неявнях транзакций и откатов в триггерах зависит от СУБД?!
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903461
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, pkarklin!
You wrote on Tue, 31 Mar 09 12:00:33 GMT:

pkarklin p> Гм... Коим образом явное использование неявнях транзакций и откатов в триггерах зависит от СУБД?!
Павел, ты будешь смеяться, но ЭТО не везде именно так.

--
With best regards, Мимопроходящий.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903499
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
Hello, pkarklin!
You wrote on Tue, 31 Mar 09 12:00:33 GMT:

pkarklin p> Гм... Коим образом явное использование неявнях транзакций и откатов в триггерах зависит от СУБД?!
Павел, ты будешь смеяться, но ЭТО не везде именно так.

--
With best regards, Мимопроходящий.



Да я знаю, просто мне хочется понять ход мысли Дмитрия, т.е. каким образом наличие режима неявных транзакций и возможность сделать откат в триггере влияет на "недопонимание управления транзакциями". М.б. есть какой-то критерий (стандарт) "понимания управления"?
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903510
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeviderИ огнептица работает на порядок быстрее (например 3 секунды против 15).

В моем понимании "на порядок" - это 10 к 1, а не 5 к 1.

DeviderА я сейчас сделал вот что: создал 2 одинаковых таблички с 2мя полями (интовое и текстовое) и делаю по N коннектов с выполнением M простениких селектов.

Скрипты и результаты тестирования в студию...
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903527
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin
мне хочется понять ход мысли Дмитрия, т.е. каким образом наличие режима
неявных транзакций и возможность сделать откат в триггере влияет на
"недопонимание управления транзакциями".

Один из типичных вопросов мигрантов: "А что, SELECT тоже надо в
транзакции делать? "
Второй типичный вопрос: "А как сделать ROLLBACK/COMMIT в триггере?"
М.б. есть какой-то критерий (стандарт) "понимания управления"?

Лично я таким критерием считаю осознание того, что транзакции
принадлежат к бизнес-логике и пихать управление ими в физическую модель
данных (триггера)... некорректно.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903530
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeviderСтал разбираться с DB2, ну там по-ходу так сходу не получится, читать придется. Например у меня не получилось создать БД, при создании пишет "нет такого пути" ну и еще что какие-то непонятные вещи. После установки/деинсталляции слетели настройки файерфокса, избранное, пароли и т.д. Да и "антураж" (все прилогающиеся софтины) достаточно задумчивые. Хотя с точки зрения "изучить, чтобы потом пригодилось" наверное все-таки предпочтительнее DB2?При создании БД указывайте корень нужного диска, DB2 работает с ним. Через Control center все просто, мышом.
С файрфоксом - у меня настройки не слетали никогда. Если под Win, на время установки сделайте IExplorer дефолтным бровзером - да, согласен, запуск установки сделан через попу.
Задумчивость софтин проистекает в основном от старта Java - включите "Enable Quick Launch..." в трее винды.
Вообще, если чего непонятно - лучше спросить в соседнем форуме по DB2 . Там, кстати, и добрые люди из IBM отвечают.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903552
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovОдин из типичных вопросов мигрантов: "А что, SELECT тоже надо в
транзакции делать? "

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

Dimitry SibiryakovВторой типичный вопрос: "А как сделать ROLLBACK/COMMIT в триггере?"
Лично я таким критерием считаю осознание того, что транзакции
принадлежат к бизнес-логике и пихать управление ими в физическую модель
данных (триггера)... некорректно.

Почему же Вы отнесли триггеры к "физической модели"?! Странно, производители многих СУБД считают, что как раз с помощью триггеров и можно\нужно "Enforcing Business Logic".
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903555
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinВопрос без уточнения что это за SELECT, одиночный он или нет и т.п. не имеет смысла. Ибо даже в дефолтном режиме автокоммита - один SELECT одна транзакция.

Естественно, это дефолтное значение относится к MS SQL.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903602
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklin
В моем понимании "на порядок" - это 10 к 1, а не 5 к 1.

Ну 10 к 1 так и было, а при увеличении N и M то получилось то, что я описал. Потом я подумал, что неплохо было бы отследить зависимость от N и от M, нарисовать поверхность, посмотреть, почесать репу, ну и плюнул в итоге и прикрыл эту лавочку до выходных..
pkarklin
Скрипты и результаты тестирования в студию...
и соответственно не сохранил эту красоту. Ну я думаю не сложно будет повторить если зададитесь целью.
Тестил чем-то вроде:
Код: 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.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
package javaapplication;
import java.sql.*;

public class Main {

    private static int requestCount =  150 ;
    private static int connectCount =  10 ;
    private static String sql = null;

    public static void main(String[] args) {
        System.out.print("Starting: " + sql);
        sql = args[ 0 ] + args[ 1 ];

        for (int i =  0 ; i < connectCount; i++){
            TestDB2();
            //TestFireBird();
        }
        System.out.println("Done");
    }

    private static void TestFireBird(){
        try{
            Class.forName("org.firebirdsql.jdbc.FBDriver");//.newInstance();
        }
        catch(Exception e) {System.err.println("Error" + e.getMessage());}
        try
        {
            Connection Conn = DriverManager.getConnection(
                "jdbc:firebirdsql:localhost/3050:c:/dbs/testfbdb.fdb",
            "lodin", "passw");

            //System.out.println("Connection is opened: " + !Conn.isClosed());

            DoSQLCode(Conn, sql);
            //System.out.println ("Closing connection...");
            Conn.close();
        }
        catch(Exception e){
            System.err.println("Error" + e.getMessage());
            return;
        }
       // System.out.println("OK");
    }

    private static void TestDB2(){
        try{
            Class.forName("com.ibm.db2.jcc.DB2Driver");//.newInstance();
        }
        catch(Exception e) {System.out.println("Error" + e.getMessage());}
        //System.out.println("Done!");
        try
        {
            Connection Conn = DriverManager.getConnection(
                "jdbc:db2:testdb",
            "admin", "passw");

            //System.out.println("Connection is opened: " + !Conn.isClosed());

            DoSQLCode(Conn, sql);

            //System.out.println ("Closing connection...");
            Conn.close();
        }
        catch(Exception e){
            System.err.println("Error" + e.getMessage());
            return;
        }
        //System.out.println("OK");
    }

    private static void DoSQLCode(Connection Conn, String query){
        for (int k =  0 ; k < requestCount; k++)
        {
            try
            {
                Statement stmt = Conn.createStatement();
                //System.out.println("Creating...");
                ResultSet rs = stmt.executeQuery(query);
                //System.out.println("Executing...");
                ResultSetMetaData rsmd = rs.getMetaData();
                String columns[] = new String[rsmd.getColumnCount()];
                while(rs.next()){
                    for (int i =  0 ; i < columns.length; i++){
                        columns[i] = rsmd.getColumnName(i+ 1 );
                        //System.out.print(columns[i] + " = " + rs.getString(columns[i]) + " ");
                    }
                    //System.out.println();
                }
                stmt.close();
            }
            catch (Exception e){System.out.println(e.toString());}
        }
    }
}


...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903610
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Deviderpackage javaapplication;

Да, да. нет ничего более кошерного, чем мерить производительность СУБД скриптами на джаве.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903634
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklinВопрос без уточнения что это за SELECT, одиночный он или нет и т.п. не имеет смысла. Ибо даже в дефолтном режиме автокоммита - один SELECT одна транзакция.
Естественно, это дефолтное значение относится к MS SQL.А можно узнать "в порядке самообразования" - к какой части MS SQL относится сие дефолтное значение? TSQL внутри SP или триггера - тоже?!
pkarklinСтранно, производители многих СУБД считают, что как раз с помощью триггеров и можно\нужно "Enforcing Business Logic".Простите, что прерываю, но rollback в SS действительно можно сделать в триггере? Я в шоке. А зачем?!!
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903643
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Favn,

Да, спасибо, разобрался. Все работает (из того, что пробовал =) ) только "Центр задач" пишет при запуске
DBA1176N Центру управления не удалось автоматически
каталогизировать базу данных каталога инструментов "" для
системы "CompName".
да после установки (с ИЕ по дефолту был оно что-то писало но отображадись только окна (контуры) и кнопки. Ну фреймы контролов короче (без картинок и шрифтов). Виндовз сканер воспринимал окно как единое целое, ну т.е. текст меток нельзя прочесть было. Короче, чего хотел я так и не понял, нажимал на кнопки исходя из того, что слева ОК а справа Cancel. =)
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903650
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
pkarklinDeviderpackage javaapplication;

Да, да. нет ничего более кошерного, чем мерить производительность СУБД скриптами на джаве.

Так приложение-то на джаве будет написано. Зачем мне производительность "впринципе"?
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903701
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Favn
Простите, что прерываю, но rollback в SS действительно можно сделать в
триггере? Я в шоке. А зачем?!!

Поройся в поиске, тут была длинная тема по этому поводу. Вкратце: это
единственный способ откатить выполняющийся статемент/батч и обеспечить
тем его атомарность.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903711
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeviderВсе работает (из того, что пробовал =) ) только "Центр задач" пишет при запуске
DBA1176N Центру управления не удалось автоматически
каталогизировать базу данных каталога инструментов "" для
системы "CompName".
Наверно, Вы при установке отказались создавать БД TOOLSDB, а "Центр задач" без нее не может, вот и обиделсо :)
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903772
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FavnА можно узнать "в порядке самообразования" - к какой части MS SQL относится сие дефолтное значение? TSQL внутри SP или триггера - тоже?!

Поумолчанию MS SQL работает в режиме автокоммита, когда каждая отдельная инстркция завернута в отдельную транзакцию. Т.е. отправка на сервер:

Код: plaintext
SELECT * FROM SomeTable


в таком режиме эквивалентно по поведению в режиме явных транзакций:

Код: plaintext
1.
2.
BEGIN TRAN
SELECT * FROM SomeTable
COMMIT

И это не зависит от того, пришла инструкция с клиента или она написана в хп без явного управления транзакциями.

В триггере мы всегда находимся в транзакции (даже если она не была запущена явно) от инструкции, которая вызвала срабатывание триггера. Т.е. отправка на сервер в режиме автокоммита инструкции

Код: plaintext
INSERT SomeTable VALUES(SomeValues, ...)


при наличи тригера на INSERT будет эквивалентно по поведению в режиме явных транзакций:

Код: plaintext
1.
2.
3.
BEGIN TRAN
INSERT SomeTable VALUES(SomeValues, ...) 
--тут логика триггера
COMMIT

Можно перевести сервер в режим неявных транзакций, когда инструкции DML и DDL и некоторые другие инструкции стартуют транзакцию неявно, если таковой сейчас нет, и не стартуют, если есть активная. При таком подходе требуется лишь сказать COMMIT или ROLLBACK в конце пакета.


FavnПростите, что прерываю, но rollback в SS действительно можно сделать в триггере? Я в шоке. А зачем?!!

Есть таблица операций по счету, есть таблица с остатками по счету. При операции модификации данных в таблице операций по счету необходимо запретить проведение операции, по результатам которой остаток по счету станет <0, исключив при этом часть клиентов, имеющих овердрафт по счету, для них условия другие, не выйти в минус за максимальный овердрафт. Чистейшая бизнес-логика, не правда ли?

Почему бы не реализовать это триггером, откатив (с учетом приведенных выше объяснений) то, что уже мог наделать триггер и саму инструкцию с выдачей соответствующего сообщения об ошибке или выполнить другие действия, например, отправить письмо менеджеру?
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35903825
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov
Favn
Простите, что прерываю, но rollback в SS действительно можно сделать в
триггере? Я в шоке. А зачем?!!

Поройся в поиске, тут была длинная тема по этому поводу. Вкратце: это
единственный способ откатить выполняющийся статемент/батч и обеспечить
тем его атомарность.



Не совсем так, точнее совсем не так. Вот этот тред:

http://www.sql.ru/forum/actualthread.aspx?tid=588877&pg=4&hl=set+xact_abort+%f2%f0%e8%e3%e3%e5%f0
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35904179
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, видимо, припух уже, но.. Вот такой запрос:
sqlSELECT COUNT(*) FROM TableName WHERE (MOD(ID,2) = 0)
В случае с огнептицей выполняется меньше чем за секунду при
Код: plaintext
1.
    private static int requestCount =  10 ;
    private static int connectCount =  10 ;
а DB2 больше минуты. Это как так?
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35904198
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DeviderЭто как так?

Первая возможность: ты забыл набить огнептицу данными.
Вторая возможность: ты остановил выборку на первой/второй/двадцатой записи.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35904279
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

Ну практически. В коде накосячил. Ну а так в общем получается очень похожие результаты. Самое большое что мне удалось добиться - это 6 с маленьким % в пользу огнептицы.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35904341
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Devider
Самое большое что мне удалось добиться - это 6 с маленьким % в пользу
огнептицы.

Странно. Только из соображения, что DB2 - чистый блокировочник, он
должен быть гораздо быстрее на full scan в монопольном режиме. У него
тупо больше записей на страницу влазит.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35904384
пгуые123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Devider,

потести firbird на запросах с группировкой

create table T
(
id int,
key int,
val numeric(14,4)
)

select
key,
sum(val)
from T
group by key

Только на db2 создай MQT по столбцу key а на firebird какие угодно. ;) увидишь как птычка крылашки сложит )))
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35904619
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пгуые123,

Потестю, аха. А крылышки она сложила когда я стал выбирать нечетные ID, но не как белый человек а так:

Код: plaintext
1.
2.
3.
SELECT COUNT(*) FROM TableName WHERE ID NOT IN(
  SELECT ID FROM TableName WHERE (MOD(ID, 2 ) =  0 )
)
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35905940
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пгуые123Только на db2 создай MQT по столбцу key а на firebird какие угодно. ;) Не получится, т.к. MQT, как и аналоги в остальных СУБД, это фича только Enterprise редакции.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35906041
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DeviderСамое большое что мне удалось добиться - это 6 с маленьким % в пользу огнептицы.Еще несколько моментов:
1. Для "чистого" сравнения не учитывайте в скрипте время на установление соединения - в DB2 оно довольно большое, особенно для "первого и единственного". По умолчанию все БД не активированы, активируются после любого 1-го конекта, дабы ненужные ресурсы не жрали, а активация требует времени. После отключения последнего пользователя БД опять деактивируется.
2. Хотите посмотреть "настоящую" скорость fullscan - создайте dms (вфефифыу ьфтфпьуте) tablespace на неформатированном разделе диска и разместите таблицу в нем. Должно быть заметно быстрее.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35906049
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В смысле, dms (database managment space) :)
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35906159
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklinИ это не зависит от того, пришла инструкция с клиента или она написана в хп без явного управления транзакциями.
Можно перевести сервер в режим неявных транзакций, когда инструкции DML и DDL и некоторые другие инструкции стартуют транзакцию неявно, если таковой сейчас нет, и не стартуют, если есть активная. При таком подходе требуется лишь сказать COMMIT или ROLLBACK в конце пакета.DB2 всегда живет в "режиме неявных транзакций", потому и удивился, считая autocommit прерогативой (настройкой) клиента, а ни как не сервера. Для меня работа сервера в автокоммите по умолчанию, тем более в SP, выглядит диковато, ну да ладно.
pkarklinПочему бы не реализовать это триггером, откатив (с учетом приведенных выше объяснений) то, что уже мог наделать триггер и саму инструкцию с выдачей соответствующего сообщения об ошибке или выполнить другие действия, например, отправить письмо менеджеру?
http://www.sql.ru/forum/actualthread.aspx?tid=588877&pg=4&hl=set+xact_abort+%f2%f0%e8%e3%e3%e5%f0� Приведенный пример для меня логичнее реализовать обработкой ошибок, кот. в DB2 очень развита. Тот же RAISE ERROR может просто вызвать аварийный откат с нужным тестом ошибки, а можно выставить warning и обойтись без отката. А отправка письма к необходимости rollback отношения не имеет :)
Тред прочитал, нашел там "свой" вопрос насчет "что делать с savepoint'ами" при такой работе, тем более что они в T-SQL есть, но к сожалению не нашел ответа. Имхо такой подход больше похож на привычное "тяжкое наследие" старых версий с бедным функционалом.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35906162
Favn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pkarklin, благодарю за объяснение.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35906325
Devider
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что если попытаться ограничиться рамками, допустим, SQL3 и если что перейти на другую СУБД перекинув данные? Или геморрой будет больший чем кажется? Просто скоро уже будет не рано начать кодить, а у меня по факту еще конь не валялся.
...
Рейтинг: 0 / 0
Посоветуйте СУБД
    #35907004
пгуые123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Favnпгуые123Только на db2 создай MQT по столбцу key а на firebird какие угодно. ;) Не получится, т.к. MQT, как и аналоги в остальных СУБД, это фича только Enterprise редакции.достаточно одной тоблэтки (С) кластерного индекса.
помнится на аналитике птичка тормозила сильно и вряд ли с 1.5 че нить сильно изменилось. хотя наджо признать по части курсоров шустро работает. ))
...
Рейтинг: 0 / 0
53 сообщений из 53, показаны все 3 страниц
Форумы / Сравнение СУБД [игнор отключен] [закрыт для гостей] / Посоветуйте СУБД
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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