сравнение баз данный, недостатки, достоинства

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ринат
Сообщения: 25
Зарегистрирован: 15 мар 2005, 13:49

добрый день! Уважаемые посетители, дайте ссылки или расскажите, про недостатки (преимущества соответственно) баз данныйх, MySQL, MS SQL, Oracle, возникла потребность с выбором БД, буду очень признателен. спасибо
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

MySQL - Для веб - форумов с одной таблицей и допустимостью потери информации.

MS SQL - Для бизнес-проектов среднего размера. Когда один пользователь модифицирует таблицу, блокируется сама таблица и все ее индексы, так что все кто хотят получить данные из этой таблицы стоят на паузе и ждут. Так что ее надо использовать оптимально где-то для 30 пользователей. В комплект входят довольно приятные GUI утилиты(M$ все-таки), система примерно в три раза проще для освоения, чем Оракл. Довольно приятный диалект SQL. Гармонично интегрирована в архитектуру WinNT сервера.

Oracle - для очень больших баз данных. Там используется многоверсионная система работы с данными, так что каждый пользователь модифицирует только свою версию данных, а потом фиксирует (commit) изменения, чтобы другие пользователи их увидели. Пока он не зафиксирует изменения, все другие пользователи будут получать предыдущую версию данных. В результате можно читать данные, пока другие пользователи их модифицируют. Это позволяет эффективно работать с очень большим количеством пользователей. GUI утилиты (например TOAD) надо покупать отдельно за большие деньги, иначе придется пользоваться консольными утилитами в стиле Уникс. Запускать и писать программы под него можно на той же конфигурации, что и для MSSQL, но для промышленной эксплуатации железо под нее нужно очень дорогое.
2B OR NOT(2B) = FF
Ринат
Сообщения: 25
Зарегистрирован: 15 мар 2005, 13:49

спасибо за ответы, доступно и понятно, юзаю My SQl ;) )
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

спасибо за ответы, доступно и понятно, юзаю My SQL
MS SQL проще и попсовей для новичка, т.к там гуевые визарды.
У MySQL приемущества не в простоте:
1) Бесплатность
2) Он стоит у большинства хостеров.
2B OR NOT(2B) = FF
Yurich
Сообщения: 107
Зарегистрирован: 23 фев 2004, 19:07

Absurd писал(а):MySQL - Для веб - форумов с одной таблицей и допустимостью потери информации.
Потерять информацию легко используя любой SQL сервер. В плане надежности MySQL не хуже, а в некоторых случаях даже лучше чем другие. По поводу "...форумов с одной таблицей..."... Я бы сказал от "...форумов с одной таблицей..." и до "...очень больших баз данных...".
Все зависит от Вашего умения настраивать, оптимизировать и администрировать SQL Server.
Absurd писал(а): MS SQL - Для бизнес-проектов среднего размера. Когда один пользователь модифицирует таблицу, блокируется сама таблица и все ее индексы, так что все кто хотят получить данные из этой таблицы стоят на паузе и ждут. Так что ее надо использовать оптимально где-то для 30 пользователей.
:lol: Absurd, MSSQL, также как и Sybase лочит страницами! И только тогда когда количество залоченных страниц превышает определенный параметр лочится вся таблица!
Absurd писал(а): Oracle - для очень больших баз данных. Там используется многоверсионная система работы с данными, так что каждый пользователь модифицирует только свою версию данных, а потом фиксирует (commit) изменения, чтобы другие пользователи их увидели. Пока он не зафиксирует изменения, все другие пользователи будут получать предыдущую версию данных. В результате можно читать данные, пока другие пользователи их модифицируют. Это позволяет эффективно работать с очень большим количеством пользователей.


Кстати, мультиверсионниками являются не только Oracle, но и Interbase/Firebird, а также и MySQL... 8)
Absurd писал(а): GUI утилиты (например TOAD) надо покупать отдельно за большие деньги, иначе придется пользоваться консольными утилитами в стиле Уникс. Запускать и писать программы под него можно на той же конфигурации, что и для MSSQL, но для промышленной эксплуатации железо под нее нужно очень дорогое.


