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

Откуда: Питер
Сообщений: 34709
Я был "взращен" на MSSQL 6.0-6.5. Потом перешел на Sybase ASE (11.0-12.5). Теперь захотелось посмотреть что же творится с "младшим братом" ASE как с продуктом (не сочтите "младший" за пренебрежение к MSSQL, его нет. Просто по возрасту Sybase старше).

Ну и что же я вижу в 2000 ?
ВСЕ ПЕРЕДЕЛАНО до неузнаваемости ! TSQL другой, другие конструкции, функции иногда просто переименованы, добавлена куча новых. Попробовал вывести план запроса - ни фига не понял, все другое.

ASE же в последнее время наоборот стал поддерживать многие конструкции TSQL, которых не было в ASE и были в MSSQL, многие фичи.

Кто что думает по этому поводу ? Если интересно, конечно.
А еще интересная тема - реализация ROW LEVEL LOCKING в ASE и MSSQL, если интересно.
8 июл 04, 12:09    [793039]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
michael_
Member

Откуда: Москва
Сообщений: 600
ASE и MS SQL действительно порядком разошлись.
На мой субъективный взгляд:

MS SQL
Плюсы

- серьезно пересмотрели подходы к администрированию, файлам данных и т.д. Все с этим проще и понятнее
- Автоприращение файлов данных
- хорошая поддержка русского языка
- работает на Win 98/Me
- расширения TSQL в MS на мой взгляд интереснее и полезнее, чем в ASE

Минусы
- работает только на Win
- слабая репликация

Sybase ASE
Плюсы
- кроссплатформенность
- интересная репликация (SQL Remote и Sybase Rep Server)
- ХП на JAVA
- множественные tempdb

Минусы
- установка поддержки русского языка непрозрачна
- трудоемкое администрирование
- глючные и неудобные средства администрирования
- отсутствует автоприращение дивайсов
- не работает на Win 98/Me (но с появлением Win XP уже не так актуально)
- невнятная ценовая политика Sybase CIS
9 июл 04, 13:55    [796436]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
PL99
Member

Откуда: Moscow
Сообщений: 1367
Не флейма ради, а только IMHO
michael_

MS SQL
Плюсы
...
- Автоприращение файлов данных
...
- работает на Win 98/Me

Не сказал бы, что эти свойства стоит относить к плюсам...

michael_

Sybase ASE
Минусы
- установка поддержки русского языка непрозрачна
- глючные и неудобные средства администрирования
- отсутствует автоприращение дивайсов
- не работает на Win 98/Me (но с появлением Win XP уже не так актуально)

А эти - к серьезным минусам :-), т.к.:
1. установка поддержки русского языка операция разовая
2. Sybase Central - вполне нормальное средство. Особенно было, пока его не переписали на java
3. Спокойнее как-то, когда за процессом следит разумный человек, а не тупая программа (но конечно, нужен квалифицированный админ)
4. Вряд ли кому-нибудь придет в голову разворачивать сервер под 9х виндами...
9 июл 04, 19:55    [797999]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
michael_
Member

Откуда: Москва
Сообщений: 600
PL99

[А эти - к серьезным минусам :-), т.к.:
1. установка поддержки русского языка операция разовая


1. А если продукт тиражируемый, а покупатель - дурак, но дурак с бабками? И потом на каждом рабочем месте тоже надо танец с бубнами для русификации делать, а это уже грустно. Но минус, согласен не очень серьезный.

PL99

2. Sybase Central - вполне нормальное средство. Особенно было, пока его не переписали на java


2. Sybase Central на java стал очень, как бы это помягче, очень странным. А SQL Advantage по сравнению с Query Analyser? Но это тоже фигня, переживем, не так страшно.

PL99

3. Спокойнее как-то, когда за процессом следит разумный человек, а не тупая программа (но конечно, нужен квалифицированный админ)


3. А вот отсутствие автоприращение дивайсов - плохо, аргументы те же - продукт тиражный. кроме того у вас база и в ваш выходной может переполниться и прирастить пространство будет некому. Sybase в 15 версии обещало это доделать. А в MS SQL при желании это и отключить можно. Вообще же неплохо когда СУБД умеет автоматически:
- увеличивать файлов данных
- обнаруживать новую память и процессоры и т. д.
- то есть все то, что называется самоадминистрированием

Но! Конечно же нужны опции ручной донастройки и отмены действия "тупой программы". Здесь MS SQL и ASA явно в выигрыше.

PL99

4. Вряд ли кому-нибудь придет в голову разворачивать сервер под 9х виндами...


