Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Сравнение СУБД Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Мимопроходящий wrote:
>
> Привет, locky!
> Ты пишешь:
>
> locky
> l> используется дефолтный уровень READ COMMITTED.
> l> никакой те версионности :-)
>
> Сам-то понял, чё сказал?
>
а что, версионность таки наблюдается? хде?


--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

13 янв 06, 18:39    [2253868]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32896

Привет, locky!
Ты пишешь:

locky
l> а что, версионность таки наблюдается? хде?

Какое отношение имеет READ COMMITTED к версионности как таковой ВАААЩЕ?!

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

Posted via ActualForum NNTP Server 1.3

13 янв 06, 18:51    [2253896]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Мимопроходящий wrote:
>
> Привет, locky!
> Ты пишешь:
>
> locky
> l> а что, версионность таки наблюдается? хде?
>
>
> Какое отношение имеет READ COMMITTED к версионности как таковой ВАААЩЕ?!
>
так, стоп!
ва первых! Как я уже сказаль, там нигде не упоминается установка уровня
изоляции транзакций.
то исть никаких тебе set transaction isolation level snapshot, к примеру.
значит, работаит дефолтный set transaction isolation level read
commited. Значитца, никаких таких "Specifies that data read by any
statement in a transaction will be the transactionally consistent
version of the data that existed at the start of the transaction. The
transaction can only recognize data modifications that were committed
before the start of the transaction. Data modifications made by other
transactions after the start of the current transaction are not visible
to statements executing in the current transaction. The effect is as if
the statements in a transaction get a snapshot of the committed data as
it existed at the start of the transaction." нету.
Возражения?
--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

13 янв 06, 18:56    [2253908]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32896

Привет, locky!
Ты пишешь:

locky
Мимопроходящий
>> Какое отношение имеет READ COMMITTED к версионности как таковой ВАААЩЕ?!

l> так, стоп!
l> ва первых! Как я уже сказаль, там нигде не упоминается установка уровня
l> изоляции транзакций.
l> то исть никаких тебе set transaction isolation level snapshot, к примеру.
l> значит, работаит дефолтный set transaction isolation level read
l> commited. Значитца, никаких таких "Specifies that data read by any
l> statement in a transaction will be the transactionally consistent
l> version of the data that existed at the start of the transaction. The
l> transaction can only recognize data modifications that were committed
l> before the start of the transaction. Data modifications made by other
l> transactions after the start of the current transaction are not visible
l> to statements executing in the current transaction. The effect is as if
l> the statements in a transaction get a snapshot of the committed data as
l> it existed at the start of the transaction." нету.
l> Возражения?
Ыщё раз.
Какое отношение уровень изоляции имеет к версионности?!

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

Posted via ActualForum NNTP Server 1.3

13 янв 06, 19:58    [2254040]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Мимопроходящий wrote:
> Ыщё раз.
> Какое отношение уровень изоляции имеет к версионности?!
притом, что пока на базе не разрешишь снапшоты и не сделаешь
set transaction isolation level snapshot begin tran - никакой
версионности в юконе вроде бы нету

--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

13 янв 06, 20:09    [2254062]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 32896

Привет, locky!
Ты пишешь:

locky
l> притом, что пока на базе не разрешишь снапшоты и не сделаешь
l> set transaction isolation level snapshot begin tran - никакой
l> версионности в юконе вроде бы нету
Слышал звон...
База переводится в версионный режим при помощи ALTER DATABASE ...
Но никак не уровнем изоляции транзакции!

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

Posted via ActualForum NNTP Server 1.3

13 янв 06, 20:17    [2254071]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

Мимопроходящий wrote:
>
> Привет, locky!
> Ты пишешь:
>
> locky
> l> притом, что пока на базе не разрешишь снапшоты и не сделаешь
> l> set transaction isolation level snapshot begin tran - никакой
> l> версионности в юконе вроде бы нету
>
> Слышал звон...
> База переводится в версионный режим при помощи *ALTER DATABASE ...*
> Но никак не _уровнем изоляции транзакции_!
так... может, я чего не так понял..
alter database set allow_snapshot_isolation on разрешает использовать
на базе set transaction isolation level snapshot
то есть, разрешает использовать версионность.
Или я не так понял?


--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

13 янв 06, 20:23    [2254079]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
segun
Member

Откуда: Москва
Сообщений: 504
автор
alter database set allow_snapshot_isolation on разрешает использовать
на базе set transaction isolation level snapshot
то есть, разрешает использовать версионность.
Или я не так понял?