Ну и по поводу утилит... К MySQL идет куча различных бесплатных утилит. Работает он на множестве различных платформ. Ну и требования к железу у него небольшие ;) Хотя конечно в разумных пределах, чем больше, тем лучше.
Аватара пользователя
AiK
Сообщения: 2287
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

MSSQL, также как и Sybase лочит страницами! И только тогда когда количество залоченных страниц превышает определенный параметр лочится вся таблица!
Отставить макать капитана! © :) Точно с какой версии не скажу, но и в Syabase 12.5 и в MS SQL 2000 уровень блокировки может меняться от записи до БД. И так, для справки, между страницей и таблицей есть ещё и экстент.
Даже самый дурацкий замысел можно воплотить мастерски
Yurich
Сообщения: 107
Зарегистрирован: 23 фев 2004, 19:07

AiK писал(а):Отставить макать капитана! © :) Точно с какой версии не скажу, но и в Syabase 12.5 и в MS SQL 2000 уровень блокировки может меняться от записи до БД. И так, для справки, между страницей и таблицей есть ещё и экстент.
:D Правильно, я имел ввиду только то что table-level locking далеко не самый низкий уровень в MSSQL, а page-level locking по-моему до сих пор используется по умолчанию.
Absurd
Сообщения: 1228
Зарегистрирован: 26 фев 2004, 13:24
Откуда: Pietari, Venäjä
Контактная информация:

Absurd, MSSQL, также как и Sybase лочит страницами!
Ну и как мне сделать full table scan, если там залочена страница? А если index залочен, и мне нужно сделать join этой таблицы?
Кстати, мультиверсионниками являются не только Oracle, но и Interbase/Firebird
Ну да... Interbase. Еще Postgres. Но наше мнение про оные БД не было спрошено.
а также и MySQL...
Чего-то я не видел, чтобы под MySQL кто-то фиксировал транзанкции. Как-то я делал древовидную доску обсуждений, дык там надо было сделать два или три запроса для добавления одной записи. Ну и поместил я эти запросы между begin...commit. Чего-то он у меня заругался, что он не хочет делать begin. Я полез в инет, и узнал, что там нужны таблицы InnoDB, а не MyISAM. Ну сделал я InnoDB. А потом у хостера InnoDB не захотели создаваться. Так скрипт и работал два года. Если бы у кого-то один запрос отвалился посередине, то база данных бы посыпалась. Я это еще я, которому не влом разбираться что такое MyISAM, а что такое InnoDB.
Потом я имел дело с кучей скриптов, где надо было создавать новую таблицу для заказов каждый месяц, и прописывать в скрипте название новой таблицы; Бызы данных без индексов; Скрипты где вместо drop table делали удаление файлов с таблицей итд. И все под MySQL. Кстати, зачем нужна такая (сравнительно) трудоемкая операция удаления файла? Может, в какой-то версии MySQL не работал оператор drop ?
2B OR NOT(2B) = FF
DeeJayC
Сообщения: 497
Зарегистрирован: 17 фев 2004, 11:26
Откуда: Ленинград (который Город на Неве)
Контактная информация:

Absurd писал(а):
Absurd, MSSQL, также как и Sybase лочит страницами!
Ну и как мне сделать full table scan, если там залочена страница?
Убийца! (извините, не удержался)
"Особое внимание начинающих аквариумистов хотим обратить на то, что рыбки никогда не спят на спинке!" (c)

viel spass, DeeJayC
Ринат
Сообщения: 25
Зарегистрирован: 15 мар 2005, 13:49

вобщем, MySQL использую, стоит у болшинства хостеров, по поводу одной таблицытоже не согласен, зависит от того, кто БД занимается, по поводу потери информации, просто регулярно делать резервную копию (скрипт написать, парсить БД и выкладывать в файл), MS SQL Oracle никогда дела не имел, пока, такие дела
пишите, спасибо за ответы
Ответить