Как зайти в Даркнет?!
25th January, 01:11
5
0
Как в tkinter из поля ввода Entry получить значение в одну переменную и обновить строку кнопкой, затем получить ещё одно введённое значение и затем сложить их. Ниже пример кода
21st July, 19:00
893
0
Программа, которая создает фейковые сервера в поиске игровых серверов CS 1.6 Steam
21st March, 17:43
948
0
Очень долго работает Update запрос Oracle
27th January, 09:58
912
0
не могу запустить сервер на tomcat HTTP Status 404 – Not Found
21st January, 18:02
905
0
Где можно найти фрилансера для выполнения поступающих задач, на постоянной основе?
2nd December, 09:48
938
0
Разработка мобильной кроссплатформенной военной игры
16th July, 17:57
1724
0
период по дням
25th October, 10:44
3955
0
Пишу скрипты для BAS только на запросах
16th September, 02:42
3720
0
Некорректный скрипт для закрытия блока
14th April, 18:33
4613
0
прокидывать exception в блоках try-catch JAVA
11th March, 21:11
4381
0
Помогите пожалуйста решить задачи
24th November, 23:53
6086
0
Не понимаю почему не открывается детальное описание продукта
11th November, 11:51
4350
0
Нужно решить задачу по программированию на массивы
27th October, 18:01
4396
0
Метода Крамера С++
23rd October, 11:55
4309
0
помогите решить задачу на C++
22nd October, 17:31
4002
0
Помогите решить задачу на python с codeforces
22nd October, 11:11
4492
0
Python с нуля: полное руководство для начинающих
18th June, 13:58
2599
0
Как выбрать базу данных SQL?
Мы живем в золотой век баз данных, с многочисленными высококачественными коммерческими и бесплатными базами данных. Это здорово, но недостатком является то, что нет простого очевидного выбора для того, кто нуждается в базе данных для своего следующего проекта.
- Какие ограничения / критерии вы используете для выбора базы данных?
- Насколько хорошо различные базы данных, которые вы использовали, соответствуют этим constraints/criteria?
- Какие особенности имеют базы данных?
- Какие базы данных вы чувствуете себя комфортно, рекомендуя другим?
и т.д...
Я бы сначала подумал о том, каковы системные требования для доступа к данным, безопасности данных, масштабируемости, производительности, отключенных сценариев, преобразования данных, размера данных.
С другой стороны, рассмотрим также опыт и опыт разработчиков, операторов, администраторов платформ.
Вы также должны подумать о том, какие ограничения у вас есть в отношении языков программирования, операционных систем, объема памяти, пропускной способности сети, аппаратного обеспечения.
И последнее, но не менее важное: вы должны думать о таких вопросах бизнеса, как бюджет лицензий, поддержка, эксплуатация.
После всех этих соображений вы должны в конечном итоге получить всего несколько вариантов, и выбор должен быть проще.
Другими словами, выберите технологию, которая наилучшим образом соответствует ограничениям и потребностям вашей организации и проекта.
Я, конечно, думаю, что вы правы, говоря, что это не очевидный выбор, учитывая большое количество альтернатив, но это единственный способ, я думаю, вы можете сузить их до тех, которые действительно возможны для вашего проекта.
Мои критерии отбора (в основном ориентированные на Программирование):
- Обслуживание: как устанавливаются обновления / исправления?
- Контроль транзакций: как он реализуется
- Поддерживаются ли хранимые процедуры?
- Можно ли использовать обработку исключений в хранимых процедурах?
- Расходы
- Как преимущество: можно ли использовать рекурсию для хранимых процедур? (E.g. в SQL Server 2000 рекурсия останавливается после 32 проходов IIRC)
Для большинства людей в корпоративной среде выбор сводится к "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 в сочетании с небольшим пониманием таких вещей, как различия в зарезервированных словах, это почти полностью бесплатно.
Безусловно, наиболее убедительным фактором является опыт вас или вашего team...or пула ресурсов, которые вы, вероятно, наймете в будущем. Я бы, как правило, пошел с зерном большую часть времени, используя MySQL в команде LAMP и SQL сервера в команде MS, так как любой из этих продуктов способен делать все необходимое даже в среде с высокой нагрузкой.
Преимущества любой другой базы данных будут незначительными по сравнению с болью от обучения тому, как хорошо ее использовать. Единственное исключение из этого, на мой взгляд, было бы в среде с высоким спросом, где:
a. очевидный выбор был опробован и терпит неудачу
b. преимущества масштабирования умножают предельную выгоду до такой степени, что это будет стоить затрат на использование чего-то неожиданного.
Я бы предположил, что нужно нанять по крайней мере двух, а лучше трех отличных DBAs с долгосрочным знакомством с новой базой данных.
И сначала я бы попытался нанять их для технологии, которая терпит неудачу, потому что это, скорее всего, будет так, как она используется, чем сама технология, которая вызывает проблему.
Существующие ответы великолепны. Стоит иметь в виду, что Oracle теперь имеет версию XE своей базы данных 10g, которая доступна бесплатно и поставляется с Application Express, отличной веб-средой разработки.
Он ограничен, 4 ГБ HD, 1 ГБ Ram и использует только один CPU. Этого достаточно, чтобы запустить меньшую систему, хотя и может быть легко обновлен позже, если это необходимо. Oracle может быть одним из самых сложных для изучения, но также является одним из лучших, чтобы иметь на вашем CV :-)
Я думаю, что SQLServer от Microsoft также имеет базу данных типа 'starter'. Не сбрасывайте со счетов коммерческие продукты - если вы собираетесь поставить свою компанию на технологию баз данных, я бы предпочел использовать продукт от Oracle или Microsoft лично. Это не значит, что с открытым исходным кодом что-то не так.
Потратьте некоторое время на их оценку :-)
- Linux, веб - MySQL (PostreSQL может)
- Мейнстрим SME-МС SQL
- Большой утюг (банкинг ЕТК) - Oracle
Думать о чем - либо, кроме этих трех, - это мастурбация-любая из других баз данных становится дискуссией о нишевых продуктах для решения конкретных проблем, с которыми вы, вероятно, еще не сталкивались. Если вы выберете что-нибудь другое, чем три выше вы будете -
- Борьба за то, чтобы найти людей для работы над проектом или сохранить базу данных
- Изо всех сил старайтесь мотивировать свое решение без академической дискуссии
- Кто - то проклянет тебя, твоих предков и твою родословную через несколько лет-и все равно заменит твой выбор.
Нишевые базы данных не являются тем местом, где сделаны архитектурные шаги - это технологии, такие как промежуточное программное обеспечение, обмен сообщениями, сервисы cloud и т. д., Где вы можете позволить себе (и должны) выйти на конечность, чтобы найти хорошие продукты.