да, эта инструкция разрешает использовать версионность на уровне транзакций. А для того чтобы ей воспользоваться на клиенте нужно дополнительно указать set transaction isolation level snapshot. Если не указать, то версионность на уровне транзакций на клиенте использоваться не будет, хотя cервер исправно будет создавать версии строк при операциях update/delete.

другой тип версионности - это версионность на уровне инструкций, который включается командой alter database set READ_COMMITTED_SNAPSHOT ON. Сервер также будет создавать версии строк при операциях update/delete. В этом случае для того чтобы ей воспользоваться на клиенте никакие set transaction isolation level.. задавать не нужно.
13 янв 06, 20:38    [2254095]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
locky
Member

Откуда: Харьков, Украина
Сообщений: 62034

segun wrote:
> автор
>
> другой тип версионности - это версионность на уровне *инструкций*,
> который включается командой /alter database set READ_COMMITTED_SNAPSHOT
надо будет почитать...
в любом случае, в вышеуказанном FDR нет никаких намеков на использование
версионности в юконе.


--
-------------------------
There's no silver bullet!

Posted via ActualForum NNTP Server 1.3

13 янв 06, 20:47    [2254108]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
TyroUser
Member

Откуда:
Сообщений: 30
Уважаемые гуру!

Спор, конечно, разгорелся нешуточный, но... Но я спрашивала в чем
принципиальное различие
, а не отличие.
Т.е. почему и когда используются MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2.
На каком стандарте основываются все перечисленные СУБД. Какой стандарт ANSI последний, какой предпочтительней (почему можно опустить).

Почему MySql используется с PHP, а SQL 2000 уже нельзя использовать?
Сложно ли, зная SQL 2000, сходу что-либо сделать на MySql и наоборот?

Я так понимаю, что MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2- имеют разные "диалекты".

Какие из них больше подходят под Объектно-оринтированные СУБД, какие под распределенные.
19 янв 06, 07:26    [2267823]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
ASCRUS
Member

Откуда: МО Электросталь
Сообщений: 5994
TyroUser:
Можно поступить легче и красивее, получив от гуру краткие и правильные ответы - просто для начала для них ответьте на вопрос:
Зачем Вам все это ?
19 янв 06, 08:12    [2267865]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
chel_2000
Member

Откуда: Москва
Сообщений: 835
TyroUser
Уважаемые гуру!

Спор, конечно, разгорелся нешуточный, но... Но я спрашивала в чем
принципиальное различие
, а не отличие.
Т.е. почему и когда используются MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2.
На каком стандарте основываются все перечисленные СУБД. Какой стандарт ANSI последний, какой предпочтительней (почему можно опустить).

Почему MySql используется с PHP, а SQL 2000 уже нельзя использовать?
Сложно ли, зная SQL 2000, сходу что-либо сделать на MySql и наоборот?

Я так понимаю, что MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2- имеют разные "диалекты".

Какие из них больше подходят под Объектно-оринтированные СУБД, какие под распределенные.

Больше всего подходит тот, который используется там, где работаешь. Imho, только у нас возникает вопрос "Вот вышел, условный Юкон, давайте-ка все под него быстренько перепишем, ведь там есть ...."
19 янв 06, 08:32    [2267892]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
Cat2
Member

Откуда: Petroskoi, Karjala
Сообщений: 145754
TyroUser

в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2

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

Есть конкретные вопросы - задавайте. Ответят. На PHP можно писать ко всему. Только это не различия SQL-серверов.
19 янв 06, 19:08    [2270944]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
Dinky
Member

Откуда: GTA, ON, CA
Сообщений: 716
TyroUser

Т.е. почему и когда используются MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2.
На каком стандарте основываются все перечисленные СУБД. Какой стандарт ANSI последний, какой предпочтительней (почему можно опустить).

последний стандарт ANSI SQL:2003
ему пытаются следовать только две компании: IBM (DB2) и MySQL AB
Предыдущий был ANSI:92 кажись, никто его толком не реализовал, точнее, у <b>всех</b> было дофига несовместимостей

"MySQL используется c PHP" потому что оба - open source и бесплатные ;)
но точно так же PHP "используется" и с Постгрессом, и с Ораклом (не знаю насчет MS)

"Сложно ли, зная SQL 2000, сходу что-либо сделать на MySql и наоборот?"
если на уровне простых запросов, то не сложно
если на уровне T-SQL - то это только в MS есть :)

"имеют разные "диалекты""
как они это скромно называют - "расширения" стандарта ;)
Оракл и Сиквел имеют свои собственные расширения для написания скриптов - PL-SQL и T-SQL соотв.

"Какие из них больше подходят под Объектно-оринтированные СУБД, какие под распределенные"
Вам надо "шашечки" или "ехать"? :)

