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

Откуда: С-Петербург
Сообщений: 2347
Народ про Sybase - объясните мне две фишки:
1)где в ASE триггеры BEFORE?
2) почему в ASE только один тип данных для даты/времени? а именно - DATETIME?
3)Почему они (Sybase - засранцы) не предусмотрери написание функций на C?
почему эта фишка доступна только для JAVA?

Неужели после всего этого эту БД можно назвать путёвой?
16 дек 02, 14:57    [91668]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
AKoval
Guest
2) datetime/smalldatetine/timestamp;
3) Extended stored procedures - пиши на чем хошь.
16 дек 02, 15:50    [91723]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
gardenman
Member

Откуда: С-Петербург
Сообщений: 2347
ну-ну...))
Я про функции определенные пользователем говорю...
которые можно было бы в качестве фомумы вместо поля в селект засунуть))
А для написания клиентского приложения? какие способы?
ODBC и BDE?
16 дек 02, 16:48    [91808]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
AKoval
Guest
А OpenClient уже отменили?
16 дек 02, 17:44    [91844]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
gardenman
Member

Откуда: С-Петербург
Сообщений: 2347
А почему интересно OpenClient такой непопулярный?
Почему весь народ на BDE/ODBC напирает?
17 дек 02, 15:13    [92421]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
AKoval
Guest
Не знаю.
Может потому, что из Delphi работают.

Хотя я делал тесты под Win связка Apache+PHP+ASA элементарные select-ы из одних и тех же таблиц - у меня получилось, что через OpenClient результаты возвращаются в PHP в 200 раз быстрее.
17 дек 02, 15:35    [92460]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
dasistgut
Guest
А подскажите такую вещь!
Прочитал в инете, что Sybase - это блокирующий при чтении сервер. Т.е. если кто-то читает таблицу, то нельзя выполнить её модификацию. Так ли это?
17 дек 02, 19:41    [92725]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
ppp
Member

Откуда:
Сообщений: 278
Pravilno prochital , pri chem ne tolko Sybase , no i MS SQL i DB2 i vse ostalnie krome Oracle s ego rollback segmentami )
17 дек 02, 21:06    [92779]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
_none_
Guest
И интербейса с его версионностью.
17 дек 02, 22:25    [92795]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
gardenman
Member

Откуда: С-Петербург
Сообщений: 2347
Народ! вы что обалдели что-ли?
Чтоб нельзя было читать таблицу, которую кто-то меняет в DB2?
Это шутка что-ли?

Поясняю. Есть такая фишка - называется уровень изоляции.
В DB2 - их четыре. Самый страшный - RR - repitable read
а самый простой - UR - uncommited read.

Поясняю:
Если твое приложение выполняется в режиме UR то абсолютно без разницы
кто и как меняет талицу(ы). Дословный перевод - ты можест смотреть незавершенные транзакции. Т.е. твое приложение не блокирует ничего.

А вот если RR - то ты просматривая запись, или даже несколько записей в таблице гарантируешь что в не только эти записи никто не изменит до завершения твоей транзакции, но и никто не вставит новую запись в просматриваемый диапазон.
18 дек 02, 12:35    [93016]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
Zaxx
Guest
те при UR - ты видишь незавершенные транзакции ??? Это же криво, учитывая что данные могут оказаться несогласованы или тем более если они не будут закоммичены.
а при RR - мы как раз и имеем случай когда "нельзя читать таблицу, которую кто-то меняет" ???
18 дек 02, 13:25    [93084]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
_none_
Guest
UR мало где реализована, и еще меньше используется, так что все нормально.
18 дек 02, 13:32    [93105]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
SiDen
Member

Откуда:
Сообщений: 518
Не правда. В MSSQL есть хинт with (nolock). И смею Вас уверить испльзуется достаточно часто. Залочки так же можно определять с помощью этого хинта.
18 дек 02, 13:47    [93126]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
Дед Маздай
Member

Откуда:
Сообщений: 655
guardenman, под самым "страшным" уровнем изоляции транзакций Вы, должно быть, имели в виду не repeatable read, a serializable, поскольку дополнительно к модификации записей на все время транзакции он еще препятствует вставке фантомов.
Вопрос к представителям Oracle с его undo-сегментами и Interbase с его версионностью. Очевидно под возможностью модификации записей, которые в этот момент кто-то читает, понималась snapshot isolation, т.е. каждая сессия берет себе мгновенный снимок данных на момент начала транзакции и работает с ним обособленно, не мешая другим. Ну т.е. что-то похожее на клиентские курсоры, но разводка делается на уровне сервера. Предположим, каждая сессия что-то поменяла в своем снэпшоте. Как в этом случае происходит сборка данных воедино и как разрешаются конфликты?
18 дек 02, 13:50    [93133]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
gardenman
Member

