HBase · Apache HBase 2.6
Детализация звонков хранится в HBase: около 2 млрд записей в месяц по Москве и Нижнему Новгороду. Приложение показывает 20 последних звонков номера.
Сейчас rowkey = msisdn + timestamp. Чтобы найти последние 20, сервис сканирует все звонки номера за 6 месяцев (у таксопарков — до 90 тыс. строк) и берёт хвост.
В работе: Ленты «последние N событий» в HBase и Bigtable.
Как проверяем
Движка HBase в браузере пока нет, поэтому здесь не запрос, а выбор решения. Выберите один вариант. После ответа — почему каждый вариант верный или нет. Ответ один на подход: после него показываем разбор.
Источник: на данных оператора связи: детализация звонков. Условие пересказано своими словами.
Давали на собеседовании?
Ответов пока мало — ваш поможет.
Как изменить rowkey?
- msisdn + (Long.MAX_VALUE − timestamp)
- (Long.MAX_VALUE − timestamp) + msisdn
- Оставить ключ и сканировать с флагом reversed
- msisdn в rowkey, время звонка — в версиях одной ячейки