в CouchDB скорость против MySQL в

Что вы можете сказать о скорости баз данных couchdb и mysql?

Я имею в виду, очень простые запросы, такие как получение одной строки (или одного документа) по уникальному идентификатору и простые запросы, такие как получение 20 идентификаторов/строк/документов с самой большой датой (конечно, с помощью индексов и представлений и т. д. - Не знаю, как это работает в CouchDB, но я уверен, что что-то есть. Пожалуйста, не отправляйте меня узнать, как работает CouchDB: я собираюсь изучить его, но мне нужно сравнение производительности в любом случае.)

спасибо!


Как я понял из ссылок в первом ответе, пока у меня есть только один сервер для БД, намного лучше использовать MySQL?

6 ответов


во-первых, обратите внимание, что CouchDB не является реляционной базой данных SQL, как MySQL. Я не уверен, что запрос, который вы описываете, может быть выражен в CouchDB (но я не эксперт в этом).

Это, как говорится, вот некоторые ссылки:


нашел в этой статье связано с другим вопросом SO о производительности MySQL vs CouchDB, но я не знаю, считается ли это.


один из способов, которым couchdb может облегчить значительное улучшение скорости, - это его репликация. Он может реплицироваться через соединения с высокой задержкой, возможно, даже на клиентский сайт, если его поддерживает инфраструктура безопасности. Таким образом, вы можете иметь несколько баз данных в нескольких физических местах, не убивая себя в сложности.

когда я сделал некоторые сравнения самостоятельно, я обнаружил, что couch примерно вдвое меньше скорости oracle для сценария с большим количеством вставок Вставки 100k пока читатели читали. Это, конечно, не сила дивана, так как читателям пришлось перестраивать представления, пока происходили вставки.


Я бы рекомендовал, чтобы вы создали тест самостоятельно. Почему ? CouchDb и MySql-очень разные звери, и то, как вы решите организовать данные в каждом, будет очень зависеть от вашего проблемного домена. Следовательно, то, как вы их запрашиваете, также будет отличаться.

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


точно. Основное различие заключается в том, что: реляционное и Нереляционное. И это зависит от того, что вам нужно. Есть движение по этому поводу: http://en.wikipedia.org/wiki/NoSQL

и еще одна хорошая не-реляционная БД:

www.mongodb.org


одна из лучших аналогий, которые я слышал, заключается в том, что CouchDB не хочет быть Ferrari, он хочет быть Honda, то есть не самым быстрым, но самым надежным.