--
Dmitry
19 янв 06, 19:09    [2270946]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
TyroUser
Member

Откуда:
Сообщений: 30
Спасибо, Dinky. Коротко и ясно, самое главное, без всяких издевательств.

Я хочу перейти на SQL. С базами давно имею дело, но вот все никак руки не доходили. Этот топик, не введение к диплому (кажется, "таких" за руки никто не тянул топик марать), а крик отчаяния (конечно, громко сказано).

Взяла книгу Полное руководство по SQL, а там описываются команды , указывая, что в DB/2 эта команда дополнена опциями, а в таком-то SQL этого нет. Искала в Инете, в книжных литературу, - или не по глазам, или ...
Я хочу понять различия. По MySql и PHP литературы море. Есть по SQL, а вот чтобы по SQL-2000- не видела, может это просто программный продукт.

Что такое T-SQL и PL-SQL ?

Oracle -это PL/SQL, или это разные продукты?


p.s.Access тоже имеет встроенный SQL!
20 янв 06, 08:44    [2271545]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
SergSuper
Member

Откуда: SPb
Сообщений: 5488
TyroUser
Я хочу перейти на SQL.

Дык а для чего? Для каких задач? В зависимости от платформы/объёмов/количества пользователей/нагрузки/цены ответ может быть разный

TyroUser
Есть по SQL, а вот чтобы по SQL-2000- не видела, может это просто программный продукт.

Ну собственно и MySql и PHP и DB/2 тоже програмные продукты. А литературы по MS SQL-2000 тоже полно

TyroUser
Что такое T-SQL и PL-SQL ?

Как чуть выше написал Dinky - это языки для написания скриптов и процедур соответственно для MS SQL и Oracle


автор
Oracle -это PL/SQL, или это разные продукты?

p.s.Access тоже имеет встроенный SQL!

Выражаясь по-вашему: Oracle имеет встроенный PL/SQL
20 янв 06, 09:59    [2271728]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
AlexTheRaven
Member

Откуда: Москва
Сообщений: 879
TyroUser
Я хочу перейти на SQL. С базами давно имею дело, но вот все никак руки не доходили.

У меня года 4 назад была такая же ситуация. В первый раз всё кажется таким страшным :)

TyroUser
Взяла книгу Полное руководство по SQL, а там описываются команды

Подозреваю, что эта книга - справочник, а не учебник. А учиться по справочнику... лучше не стоит.

Возьмите учебник, попробуйте выполнить лабораторные. А лучше - попробуйте поставить какую-нибудь реляционную клиент-серверную СУБД (можно PostgreSQL, Firebird, MySQL, а вот Oracle или MSDE лучше в первый раз не надо) и реализовать вручную, без wizard'ов что-нибудь простенькое. Особенно поучительно, если это "простенькое" - web-based.

Из электронных учебников могу посоветовать Кузнецова на citforum.ru.

TyroUser
p.s.Access тоже имеет встроенный SQL!

Имеет. JetSQL, кажется. Но лучше туда не надо: он достаточно урезанный и нестандартный. Я вот поначалу к нему привык... А потом трудно было отвыкать.
20 янв 06, 10:36    [2271952]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
Anton Demidov
Member

Откуда: Atlanta, GA
Сообщений: 1187
TyroUser
Oracle -это PL/SQL, или это разные продукты?

Я дополню SergSuper. PL/SQL - это процедурное расширение SQL. Фактически - это полноценный язык программирования, оптимизированный именно для обработки данных. На мой взгляд похож на Паскаль.
Также может работать с файлами O/S, HTTP, TCPIP, mail и ещё кучей всего (стандартно поставляется несколько десятков модулей)

--
Антон
Per rectum ad astrum
26 янв 06, 23:20    [2292541]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
мод
Guest
Anton Demidov
PL/SQL На мой взгляд похож на Паскаль.

PL/SQL - это Ада
27 янв 06, 13:42    [2294591]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
Dooma
Guest
segun
да, эта инструкция разрешает использовать версионность на уровне транзакций. А для того чтобы ей воспользоваться на клиенте нужно дополнительно указать set transaction isolation level snapshot. Если не указать, то версионность на уровне транзакций на клиенте использоваться не будет, хотя cервер исправно будет создавать версии строк при операциях update/delete.

другой тип версионности - это версионность на уровне инструкций, который включается командой alter database set read_committed_snapshot on. Сервер также будет создавать версии строк при операциях update/delete. В этом случае для того чтобы ей воспользоваться на клиенте никакие set transaction isolation level.. задавать не нужно.

