AWS re:Invent 2018: Building with AWS Databases: Match Your Workload to the Right Database (DAT301)
Why Stack Overflow recommends it
Stack Overflow users link it, usually to its PIE theorem section, when explaining that DynamoDB gives scale and efficiency but not flexible query patterns, so a different database may fit better.
Recommended by 2 people across 5 different months, 2019 to 2023.
What it is
An AWS re:Invent 2018 breakout session on choosing the right managed database for a given workload. It compares relational and nonrelational AWS services such as ElastiCache for Redis, DynamoDB, Aurora, Neptune and Redshift, and shows how to evaluate a new workload against them.
What people said
Strong rec Charles · 2022-04 · Stack Overflow · on “How to model data in dynamodb if your access pattern includes many WHERE conditions”
I'd highly recommend going through the various AWS presentations on YouTube... In particular here's a link to The Iron Triangle of Purpose - PIE Theorem [this video] chapter of the AWS re:Invent 2018: Building with AWS Databases: Match Your Workload to the Right Database (DAT301) presentation. [LINK] DynamoDB provides IE - Infinite Scale and Efficiency. But you need P - Pattern Flexibility. You'll need to decide if you need PI or PE.
Recommends Charles · 2019-01 · Stack Overflow · on “AWS Dynamo Smart Home Schema (Locations/Rooms)”
I would want these queries to be flexible Then noSQL in general and Dynamo specifically may not be the right choice. As @varnit alludes to, noSQL DB's are very flexible in what you store, but very inflexible in how you can query that data. Dynamo for instance can only return a list (Query) if you use a sort key (SK) or if you do a full table scan (not recommended). Otherwise, it can only return a single record. I don't understand what a "shared location" would entail. But with multiple tenets in Dynamo, (each user is only looking at their data) the easy solution would be to use userID as the partition key (PK). I'd use a composite sort key of location#room Get Location by Id --> GetItem(PK =
Recommends Jason Wadsworth · 2020-02 · Stack Overflow · on “Dynamodb Query/Scan nested documents. Specifying GSI”
Yes, this is expected, and yes, it is because you have the timestamp as your sort key. Keep in mind that a partition key is not the same as a primary key. You could say that the combination of partition key and sort key are effectively the primary key. This is a bit of a more complex question, and there are many ways to accomplish it. Ultimately you cannot use a complex/nested object as a key, meaning you can't query based on it. You can filter, but that isn't really what you're going to want to do. What you probably need to do here is take a step back and get a better understanding of NoSQL databases, and how access patterns are really the key to data modeling. There are a lot of great pape
Recommends Charles · 2022-06 · Stack Overflow · on “DynamoDB search”
You can't search DDB like you can an RDBMS or OpenSearch (Elasticsearch) for instance. I'd highly recommend going through the various AWS presentations on YouTube... In particular here's a link to The Iron Triangle of Purpose - PIE Theorem [this video] chapter of the AWS re:Invent 2018: Building with AWS Databases: Match Your Workload to the Right Database (DAT301) presentation. [LINK] DynamoDB provides IE - Infinite Scale and Efficiency. But you need P - Pattern Flexibility. You'll need to decide if you need PI or PE.
Recommends Charles · 2023-01 · Stack Overflow · on “How to search through dynamodb and provide best result irrespective of 1 mb limit”
You're using the wrong DB. I'd highly recommend going through the various AWS presentations on YouTube... In particular here's a link to The Iron Triangle of Purpose [this video] - PIE Theorem chapter of the AWS re:Invent 2018: Building with AWS Databases: Match Your Workload to the Right Database (DAT301) presentation. [LINK] DynamoDB provides IE - Infinite Scale and Efficiency. But you need P - Pattern Flexibility. You'll need to decide if you need PI or PE.
Cites Yasen · 2020-05 · Stack Overflow · on “How to understand an OLAP cube in S3 or Cassandra?”
Key features of OLAP are: pivoting slicing dicing drilling And Redshift can do this. It's architecture is aimed to solve OLAP and BI tasks. See amazon-redshift-developer-guide [LINK] Amazon Redshift is specifically designed for online analytic processing (OLAP) and business intelligence (BI) applications, which require complex queries against large datasets. Because it addresses very different requirements, the specialized data storage schema and query execution engine that Amazon Redshift uses are completely different from the PostgreSQL implementation. For example, where online transaction processing (OLTP) applications typically store data in rows, Amazon Redshift stores data in columns,