Каковы существенные различия между базами данных?

Также убедитесь, что обновили виртуальную машину Oracle VM Virtual Box. Я пробовал все, но позже понял, что проблема связана с использованием более старой версии Virtual Box.

14
задан 11 revs, 2 users 100% 14 July 2009 в 19:49
поделиться

11 ответов

SQL Server имеет созданный в опции Auto Incrementing, которую можно добавить к столбцу, когда Вы хотите простое целое число постепенного увеличения для таблицы.

В Oracle, необходимо создать последовательность и применить соответствующий триггер, чтобы иметь его сам инкремент.

3
ответ дан 1 December 2019 в 06:59
поделиться

Вот являются некоторые функции приблизительно SQL Sybase Где угодно , что (AFAIK) не существуют в других продуктах базы данных:

  • шифрование уровня таблицы
  • сжатие столбца (доступный как опция с Версией для предприятий Oracle, встроенной ко всем версиям SA)
  • , хранимые процедуры могут быть записаны в SQL, Java, жемчуге, php, C/C++, C# или VB.NET

Полное раскрытие: Я работаю на Sybase - я - разработчик на SQL Где угодно команда сервера. Это не предназначено как реклама или распутство представителя. Если требуется, я отмечу этот ответ как общественную Wiki.

3
ответ дан 1 December 2019 в 06:59
поделиться

Существенное различие между MySQL и почти любая база данных там, за исключением SQLite, то, что MySQL только знает один вид соединения - вложенный цикл.

Это хорошо для вида OLTP, базовый MySQL рабочей нагрузки был якобы разработан для (те же принципы разработки, ведомые к не реализованию опций как триггеры, представления и подзапросы некоторое время), но это смертельно для основной работы OLAP. Не делайте честное слово, читайте Peter Zaitsev: http://peter-zaitsev.livejournal.com/758.html . Это также ужасно медленно на подзапросах, которые это училось делать просто недавно. Небольшие шаги, я предполагаю..

Oracle очень усовершенствована, имеет много функций и многие из них стоившие дополнительные деньги. Это - перенос, чтобы настроить и поддерживать; но если можно предоставить DBAs и обслуживание, он работает очень хорошо. Я упоминал стоимость и обслуживание? Просто мысль я повторил бы это. Только уважение к инженерам Oracle, тем не менее, они создали некоторый потрясающий материал.

Одно место, где Oracle перестала работать (также, как и большинство других) является рабочими нагрузками мультитерабайта. Для этого Вы хотите перейти к специалистам как Teradata (лучше всего в классе, чрезвычайно дорогом), Greenplum, AsterData, Netezza и другие.

я услышал только хорошее о SQL Server - кроме того, что он работает только в Windows.

MySQL легко настроить, быстро для OLTP, и обычно проявляет подход выполнения немногих вещей и выполнения их хорошо.

PostgreSQL является видом противоположного - это - любимая детская площадка исследователя базы данных, что означает, что это имеет дюжину различных стратегий соединения, механизмов устройства хранения данных, усовершенствованных дополнительных пакетов и все виды материала. Это медленнее, чем MySQL при выполнении вещей, MySQL преуспевает и уносит его из воды при выполнении вещей, которые просто не знает MySQL, как сделать (см. выше с хэшированиями).

DB2, как предполагается, хорош; никакой личный опыт. Это лучше быть хорошим, со всеми теми людьми в Альмадене.. То же с Sybase.

2
ответ дан 1 December 2019 в 06:59
поделиться

ПОДКЛЮЧЕНИЕ Oracle является ограниченной версией рекурсивного SQL стандартного SQL. DB2s и рекурсивные "общие выражения таблицы MSSQLs" немного более тверды кодировать, но предложить больше питания, чем ПОДКЛЮЧЕНИЕ Oracle. (Следующая версия базы данных Oracle должна получить реальный рекурсивный SQL, все же.)

Флэшбэк является действительно уникальной функцией Oracle, которая отражает, как глубоко MVCC встроен в Oracle. MVCC - то, как Oracle имеет дело с параллелизмом, в противоположность традиционной пессимистической блокировке; и обработка параллелизма является одним из мест, где существует большое различие между базами данных (хотя большинство систем управления базами данных переезжает от параллелизма только на основе пессимистической блокировки). То, что сборки Oracle к твердо на MVCC являются значительным преимуществом, по-моему.

Относительно результатов TOP: Все системы управления базами данных имеют способы сделать это.

Кроме этого:

мудрый SQL: Oracle имеет самую усовершенствованную и совместимую стандартами обработку даты и времени. Oracle сильна на связанных с OLAP функциях (но так и DB2 и MSSQL; функции OLAP являются областью, где системы управления базами данных с открытым исходным кодом испытали некоторые затруднения при поддержании на высоком уровне). В последнее время Oracle, кажется, в основном проигнорировала стандарт SQL, в тех его стандартах застаивается соответствие (в отличие от MSSQL, например, который улучшился много здесь); я возлагаю ответственность за это на высокомерие из-за большой доли рынка Oracle.

