Які практичні обмеження для родини колонок у Кассандрі?


10

У Кассандрі не рекомендується мати більше кількох тисяч сімей колонок , скажімо, 2000 заради аргументації. У випадках, коли потрібно зберігати більше 2000 типів даних, одним із підходів буде розподіл декількох непов'язаних типів даних у кожну сімейство стовпців.

Наприклад, один CF може містити замовлення, рахунки-фактури та клієнтів, якщо їхні рядкові ключі були чіткими (наприклад, префікс типу об'єкта, тобто ключі одного CF можуть включати в себе і обидва, Order|1234і Customer|1234). Другий МВ може містити адреси, скажімо, LineItems та OrderTypes. Враховуючи основну доцільність цього підходу, які практичні обмеження щодо нього? Наприклад, що було б неправильно, якщо об'єднати всі 10000 типів об'єкта в один МВ? Наскільки я можу сказати з вікі Кассандри , немає чітких обмежень щодо розміру CF.

Відповіді:


6

Я не шанувальник. Це приблизно така ж ідея, як створення реляційної таблиці під назвою OrdersOrCustomers зі стовпцями, визначеними для обох. Штраф за зберігання двигуна в Кассандрі трохи нижчий через розріджене зберігання під капотом, але це все ще погана практика.

Це прикусить вас пізніше, коли ви хочете зіставити / зменшити дані; у кожному завданні потрібно буде сканувати всі ваші дані та відфільтрувати рядки, які не відповідають тому, що вас насправді цікавить (наприклад, клієнти). І щастить сенс статистики, яку Кассандра відстежує за CF. ("Чи є цей CF джерелом 80% моєї заявки, читається через дані замовлення? Або через сеанси клієнтів, з якими він поєднується? Або інші п’ять типів даних, які я ввів?")

Якщо вам абсолютно позитивно потрібні десятки чи сотні тисяч МВ? Навіть тоді я б швидше запускав Кассандру без виділення арени, ніж понівечив мою модель даних на зразок цієї.


Дякую за вашу відповідь, Джонатане. Мені потрібно прочитати розподіл на арену, щоб зрозуміти останнє речення. Чи використовується розподіл арені варіант конфігурації?
Ендрю Лебедь

Або якщо в наш час Кассандра виділяється на арену, наскільки важко було б розмістити арени будь-яких сімей колонок, до яких не було доступно протягом певного настроюваного періоду часу? Чи варто мені про це записати квиток на JIRA?
Ендрю Лебедь

1
Кассандра вже розумна щодо промивання, щоб зняти тиск в пам'яті. Проблема полягає у найгірших сценаріях, де все активно.
jbellis

У якому випадку єдиним рішенням є друге кільце?
Ендрю Лебедь
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.