Why real-world DynamoDB usage scenarios often lead to unexpected expenses 에서 , 나는 예측할 수없는 워크로드가 DynamoDB에서 예측할 수없는 비용으로 이어지는 방법을 다루었습니다. DynamoDB 비용에 대한 최신 게시물 이제 더 깊게 가자.당신이 기본을 이해한 후에, Nutty처럼 , 또는 항목 크기, 복제 및 캐시 주위의 과도한 비용 ... 당신은 DynamoDB 비용이 읽기 / 쓰기 볼륨에 관한 것이 아니라 실제 세계에서 훨씬 더 뉘앙스가 있다는 것을 깨닫게됩니다. 7.5x inflation of on-demand compared to reserved 라운드 ‘EM UP! A million writes per second at 100 bytes isn’t in the same galaxy as a million writes at 5KB. Why? Because DynamoDB meters out the costs in rounded-up 1KB chunks for writes (and 4KB for reads). Writing a 1.2KB item? You’re billed for 2KB. Reading a 4.5KB item with strong consistency? You get charged for 8KB. You’re not just paying for what you use, you’re paying for rounding up. Remember this character in Superman III taking ½ a cent from each paycheck? It’s the same deal (and yes, $85,789.90 was a lot of money in 1983) … 용량 낭비는 규모에서 피할 수 없지만, 모든 작업에서 그 한계를 넘을 때 매우 현실적이고 매우 빠르게 발생합니다.그리고 항목 당 400KB의 하드 캡을 잊지 마십시오.그것은 직접적인 가격 문제는 아니지만 DynamoDB 고객이 대안을 찾도록 동기를 부여 한 것입니다. 우리의 이 모든 것을 모델링 할 수 있습니다. 그것이 고려하지 않는 것은 실제 지뢰의 일부입니다 - 충돌 해결 글쓰기 (다중 지역에서 동시 업데이트와 같은)는 여전히 모든 시도에 비용을 비용, 심지어 마지막 글쓰기만이 승리.또는 당신이 자신의 TTL 만료 논리를 구축 할 때, 아마도 스캔에서 항목의 무리를 끌고, 앱 코드의 타임스탬프를 확인하거나 삭제합니다. 현재 요청에 따라 볼 수 있는 DynamoDB 비용 계산기 DynamoDB 비용 webinar 글로벌 테이블은 글로벌 통증 그래서 전 세계 사용자를위한 낮은 지연 시간을 원하십니까? 글로벌 테이블은 그렇게 할 수있는 가장 쉬운 방법입니다. 일부는 심지어 "배터리 포함"이라고 말할 수도 있습니다. 각 글쓰기는 추가 영역을 통해 복제됩니다. 3.5KB 항목을 작성하고 4 영역으로 복제하십시오. 이제 4x4KB를 지불하고 있습니까 (물론 종합). 지역 간 네트워크 전송을 잊지 마십시오. 이는 프리미엄 가격에 또 다른 타격입니다. 그리고 죄송합니다. 당신은 그 속도에 대해 여러 번 지불하고 있으며, 계좌는 지역 성장과 함께 선형으로 확장됩니다. 여러 지역이 동시에 동일한 항목에 글을 쓸 때 상황이 악화됩니다.DynamoDB는 갈등을 해결합니다 (마지막 글쓰기 승리), 그러나 당신은 여전히 각 시도에 대해 지불합니다. 우리의 비용 계산기는 당신이이 모든 것을 모델링 할 수 있습니다.우리는 미국-동부에 대한 보수적 인 가격을 사용하지만, 더 이국적인 지역, 비용이 더 높을 가능성이 높습니다. 그래서 배터리 포함 된 글로벌 테이블 복제 비용에 대해 생각하고, 그것은 기억하십시오. ! 테이블 당 DAX Caching with a Catch 근처 오락거리 지금 당신은 특히 당신의 지연 민감한 P99에 대 한 더 단단한 읽기 지연을 원하십니까? DynamoDB Accelerator (DAX)는 도움이 있지만, 그것은 운영 및 재무 모두에 대 한 대비를 추가합니다. 클러스터는 올바른 크기를해야합니다, 히트 비율 조정, 당신의 응용 프로그램에서 처리 된 오류 케이스. 캐시를 놓치고, 읽기 위해 지불. 캐시를 업데이트하지 못하고, 데이터를 멈추는 위험. DAX 인스턴스는 시간당, 정규 요금으로 청구되며, 사용자가 익숙한 대로 예약 인스턴스 옵션이 없습니다.Even after you've tuned it, it's not free.DAX instances are billed by hour, at a flat rate, and again, without reserved instance options as you might be used to. DynamoDB 비용 계산기는 캐시 히트 비율, 데이터 세트 크기, 인스턴스 유형 및 노드를 시뮬레이션할 수 있습니다.It will not predict cache efficiency, but it will help you catch those cache gotchas. 수백만 달러 추천 엔진 큰 스트리밍 서비스는 DynamoDB를 사용하여 글로벌 권장 엔진을 구축했습니다.일일 배치 작업은 신선한 권장 사항을 생성하고 6 개 지역에 걸쳐 복제된 1PB 단일 테이블에 쓰입니다. 그들은 지연 및 로컬 스크립트를 위해 최적화했습니다. 비용? 각 스크립트는 기본 테이블에 추가 5 복제 스크립트. 각 사용자 상호 작용은 스크립트를 유발했습니다 (보기 기록, 피드백, 선호도).그리고 그 매일 업그레이드 사이클 덕분에 그들은 테이블을 다시 쓰고있었습니다. They used provision capacity, scaling up for anticipated traffic spikes, but still struggled with latency. Cache hit rates were too low to make Redis or DAX cost-effective. 결과: 기본 작업량만으로도 연간 수십억 달러의 비용이 발생했으며, 트래픽 피크 및 배치 로드 프로세스의 최고 수준을 수용한 후 총 2배로 늘어났습니다. 많은 팀의 경우, 이는 제품 자체의 수입보다 훨씬 니다! 그들이 공급 용량에 기초한 우리의 가격 모델로 전환 한 후 (작동 당 청구가 아닙니다) ScyllaDB는 저장된 데이터를 크게 압축 할 수 있었고 AZ와 지역 간 네트워크 압축을 향상시켰습니다.그들은 모든 클라우드 (또는 현지에서조차도)에서 이것을 할 수있는 자유를 가지고있었습니다.그들은 비용을 절감하고 성능을 향상 시켰으며 상승을위한 과다 공급의 필요성을 제거했습니다.일일 배치 작업은 더 빠르게 실행되고 비즈니스는 데이터베이스 청구서가 동일하지 않고도 계속 확장됩니다. 생존을위한 또 다른 케이스 Caching An adtech company using DynamoDB ran into cache complexity the hard way. They deployed 48 DAX nodes across 4 regions to hit their P99 latency targets. Each node is tailored to that region’s workload (after a lot of trial and error). 그들의 글쓰기 (246 바이트 / 항목)는 청구 된 글쓰기 단위의 75%를 낭비했습니다.그들의 분석 워크로드는 상승 기간 동안 라이브 트래픽을 탱크했습니다.그리고 아마도 최악의 경우, 자동 확장 트리거는 충분히 빠르지 않았고, 요청 스크롤링과 응용 프로그램 실패로 이어졌습니다. DynamoDB와 DAX의 총 비용은 연간 수십만 달러였다. ScyllaDB는 훨씬 더 간단한 솔루션을 제공했습니다.Built-in row caching used instance memory at no extra cost with no external caching layer to maintain. 성능에 영향을 미치지 않는다. 일자리 우선 순위 더 나은, 그들의 TTL 기반 세션 만료는 추가 읽기 / 삭제 논리없이 자동으로 처리되었습니다. Watch the DynamoDB costs video 웨비너를 놓쳤다면, 꼭 체크해 보세요. – 특히 Guilherme가 이러한 모든 실제 작업 부하를 자세히 다루는 곳. DynamoDB 비용 비디오 DynamoDB 비용은 비선형이며 사용 패턴에 의해 형성되며 단순히 투입량이 아닙니다. 글로벌 테이블, 항목 크기, 갈등 해결, 캐시 핫업 등은 " 합리적인"사용을 7자짜리 악몽으로 바꿀 수 있습니다. DAX와 자동 스케일링은 마법이 아닙니다; 그들은 조정이 필요하며 여전히 올바르게 얻기 위해 상당한 비용이 소요됩니다. DynamoDB 비용 계산기는 이러한 숨겨진 비용을 모델링하고 ScyllaDB를 사용하지 않더라도 다른 설정을 비교하는 데 도움이됩니다. 그리고 마지막으로, DynamoDB를 사용하여 예측할 수없는 비용과 성능을 가진 팀이라면, ScyllaDB로 전환하고 예측 가능한 가격, 내장 효율성 및 데이터베이스 아키텍처에 대한 더 많은 통제의 혜택을 누리십시오. . Chat with us 여기서 Tim Koopmans에 관해 Tim은 신뢰성과 보안에 대한 열망으로 지난 수십 년 동안 모든 형태의 엔지니어링에 손을 잡았습니다.2013 년에 그는 분산 성능 테스트 플랫폼 인 Flood IO를 설립했습니다.이를 인수 한 후, 그는 다른 성능 관련 노력으로 전환하기 전에 제품, 비즈니스 및 팀을 확장하는 것을 즐겼습니다.