Это довольно широкий вопрос, и я бы порекомендовал прочитать документацию по Couchbase Server.Вот быстрый TL; DR:
В Couchbase Server есть три типа сегментов , каждый из которых ведет себя по-разному при заполнении.
CouchbaseBucket
Couchbase Bucket записывает документы на диск, а также кэширует их в памяти.Он имеет два разных режима выброса; Только для значений и Полный .Режим только значения удаляет из памяти только значение документа, а при заполнении можно удалить как значение, так и метаданные о документе из памяти.Это означает, что корзина Couchbase, настроенная с извлечением только по значению, может заполниться и прекратить принимать записи, где это не может произойти с полным извлечением.Если документ не находится в памяти, он будет извлечен с диска, который работает медленнее.
Эфемерное ведро
Эфемерное ведро хранит документы только в памяти и может рассматриваться какзамена для memcached ведер.То, как он ведет себя, когда ковш наполняется, можно контролировать, есть два режима. Нет извлечения - данные не извлекаются, а новые записи отклоняются.В этом случае это зависит от приложения, чтобы удалить данные. NRU ejection данные удаляются по неиспользованному алгоритму.В обоих случаях производительность не будет падать, поскольку корзина заполняется с точки зрения сервера Couchbase. С точки зрения приложения может произойти снижение производительности, поскольку оно должно извлекать данные из другого источника.
Memcached Bucket
В этом случае, когда ведро заполнено, memcached ведра ведут себя подобно эфемерному ведру с выбросом NRU.Эфемерные корзины имеют ряд улучшений по сравнению с memcached ведрами и должны использоваться вместо них.