Откуда: С-Петербург
Сообщений: 2347
Люди, кроме UR и RR есть еще два промежуточных уровня изоляции-
Это стабильный курсор (CS) и еще какой-то..(короче- читайте доки)

А принцип такой - Если вам нужно всего лишь отобразить таблицу на экране,
то зачем использовать RR? (например когда вам нужно выбрать значение из списка допустимых и т.д.) тут-то как раз то и нужно использовать UR.
А уж когда делаете транзакцию, тогда - если будете пачку записей вставлять и модифицировать - тоды RR хотя чаще всего можно обойтись CS.
18 дек 02, 13:51    [93136]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
gardenman
Member

Откуда: С-Петербург
Сообщений: 2347
Маздаю:
Если речь идет об Oracle - то вполне вероятно что уровни темины обзывающие разные уровни изоляци звучат не как в DB2 (которую я имел в виду)

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

Для всех: Между прочим в DB2 - нет такого выражения - BEGIN TRANSACTION. Там всякая транзакция начинается неявно в зависимости от операции которую вы выполняете и блокировки записей осуществляются в зависимости от уровня изоляции.

А то, что многие приложения жрут ресурсы серверов работая на ненужных уровнях изоляции - эт факт! Согласитесь со мной, что устанавливать RR уровень не следует если нужно всего лишь получить простейший отчет.
18 дек 02, 14:09    [93155]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
killed
Member

Откуда: Moscow
Сообщений: 3526
>Предположим, каждая сессия что-то поменяла в своем снэпшоте. Как в этом случае происходит сборка данных воедино и как разрешаются конфликты?

Для Оракла:
Каждая сессия не может одновременно что-то поменять в своем "снэпшоте". Если сессия А изменила запись в таблице, но не сделала коммит, то сессия B, которая также хочет изменить запись будет ждать по эксклюзивной блокировке уровня строки (ТХ) до тех пор пока сессия А либо сделает коммит, либо ролбэк. Читатели не блокируют писателей, писатели не блокируют читателей
18 дек 02, 14:19    [93174]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
Дед Маздай
Member

Откуда:
Сообщений: 655
2guardenman
Речь идет об ANSI SQL, с которым, я надеюсь, DB2 совместима. А насчет отсутствия BEGIN TRAN я не понял. Как же тогда дать понять в DB2, что несколько операторов должны выполняться в рамках одной транзакции?
18 дек 02, 14:20    [93176]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
eNose
Member

Откуда:
Сообщений: 183063
А че непонятного?
BEGIN TRANSACTION явно не пишется - ну и что? Зато явно можно написать
COMMIT.
Просто первое вставляется автоматически.
18 дек 02, 14:28    [93195]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
Дед Маздай
Member

Откуда:
Сообщений: 655
2eNose
Ну тогда все, что пошло от этого COMMIT до следующего, понимается за следующую транзакцию. А как ей сказать, что это не последовательные транзакции, а вложенные?

2killed
Спасибо.
18 дек 02, 14:39    [93210]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
eNose
Member

Откуда:
Сообщений: 183063
Не знаю. Может как-то по-другому?
18 дек 02, 14:53    [93232]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
DimaR
Member

Откуда:
Сообщений: 1570
Я слышал что в MSSQL не все гладко с блокировками, но DB2?
Вопрос DB2 с его уровнями блокировок, может приводить к
"эскалации блокировок"?
18 дек 02, 15:54    [93288]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
Genady
Member

Откуда: Москва
Сообщений: 2005
2 DimaR
Мне показалось, или Вы действительно имели в виду, что эскалация блокировок это плохо?
18 дек 02, 16:00    [93294]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
DimaR
Member

Откуда:
Сообщений: 1570
Ну да
18 дек 02, 16:02    [93297]     Ответить | Цитировать Сообщить модератору
 Re: Sybase?!?  [new]
Genady
Member

Откуда: Москва
Сообщений: 2005
2 DimaR
Почему?
А то я грешным делом думал, что подобный механизм хорош для оптимизации.
18 дек 02, 16:40    [93331]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3 4   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить