A look at the top reasons why teams decide to leave DynamoDB: throttling, latency, item size limits, and limited flexibility…not to mention costs Trả lời đầy đủ: Tôi yêu DynamoDB. Nó đã được chứng minh về quy mô và là nền tảng mà nhiều nhà lãnh đạo ngành đã sử dụng để cung cấp năng lượng cho các khối lượng công việc quan trọng cho doanh nghiệp trong nhiều năm. Nó cũng phù hợp tốt với hệ sinh thái AWS, làm cho nó cực kỳ dễ dàng để bắt đầu, tích hợp với các sản phẩm AWS khác và gắn bó với nó khi công ty của bạn phát triển. Trả lời đầy đủ: Tôi yêu DynamoDB. Nó đã được chứng minh về quy mô và là nền tảng mà nhiều nhà lãnh đạo ngành đã sử dụng để cung cấp năng lượng cho các khối lượng công việc quan trọng cho doanh nghiệp trong nhiều năm. Nó cũng phù hợp tốt với hệ sinh thái AWS, làm cho nó cực kỳ dễ dàng để bắt đầu, tích hợp với các sản phẩm AWS khác và gắn bó với nó khi công ty của bạn phát triển. Với sự tăng trưởng lớn, chi phí trở thành mối quan tâm tự nhiên cho hầu hết các công ty ở đó, và DynamoDB khá thường được trích dẫn như là một trong những lý do chính cho các hóa đơn chạy trốn do Mô hình dịch vụ Thanh toán theo hoạt động Bạn có thể đang nghĩ: Ồ, đây là một bài viết khác cố gắng thuyết phục tôi rằng chi phí DynamoDB quá cao, và tôi nên chuyển sang cơ sở dữ liệu của bạn, mà bạn sẽ tuyên bố là rẻ hơn”. Mặc dù chi phí chắc chắn là một cân nhắc quan trọng khi lựa chọn giải pháp cơ sở dữ liệu (và ScyllaDB thực sự cung cấp hiệu suất giá khá ấn tượng so với DynamoDB), nó không phải lúc nào cũng là cân nhắc quan trọng nhất. Nếu chi phí là một cân nhắc quan trọng đối với bạn, có rất nhiều tài nguyên khác bạn có thể xem xét. ScyllaDB vs. DynamoDB Benchmark: So sánh hiệu suất giá trên các khối lượng công việc Bài viết của Alex Debrie về cách bạn nên suy nghĩ về chi phí DynamoDB Giải thích giá Amazon DynamoDB rất toàn diện của Tobias Schmidt Nhưng hãy thay đổi câu chuyện, và thảo luận về các khía cạnh khác mà bạn nên xem xét khi quyết định có nên chuyển từ DynamoDB hay không. HTTPS://WW.SCYLLADB.COMDynamoDB Cost Optimization MasterclassKhóa học thạc sĩ này sẽ dạy cho bạn các chiến lược về tối ưu hóa chi phí DynamoDB và các lựa chọn thay thế AWS khác để phù hợp với nhu cầu kỹ thuật của bạn. HTTPS://WW.SCYLLADB.COMDynamoDB Cost Optimization MasterclassKhóa học thạc sĩ này sẽ dạy cho bạn các chiến lược về tối ưu hóa chi phí DynamoDB và các lựa chọn thay thế AWS khác để phù hợp với nhu cầu kỹ thuật của bạn. HTTPS://WW.SCYLLADB.COMDynamoDB Cost Optimization MasterclassKhóa học thạc sĩ này sẽ dạy cho bạn các chiến lược về tối ưu hóa chi phí DynamoDB và các lựa chọn thay thế AWS khác để phù hợp với nhu cầu kỹ thuật của bạn. HTTPS://WWW.SCYLLADB.COM Trang chủ Tối ưu hóa chi phí DynamoDB Masterclass Masterclass này sẽ dạy cho bạn các chiến lược về tối ưu hóa chi phí DynamoDB và các lựa chọn thay thế AWS khác để phù hợp với nhu cầu kỹ thuật của bạn. HTTPS://WWW.SCYLLADB.COM Trang chủ Tối ưu hóa chi phí DynamoDB Masterclass Masterclass này sẽ dạy cho bạn các chiến lược về tối ưu hóa chi phí DynamoDB và các lựa chọn thay thế AWS khác để phù hợp với nhu cầu kỹ thuật của bạn. Đánh giá DynamoDB Throttling Throttling trong bất kỳ bối cảnh nào là không vui. Nếu bạn đã nhìn thấy nó, có lẽ bạn đã ghét nó và học cách sống với nó. ProvisionedThroughputExceededException Có rất nhiều cách bạn có thể trở thành nạn nhân của DynamoDB throttling.Trên thực tế, nó xảy ra rất thường xuyên mà AWS thậm chí có một Một trong những khuyến nghị ở đây là “chuyển sang chế độ theo yêu cầu” trước khi thực sự thảo luận về các mô hình truy cập phân phối đều. Trang dedicated troubleshooting Vấn đề chính với sự xáo trộn của DynamoDB là nó gây hại đáng kể cho độ trễ. tải công việc với phân phối Zipfian dễ bị ảnh hưởng... và kết quả đạt được trong một tiêu chuẩn gần đây không phải là đẹp: Trong tiêu chuẩn đó, nó đã trở nên rõ ràng rằng throttling có thể làm cho phân vùng bị ảnh hưởng trở nên không thể truy cập được cho đến Điều đó làm tăng đáng kể độ trễ đuôi P99 của bạn. 2.5 seconds Mặc dù nó là sự thật rằng hầu hết các cơ sở dữ liệu có một số cơ chế throttling tích hợp, DynamoDB throttling chỉ đơn giản là quá hung hăng. nó là không có khả năng rằng ứng dụng của bạn sẽ có thể mở rộng thêm nếu nó xảy ra để thường xuyên truy cập một tập hợp cụ thể của các mục vượt qua phân vùng DynamoDB hoặc giới hạn bảng. Trực giác có thể nói: “Vâng, nếu chúng ta đang đạt được giới hạn của DynamoDB, sau đó chúng ta hãy đặt một bộ nhớ cache trước mặt nó!” Thật vậy, nó đặc biệt khó để tìm thấy các số cứng trên các tiêu chí chính xác của DynamoDB Accelerator cho throttling, dường như chủ yếu nhắm vào việc sử dụng CPU (đó không phải là ) throttle bạn down Tiêu chí tốt nhất cho load shedding DynamoDB chậm trễ Bạn có thể lập luận rằng phân phối Zipfian được hiển thị ở trên nhắm mục tiêu chân Achilles của DynamoDB, và rằng giải pháp AWS phù hợp hơn với tải công việc theo kiểu phân phối thống nhất. Ngay cả trong điểm ngọt của DynamoDB, độ trễ của P99 cao hơn đáng kể so với ScyllaDB trong một loạt các kịch bản. Tất nhiên, bạn có thể đạt được độ trễ DynamoDB thấp hơn so với những người được trình bày ở đây. tuy nhiên, DynamoDB giảm ngắn khi được yêu cầu để cung cấp độ trễ cao hơn, khiến độ trễ cuối cùng bắt đầu suy giảm. Một cách để tránh những đỉnh như vậy là sử dụng DynamoDB Accelerator (hoặc bất kỳ giải pháp bộ nhớ đệm nào khác, thực sự) để tăng hiệu suất tuyệt vời.Như đã hứa, tôi sẽ không tham gia thảo luận về chi phí ở đây, mà chỉ ra rằng độ trễ một chữ số của DynamoDB khó đạt được hơn trong thực tế. Để tìm hiểu thêm về lý do tại sao đặt bộ đệm trước cơ sở dữ liệu của bạn thường là một ý tưởng tồi, bạn có thể muốn xem video này trên . Thay thế bộ nhớ cache của bạn bằng ScyllaDB DynamoDB mục kích thước giới hạn Mỗi cơ sở dữ liệu có giới hạn kích thước mục, bao gồm DynamoDB. Tuy nhiên, giới hạn 400KB cuối cùng có thể trở nên quá hạn chế đối với bạn. : Blog về giới hạn DynamoDB DynamoDB đang chỉ cho bạn cách bạn nên mô hình dữ liệu của mình trong một cơ sở dữ liệu OLTP. Hệ thống xử lý giao dịch trực tuyến (hoặc OLTP) được đặc trưng bởi số lượng lớn các hoạt động nhỏ chống lại một cơ sở dữ liệu. (...) Đối với các hoạt động này, bạn muốn nhanh chóng và hiệu quả lọc trên các trường cụ thể để tìm thông tin bạn muốn, chẳng hạn như tên người dùng hoặc Tweet ID. cơ sở dữ liệu OLTP thường sử dụng chỉ mục trên các lĩnh vực nhất định để thực hiện các tìm kiếm nhanh hơn cũng như giữ dữ liệu truy cập gần đây trong RAM. " DynamoDB đang chỉ cho bạn cách bạn nên mô hình dữ liệu của mình trong một cơ sở dữ liệu OLTP. Hệ thống xử lý giao dịch trực tuyến (hoặc OLTP) được đặc trưng bởi số lượng lớn các hoạt động nhỏ chống lại một cơ sở dữ liệu. (...) Đối với các hoạt động này, bạn muốn nhanh chóng và hiệu quả lọc trên các trường cụ thể để tìm thông tin bạn muốn, chẳng hạn như tên người dùng hoặc Tweet ID. cơ sở dữ liệu OLTP thường sử dụng chỉ mục trên các lĩnh vực nhất định để thực hiện các tìm kiếm nhanh hơn cũng như giữ dữ liệu truy cập gần đây trong RAM. " Mặc dù đúng là tải trọng nhỏ hơn (hoặc mục) thường sẽ cung cấp độ trễ cải thiện, áp đặt giới hạn cứng có thể không phải là ý tưởng tốt nhất. người dùng ScyllaDB người quyết định từ bỏ hệ sinh thái DynamoDB thường đề cập đến giới hạn này, định vị nó như là một chặn lớn cho chức năng ứng dụng của họ. Nếu bạn không thể lưu trữ các mục như vậy trong DynamoDB, bạn sẽ làm gì? Bạn có thể đưa ra các chiến lược như nén các phần có liên quan của tải trọng sử dụng của bạn hoặc lưu trữ chúng trên các phương tiện khác, chẳng hạn như AWS S3. Tại ScyllaDB, chúng tôi có một cách tiếp cận khác: Một có thể lớn đến 16 MB theo mặc định (điều này có thể được cấu hình). Chúng tôi tin rằng bạn nên có thể quyết định những gì hoạt động tốt nhất cho bạn và ứng dụng của bạn. mutation Nói về tự do: Hãy nói về ... Giới hạn F của DynamoDB Đọc reedom reedom Người này khá dễ dàng. DynamoDB tích hợp hoàn hảo trong hệ sinh thái AWS. Nhưng đó chính xác là nơi lợi ích kết thúc. Một khi bạn tham gia vào một chiến lược đa đám mây hoặc quyết định chuyển sang nhà cung cấp đám mây khác, hoặc có thể quay trở lại on-prem (không bắt đầu với AWS Outposts!), bạn chắc chắn sẽ cần phải tìm một nơi khác cho khối lượng công việc của mình. Tất nhiên, bạn không thể dự đoán tương lai, nhưng bạn có thể tránh các vấn đề trong tương lai.Đó là những gì phân biệt các kỹ sư giỏi với những người xuất sắc: liệu giải pháp của bạn có sẵn sàng để giải quyết nhu cầu ngày càng tăng của tổ chức của bạn hay không. Sau khi tất cả, bạn không muốn tìm thấy mình trong một vị trí mà bạn cần phải tìm hiểu một công nghệ mới, thay đổi ứng dụng của bạn, thực hiện kiểm tra tải trong DBMS mới, di chuyển dữ liệu, có khả năng đánh giá một số nhà cung cấp ... Thường thì, điều đó có thể trở thành một dự án nhiều năm tùy thuộc vào kích thước của tổ chức của bạn và số lượng tải công việc liên quan. Tải công việc DynamoDB tự nhiên là một phù hợp tốt cho ScyllaDB. Thường xuyên hơn là không, bạn có thể chỉ đơn giản là làm theo mô hình dữ liệu tương tự mà bạn đã có trong DynamoDB và sử dụng nó trên ScyllaDB. Để cho phép bạn di chuyển liền mạch nếu bạn muốn tiếp tục sử dụng cùng một API để giao tiếp với cơ sở dữ liệu của bạn, do đó yêu cầu ít thay đổi mã hơn. ScyllaDB Alternator – một nguồn mở DynamoDB tương thích API Bình luận cuối cùng là một bài đăng Reddit tốt đẹp mà bạn có thể muốn kiểm tra. Nó bao gồm một số câu chuyện thực sự thú vị, một số trong số đó chạm vào các điểm chúng tôi đã đề cập ở đây. Mặc dù phản hồi cộng đồng nổi tiếng, nó có bao gồm một danh sách công bằng các cân nhắc khác mà bạn có thể muốn biết trước khi bạn gắn bó với DynamoDB. Đừng bắt đầu với DynamoDB... Tuy nhiên, câu đầu tiên của bài viết này vẫn đúng: Tôi yêu DynamoDB. Nó là một giải pháp tuyệt vời và kinh tế khi công ty hoặc trường hợp sử dụng của bạn có yêu cầu thông lượng thấp hoặc không bị quấy rầy bởi một số đỉnh độ trễ bất ngờ. Khi bạn phát triển, việc mô hình hóa dữ liệu và đảm bảo bạn không vượt quá giới hạn khó khăn của DynamoDB có thể trở nên đặc biệt khó khăn. Khi chọn cơ sở dữ liệu, cuối cùng nó là về việc chọn công cụ phù hợp cho công việc. ScyllaDB không phải là một sự thay thế cho mỗi trường hợp sử dụng DynamoDB ở đó. độ trễ thấp, ScyllaDB luôn là sự lựa chọn đúng đắn. predictable