2017-11-16 23 views
0

웹 앱이 있습니다. 현재 구조 \ 흐름은 다음과 같습니다.가장 좋은 방법은 다음과 같습니다. azure iothub에 데이터를 게시하거나 azure tablestorage에 직접 게시하십시오.

  • 이 장치에는 장치 관련 데이터를 내 테이블 저장소에 배치하는 데 사용되는 웹 서비스가 있습니다.
  • UI 끝에서 SignalR은 장치의 데이터가 TableStorage에 도착할 때와 같이 클라우드에 게시 된 최신 값을 Dashboard (view-cshtml)에 표시하는 데 사용됩니다.
  • 선택한 장치에 따라 다른 장치의 데이터가 TableStorage 및 UI 끝에 들어올 것으로 예상되며 관련 데이터가 표시됩니다.

내 쿼리

  1. 대신 직접 TableStorage에 게시는 장치가 데이터를 게시 할 수있는 할 수있는 푸른 자원, IOTHub을 가지고 어떤 이점이 있을까요? 그렇다면 그것에 대해 알려주십시오.

    -> a. 이 경우 나중에 참조 할 수 있도록 모든 수신 된 데이터를 저장하기 위해 IoTHub에 배치 된 데이터를 가져와야합니까?

    ---> b. 이전에 StreamAnalytics를 사용하는 옵션을 사용했으며, IoTHub 끝에서받는 데이터를 TableStorage에 삽입하는 쿼리를 사용했습니다. Is 유일한 \ 좋은 옵션을 사용할 수 있습니까?

    ---> c. 아니면 IoTHub에 게시 된 데이터를 보유 할 수있는 다른 옵션이 있습니까?

  2. 장치에서 TableStorage로 직접 데이터를 삽입하는 현재의 흐름은 양호합니까 (모범 사례입니까?)? 그렇지 않은 경우 솔루션에 접근하는 가장 좋은 방법을 제안하십시오. 장치에 클라우드의

답변

0

IoTHub 및 TableStorage를 사용하여 데이터를 읽는 중 읽었습니다. 필자가 Table Storage를 사용해 본 내 경험과 가장 중요한 점은이 점에 대해 어느 정도 이해하고 있습니다.

storageTable에 저장하기 전에 IoTHub에 데이터를 게시해야하는 좋은 이유가 있습니다.

내가보기에 IoTHub에 데이터를 게시하는 것이 가장 좋은 점 중 하나는 IoTHub에서받은 데이터를 받아 볼 수 있다는 것입니다 (최신 수신). 대시 보드 (UI)에 표시됩니다. 최신 정보를 얻기 위해 저장 공간을 쿼리하는 대신

TableStorage에 게시 된 데이터가 너무 잘 작동하지만

이유는, 일부 성능 문제가 발생할 수 있습니다. TableStorage PK가 그와 같은 설계 경우 여기를

  • 문제는이 파티션에서 거대한 데이터를 달성하기 위해 구축 할 수 있습니다, 데이터가 TableStorage에서 성장 때 우리는 성능 side.ie에 하드 타격을받을 수있다 어떤 시점에서. 이로 인해 거대한 데이터를 쿼리하는 경우가 발생합니다.
  • TableStorage의 PartitionKey 및 RowKey에 대한 색인 만 갖는 제한 사항. 따라서 PartitionKey 및 RowKey를 통해 액세스 할 때 성능이 현명합니다.
    • PartitionKey 및 RowKey를 통해 (쿼리)에 액세스하더라도 저장소 테이블의 데이터 구조가 이러한 PartitionKey를 갖도록 설계된 경우 여전히 큰 데이터가 있습니다. 예를 들어 TableStorage에서 10 개의 장치 신호 세부 정보를 수집하고 각 신호가 해당 신호 ID (각 신호가 파티션 내에서 그룹화되도록)를 디자인하면 ==> 한 지점에서 Signal에 들어오는 데이터는 분할. 이는 차례로 성능에 큰 영향을 미칩니다.
0

메시지는 라우팅되는 내장의 IoT 허브로 유지됩니다 Event Hubs .This 메시지와 호환되는 서비스에 직면 엔드 포인트 (메시지/이벤트). 기본값은 1 일이지만 7 일로 늘릴 수 있습니다. IoT Hub resource provider REST APIs을 통해 프로그래밍 방식으로 또는 Azure 포털을 사용하여 보존 시간을 수정할 수 있습니다. 데이터를 Table Storage에 직접 게시 할 필요가 없으므로 IoT 허브 데이터를 캐시로 저장할 수 있습니다.

Azure Storage은 Blob 저장소, 파일 저장소 및 큐 저장소의 세 가지 데이터 서비스로 구성됩니다. BLOB 스토리지는 표준 및 프리미엄 스토리지를 모두 지원하며 가능한 가장 빠른 성능을 위해 SSD 만 사용하는 프리미엄 스토리지를 제공합니다. 또 다른 기능은 저장 용량이 적기 때문에 드물게 액세스되는 많은 양의 데이터를 저렴한 비용으로 저장할 수 있습니다.

+0

1. 고전적인 데이터베이스에서와 같이 데이터를 영구히 보관해야합니다. 웹 앱에는 이전 데이터를 볼 수있는 옵션이 있어야합니다. 그렇다면 IoTHub가 이것을 지원합니까? ____ 2. TableStorage에 직접 삽입하는 대신 IoTHub에 게시하는 이점은 무엇입니까? – jAntoni

+0

1.IoTHub은 데이터 보유를 영구적으로 지원하지 않습니다. 2.이 [link] (https://azure.microsoft.com/en-us/services/iot-hub/)에서 IoTHub에 대한 정보와 혜택을 얻을 수 있습니다. –

+0

감사합니다 MichaelXu. – jAntoni