С этот вопрос ..
SQLite используется главным образом в целях разработки только потому, что довольно просто настроить базу данных без особых проблем, однако она, безусловно, менее эффективна с точки зренияпараллелизм (что весьма вероятно для веб-приложений), чем что-то вроде MySQL.Поэтому независимо от того, используете ли вы SQLLite в разработке или нет, настоятельно рекомендуется использовать MySQL (или что-то подобное) в производстве.
Для полноты картины SQLite также используется в программном обеспечении «все в одном пакете» (например,как мобильную разработку), в которой вы можете легко связать файл SQLite с вашим приложением.
Как указано на Веб-сайте SQLite :
SQLite не предназначен длябыть движком базы данных предприятия.Он не предназначен для конкуренции с Oracle или PostgreSQL.
и
Другой способ взглянуть на SQLite заключается в следующем: SQLite не предназначен для замены Oracle.Он предназначен для замены fopen ().
С точки зрения преимуществ Ruby на самом деле не так много преимуществ, поскольку библиотеки / ORM (то есть Active Record) действительно абстрагируют различия между двумя системами.чтобы создать единый уровень доступа в одной оболочке.
Проверьте этот вопрос из stackoverflow И проверьте этот Google.com :)
Прочитайте это
Вопрос о том, когда следует использовать SQLite и когда следует использовать MySQl, поднимался снова и снова.Чтобы знать, когда и где целесообразно использовать системы управления базами данных SQLite или MySQL, прежде всего важно знать, в чем разница между ними, если вообще есть какая-либо разница.
В двух словахSQLite - это библиотека с открытым исходным кодом, которая реализует автономное транзакционное ядро базы данных SQL, которое не требует сервера и работает практически без конфигурации.С другой стороны, MySQL также является и Системой управления реляционными базами данных с открытым исходным кодом.
Рассматривая вопрос ответа на этот вопрос, я предоставил подробный список некоторых вещей, которые SQLite способен выполнять хорошо, и у меня естьпо сравнению с MySQL
SQLite:
- прост в настройке, и во многих случаях не требуется достаточно больших настроек или конфигурации для использования в базах данных, которые выпонадобится только на временной основе или для целей тестирования
- не подходит, когда требуется управление пользователями, поскольку SQLite использует разрешения файловых систем, поэтому вы не сможете использовать операторы SQL, такие как GRANT и REVOKE.
- подходит для использования во встроенных приложениях и установках и встраивается в сами приложения
- отлично подходит для быстрой разработки
- отсутствует функция измерения производительности
- не подходит для параллелизматранзакции по базам данных обязательны
- не подходит для крупномасштабных баз данных, поскольку SQLite хранит базу данных в одном файле, и это может подпадать под ограничения операционной системы, где SQLite не способен разбивать данные по томам.
- не подходит для использованияв любой ситуации, когда требуется архитектура клиент / сервер, подходящая для использования на веб-сайтах малого и среднего размера.Это веб-сайты со средним числом посещений не более 100 тыс. В день.
- Трудно масштабируемые.Изменение таблиц в SQLite не допускается, за исключением добавления столбцов и переименования таблиц
- , подходящих для замены файлового хранилища Ad-hoc, обычно когда приложения обращаются к файлам с помощью fopen (), fread () и fwrite ().
- Не подходит в ситуации, когда необходимы хранимые процедуры и когда требуются определенные типы объединений
MySQL:
- далекоболее сложная настройка и настройка пользователей является обязательным условием для создания временных баз данных, а также для целей тестирования.Это будет практичным, если у вас уже установлен сервер базы данных MySQL и клиентвполне подходит для управления пользователями и их разрешениями
- , не подходит для встраивания в некоторые аппаратные средства, так как вам все равно потребуется серверный компонент базы данных.MySQL, тем не менее, подходит для встраивания в приложение с использованием предоставленных библиотек libmysql
- , отлично подходит для быстрой разработки в некоторых ситуациях
- , идеально подходит для параллельных транзакций с данными и хорошо подходит для многопользовательской среды
- отлично подходит для крупномасштабных производственных приложений, которые масштабируются даже по кластерным конфигурациям баз данных
- идеально подходит для использования в архитектуре клиент / сервер
- подходит для использования на малых, средних и крупных веб-сайтахполучая миллиарды хитов в день
- с высокой степенью масштабируемости, насколько позволяют данные и таблицы MySQL, и которыми можно манипулировать в любое время DBA MySQL.Эти возможности масштабирования выходят за пределы дисков, физических серверов и местоположений
- , не предназначенных для замены fopen (), fread () и fwrite ().MySQL управляет своими собственными файлами данных, а не операционной системой
- , полностью совместимой с хранимыми процедурами, триггерами, просмотром и другими операциями, общими с другими основными системами управления реляционными базами данных.MySQL предоставляет эти функции только для выбранных механизмов хранения
С этими советами я надеюсь, что они являются компетентным руководством, которое поможет вам в правильном направлении, когда вы сделаете выбор между выбором между SQLite или MySQL для следующего.Проект.
Дополнительные правки: - Следуйте этим инструкциям, чтобы изучить рельсы.
http://pragprog.com/book/rails4/agile-web-development-with-rails
http://railsforzombies.org/
http://www.amazon.com/dp/0596518773/
http://railscasts.com/
http://guides.rubyonrails.org/
Быстрое решение для использования MySQL.Я предполагаю, что вы используете rails 3, добавьте
gem 'mysql2'
в свой файл gem и запустите
bundle install
и замените файл database.yml этим ..
# MySQL. Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
# gem install mysql2
#
# And be sure to use new-style password hashing:
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
adapter: mysql2
encoding: utf8
reconnect: false
database: my_database_development
pool: 5
username: root
password:
host: localhost
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: mysql2
encoding: utf8
reconnect: false
database: my_database_test
pool: 5
username: root
password:
host: localhost
production:
adapter: mysql2
encoding: utf8
reconnect: false
database: my_database_production
pool: 5
username: root
password:
host: localhost
Я надеюсь, что его ответ будет иметь смысл для вас.Теперь лучший быстрый совет для вас.начать использовать Google.