Координаторный узел осуществляет всю связь с клиентом. Он работает в качестве прокси-сервера и перенаправляет запрос на чтение / запись другим узлам (где существует / должна находиться реплика), а затем возвращает результат клиенту.
Что касается реплики, то это зависит от хэш-значения ключа. Каждому vNode назначен диапазон. Таким образом, если хеш ключа, который вы ищете, равен 123, а vNode на машине № 5 отвечает за сохранение диапазона ключей от 99 до 420, он пойдет туда.
Я надеюсь, что от Вашего вопроса, Вы не говорите об использовании другой системы баз данных в разработке и производстве.
При использовании другого DB в разработке и производстве не ДЕЛАТЬ. Различные механизмы базы данных ведут себя по-другому и заставят неожиданные ошибки появляться. Попытайтесь получить свою систему разработки как близко к производству, как Вы возможно можете (подсказка: выполните его в VM),
SQLite и MySQL являются оба качественными продуктами в правильном контексте. Поймите, каковы их возможности.
SQLite:
MySQL:
Короче говоря, Вы не можете действительно сравнить их сопоставимый. SQLite довольно популярен как встроенная база данных - Firefox 3 имеет одну внутреннюю часть он.
В SQLite Вы застреваете при хранении Вашей базы данных по локальному диску (или конечно, сетевой диск, если Вы доступны). Если Вы хотите масштабировать свое веб-приложение, необходимо будет, вероятно, использовать основанную на сервере базу данных, такую как MySQL.
SQLite является механизмом встроенной базы данных, но он работает в том же процессе как Ваше приложение. MySQL, сервер базы данных, который работает в его собственном процессе.
SQLite не тратит впустую обработку и пропускную способность, собирающую запросы между процессом сервера приложений и процессом сервера базы данных. Это просто анализирует запросы, выясняет, что сделать (план запросов), и называет fopen () на файле базы данных SQLite и выполняет запрос.
MySQL лучше, когда Ваш сайт становится прибитым с большим количеством параллельных запросов, и Вам нужны дополнительная поточная обработка и организация очередей для обслуживания всех запросов правильно.
SQLite является, вероятно, лучшей базой данных, чтобы использовать, если Ваш сайт не получает больше чем 100 000 хитов в день, или Ваш размер базы данных не превышает приблизительно 25 Гбайт. Другое преимущество SQLite состоит в том, что можно часто использовать его легко в ситуациях, где дополнительные процессы или серверы баз данных недостаточны. Выезд http://www.sqlite.org/whentouse.html.
Можно также сделать другой материал с SQLite. Проверьте http://www.squidoo.com/sqlitehammer для другого понимания SQLite.
Вот простой способ посмотреть на него: Sqlite является Блокнот, и MySQL является MS Word. Оба делают в основном то же самое, но очень, очень отличающиеся в их ядре используемого в различных целях.
Sqlite является хорошей базой данных, и часто достаточно хороший, в то время как MySQL является намного более сложной системой, но с той сложностью прибывает питание.
Я должен был бы также рекомендовать против использования различных баз данных в разработке и производстве. Глупо использовать что-то другое для того, что используют Ваши клиенты. Если Вам нужно ускорение при разработке, клиенты могли бы использовать то же ускорение, в то время как они используют программу.
SQLite может быть только доступом одним соединением, использовать файловую систему для хранения всего и не использует сервера.
Это быстро и легко. На самом деле предполагаемый быть дважды с такой скоростью, как MySQL.
Вы будете использовать SQLite для простых приложений, чем не должен будет хранить, больше чем 5 Идут данных. НАПРИМЕР: локальная программа, аудиоплеер, дразня или даже за демонстрацию веб-сайта, которую Вы встроите во флеш-карту.
Mysql, или иначе, должен быть выбран для больших проектов, потому что он может обработать огромный набор данных и быть доступом одновременно. Вы будете использовать его для веб-сайтов с пользовательскими доступами, интранет, и т.д.
Это может отличаться на различных языках, но в PHP SQLite хорошо, если Вы только эпизодически изменяете базу данных. Это вызвано тем, что для обеспечения целостности, любое время, база данных должна быть изменена, файл SQLite заблокирован, изменения внесены и записаны в файл, и файл затем разблокирован. В это время к базе данных не может получить доступ никакой другой процесс, и это является зависящим от реализации действительно ли запросы от другого сбоя процессов или блока в течение того времени.
На самом деле я столкнулся с необходимостью перепроецировать логику базы данных моей программы (уже находящейся в производстве) из-за ошибки SQlite, которая, когда сталкивается с относительно большим объемом данных и операций, просто не удается заблокировать базу данных и оставить ее в таком состоянии до тех пор, пока программа не завершит работу, что означает, что все данные программы прогрессируют временно, а затем каждое добавление теряется. Симпатично, а?
Переход на MySql, и я перехожу к сути, я попробовал что-то, чтобы проверить разницу в скорости, и обнаружил, что что-то вроде безопасного запроса как «UPDATE table SET column1 = column1» для таблицы 280'500 записей, SQlite потребовалось около 13 секунд, а MySql - всего 1 секунда.
Я все еще не гуру db, но выбор достаточно прост: если вам требуется простое хранилище памяти для ограниченного объема данных,