TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

The DynamoDB Book: Data Modeling with NoSQL and DynamoDB

245 pointsby abd12about 5 years ago

18 comments

arpinumabout 5 years ago
I bought the book, I read the book, I&#x27;ve used DynamoDB for awhile. It didn&#x27;t change my mind. DynamoDB makes tradeoffs in order to run at massive scale, but scale isn&#x27;t a problem many people need solving when 2TB of RAM fits in a single box. Meanwhile I need to handle eventual consistency, an analytics pipeline, another database for fuzzy search, another geo lookup database, Lambda functions to do aggregations, and a pile of custom code. All while giving up tooling so readily available for the RDBMS world.<p>In a world where Opex is much higher than Capex DynamoDB might make sense, but for me server costs are 5% of dev costs. And even if it works from a cost perspective, how many AWS services have the console experience ruined by DynamoDB? The UI tricks you into thinking its a data table with sortable columns, but no! DynamoDB limitations strike again and you are off on a journey of endless paging. The cost savings come at the expense of the user.<p>DynamoDB also isn&#x27;t fast. 20ms for a query isn&#x27;t fast, 30ms for an insert isn&#x27;t fast. Yes its amazingly consistent and faster than other systems holding 500TB, but that isn&#x27;t a use case for many users.
评论 #23196345 未加载
评论 #23195617 未加载
评论 #23195967 未加载
评论 #23197418 未加载
评论 #23201014 未加载
评论 #23196367 未加载
评论 #23199510 未加载
评论 #23197475 未加载
abd12about 5 years ago
<i>Waves</i> Author here. Happy to answer any questions folks have about the book, about DynamoDB, or about self-publishing.<p>NoSQL modeling is waaay different than relational modeling. I think a lot of NoSQL advice out there is pretty bad, which results in people dismissing the technology altogether. I&#x27;ve been working with DynamoDB for a few years now, and there&#x27;s no way I&#x27;ll go back.<p>The book has been available for about a month now, and I&#x27;ve been pretty happy with the reception. Strong support from Rick Houlihan (AWS DynamoDB wizard) and a lot of other folks at AWS.<p>You can get a free preview by signing up at the landing page. If you buy and don&#x27;t like it, there&#x27;s a full money-back guarantee with no questions asked. Also, if you&#x27;re having income problems due to COVID, hit me up and we&#x27;ll make something work :)<p>Anyhow, hit me up with questions!<p>EDIT: Added a coupon code for folks hearing about the book here. Use the code &quot;HACKERNEWS&quot; to save $20 on Basic, $30 on Plus, or $50 on Premium. :)
评论 #23194701 未加载
评论 #23195071 未加载
评论 #23198352 未加载
评论 #23198033 未加载
评论 #23212890 未加载
评论 #23199806 未加载
评论 #23200098 未加载
tinkertamperabout 5 years ago
After using Dynamo for 2 years now the biggest problem I’ve seen thus far is the pretty extreme expectations it puts on your application code to manage things that have traditionally been considered the responsibility of the data store. We found it was a bit onerous to ensure all facets of modeling&#x2F;validation&#x2F;indexing were into consideration when writing that layer of the application. To address the constant bootstrapping you either end up with a crap ton of utilities that form indexes or create updateExpression strings, etc, or you end up constantly reinventing the wheel.<p>The JS landscape for Dynamo is a bit bare, notable options all largely ignore the indexing principles that are the real draw of Dynamo. This heartburn caused me to sit down and write a library myself (<a href="https:&#x2F;&#x2F;github.com&#x2F;tywalch&#x2F;electrodb" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;tywalch&#x2F;electrodb</a>) that allows you focus on the models and relationships while taking care of all the little pitfalls and “hacky” tricks inherent in single table design.<p>Alex’s book covers all these things and I honestly wish I had had it sooner before having to learn via foot shooting. It’s pricey but if you have a need for Dynamo on your project it really pays off knowing you’re swimming with the current, and Alex definitely gets you there.
abarrettwilsdonabout 5 years ago
I bought this a few weeks ago and am about 130 pages in.<p>It is just stunning how much better it is learning Dynamo&#x2F;NoSQL in general from this than effectively any other source. Anyone who&#x27;s had to rely on AWS docs knows how face-meltingly dense they can be.<p>I went back and refactored all my previous Dynamo work last night, and the difference was night and day. I&#x27;m planning to migrate some relational structures later this week, as well.<p>Is good book.
评论 #23197358 未加载
评论 #23196004 未加载
danenaniaabout 5 years ago
DynamoDB is very compelling for performance, scalability, and low ops overhead, but I recommend thinking <i>very</i> carefully about the limited transaction support before going with it, as it’s likely to be a dealbreaker for many use cases, whether or not you realize that up front. I think most apps will need a transaction involving more than 25 rows at some point, and with dynamo your only option is to fire them off in groups of 25 and hope none fail (plenty will at scale).<p>You can get many of the benefits of dynamo (sans auto-sharding), by applying its elegant indexing strategy to an sql database. It will be as fast or faster, your transactions can be as big as you need them to be, and you retain the ability to occasionally fire off un-indexed ad hoc queries for development or convenience. Running and scaling an sql db is also fairly painless these days with options like aurora.
评论 #23195251 未加载
评论 #23195150 未加载
评论 #23197866 未加载
pier25about 5 years ago
For my current serverless project I&#x27;m using Fauna which I think is a better option than Dynamo. You get relations, complex queries, etc. You also get authentication and authorization baked-in.<p>I haven&#x27;t done any serious tests but I&#x27;d say on average my reads to Fauna from Cloudflare workers are 30ms. Seems a lot compared to querying a local instance of Postgres but since Fauna is distributed you end up getting much better latency on average for your worldwide users compared to a single DB in us-east-1.<p>Writes take longer (probably around 200-300ms on average) but considering these are replicated to all Fauna servers with ACID I&#x27;m ok with that.<p>I wrote a little intro to Fauna&#x27;s query language which is very powerful if anyone is interested:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;PierBover&#x2F;getting-started-fauna-db-fql" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;PierBover&#x2F;getting-started-fauna-db-fql</a>
seibeljabout 5 years ago
DynamoDB is monster scale but... tricky to use and difficult pricing model. The paying for writers &#x2F; readers thing is strange to me and makes it difficult to scale up for bursts. I recommend not using this tech for most things. You need to know exactly why you want to use it and have a good reason.
评论 #23196048 未加载
评论 #23194821 未加载
Nicanabout 5 years ago
&gt; While your relational database queries slow down as your data grows, DynamoDB keeps on going. It is designed to handle large, complex workloads without melting down.<p>I mean- hand a person a gun, and they might shoot themselves in the foot. While you can make bad queries&#x2F;workloads for a relational database, you can just as easily make bad workloads for DynamoDB.
评论 #23195995 未加载
the_arunabout 5 years ago
What I like in DDB is TTL. It is a fantastic feature. I read someone comparing it with Redis. Redis is faster because of TCP connectivity, whereas DDB is over HTTP.
sisciaabout 5 years ago
I work a little outside the standard startup hyper-scale, fast growing business, so forgive my question.<p>But how widely used is DynamoDB? And for what use cases?<p>And what are the problems with it?
评论 #23196031 未加载
raynguyenabout 5 years ago
This looks like a great resource. One thing I&#x27;m struggling with is the ability to sort and filter and was wondering if the book goes into detail about this topic.<p>If I have a person entity and its attributes listed out in a table. How would you go about sorting by first name, last name, created at, etc... I was thinking of streaming everything over to elastic search, but that would add extra complexity to maintain.
评论 #23203409 未加载
albatross13about 5 years ago
Well I&#x27;m a sucker for this kind of stuff- how do the videos work in the premium package? Do I get to download them for offline viewing?
agustifabout 5 years ago
Can some knowledge be transferred to other NoSQL flavours like mongo or is the book heavily specific about DynamoDB?
评论 #23196661 未加载
bangbigabout 5 years ago
Wonder if anyone agrees that Uber&#x27;s order processing can be handled by DynamoDB very well.
timebomb0about 5 years ago
The book looks great, but being a startup, the price is hard to swallow for 20+ engineers.
评论 #23194004 未加载
haolezabout 5 years ago
Does anyone have book recommendations on NoSQL modeling in general?
评论 #23195948 未加载
Niccizeroabout 5 years ago
$79 for the basic package? A bit pricey if you ask me.
评论 #23193977 未加载
评论 #23194005 未加载
评论 #23194724 未加载
djsteinabout 5 years ago
thanks for this. I just started creating my first DynamoDB database yesterday
评论 #23196170 未加载