4. Когда у начальника ноутбук под Win 98 и он хочет управленческие программы на нем иметь... Хотя как я уже говорил, Win XP все изменила, а года 2 назад - серьезный аргумент.
9 июл 04, 23:52    [798214]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709
Только несколько корректирующих замечаний :
Sybase ASE
- интересная репликация (SQL Remote и Sybase Rep Server)
- ХП на JAVA

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

- множественные tempdb
Ну, это только вот-вот недавно.

Минусы
- установка поддержки русского языка непрозрачна

Нет, это не так. Она вообще никокой доп. поддержки не требует в
релизах от 12.0. Все ставится по умолчанию с подачи.

Ладно, это так, чтобы информация более достоверная была.
12 июл 04, 11:10    [799466]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34709
Блин, я ей богу более одного уровня цитат поддерживать не могу - извините .

1. А если продукт тиражируемый, а покупатель - дурак, но дурак с бабками? И потом на каждом рабочем месте тоже надо танец с бубнами для русификации делать, а это уже грустно. Но минус, согласен не очень серьезный.

Ерунда. Посылают админа на курсы, там его учат, приезжает домой - все делает. Установка русского char set на сервер , ей богу, 10 мин. работы вместе с чтением доки о том, как это сделать.

2. Sybase Central на java стал очень, как бы это помягче, очень странным. А

Нет, он стал просто КЮ. (монвог).

Народ, давайте лучше в сторону расхождения двух продуктов.
Очевидно, что Sybase выгодна совместимость с MSSQL - их пользователи - это во многом мигранты с MSSQL, ну или хотя бы ASE может за счет них расширить свою долю в рынке. Поэтому в последнее время в ASE добавляют поддержку фич MSSQL (функций на TSQL, кстати, так и не сделали, нехорошие люди). MS же наоборот, совместимость не выгодна - однажды заловив клиента в свои сети, отпускать его уже нельзя. Не поэтому ли так все изменилось в MS 2000 ?
12 июл 04, 11:21    [799505]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
michael_
Member

Откуда: Москва
Сообщений: 600
автор
Очевидно, что Sybase выгодна совместимость с MSSQL - их пользователи - это во многом мигранты с MSSQL


Я бы не стал так заявлять. Клинеты Sybase это в основном их собственные старые клиенты или те кто взял тиражный софт, который работает на ASE. Новых клиентов, к сожалению, не много. Не так много с MS на ASE переходит.

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


Я думаю, Вы слишком их переоцениваете. Просто они ни на кого особо не оглядываются. То же самое и ASE с ASA, одни делают одно, другие другое. Поверьте, легче писать одновременно под MS и ASA, чем под ASE и ASA. Совместимость слабая.
12 июл 04, 15:59    [800530]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
michael_
Member

Откуда: Москва
Сообщений: 600
2 MasterZiv

Да, насчет клиентов и тиражного софта. Вы просто не отвечали на вопросы наших клиентов. Вы бы меня поняли :)
Не все готовы вкладывать деньги в собственных людей. Купить железяку - да, можно. Софт - ну, если он защищен, может быть. За консалтинг или обучение своих людей - тут начинает душить жаба.

А по MS куча книжек, все делают вид, что его знают. На нем решения легче тиражировать.
12 июл 04, 16:07    [800563]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Guest_2
Guest
Есть очень много "разработчиков", которые искренне считают, что существуют всего три сервера SQL: MS SQL , MySQL и Oracle. Собственно из них и происходит выбор. Ни о каком Sybase с его ASE и ASA они и слыхом не слихивали. Так что все гораздо хуже, чем представляется на первый взгляд
13 июл 04, 05:49    [801589]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
michael_
Member

Откуда: Москва
Сообщений: 600
Guest_2
Есть очень много "разработчиков", которые искренне считают, что существуют всего три сервера SQL: MS SQL , MySQL и Oracle. Собственно из них и происходит выбор. Ни о каком Sybase с его ASE и ASA они и слыхом не слихивали. Так что все гораздо хуже, чем представляется на первый взгляд


К сожалению, Вы правы.
13 июл 04, 12:44    [802577]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Ggg_old
Guest
Есть у ASE недостаток - он пустые строки воспринимает как null
Это приносит такие неудобства, что я бы гвоздь в голову забил тому индусскому программисту, который это придумал.
Представьте себе что при выборе данных с какой-нибудь таблицы с условием отбора по not null колонке такое не заработает:
select ....
where LTRIM(col)=""
т.к. LTRIM(" ") возвратит не "", а null. Я когда портировал один сложный скрипт с ASA на ASE потратил сутки что-бы понять в чем дело.
13 июл 04, 15:52    [803439]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Сергей Васкецов
Member