Причем, если я не ошибаюсь, то эти разные типы версионности и ведут себя немного по разному.
Тот который включается по alter database set read_committed_snapshot on и работает на уровне изоляции READ COMMITTED по поведению (не по реализации, конечно) ближе к Оракловому, т.е допускает фантомы.
Второй тип, который врубается по alter database set allow_snapshot_isolation on и работает на уровне изоляции SET TRANSACTION ISOLATION LEVEL SNAPSHOT фантомов не допускает.

Еще в MSSQL2005 Enterprise есть возможность сделать "snapshot" всей базы целиком. Создается своего рода read only версия базы на определенный момент времени, куда копируются все страницы из оригинальной базы, перед тем как они будут изменены каким-нибудь update-ом. Удобная фича для замораживания состояния базы на определенные моменты времени (для отчетов, например). Причем, всегда можно вернуть базу к этому состоянию так же как из backup-а.
1 фев 06, 11:42    [2308399]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
segun
Member

Откуда: Москва
Сообщений: 504
Dooma
Тот который включается по alter database set read_committed_snapshot on и работает на уровне изоляции READ COMMITTED по поведению (не по реализации, конечно) ближе к Оракловому, т.е допускает фантомы.
небольшая поправка: он не допускает фантомов, потому что работает только с закоммиченными данными, актуальными на момент старта инструкции.
Еще одно отличие от уровня Read Committed -он не накладывает блокировки на чтение при операциях SELECT.
1 фев 06, 12:50    [2308737]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
Dooma
Guest
segun
небольшая поправка: он не допускает фантомов, потому что работает только с закоммиченными данными, актуальными на момент старта инструкции.
Еще одно отличие от уровня Read Committed -он не накладывает блокировки на чтение при операциях SELECT.

У меня прямо сейчас нет MSSQL2005 под рукой.
Если вам не влом, то выполните тот самый нашумевший здесь скрипт с разными установками версионности на MSSQL2005 и посмотрите, что у вас будет в таблице "A":

create table a(i int)

-- transaction 1:
begin tran
delete from a where i in (1,2) 
insert into a (i) values (1); 

-- transaction 2:
begin tran
delete a where i in (1,2) 
insert into a (i) values (2); 
commit tran; 

-- transaction 1:
commit tran;
1 фев 06, 13:21    [2308948]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
segun
Member

Откуда: Москва
Сообщений: 504
2 Dooma:
без индекса на i в таблице A, вторая транзакция ждет завершения первой.
После завершения первой транзакции отрабатывает вторая и в A остается двойка.

Не понял, как при включенной версионности получить незакоммиченные данные первой транзакции во-второй транзакции (без использования nolock)?
1 фев 06, 16:39    [2310293]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
Dooma
Guest
To segun:
Проэкспериментировал сам.
В результате при установке ALTER DATABASE SET ALLOW_SNAPSHOT_ISOLATION ON и уровне изоляции SET TRANSACTION ISOLATION LEVEL SNAPSHOT мне удалось получить две записи в таблице, при условии что в таблице до этого ничего не было, что вообщем-то нормально. Если же в таблице уже была подобная строка, то вторая транзакция отваливается с ошибкой.
При ALTER DATABASE SET READ_COMMITTED_SNAPSHOT ON и READ COMMITTED, вы правы, вторая транзакция ждет завершения первой.

Выходит, все же есть разница в работе этих версионных механизмов.
Точнее разница в работе одного MS-версионного механизма, работающего в разных уровнях изоляции READ COMMITTED и фирменного SNAPSHOT от MS.

В любом случае на Оракловскую версионность это не похоже. Это скорее некая версионность поверх блокировочника. По крайней мере, эти нюансы придется учитывать тем ораклистам, которым придется работать и с mssql.
2 фев 06, 16:48    [2314697]     Ответить | Цитировать Сообщить модератору
 Re: в чем принципиальное различие MS SQL 2000, MySQL,PostqreSQL, Oracle, DB/2  [new]
it-guy
Guest
Yo.!!
принципиальные различия оракла и mssql2k
http://oraclemind.blogspot.com/2005/04/oracle-vs-mssql2k.html


из статьи

Oracle standart one
Up to 2 Processors
Memory no limit
$149 per user или $ 4,995 per CPU

SQL SERVER 2000 standart edition
Up to 4 Processors
Up to 2 Gb memory
$149 per user или $ 4,995 per CPU


Не понял, а что у Оракла и у МССКЛ одна цена? Почемуже тогда считается что Оракл - это инструмент для более богатых организаций.
P.S. Я новичок. Поправьте, если я не прав.
6 мар 06, 11:23    [2420355]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Сравнение СУБД Ответить