хранению логов, 
                  
                  
                  
                  
                  
                  у каждого лога есть поле objectID (строка 32 байта рандомный набор из символов [a-z0-9]) 
                  
                  
                  
                  
                  
                  99% всех запросов это будут запросы вида select * where objectID='XXXXX' и запросы select * where objectID in (a,b,c).
                  
                  
                  
                  
                  
                  данных около 0,5 миллиарда objectID, у каждого из которых 50-80 событий.
                  
                  
                  40-50 колонок.
                  
                  
                  
                  
                  
                  Насколько я читал, то кейс вида " select * where objectID='XXXXX'" , это не конек клика, но клик есть под рукой, поэтому хотим попробовать тут, а если совсем плохо будет, то искать другие варианты.
                  
                  
                  
                  
                  
                  Что сделать, чтобы запросы шли быстрее?
                  
                  
                  
                  
                  
                  1) Первая мысль сделать partition by substring(objectID,0,1) 
                  
                  
                  
                  
                  
                  2) что-то еще можно/нужно сделать?
                  
                  
                
первая мысль взять кассандру. в КХ вы можете положить objectID первым в индексе и уменьшить index_granularity =256
Обсуждают сегодня