Сведения о вопросе

FUTER

10:15, 11th August, 2020

Теги

sql   database    

Как выбрать базу данных SQL?

Просмотров: 352   Ответов: 6

Мы живем в золотой век баз данных, с многочисленными высококачественными коммерческими и бесплатными базами данных. Это здорово, но недостатком является то, что нет простого очевидного выбора для того, кто нуждается в базе данных для своего следующего проекта.

  • Какие ограничения / критерии вы используете для выбора базы данных?
  • Насколько хорошо различные базы данных, которые вы использовали, соответствуют этим constraints/criteria?
  • Какие особенности имеют базы данных?
  • Какие базы данных вы чувствуете себя комфортно, рекомендуя другим?

и т.д...



  Сведения об ответе

lesha

00:42, 28th August, 2020

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

С другой стороны, рассмотрим также опыт и опыт разработчиков, операторов, администраторов платформ.

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

И последнее, но не менее важное: вы должны думать о таких вопросах бизнеса, как бюджет лицензий, поддержка, эксплуатация.

После всех этих соображений вы должны в конечном итоге получить всего несколько вариантов, и выбор должен быть проще.

Другими словами, выберите технологию, которая наилучшим образом соответствует ограничениям и потребностям вашей организации и проекта.

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


  Сведения об ответе

padenie

07:22, 26th August, 2020

Мои критерии отбора (в основном ориентированные на Программирование):

  • Обслуживание: как устанавливаются обновления / исправления?
  • Контроль транзакций: как он реализуется
  • Поддерживаются ли хранимые процедуры?
  • Можно ли использовать обработку исключений в хранимых процедурах?
  • Расходы
  • Как преимущество: можно ли использовать рекурсию для хранимых процедур? (E.g. в SQL Server 2000 рекурсия останавливается после 32 проходов IIRC)


  Сведения об ответе

#hash

16:30, 12th August, 2020

Для большинства людей в корпоративной среде выбор сводится к "the one we have".

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

Самым большим критерием может быть стоимость. Вы хотите / готовы ли вы заплатить за свою платформу DBMS? Если нет, то Oracle, MS SQL Server, Sybase и другие, вероятно, отсутствуют, хотя если вы не создаете коммерческое приложение, тогда может быть какая-то комната для маневра. Кроме того, платформа-вы можете запустить программное обеспечение на своем оборудовании?

Другие измерения для рассмотрения могут включать ожидаемое количество одновременных подключений, транзакционные vs в основном читает, размер, доступность и я думаю, много других.

"Special features", в основном, следует избегать - в моем циничном мировоззрении они предназначены для того, чтобы запереть вас на платформе. Таким образом, что-то вроде PL/SQL Oracle-это функция, которая, хотя и мощная (и, вероятно, означает необходимость дополнительной мощности CPU при более высокой стоимости лицензирования), не является портативной. Если вы ожидаете очень больших объемов, то разделение может быть полезно, я полагаю.

Я работал с сервером Oracle, MS SQL, MySQL, PostreSQL, SQLite и Sybase, о которых я могу думать. Я бы с радостью рекомендовал все, кроме Sybase, о которых у меня есть некоторые проблемы в эти дни (я мог бы легко ошибаться, но лично я думаю, что деньги можно было бы лучше потратить в другом месте), но не все для тех же приложений.

В идеале, мне нравится иметь теплое чувство, что на самом деле не имеет значения, какую платформу DB я использую, потому что я могу легко переносить. С хорошим уровнем абстракции между данными и бизнес-логикой я должен иметь возможность разрабатывать локально, скажем, отличные SQLite и безболезненно реализовывать, например, Postgres. С чем-то вроде ActiveRecord от Rails в сочетании с небольшим пониманием таких вещей, как различия в зарезервированных словах, это почти полностью бесплатно.


  Сведения об ответе

DINO

13:12, 23rd August, 2020

Безусловно, наиболее убедительным фактором является опыт вас или вашего team...or пула ресурсов, которые вы, вероятно, наймете в будущем. Я бы, как правило, пошел с зерном большую часть времени, используя MySQL в команде LAMP и SQL сервера в команде MS, так как любой из этих продуктов способен делать все необходимое даже в среде с высокой нагрузкой.

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

a. очевидный выбор был опробован и терпит неудачу

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

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

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


  Сведения об ответе

LAST

16:41, 5th August, 2020

Существующие ответы великолепны. Стоит иметь в виду, что Oracle теперь имеет версию XE своей базы данных 10g, которая доступна бесплатно и поставляется с Application Express, отличной веб-средой разработки.

Он ограничен, 4 ГБ HD, 1 ГБ Ram и использует только один CPU. Этого достаточно, чтобы запустить меньшую систему, хотя и может быть легко обновлен позже, если это необходимо. Oracle может быть одним из самых сложных для изучения, но также является одним из лучших, чтобы иметь на вашем CV :-)

Я думаю, что SQLServer от Microsoft также имеет базу данных типа 'starter'. Не сбрасывайте со счетов коммерческие продукты - если вы собираетесь поставить свою компанию на технологию баз данных, я бы предпочел использовать продукт от Oracle или Microsoft лично. Это не значит, что с открытым исходным кодом что-то не так.

Потратьте некоторое время на их оценку :-)


  Сведения об ответе

ЯЯ__4

11:15, 7th August, 2020

  • Linux, веб - MySQL (PostreSQL может)
  • Мейнстрим SME-МС SQL
  • Большой утюг (банкинг ЕТК) - Oracle

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

  1. Борьба за то, чтобы найти людей для работы над проектом или сохранить базу данных
  2. Изо всех сил старайтесь мотивировать свое решение без академической дискуссии
  3. Кто - то проклянет тебя, твоих предков и твою родословную через несколько лет-и все равно заменит твой выбор.

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


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться