Вы можете построить модель поиска на этих двух семействах столбцов в качестве примера:
DomainLookup = {
'domain1.com' : {
'ips' : '1.1.1.1,2.2.2.2,3.3.3.3'
}
'domain2.com' : {
'ips' : '1.1.1.1,4.4.4.4'
}
}
ReverseLookup = {
'1.1.1.1' : {
'domains' : 'domain1.com,domain2.com
}
'2.2.2.2' : {
'domains' : 'domain1.com'
}
'3.3.3.3' : {
'domains' : 'domain1.com'
}
'4.4.4.4' : {
'domains' : 'domain2.com'
}
}
Этот пример, вероятно, не идеален для вашего случая. Но помните, что Кассандра оптимизирована для записи. Таким образом, вы можете создать другие индексы, наиболее подходящие для вашего сценария запроса. Кроме того, Cassandra принимает полностью распределенный дизайн Dynamo, который облегчает масштабирование. Это самостоятельное управление, означающее, что вы можете добавить новую машину в облако Cassandra, и она автоматически уравновесит хранилище и нагрузку. Одна вещь, на которую вам нужно обратить внимание, это выбрать произвольное или сохраняющее порядок разбиение.