Выбор ключа раздела в DynamoDB

Я пишу сервис, который запрашивает некоторые данные о занятиях с удаленных станций на автостоянках и сохраняет их в DynamoDB. Это пример набора данных:

<PublicCarparksStallCount>
  <AsOf>2018-05-01T10:57:15</AsOf>
  <Carparks>
    <Carpark>
      <CarparkId>1</CarparkId>
      <CarparkName>Azrieli Sarona</CarparkName>
      <CarparkSummary>
        <Usable>1242</Usable>
        <Vacant>478</Vacant>
        <Occupied>712</Occupied>
        <Reserved>0</Reserved>
        <MedicalVacant>1</MedicalVacant>
        <MedicalOccupied>3</MedicalOccupied>
      </CarparkSummary>
      <Levels>
        <Level>
          <LevelId>1</LevelId>
          <LevelName>מפלס -2</LevelName>
          <LastValidCountTime>2018-05-01T10:57:16</LastValidCountTime>
          <LevelCount>
            <Usable>171</Usable>
            <Vacant>11</Vacant>
            <Occupied>159</Occupied>
            <Reserved>0</Reserved>
            <MedicalVacant>0</MedicalVacant>
            <MedicalOccupied>1</MedicalOccupied>
          </LevelCount>
        </Level>
      </Levels>
    </Carpark>
  </Carparks>
</PublicCarparksStallCount>

Как лучше всего определить ключ раздела для таких данных? Служба запускается раз в минуту и ​​сохраняет эти данные для последующего использования или для визуализации в реальном времени.


person Alex Gill    schedule 01.05.2018    source источник


Ответы (1)


Ответить на этот вопрос на самом деле невозможно. Схема вашей таблицы зависит от того, как вы собираетесь использовать свои данные, например, от того, какие запросы вы собираетесь выполнять.

В качестве примера я мог бы сказать: создайте атрибут PublicCarparksStallCount UUID для ключа раздела и сохраните весь документ в атрибуте с именем document, но это может быть ужасным решением в зависимости от того, что вы хотите делать в своем приложении.

Я предлагаю прочитать этот ответ и уточнить свой вопрос.

person F_SO_K    schedule 01.05.2018