Откуда:
Сообщений: 20362
Ggg_old
Есть у ASE недостаток - он пустые строки воспринимает как null

Насмешили.
1) Это поведение полностью согласуется с SQL-92.
2) Зато умеет sum(sum) считать.
13 июл 04, 18:35    [804199]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Ggg_old
Guest
Мне было совсем не смешно, я тогда этого не знал. Соответсвие стандарту SQL92 кривизну и нелогичность этой идеи не оправдывает. Насколько я знаю, хотя не проверял, что в 11-й ASE такого не было. У ASA отрабатывает корректно.
Есть у ASE еще одна неприятная особенность - необязательность соответствия в агрегирующем запросе полей в select и полей в group by. Из-за этого, на стадии написания запроса в результате допущенной ошибки/опечатки, получаются загадочные результаты. ASA такие ошибки отсекала четко.
Еще. Централ не позволяет сохранять хранимую процедуру, в которой используется временная таблица, которая не определена внутри самой ХП. ПРиходится изгаляться через батч. Но это крайне не удобно, если ХП - большая и сложная. В MSSQL таких проблем нет.
13 июл 04, 18:53    [804236]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Guest_2
Guest
Так мы всетаки что сравниваем: ASA vs ASE or MS SQL vs ASE?
14 июл 04, 06:55    [804733]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
dimitr
Member

Откуда: PNZ
Сообщений: 7008
Сергей Васкецов
Ggg_old
Есть у ASE недостаток - он пустые строки воспринимает как null

Насмешили.
1) Это поведение полностью согласуется с SQL-92.


Точную ссылочку можно? Я до сих пор был в полной уверенности, что это абсолютно НЕ согласуется со стандартом.
14 июл 04, 10:29    [805120]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
автор
Так мы всетаки что сравниваем: ASA vs ASE or MS SQL vs ASE?

У нас на форуме Sybase идет сравнение "ASA 8/9 vs MSSQL 2000", где в принципе без флуда народ делиться опытом работы с обоими СУБД и заодно обуждаются 8-ая версия ASA, которая уступала MSSQL и 9-ая версия, которая сравнялась с ним, а кое-где и покрасивей получается. Предлагали перенести сюда, но я решил оставить все таки там, так как основное направление обсуждения - ASA. Кому интересно, welcome :)

P.S. Кстати по развитию обсуждения того топика вчера сделал самый дурацкий в жизни поступок - тест на "SELECT * FROM ОченьБольшая_Table" и замерил скорость через PowerBuilder на ODBC для MSSQL 2000 и ASA9. Естественно с точки зрения СУБД это ничего не дало, но просто были утверждения, что MSSQL быстро возвращает большие обьемы данных, а ASA еле еле. Пришлось доказывать, что скорость обоих СУБД вполне удовлетворительная, заодно выяснил, что PB может грузить на себя миллионы записей, а Windows на 2-гб свапе, при установленном 1,5 уходит в синий экран с некой SybSystem Error. Результат тестов здесь.
14 июл 04, 11:09    [805288]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Guest_2
Guest
автор
Кстати по развитию обсуждения того топика вчера сделал самый дурацкий в жизни поступок - тест на "SELECT * FROM ОченьБольшая_Table" и замерил скорость через PowerBuilder на ODBC для MSSQL 2000 и ASA9

Почемуж дурацкий?
Проверили запас прочности: ASA, MS SQL, PowerBuilder, XP SP1
14 июл 04, 11:19    [805342]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Сергей Васкецов
Member

Откуда:
Сообщений: 20362
dimitr
это абсолютно НЕ согласуется со стандартом.

Если можно, то без ссылки.
1) В SQL отсутствует ТИП пустая строка, то есть, нельзя записать
declare @x varchar(0)
2) Осуществляется или нет преобразование типов функциями LTRIM/RTRIM - стандарт не определяет. Соответственно, оно осуществляется в ASE и не осуществляется в MSSQL в рамках пункта 1). Резюме: оба поведения корректны.
14 июл 04, 22:11    [807789]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Ggg_old
Guest
Пустая строка и значение не определено (NULL) - это абсолютно разные вещи. Принять строку "" за null - концептуальная ошибка, перед которой varchar(0) просто отдыхает. Если бы ASE был такой хороший и приводил типы данных по возможности всегда, так нет. Например запрос в ASE прекращает свою работу при попытке присвоить например значение
1.1234 переменной типа numeric(x,2). Хорошо, если бы он выбрасывал по этому событию ошибку, которую бы перехватывало клиентское приложение так нет - он тихо пишет warning и запрос работает дальше, со значением переменной null.
15 июл 04, 10:51    [808442]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Сергей Васкецов
Member

