Могу ли я запустить свой веб-сайт в базе данных SQLite? - PullRequest
8 голосов
/ 02 октября 2009

Я собираюсь создать новый личный сайт блога / портфолио (который будет написан на ASP.NET) и собираюсь запустить его для базы данных SQLite. Для этого есть несколько причин:

  1. На сайте много не получишь о трафике, и из того, что я прочитал, SQLite может поддерживать довольно много одновременных пользователей для чтения в любом случае
  2. Я могу создать резервную копию всего контента легко, просто скачав БД по FTP
  3. Мне не нужно платить за хостинг компания каждый месяц для огромного База данных SQL2008, что я вряд ли используя

Итак, я должен пойти на это, или это сумасшедшая идея?

Ответы [ 9 ]

3 голосов
/ 02 октября 2009

Я не совсем уверен насчет # 2 (что произойдет, если SQLite внесет изменения в файл, пока программа FTP его читает?), Но кроме этого, нет причин предпочитать одну БД другой (если только из этих БД просто не может делать то, что тебе нужно).

[РЕДАКТИРОВАТЬ] Используйте онлайн-резервную копию , чтобы создать файл для загрузки по FTP. Это позволит убедиться, что содержимое файла не повреждено.

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

2 голосов
/ 02 октября 2009

Это нормально для сайта с низким трафиком, если он в основном для чтения. Если бы это был я, я бы использовал вместо этого SQL Compact Edition (те же преимущества, что и в Sqlite - один файл, без сервера), просто потому, что я являюсь руководителем LINQ, и поставщики LINQ для него «в коробке», но Sqlite имеет приличную библиотеку LINQ и управляемую поддержку. Убедитесь, что ваша хостинговая компания разрешает неуправляемый код или что вы используете управляемый порт Sqlite (хотя пока не знаете его текущую стабильность).

1 голос
/ 02 октября 2009

Как правило, да.

Но вы должны знать, что SQLite не поддерживает все, к чему вы могли бы привыкнуть из «настоящей» СУБД. Например. нет никаких ограничений, таких как внешние ключи, уникальные индексы и тому подобное, и AFAIK некоторые (более продвинутые) типы данных недоступны.

Вы должны проверить различные ограничения здесь и здесь . Если вы можете справиться с этим, нет причин не использовать SQLite.

1 голос
/ 02 октября 2009

SQLite ответит вам за это:

http://sqlite.org/whentouse.html

низкий средний объем = хорошо, большой объем = не используйте его

в вашем случае можно использовать sqlite

1 голос
/ 02 октября 2009

Практическое правило заключается в том, что если сайт может работать на одном сервере тогда SQLite достаточно. Это то, что создатель SQLite, D. Ричард Хипп , сказал примерно в 13 мин 30 секунд в эпизод 26 еженедельника FLOSS Подкаст.

Прямая аудиосвязь (файл MP3, 24 МБ, 51 мин 15 с).

1 голос
/ 02 октября 2009

Вы должны проверить, но я думаю, что экспресс-версия SQL 2008 бесплатна. Во всяком случае, я работал с SQLite из среды .NET, и он работает довольно хорошо (но я не провел нагрузочный тест). И если вы еще не решили, вы все равно можете использовать поставщика LINQ, который позволит вам позже переключаться с одной базы данных на другую без переписывания кода SQL (я думаю, например, DbLinq ). Если вы планируете делать резервную копию своей базы данных, сначала убедитесь, что она не используется в данный момент.

1 голос
/ 02 октября 2009

SQLite может с этим легко справиться - иди на это.

0 голосов
/ 02 октября 2009

Используете ли вы какие-либо функции SQL? SUM, AVG, SORT BY и т. Д., Если да, используйте SQLite. Если нет, просто используйте простые текстовые файлы для хранения ваших данных. Также убедитесь, что база данных находится вне папки httpdocs или не доступна через Интернет.

0 голосов
/ 02 октября 2009

Я бы сказал нет. Во-первых, я не знаю, кого вы используете для провайдера, но с моим провайдером (goDaddy) это довольно дешево и стоит около 2,99 долларов в месяц. Я получаю 1 дБ сервера SQL и 10 дБ MySQL.
Я не знаю, сколько это может стоить дешевле.

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

...