#relational-database #cassandra
#реляционная база данных #cassandra
Вопрос:
Я пытаюсь понять некоторые различия в производительности между Cassandra и реляционными базами данных.
Из того, что я прочитал, производительность записи Cassandra остается постоянной независимо от объема данных. Под производительностью записи я подразумеваю, что это подразумевает как добавление новых строк, так и замену существующих строк при совпадении ключей (например, обновление в мире отношений). Верно ли это предположение?
Кроме того, из того, что я понимаю о реляционных базах данных, обновления замедляются, когда таблицы / разделы становятся больше. Это связано с тем, что для определения местоположения строки необходимо выполнить полное сканирование таблицы или выполнить поиск по индексу, и обе эти операции займут больше времени по мере роста таблицы или раздела. Значит, обновления занимают постоянно больше времени в зависимости от объема данных таблицы / раздела?
Когда новые данные вставляются в реляционную базу данных, я знаю, что любые индексы должны содержать новые данные, но поиск не выполняется, правильно? Так будут ли вставки также постоянно замедляться по мере увеличения объема данных или останутся неизменными в реляционных базах данных?
Спасибо за любые советы
Ответ №1:
Они станут медленнее, если в таблице есть индексы. Необходимо не только записать данные, но и обновить индекс. Вставка в таблицу, которая не имеет индексов и без ограничений, выполняется молниеносно, потому что никаких проверок выполнять не нужно. Запись может быть записана просто в конце табличного пространства.
Ответ №2:
Что касается реляционной базы данных, я проводил нагрузочное тестирование нашей СУБД, где я вижу, что производительность падает экспоненциально по мере добавления данных в БД.
Я все еще работаю над настройкой Cassandra, чтобы иметь возможность реализовать сопоставимый тест. В то же время, в этой презентации Cassandra приведена некоторая информация о Cassandra по сравнению с MySQL: http://www.slideshare.net/Eweaver/cassandra-presentation-at-nosql