2017-03-02 4 views
0

현재 Xamarin 모바일 응용 프로그램에 대한 다양한 데이터 저장소 옵션을 조사 중입니다. SQL 백엔드 (MySql 또는 Postgres) 또는 DynamoDb가있는 RESTFul 서비스. 둘 다 AWS에 있습니다.DynamoDb의 효율적인 문자열 검색

DynamoDb를 "완전히 관리"하고 작업량이 증가함에 따라 쉽게 조정할 수 있기 때문에 DynamoDb를 사용하는 것을 선호합니다.

현재 해결하려고하는 사례는 DynamoDb 옵션을 사용하는 것입니다. 앱에서 대형 제품 카탈로그 (40000+ 레코드)를 광범위하게 사용하고 사용자 유형에 따라 제품 이름과 설명이 필터링됩니다. DynamoDb에서 생각할 수있는 유일한 해결책은 전체 레코드 집합을 쿼리하는 것이며 원치 않는 레코드를 제거하기 위해 mapreduce를 사용하는 것이지만이 방법의 문제점은 전체 테이블을 반복해야하기 때문에 훨씬 더 높은 읽기 용량이 필요하다는 것입니다 작은 결과를 위해. (이것은 REST SQL 옵션에서 간단합니다.)

그러나 CloudSearch 또는 ElasticSearch와 같은 데이터로 푸시하는 방법에 대해 읽었습니다. Xamarin 스토어에서이를 지원하는 AWS 구성 요소를 찾지 못했습니다.

누구나 DynamoDb에서 문자열을 색인하고 검색하는 효율적인 메커니즘을 알고 있습니까?

답변

0

좋아 미리

감사합니다, 나는 이후에 많은 연구 내가 해결책을 찾은 것 같아요.

AWS Streams 및 Lambda 함수를 사용하여 CloundSearch를 채울 수 있습니다. 이것은 내 코드가 데이터 계층에서 데이터를 요청할 때 약간 똑똑해야한다는 것을 의미합니다.