Концептуально: Oracle и MySQL являются примерами двух совсем других способов обработать базы данных. В Oracle это берет навсегда для создания базы данных, и база данных является очень тяжелым объектом веса, таким образом, в мире Oracle, база данных имеет тенденцию содержать много таблиц, возможно в различных "схемах". В MySQL база данных является очень легким объектом, таким образом, MySQLers склонны иметь много баз данных, которые сравнительно меньше таблиц в каждом (который является, вероятно, почему они, кажется, не жалуются на отсутствие MySQL схем).

Oracle (как DB2) является примером DBMS, который почти включает всю операционную систему: Это выполняет много функций, которые DBMS как MSSQL/MySQL/PostgreSQL позволил бы файловой системе операционной системы и системам виртуальной памяти обработать. Лично, я предпочитаю последний подход, но путь Oracle заставляет Oracle работать почти так же, неважно, какая операционная система используется.

По сравнению с MSSQL, Oracle работает на значительно большем количестве платформ (как большинство других систем управления базами данных; MSSQL является, вероятно, единственный важный DBMS, который только работают на Windows).

Oracle предлагает другой способ кластеризироваться, чем большинство других систем управления базами данных: RAC. Я услышал много страшных историй о RAC, но если можно получить его работа, вероятно, справедливо сказать, что у Вас есть очень мощное (и дорогой) решение по кластеризации.

Относительно управления, я нахожу, что Oracle удивительно сложна для управления, по сравнению с большинством других систем управления базами данных.

Затем существуют серьезные различия в оценке, конечно: оценка Oracle очень высока, и повышение.

23
ответ дан 1 December 2019 в 06:59
поделиться

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

я предлагаю, чтобы большинство людей обычно нашло несколько определенных вещей быть значительным:

  • производительность
  • совместимость
  • мобильность
  • расширенные функции
  • простота использования
  • стоила

, относительная значимость этих характеристик базы данных, кажется, варьируется, прежде всего, на основе того, находится ли намерение в [1 122] программирование в-большом или в-маленьком . Так как я главным образом работаю в мире программирования в-большом, я буду говорить оттуда. Когда я работаю (обычно над своими собственными проектами) в мире программирования в-маленьком, я обычно все еще склоняюсь к своим решениям для мира в-большом, так как мне легко достаточно, и я предпочитаю сохранять меня от головных болей того, чтобы передумать позже, когда мой проект растет. Я заметил, что много проектов с открытым исходным кодом страдают огромный, иногда фатальный, боли роста, когда их следующее вынуждает их пересечь порог от в-маленьком до в-большом.

Мое первое беспокойство - то, что я должен всегда мочь передумать о своем выборе поставщика базы данных и продукта, таким образом, совместимость является королем, и мобильность является королевой. Имея это в виду, я сильно предпочитаю рассматривать базу данных как носитель только, таким образом, я стараюсь не помещать любой код в базу данных, и я избегаю любых функций, которые не относятся к устройству хранения данных или характерны для поставщика или продукта. Для RDBMS совместимость, прежде всего, означает соответствие стандарта ANSI SQL, таким образом, я сразу отклоняю любой продукт, который не довольно совместим. Так как я работаю в мирах Linux, Unix и Windows, мобильность означает доступность на всех тех платформах.

Мой код принадлежит вместе и лучшей среды для него - не разделенный на хромую среду механизма базы данных; другой аспект того, что это означает рассматривать базу данных как просто носитель. Поэтому кодирующие функции ограничили отношение ко мне. В очень редком случае я создам код в базе данных для триггера или некоторых удобных функций, таким образом, я буду ожидать соответствие ANSI SQL для основных возможностей, и это - все.

у меня обычно есть много данных, таким образом, производительность важна, и я готов обменять некоторую простоту в употреблении для получения ее. Я не возражаю против тяжелой установки базы данных или сложной структуры базы данных, если у меня есть некоторые основные инструменты, чтобы упростить и автоматизировать процесс. Это означает, что я должен смочь написать сценарий установки механизма базы данных (двоичные файлы), а также моя структура базы данных и данные. Будучи вынужденным использовать GUI, как единственная опция, для важных задач базы данных недопустимо.

Иногда, обычно от имени производительности, я считаю необходимым использовать определенную функцию, которая управляет мной конкретному поставщику или даже конкретному продукту. Я прилагаю все усилия, чтобы изолировать ту зависимость и сохранить мою опцию переключиться на другого поставщика или продукт, не жертвуя преимуществом от той специальной функции. Я мог бы даже создать всю систему вокруг специального значения, полученного на такую определенную для поставщика или определенную для продукта функцию, но только путем явного принятия стоимости того, что сделал так. Стоимость ограничения опций, кажется, перевешивает любую форму стоимости.

