Рекомендации по использованию Spanner настоятельно рекомендуют избегать использования метки времени или другого последовательного идентификатора в качестве первой части ключа, так как это создаст горячие точки.Один из предлагаемых обходных путей, когда требуется упорядочение по времени, заключается в добавлении префикса к числовому фрагменту на основе отдельного ключа, чтобы получить равномерное распределение (как в эта страница ).
Насколько я понимаю, Spanner автоматически создает разбиения на основе ключа (например, в данном случае, шарда), и при выполнении запроса, который получает все строки после определенной временной отметки, может потребоваться выполнить запрос на всех отдельныхразделяется и затем присоединяется.
Наконец, вопрос: Есть ли стоимость, пропорциональная количеству уникальных шардов, так что, если я использую 1024 шарда, стоимость запроса таблицы может быть выше, чемесли используется 16 осколков, или он разделен на части, и Spanner будет разбивать ключи на части только при необходимости?
В качестве крайнего примера, будет ли стоить фактическое использование индивидуального идентификатора записи в качестве первогочасть ключа, а не осколок (кроме факта, что один является числом, а один является строкой)?Это создаст еще много «осколков», но, опять же, влияние будет зависеть от того, являются ли соответствующие вещи здесь уникальными осколками (префиксами ключей) или разделениями.