Существует ли разность оборотов между sqlite3 и mysql?

Координаторный узел осуществляет всю связь с клиентом. Он работает в качестве прокси-сервера и перенаправляет запрос на чтение / запись другим узлам (где существует / должна находиться реплика), а затем возвращает результат клиенту.

Что касается реплики, то это зависит от хэш-значения ключа. Каждому vNode назначен диапазон. Таким образом, если хеш ключа, который вы ищете, равен 123, а vNode на машине № 5 отвечает за сохранение диапазона ключей от 99 до 420, он пойдет туда.

10
задан Noah 14 February 2009 в 00:53
поделиться

6 ответов

Я надеюсь, что от Вашего вопроса, Вы не говорите об использовании другой системы баз данных в разработке и производстве.

При использовании другого DB в разработке и производстве не ДЕЛАТЬ. Различные механизмы базы данных ведут себя по-другому и заставят неожиданные ошибки появляться. Попытайтесь получить свою систему разработки как близко к производству, как Вы возможно можете (подсказка: выполните его в VM),

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

SQLite:

  • Выполнения, незавершенные с клиентским приложением
  • Никакие сетевые возможности
  • Очень низко запросите наверху из-за этого
  • Потенциально довольно быстро для легких запросов, потому что существует меньше IPC, системных вызовов и копирования данных, чтобы сделать.
  • Очень ограниченный параллелизм (я думаю, что это - или одно устройство записи или несколько средств чтения, файла для каждой базы данных),

MySQL:

  • Намного больше функций
  • Выбор механизмов (InnoDB обеспечивает хорошие функции многих рабочих нагрузок),
  • Намного больше управления устройства хранения данных, резервного копирования, восстанавливает и т.д.
  • Способный к сети - который позволяет его использование в крупномасштабных приложениях
  • Лучший параллелизм - механизм InnoDB имеет MVCC, что означает, что читатели не блокируют устройства записи, и при этом устройства записи не блокируют читателей. Даже старый механизм MyISAM имеет блокировку уровня таблицы, а не для целой базы данных как sqlite.
  • Вероятно, лучший оптимизатор для сложных запросов

Короче говоря, Вы не можете действительно сравнить их сопоставимый. SQLite довольно популярен как встроенная база данных - Firefox 3 имеет одну внутреннюю часть он.

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

26
ответ дан 3 December 2019 в 13:44
поделиться

SQLite является механизмом встроенной базы данных, но он работает в том же процессе как Ваше приложение. MySQL, сервер базы данных, который работает в его собственном процессе.

SQLite не тратит впустую обработку и пропускную способность, собирающую запросы между процессом сервера приложений и процессом сервера базы данных. Это просто анализирует запросы, выясняет, что сделать (план запросов), и называет fopen () на файле базы данных SQLite и выполняет запрос.

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

SQLite является, вероятно, лучшей базой данных, чтобы использовать, если Ваш сайт не получает больше чем 100 000 хитов в день, или Ваш размер базы данных не превышает приблизительно 25 Гбайт. Другое преимущество SQLite состоит в том, что можно часто использовать его легко в ситуациях, где дополнительные процессы или серверы баз данных недостаточны. Выезд http://www.sqlite.org/whentouse.html.

Можно также сделать другой материал с SQLite. Проверьте http://www.squidoo.com/sqlitehammer для другого понимания SQLite.

9
ответ дан 3 December 2019 в 13:44
поделиться

Вот простой способ посмотреть на него: Sqlite является Блокнот, и MySQL является MS Word. Оба делают в основном то же самое, но очень, очень отличающиеся в их ядре используемого в различных целях.

Sqlite является хорошей базой данных, и часто достаточно хороший, в то время как MySQL является намного более сложной системой, но с той сложностью прибывает питание.

Я должен был бы также рекомендовать против использования различных баз данных в разработке и производстве. Глупо использовать что-то другое для того, что используют Ваши клиенты. Если Вам нужно ускорение при разработке, клиенты могли бы использовать то же ускорение, в то время как они используют программу.

4
ответ дан 3 December 2019 в 13:44
поделиться

SQLite является самым быстрым

SQLite может быть только доступом одним соединением, использовать файловую систему для хранения всего и не использует сервера.

Это быстро и легко. На самом деле предполагаемый быть дважды с такой скоростью, как MySQL.

SQLite и MySQL не используются для тех же задач

Вы будете использовать SQLite для простых приложений, чем не должен будет хранить, больше чем 5 Идут данных. НАПРИМЕР: локальная программа, аудиоплеер, дразня или даже за демонстрацию веб-сайта, которую Вы встроите во флеш-карту.

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

3
ответ дан 3 December 2019 в 13:44
поделиться

Это может отличаться на различных языках, но в PHP SQLite хорошо, если Вы только эпизодически изменяете базу данных. Это вызвано тем, что для обеспечения целостности, любое время, база данных должна быть изменена, файл SQLite заблокирован, изменения внесены и записаны в файл, и файл затем разблокирован. В это время к базе данных не может получить доступ никакой другой процесс, и это является зависящим от реализации действительно ли запросы от другого сбоя процессов или блока в течение того времени.

1
ответ дан 3 December 2019 в 13:44
поделиться

На самом деле я столкнулся с необходимостью перепроецировать логику базы данных моей программы (уже находящейся в производстве) из-за ошибки SQlite, которая, когда сталкивается с относительно большим объемом данных и операций, просто не удается заблокировать базу данных и оставить ее в таком состоянии до тех пор, пока программа не завершит работу, что означает, что все данные программы прогрессируют временно, а затем каждое добавление теряется. Симпатично, а?

Переход на MySql, и я перехожу к сути, я попробовал что-то, чтобы проверить разницу в скорости, и обнаружил, что что-то вроде безопасного запроса как «UPDATE table SET column1 = column1» для таблицы 280'500 записей, SQlite потребовалось около 13 секунд, а MySql - всего 1 секунда.

Я все еще не гуру db, но выбор достаточно прост: если вам требуется простое хранилище памяти для ограниченного объема данных,

-1
ответ дан 3 December 2019 в 13:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: