Важно ли очищать ведра по причинам производительности? - PullRequest
1 голос
/ 07 апреля 2019

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

Но какое влияние оказывают полные сегменты на скорость извлечения данных?Нужно ли удалять документы, если они больше не нужны для поддержания производительности?Есть ли разница в этом аспекте между ведрами Ephermal и Couchbase?

Ответы [ 2 ]

0 голосов
/ 09 апреля 2019

Это довольно широкий вопрос, и я бы порекомендовал прочитать документацию по Couchbase Server.Вот быстрый TL; DR:

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

CouchbaseBucket

Couchbase Bucket записывает документы на диск, а также кэширует их в памяти.Он имеет два разных режима выброса; Только для значений и Полный .Режим только значения удаляет из памяти только значение документа, а при заполнении можно удалить как значение, так и метаданные о документе из памяти.Это означает, что корзина Couchbase, настроенная с извлечением только по значению, может заполниться и прекратить принимать записи, где это не может произойти с полным извлечением.Если документ не находится в памяти, он будет извлечен с диска, который работает медленнее.

Эфемерное ведро

Эфемерное ведро хранит документы только в памяти и может рассматриваться какзамена для memcached ведер.То, как он ведет себя, когда ковш наполняется, можно контролировать, есть два режима. Нет извлечения - данные не извлекаются, а новые записи отклоняются.В этом случае это зависит от приложения, чтобы удалить данные. NRU ejection данные удаляются по неиспользованному алгоритму.В обоих случаях производительность не будет падать, поскольку корзина заполняется с точки зрения сервера Couchbase. С точки зрения приложения может произойти снижение производительности, поскольку оно должно извлекать данные из другого источника.

Memcached Bucket

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

0 голосов
/ 07 апреля 2019

при условии, что данные будут повернуты, как только они достигнут максимального предела оперативной памяти, назначенного сегменту

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

...