A look at the top reasons why teams decide to leave DynamoDB: throttling, latency, item size limits, and limited flexibility…not to mention costs DynamoDB를 사랑합니다.그것은 규모에서 입증되었으며 많은 업계 지도자들이 비즈니스 중요한 워크로드를 지원하기 위해 수년간 사용해 왔던 백엔드입니다.그것은 또한 AWS 생태계에 잘 어울리므로 시작하기, 다른 AWS 제품과 통합하고 회사가 성장함에 따라 계속 유지하기가 매우 쉽습니다. DynamoDB를 사랑합니다.그것은 규모에서 입증되었으며 많은 업계 지도자들이 비즈니스 중요한 워크로드를 지원하기 위해 수년간 사용해 왔던 백엔드입니다.그것은 또한 AWS 생태계에 잘 어울리므로 시작하기, 다른 AWS 제품과 통합하고 회사가 성장함에 따라 계속 유지하기가 매우 쉽습니다. 대규모 성장과 함께 비용은 대부분의 회사에 자연스럽게 걱정되며 DynamoDB는 종종 실수 청구서의 주요 원인 중 하나로 언급됩니다. 서비스 모델 수술에 대한 지불 당신은 아마도 생각하고있다 : 오, 이것은 DynamoDB 비용이 너무 높다고 나를 설득하려고하는 또 다른 게시물이며, 당신이 덜 비싸다고 주장하는 데이터베이스로 전환해야합니다. " 비록 비용이 데이터베이스 솔루션을 선택할 때 확실히 중요한 고려 사항이지만 (ScyllaDB는 DynamoDB에 비해 상당히 인상적인 가격 성능을 제공합니다), 그것은 항상 가장 중요한 고려 사항이 아닙니다. 비용이 당신을위한 중요한 고려 사항이라면, 당신이 검토 할 수있는 많은 다른 리소스가 있습니다. ScyllaDB vs. DynamoDB Benchmark: 워크로드에 대한 가격 성능 비교 DynamoDB 비용에 대해 어떻게 생각해야 하는지에 대한 Alex Debrie의 기사 Tobias Schmidt의 매우 포괄적 인 Amazon DynamoDB 가격 설명 그러나 이야기를 바꾸고 DynamoDB에서 벗어날지 여부를 결정할 때 고려해야 할 다른 측면을 논의합시다. HTTPS://WW.SCYLLADB.COMDynamoDB Cost Optimization MasterclassThis masterclass will teach you strategies on DynamoDB cost optimizations and other AWS alternatives to suit your technical needs. HTTPS://WW.SCYLLADB.COMDynamoDB Cost Optimization MasterclassThis masterclass will teach you strategies on DynamoDB cost optimizations and other AWS alternatives to suit your technical needs. HTTPS://WW.SCYLLADB.COMDynamoDB Cost Optimization MasterclassThis masterclass will teach you strategies on DynamoDB cost optimizations and other AWS alternatives to suit your technical needs. HTTPS://WWW.사이클라드브.COM DynamoDB 비용 최적화 마스터 클래스 이 마스터 클래스는 DynamoDB 비용 최적화 및 기타 AWS 대안에 대한 전략을 당신의 기술적 요구에 맞게 가르쳐줍니다. HTTPS://WWW.사이클라드브.COM DynamoDB 비용 최적화 마스터 클래스 이 마스터 클래스는 DynamoDB 비용 최적화 및 기타 AWS 대안에 대한 전략을 당신의 기술적 요구에 맞게 가르쳐줍니다. DynamoDB Throttling 부근의 호텔 어떠한 상황에서도 재미있지 않다. a. 당신이 그것을 보았다면, 당신은 아마 그것을 싫어하고 그것과 함께 사는 법을 배웠을 것입니다. ProvisionedThroughputExceededException 당신이 DynamoDB throttling의 희생자가 될 수있는 다양한 방법이 있습니다.사실, 그것은 AWS가 심지어 그것을 가지고 너무 자주 발생합니다. 여기서의 권장 사항 중 하나는 실제로 균등하게 배포된 액세스 패턴에 대해 논의하기 전에 "On-demand mode"로 전환하는 것입니다. Dedicated 문제 해결 페이지 DynamoDB의 throttling에 대한 주요 문제는 지연 시간을 상당히 손상시키는 것입니다.Zipfian 배포를 가진 워크로드는 그것에 취약합니다 ... 최근 벤치마크에서 얻은 결과는 좋지 않습니다 : 그 벤치마크 기간 동안, throttling이 영향을받는 파티션을 최대 1 시간 동안 접근 할 수 없게 만들 수 있다는 것이 분명해졌다. 그것은 당신의 P99 꼬리 지연을 크게 증가시킵니다. 2.5 seconds 대부분의 데이터베이스에는 일부 내장된 throttling 메커니즘이 있지만, DynamoDB throttling은 단순히 너무 공격적입니다.DynamoDB 파티션이나 테이블 제한을 통과하는 항목의 특정 세트에 자주 액세스하는 경우 애플리케이션이 더 확장 할 수 없을 가능성이 높습니다. 직감이 말할 수 있습니다 : "잘, 우리가 DynamoDB 제한을 때리고 있다면, 그 앞에 캐시를 넣어 봅시다!" 실제로, DynamoDB Accelerator의 정확한 스트로트링 기준에서 하드 숫자를 찾는 것은 특히 어렵고, 이는 주로 CPU 사용을 목표로하는 것으로 보입니다 (그것은 아닙니다). ) throttle you down 부근의 호텔 Loading Shedding에 대한 최고의 기준 DynamoDB Latency에 대한 정보 위에 표시된 Zipfian 배포가 DynamoDB의 아킬레스 발목을 타겟팅하고, AWS 솔루션이 일관된 유형의 배포를 따르는 워크로드에 더 적합하다고 주장할 수 있습니다.We agree.We have also tested DynamoDB under that assumption: DynamoDB의 달콤한 곳에서도 P99 지연률은 다양한 시나리오에서 ScyllaDB에 비해 상당히 높습니다. 물론 여기에서 제시한 것보다 낮은 DynamoDB 지연률을 달성할 수 있습니다.그러나 DynamoDB는 더 높은 지연률을 제공하는 데 필요한 경우 짧게 떨어지므로 지연률이 결국 악화되기 시작합니다. 이러한 스피크를 피하는 한 가지 방법은 DynamoDB Accelerator (또는 다른 캐시 솔루션, 실제로)를 사용하여 훌륭한 성능 상승을 제공하는 것입니다. 약속대로, 나는 여기서 비용 토론에 들어가지 않을 것이지만 DynamoDB의 약속 된 단일 숫자 밀리초 지연률이 실제로 달성하기가 더 어렵다는 것을 지적합니다. 데이터베이스 앞에 캐시를 배치하는 것이 왜 나쁜 생각인지 자세히 알아보려면 이 비디오를 보고 싶을 수도 있습니다. . ScyllaDB로 캐시를 교체하는 방법 DynamoDB 항목 크기 제한 모든 데이터베이스에는 DynamoDB를 포함한 항목 크기 제한이 있습니다.그러나 400KB 제한은 결국 당신에게 너무 제한적이 될 수 있습니다.Alex DeBrie는 이것에 대해 약간의 빛을 던지고 그의 책에서 그 이유 중 일부를 철저하게 설명합니다. : DynamoDB Limits에 관한 블로그 온라인 거래 처리 (또는 OLTP) 시스템은 데이터베이스에 대한 소규모 작업의 대량을 특징으로합니다. (...) 이러한 작업을 위해, 당신은 사용자 이름이나 트위터 ID와 같은 원하는 정보를 찾기 위해 특정 필드에 신속하고 효율적으로 필터링하고 싶습니다. OLTP 데이터베이스는 종종 특정 필드에 대한 인덱스를 사용하여 검색을 더 빨리 만들뿐만 아니라 최근에 액세스 된 데이터를 RAM에 보관합니다. " 온라인 거래 처리 (또는 OLTP) 시스템은 데이터베이스에 대한 소규모 작업의 대량을 특징으로합니다. (...) 이러한 작업을 위해, 당신은 사용자 이름이나 트위터 ID와 같은 원하는 정보를 찾기 위해 특정 필드에 신속하고 효율적으로 필터링하고 싶습니다. OLTP 데이터베이스는 종종 특정 필드에 대한 인덱스를 사용하여 검색을 더 빨리 만들뿐만 아니라 최근에 액세스 된 데이터를 RAM에 보관합니다. " 더 작은 유용량 (또는 항목)이 일반적으로 개선 된 지연 시간을 제공한다는 것은 사실이지만, 하드 제한을 부과하는 것이 최선의 아이디어가 아닐 수 있습니다.ScyllaDB 사용자가 DynamoDB 생태계를 포기하기로 결정한 경우 종종이 제한을 언급하여 응용 프로그램 기능에 대한 주요 차단자로 배치합니다. 이러한 항목을 DynamoDB에 저장할 수 없다면, 무엇을 할 수 있습니까?당신은 사용량의 관련 부분을 압축하거나 AWS S3와 같은 다른 매체에 저장하는 것과 같은 전략을 개발할 수 있습니다. ScyllaDB에서 우리는 다른 접근 방식을 취합니다 : 단일 기본적으로 16MB(이것은 구성 가능)까지 크지 않을 수 있습니다.우리는 귀하와 귀하의 응용 프로그램에 가장 적합한 것이 무엇인지 결정할 수 있어야 한다고 생각합니다.우리는 어떤 방법으로도 귀하를 제한하지 않을 것입니다. mutation 자유에 관해 이야기하기: 이제 자유에 관해 이야기하자... DynamoDB의 제한된 F 읽기 리조트 리조트 이 하나는 상당히 쉽습니다. DynamoDB는 AWS 생태계 내에서 완벽하게 통합됩니다.그러나 이점이 바로 그곳입니다.다중 클라우드 전략에 종사하거나 다른 클라우드 공급자로 전환하거나 아마도 on-prem (AWS Outposts에서 나를 시작하지 마십시오!)로 돌아가기로 결정하면 필연적으로 워크로드를 위한 다른 장소를 찾아야합니다. 물론 미래를 예측할 수는 없지만 미래의 문제를 피할 수 있습니다.좋은 엔지니어와 훌륭한 엔지니어를 구별하는 것은 이것입니다. 결국, 당신은 새로운 기술을 배우고, 응용 프로그램을 변경하고, 새로운 DBMS에서 로드 테스트를 수행하고, 데이터를 마이그레이션하고, 잠재적으로 여러 공급자를 평가할 필요가있는 위치에 있기를 원하지 않는다 ... 매우 자주, 그것은 조직의 크기와 관련된 워크로드 수에 따라 다년간의 프로젝트가 될 수 있습니다. DynamoDB 워크로드는 당연히 ScyllaDB에 적합합니다.더 자주 그렇지 않으면 DynamoDB에서 이미 가지고있는 동일한 데이터 모델링을 따르고 ScyllaDB에서 사용할 수 있습니다. 데이터베이스와 통신하기 위해 동일한 API를 계속 사용하고자 하는 경우에 완벽하게 마이그레이션할 수 있도록 하며, 따라서 코드 변경이 적어집니다. ScyllaDB Alternator - 오픈 소스 DynamoDB 호환 API 최종 댓글 그것은 몇 가지 흥미 진진한 실제 이야기를 다루고 있으며, 그 중 일부는 우리가 여기서 다루었던 포인트에 영향을 미칩니다.이 유명한 커뮤니티 피드백에도 불구하고 DynamoDB를 사용하기 전에 알고 싶을 수있는 다른 고려 사항의 공정한 목록을 포함합니다. 사람들, DynamoDB에서 나를 시작하지 마십시오 ... 그럼에도 불구하고이 기사의 첫 번째 문장은 여전히 사실입니다 : 나는 DynamoDB를 사랑합니다.이 회사 또는 사용 케이스가 낮은 전달량 요구 사항을 가지고 있거나 예기치 않은 지연 점프에 의해 괴롭히지 않을 때 그것은 훌륭하고 경제적 인 솔루션입니다. 성장함에 따라 데이터 모델링과 DynamoDB의 단단한 한계를 초과하지 않도록하는 것이 특히 어려울 수 있습니다.Plus 당신은 잠겨있을 것이며 조직의 방향이 바뀌면 궁극적으로 상당한 노력을 필요로 할 수 있습니다. 데이터베이스를 선택할 때, 그것은 궁극적으로 작업에 적합한 도구를 선택하는 것에 관한 것입니다. ScyllaDB는 거기에있는 모든 DynamoDB 사용 사례를 대체하는 것은 아닙니다. 낮은 지연 시간, ScyllaDB는 항상 올바른 선택입니다. predictable