, Очевидно, цена для покупки механизма базы данных является стоимостью, но так является потерей свободы в том, как использовать его. Поэтому я оцениваю продукты с открытым исходным кодом ОЧЕНЬ высоко.

Наконец, я часто ограничиваюсь решениями других, такими как мои клиенты. Поэтому я далее пытаюсь быть гибким в размещающем выборе, который я не сделал бы сам.

, Учитывая все это, мое основное предпочтение механизма базы данных является SQLite, потому что его совместимость, мобильность и свобода использования затмевают всех других.

1117-секундный, я люблю Oracle, и я предпочитаю его для программирования в-большом. Это не дешево, но это может сделать то, в чем я, возможно, нуждался бы с лучшим соединением совместимости, мобильности, производительности и функций.

В-третьих, я использую Microsoft SQL Server, когда мои клиенты требуют его. Я поддерживаю навык и совместимость с ним, потому что это является слишком доминирующим на рынке для игнорирования. Это могло бы даже иметь специальную функцию, в которой я нуждаюсь когда-нибудь, хотя я должен все же встретиться с той ситуацией.

я избегаю MySQL из-за его отсутствия совместимости, но я часто поддерживал его как чужой выбор. Я рассмотрел это для своего основного предпочтения, но мой всесторонний обзор его характеристик прояснил, что нельзя с готовностью сместить кодовую базу между ним и любым совместимым ANSI SQL RDBMS. Для меня, который абсолютно недопустим.

Между прочим, моя цель для такого сдвига к другому механизму базы данных является несколькими минутами приблизительно до недели (сорок часов). Так как я переношу свой доступ к базе данных со слоем совместимости, я нахожу, что могу обычно переключать механизмы базы данных в течение нескольких часов самое большее. Часто, мои приложения могут поддерживать несколько механизмов базы данных одновременно (через простое изменение конфигурации при запуске).

С наилучшими пожеланиями.

2
ответ дан 1 December 2019 в 06:59
поделиться

MySQL: ЗАМЕНА . Это, "УДАЛЯЮТ, затем ВСТАВЛЯЮТ", который Заменит существующую строку.

1
ответ дан 1 December 2019 в 06:59
поделиться

И SQL Server и MySQL не поддерживают стандарт "двойной канал" для конкатенации строк, в то время как любой DB кажется. (Обновление: по-видимому, MySQL действительно... видит ниже)

, Но это могло быть зафиксировано... в коде для MySQL, и через http://connect.microsoft.com/SQLServer/feedback/ViewFeedback.aspx?FeedbackID=259291 для SQL Server.

1
ответ дан 1 December 2019 в 06:59
поделиться

Я - разработчик на SQL Sybase Где угодно команда сервера. Я мог отправить все виды информации здесь о функциях SQL Anywhere (SA) и таком, если Вы хотите, хотя я не хочу быть downvoted в забвение для регистрации рекламы. Не стесняйтесь связываться со мной непосредственно, если Вы хотите больше информации.

Вот ответы на существующие ответы:

  • SA также поддерживает автоинкремент
  • поддержки SA || для конкатенации строк
  • поддержки SA insert ... on existing update для того, чтобы сделать отдельного оператора, который может и вставить новые строки и обновить существующие
1
ответ дан 1 December 2019 в 06:59
поделиться

Мне нечего добавить, кроме как сказать, что Sybase ASE, по моему мнению, рыжий сводный ребенок RDBMS '. В нем отсутствуют многие удобные функции, которые вы принимаете как должное в SQL Server или Oracle (и даже в других разновидностях Sybase), вы не можете связывать серверы и выполнять распределенные запросы без сторонних инструментов, инструменты управления Sybase и IDE ограничены и очень ограничены. бедный (опять же мое мнение), и с ним просто больно работать. Я предполагаю, что есть причина, по которой Sybase имеет только 3% доли рынка.

Примечание: если, как и я, вам нужно работать с несколькими RDBMS ', и вам нужен хороший инструмент для этого, посмотрите Aqua Data Studio из AquaFold . Я только начал использовать это, и это действительно хорошо. Он также имеет несколько полезных утилит, таких как ER моделирование и встроенные инструменты сравнения.

0
ответ дан 1 December 2019 в 06:59
поделиться

Я не знаю для другого сервера базы данных, но с PostgreSQL вы можете

INSERT INTO mytable
   ( field_1, field_2,... ) 
VALUES
   ( value_1, value_2 )
RETURNING anyfield

anyfiel d должно быть полем mytable , конечно.

Очень интересно, когда anyfield является автоинкрементом.

см. PostgreSQL - INSERT

0
ответ дан 1 December 2019 в 06:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: