Альтернативы SQL Server Express за пределами 2 ГБ - PullRequest
3 голосов
/ 08 октября 2010

В нашем проекте (который полностью разработан с использованием .NET) мы используем базу данных среднего размера размером около 2 ГБ.В настоящее время мы используем редакцию SQL Express;

Как работают альтернативы для SQL Server Express?Я в основном рассматриваю MySQL и PostgreSQL.(Windows 7 x86, x64)

  • Есть ли какое-либо убедительное преимущество в использовании MySQL или PostgreSQL?
  • Как насчет поддержки нативных объектов .NET?
  • ВстроенныйТипы XML?
  • Поддержка двоичных данных?
  • Поддержка аналогичного инструмента, как Management Studio?
  • Простота установки?
  • Объем памяти?
  • Сравнение производительности этих 3 баз данных?

Стоит ли даже рассматривать эти альтернативы, особенно учитывая тот факт, что мы являемся магазином .NET?

Я ссылался на эти связанныевопросы:

Ответы [ 4 ]

11 голосов
/ 08 октября 2010

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

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

PostgreSQL - действительно хороший вариант.Лицензия BSD бесплатна для использования и изменения источника.Нет ограничений на данные много функций.Но если время установки является вашей основной причиной, чтобы оставить SQL Express, PostgreSQL довольно быстро устанавливается на Windows или Linux, насколько я не знаю, потому что мне все равно, займет ли это 1 минуту или 10 минут в моих системах.На Linux-боксе очень быстро, если вы предварительно скомпилируете его или используете установку пакета, я бы сказал, менее чем за 10 минут.

Как насчет поддержки нативных объектов .NET?Не уверен, что это такое.

Встроенные типы XML?PG да.

Поддержка двоичных данных?PG да.

Поддержка подобного инструмента, как Management Studio?PG да pgadmin или несколько сторонних поставщиков.

Простота установки?Легко с большим количеством опций, чем SQL Server.Например, вы можете скомпилировать страницу с другим размером, если хотите.

Объем памяти?Может быть маленьким или большим в зависимости от того, как вы настраиваете параметры памяти.

Сравнение производительности этих 3 баз данных?Ну, SQL Express не может вместить более 4-10 ГБ, забывайте, что может сделать 2008 Express.Таким образом, вы не сравниваете яблоки с апельсинами здесь.Но я бы сказал, что все они могут работать хорошо, если используются правильно.PG работает очень хорошо.

Стоит ли даже рассматривать эту альтернативу (особенно учитывая тот факт, что мы магазин .NET)?Да, это стоит рассмотреть, но зависит, если стоимость имеет значение для вас.Я думаю, что в какой-то момент вы вырастите экспресс-версию и начнете покупать платную версию.Microsoft знает, как продавать, и это часть модели, которую вы будете развивать.Вы не ошибетесь с PostgreSQL, если у вас есть возможность протестировать его и проверить в своей среде, используйте это время для сравнения.Не просто по умолчанию SQL Server, потому что ваш магазин .NET.

Более старая публикация, которая добавляет к этому и еще более актуальна сегодня.http://archives.postgresql.org/pgsql-advocacy/2005-07/msg00008.php

1 голос
/ 09 октября 2010

Я бы согласился с PG в отношении StarShip3000.

Что касается MySQL, я думаю, что это слишком обреченная речь о владении Orcle.Он все еще разрабатывается как Open Source.Может быть, они продают коммерческую версию, но они уже сделали это, хотя, как и в MySQL AB.

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

Например, MySQL наиболее известен тем, что он является супер-быстрой и быстрой СУБД.И это.Когда таблицы используют движок MyISAM.Что это значит?Означает, что даже простое требование согласованности внешних ключей не будет доступно.Тогда вы можете представить обо всем остальном.

Если вы используете движок InnoDB для таблиц MySQL, то вы можете рассчитывать с FK, безопасными транзакциями, но с производительностью не так быстро (почти на том же уровне, что и PostgreSQL, чтоэто хорошо).Ах, и вы не можете сосчитать, например, с помощью функции полнотекстового поиска.

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

Postgre, которыймой выбор, полнофункциональный.Не обладает производительностью таблиц MyISAM, но достаточно быстр.

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

Парсер запросов - это фрагмент, который анализирует запрос и решает, какой план следует соблюдать для извлечения данных, которые вы запросили.Когда он анализирует запрос, он может получить несколько разных способов извлечения одних и тех же данных.Он выбирает наиболее вероятно быстро и выполнить.Но иногда он выполняет и другие планы, чтобы проверить, хорошо это или нет.И записывает статистику об этих запусках.

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

Хорошо, я слишком много говорил.

Что ж, я действительно не знаю M $ Express Server, так что я могу 'не говорить об этом.Но теперь я думаю, что у вас есть лучшая панорама о Postgre и MySQL.

Cheers.

1 голос
/ 09 октября 2010

Текущие версии


  • SQL Server 2008R2
  • PostgreSQL 9.0


Сравнение функций



Тесты


1 голос
/ 08 октября 2010

Если вы используете такие вещи, как LINQ to SQL, потребуется немного больше внимания, чтобы заставить его работать, а MySQL и PostgreSQL не очень хорошо поддерживаются.

Я наконец достиг того, что хотел с MySQL, используя DBLinq, но это заняло некоторое время.

...