сравнение баз данный, недостатки, достоинства
добрый день! Уважаемые посетители, дайте ссылки или расскажите, про недостатки (преимущества соответственно) баз данныйх, MySQL, MS SQL, Oracle, возникла потребность с выбором БД, буду очень признателен. спасибо
-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
MySQL - Для веб - форумов с одной таблицей и допустимостью потери информации.
MS SQL - Для бизнес-проектов среднего размера. Когда один пользователь модифицирует таблицу, блокируется сама таблица и все ее индексы, так что все кто хотят получить данные из этой таблицы стоят на паузе и ждут. Так что ее надо использовать оптимально где-то для 30 пользователей. В комплект входят довольно приятные GUI утилиты(M$ все-таки), система примерно в три раза проще для освоения, чем Оракл. Довольно приятный диалект SQL. Гармонично интегрирована в архитектуру WinNT сервера.
Oracle - для очень больших баз данных. Там используется многоверсионная система работы с данными, так что каждый пользователь модифицирует только свою версию данных, а потом фиксирует (commit) изменения, чтобы другие пользователи их увидели. Пока он не зафиксирует изменения, все другие пользователи будут получать предыдущую версию данных. В результате можно читать данные, пока другие пользователи их модифицируют. Это позволяет эффективно работать с очень большим количеством пользователей. GUI утилиты (например TOAD) надо покупать отдельно за большие деньги, иначе придется пользоваться консольными утилитами в стиле Уникс. Запускать и писать программы под него можно на той же конфигурации, что и для MSSQL, но для промышленной эксплуатации железо под нее нужно очень дорогое.
MS SQL - Для бизнес-проектов среднего размера. Когда один пользователь модифицирует таблицу, блокируется сама таблица и все ее индексы, так что все кто хотят получить данные из этой таблицы стоят на паузе и ждут. Так что ее надо использовать оптимально где-то для 30 пользователей. В комплект входят довольно приятные GUI утилиты(M$ все-таки), система примерно в три раза проще для освоения, чем Оракл. Довольно приятный диалект SQL. Гармонично интегрирована в архитектуру WinNT сервера.
Oracle - для очень больших баз данных. Там используется многоверсионная система работы с данными, так что каждый пользователь модифицирует только свою версию данных, а потом фиксирует (commit) изменения, чтобы другие пользователи их увидели. Пока он не зафиксирует изменения, все другие пользователи будут получать предыдущую версию данных. В результате можно читать данные, пока другие пользователи их модифицируют. Это позволяет эффективно работать с очень большим количеством пользователей. GUI утилиты (например TOAD) надо покупать отдельно за большие деньги, иначе придется пользоваться консольными утилитами в стиле Уникс. Запускать и писать программы под него можно на той же конфигурации, что и для MSSQL, но для промышленной эксплуатации железо под нее нужно очень дорогое.
2B OR NOT(2B) = FF
спасибо за ответы, доступно и понятно, юзаю My SQl
)

-
- Сообщения: 1228
- Зарегистрирован: 26 фев 2004, 13:24
- Откуда: Pietari, Venäjä
- Контактная информация:
MS SQL проще и попсовей для новичка, т.к там гуевые визарды.спасибо за ответы, доступно и понятно, юзаю My SQL
У MySQL приемущества не в простоте:
1) Бесплатность
2) Он стоит у большинства хостеров.
2B OR NOT(2B) = FF
Потерять информацию легко используя любой SQL сервер. В плане надежности MySQL не хуже, а в некоторых случаях даже лучше чем другие. По поводу "...форумов с одной таблицей..."... Я бы сказал от "...форумов с одной таблицей..." и до "...очень больших баз данных...".Absurd писал(а):MySQL - Для веб - форумов с одной таблицей и допустимостью потери информации.
Все зависит от Вашего умения настраивать, оптимизировать и администрировать SQL Server.
:lol: Absurd, MSSQL, также как и Sybase лочит страницами! И только тогда когда количество залоченных страниц превышает определенный параметр лочится вся таблица!Absurd писал(а): MS SQL - Для бизнес-проектов среднего размера. Когда один пользователь модифицирует таблицу, блокируется сама таблица и все ее индексы, так что все кто хотят получить данные из этой таблицы стоят на паузе и ждут. Так что ее надо использовать оптимально где-то для 30 пользователей.
Absurd писал(а): Oracle - для очень больших баз данных. Там используется многоверсионная система работы с данными, так что каждый пользователь модифицирует только свою версию данных, а потом фиксирует (commit) изменения, чтобы другие пользователи их увидели. Пока он не зафиксирует изменения, все другие пользователи будут получать предыдущую версию данных. В результате можно читать данные, пока другие пользователи их модифицируют. Это позволяет эффективно работать с очень большим количеством пользователей.
Кстати, мультиверсионниками являются не только Oracle, но и Interbase/Firebird, а также и MySQL... 8)
Absurd писал(а): GUI утилиты (например TOAD) надо покупать отдельно за большие деньги, иначе придется пользоваться консольными утилитами в стиле Уникс. Запускать и писать программы под него можно на той же конфигурации, что и для MSSQL, но для промышленной эксплуатации железо под нее нужно очень дорогое.
Ну и по поводу утилит... К MySQL идет куча различных бесплатных утилит. Работает он на множестве различных платформ. Ну и требования к железу у него небольшие

Отставить макать капитана! ©MSSQL, также как и Sybase лочит страницами! И только тогда когда количество залоченных страниц превышает определенный параметр лочится вся таблица!

Даже самый дурацкий замысел можно воплотить мастерски
AiK писал(а):Отставить макать капитана! ©Точно с какой версии не скажу, но и в Syabase 12.5 и в MS SQL 2000 уровень блокировки может меняться от записи до БД. И так, для справки, между страницей и таблицей есть ещё и экстент.

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