Откуда:
Сообщений: 20362
Ggg_old
Пустая строка и значение не определено (NULL) - это абсолютно разные вещи. Принять строку "" за null - концептуальная ошибка, перед которой varchar(0) просто отдыхает

Читайте мое сообщение еще раз и внимательно. Какой тип у строки ''? Кстати, формально, NULL и UNKNOWN - это разные вещи, тогда уж извольте их различать.

Ggg_old
Если бы ASE был такой хороший и приводил типы данных по возможности всегда, так нет.

А где про ВСЕГДА речь? Исключительно про LTRIM/RTRIM я писал. Да и не связано приведение типов с хорошестью. Почуствуйте разницу, например, на таком запросе:
declare @x varchar

select @x = null

select 5 / @x

Ggg_old
Например запрос в ASE прекращает свою работу при попытке присвоить например значение
1.1234 переменной типа numeric(x,2). Хорошо, если бы он выбрасывал по этому событию ошибку, которую бы перехватывало клиентское приложение так нет - он тихо пишет warning и запрос работает дальше, со значением переменной null.

Эх, детсад...

set arithabort numeric_truncation off

declare @x numeric(10,2),
        @y numeric(12,4)

select @y = 1.1234

select @x = @y

select @x

Если же писать сразу
select @x = 1.1234
, как раз и возникнет ошибка из-за невозможности неявного приведения типа.
15 июл 04, 13:16    [809210]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Ggg_old
Guest
Про Set arithabort numeric_truncation off - принял. Каюсь.
Насчет пустых строк не согласен исходя даже из простой логики. Значение переменной известного типа но с неопределенным значение это null. К сожалению не помню абсолютно точно, но кажется по стандарту арифметически операции null значениями или недопустимы или дадут null - поправьте меня.
в ASE 12.5:
1+null дает null
'ddd' + null дает 'ddd'.
Принципиально некорректная операция
if ''=null
select 1
else
select 2
возвращает 2
Операция select ISNULL('',' it is null') не отрабатывает, т.к. для оператора '' это не null. Аналогично nullif('',null) не считает '' за null и возвращает null. Но
ltrim('') или ltrim(' ') возвратят null.
15 июл 04, 15:54    [810159]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Ggg_old
Guest
опечатка вышла, правильно будет:
...Аналогично nullif('',null) не считает '' за null и возвращает ''///
15 июл 04, 15:59    [810193]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Роман Дынник
Member

Откуда:
Сообщений: 3324
меня лично очень расстраивает тот факт, что в mssql нельзя вызвать хп в select-e.
т.е. очень удобно, например, написать select xsp_delete(id) from tb.
Приходится извращаться либо ч/з курсоры, либо ч/з временные таблицы.

Еще - невозможность использования алиасов столбцов в order by или where
select 
(case i
 when 1 then 10
 when 2 then 20
end) as k,
y
from t
where k>10
приходится извращаться ч/з вложенные запросы.
27 дек 04, 13:58    [1211778]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
Роман Дынник
меня лично очень расстраивает тот факт, что в mssql нельзя вызвать хп в select-e.
т.е. очень удобно, например, написать select xsp_delete(id) from tb.
Приходится извращаться либо ч/з курсоры, либо ч/з временные таблицы.

Вообще то в MSSQL в таких случаях вместо ХП можно использовать UDF, которые вполне нормально можно вызывать в приведенном Вами запросе. Для ORDER BY при желании можно использовать номер столбца в запросе - это и будет аналогом использованию алиаса.
27 дек 04, 14:06    [1211829]     Ответить | Цитировать Сообщить модератору
 Re: Sybase ASE vs MSSQLServer  [new]
Роман Дынник
Member

Откуда:
Сообщений: 3324
2 ASCRUS
автор
Вообще то в MSSQL в таких случаях вместо ХП можно использовать UDF, которые вполне нормально можно вызывать в приведенном Вами запросе

Не во всех случаях. MSSQL накладывает кучу ограничений на манипуляцию данными в UDF.
следующую функцию не удастся даже создать:
create function dbo.fn_delete(@id int)
returns int
as
begin
	delete from t5 where id=@id;
 	return(1);
end
go

select dbo.fn_delete(id) from t5;
27 дек 04, 14:23    [1211909]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить