Альтернативы SQL Server Express за пределами 2 ГБ
В нашем проекте (который полностью разработан с использованием .NET) мы используем базу данных среднего размера размером около 2 ГБ. В настоящее время мы используем SQL Express edition;
Как работают Альтернативы для SQL Server Express? Я в основном рассматриваю MySQL и PostgreSQL. (Windows 7 x86, x64)
- Есть ли какое-либо неоспоримое преимущество в использовании MySQL или PostgreSQL?
- Как насчет поддержки собственных объектов .NET?
- встроенные типы XML?
- Поддержка Двоичного Кода данные?
- поддержка подобного инструмента, как Management Studio?
- Простота установки?
- след памяти?
- сравнение производительности этих 3 баз данных?
Стоит ли вообще рассматривать эти альтернативы, особенно учитывая тот факт, что мы являемся магазином .NET?
Я сослался на эти связанные вопросы:
4 ответа:
Я человек, который не верит только потому, что вы являетесь магазином .NET, что вы должны использовать продукт Microsoft SQL Server, хотя Microsoft любит его, если вы это делаете. Конечно, он очень хорошо связан с собственными библиотеками и инструментами разработки от Microsoft. На мой взгляд, именно на этом преимущества SQL Server действительно заканчиваются, и это скорее даже игровое поле с другими системами баз данных.
MySQL - держитесь от него подальше, вещи стали уродливыми и станут еще уродливее теперь, когда Oracle владеет оно. Не стоит платить за использование второсортной базы данных с открытым исходным кодом, на мой взгляд, когда вы можете использовать PostgreSQL бесплатно и без страха.
PostgreSQL-действительно хороший вариант. Лицензия BSD позволяет свободно использовать и изменять исходный код. Нет ограничений на количество данных функций. Но если время установки является вашей движущей причиной, чтобы оставить SQL Express PostgreSQL устанавливает довольно быстро на Windows или Linux, как быстро я не знаю, потому что мне все равно, занимает ли это 1 минуту или 10 минут на моих системах. на Linux box это действительно быстро, если вы предварительно скомпилируете его или используете установку пакета, я бы сказал, менее 10 минут.
Как насчет поддержки собственных объектов .NET? Не знаю, что это такое.
Встроенные типы XML? ПГ да.
Поддержка двоичных данных? ПГ да.
Поддержка подобного инструмента, как 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
Если вы используете такие вещи, как LINQ to SQL, требуется немного больше внимания, чтобы заставить его работать, а MySQL и PostgreSQL не поддерживаются так хорошо.
Я, наконец, добился того, что хотел с MySQL, используя DBLinq, но это заняло некоторое время.
Текущие Версии
- SQL Server 2008R2
- PostgreSQL 9.0
Сравнение функций
SQL Server 2005 vs MySQL 5 vs PostgreSQL 8.3
Некоторое упоминание SServer2008 было отмечено в сравнении. Я не слишком уверен в различиях между Express edition и enterprise издание.
Контрольные показатели
PostgreSQL 8.3 vs SQL Server 2008
Вывод: PostgreSQL 8.3 (старая версия) может конкурировать с SQL Server и при настройке может превзойти его.
Я бы во многом согласился насчет PG со звездным кораблем, - сказал он.
О MySQL, я думаю, что это слишком много обреченной речи о том, что Orcle владеет им. Он все еще остается разрабатываемым в качестве открытого исходного кода. Может быть, они продают коммерческую версию, но они уже сделали это в то время, как под MySQL AB.
Кроме спекуляций, у меня есть несколько моментов, чтобы вызвать MySQL. Как у него есть несколько хороших подвигов, имеет одинаково плохие моменты.
Например, MySQL наиболее известен как супер-пупер быстрая СУБД. Так оно и есть. Когда таблицы используют движок MyISAM. Что это значит? Это означает, что даже такое простое требование, как согласованность внешних ключей, будет недоступно. Тогда вы можете представить себе все остальное.
Если вы используете InnoDB engine для таблиц MySQL, то вы можете рассчитывать с FK, безопасные транзакции, но производительность не так быстро (довольно на том же уровне, что и PostgreSQL, что хорошо). Ах, и вы не можете рассчитывать с функцией полнотекстового поиска, например.
MySQL это: или у вас есть производительность, или у вас есть прилично управлял базой данных, но никогда и тем и другим.
Postgre, который является моим выбором, является полнофункциональным. Не имеет производительности таблиц MyISAM, но достаточно быстр.
Большинство людей не знает, но Postgre даже более полнофункциональный, чем вы можете себе представить. Позвольте мне рассказать вам, ребята, о приятной вещи на PG. Он рассчитывает волю генетического алгоритма на своем анализаторе запросов.Анализатор запросов-это часть, которая анализирует запрос и решает, какой план должен следовать, чтобы извлечь данные, которые вы спросили. Когда это разбирая запрос, он может достигать нескольких различных способов извлечения одних и тех же данных. Он выбирает наиболее вероятно быстрый и выполняет. Но иногда он выполняет и другие планы, чтобы проверить, хорошо это или нет. И регистрирует статистику по этим пробегам.
С течением времени, он знает, через статистику, какой самый быстрый план запустить, поэтому он становится быстрее сам по себе. Как много вы используете его, быстрее он получает. Если таблицы меняются, этот процесс позволяет ему оптимизировать себя.
Ладно, я тоже говорил. много.
Ну, я действительно не знаю сервера M$ Express, поэтому, я не могу говорить об этом. Но теперь я думаю, что у вас есть лучшая панорама о Postgre и MySQL.
Ура.