Кашандровые тайники с тонкими и широкими рядами - PullRequest
1 голос
/ 01 марта 2012

Мой сценарий использования предполагает большую нагрузку чтения - есть две возможные стратегии проектирования модели:

  1. Крошечные строки с кэшем строк: в этом случае строка достаточно мала, чтобы поместиться в ОЗУ и всестолбцы кэшируются.Доступ для чтения должен быть быстрым.

  2. Широкие строки с ключевым кешем.Широкие строки с большим количеством столбцов являются большими для кэша строк.Для доступа к подмножеству столбцов требуется поиск по жесткому диску.

Как я понимаю, использование широких рядов - это хороший шаблон проектирования.Но нам нужно было бы отключить кеш строк - так .... в чем преимущество такой широкой строки (по крайней мере, для доступа на чтение)?

Какой подход лучше 1 или 2?

1 Ответ

0 голосов
/ 28 марта 2012

Строка кэша не обязательно увеличивает производительность чтения.

Когда кеш строк отключен и с включенным кешем ключей, Cassandra будет считывать данные непосредственно с жесткого диска, переходя прямо к правому смещению (на основе кеша ключей).В этом случае операционная система будет кешировать доступ к жесткому диску.

Кассандра открывает файл как виртуальный файл - в этом случае файл обрабатывается как «чтение из памяти», в действительности первое чтение идет на жесткий диск, а второе чтение подается из ОЗУ.В ОЗУ загружаются только те части файла, к которым уже обращались (плюс чтение впереди 128 КБ)

Мои нагрузочные тесты (3 Сервера с 8-ядерным ксеноном, 24 ГБ ОЗУ, данные 60 ГБ в Cassandra) показали, что кэш строк и кэш файловой системыимеют аналогичную производительность - кэш ОС приводит к снижению нагрузки на процессор

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...