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.

Notes on the Amazon Aurora Paper

139 pointsby uvdn7about 6 years ago

10 comments

matharminabout 6 years ago
Separating the storage layer from the database and query layer seems to be the future of databases - there's no reason for every database to re-implement the storage and replication layer just to provide a different query language or data model. This is also what makes FoundationDB so attractive for me. Are there any other large projects doing this?
评论 #19253162 未加载
评论 #19256976 未加载
评论 #19252991 未加载
评论 #19253254 未加载
评论 #19254012 未加载
评论 #19254105 未加载
评论 #19252995 未加载
评论 #19253182 未加载
评论 #19253113 未加载
wgjordanabout 6 years ago
&gt; But here in the paper, it compares Aurora to a MySQL synchronous mirroring setup, which is really unfair, IMO. Why the active primary has to replicate everything over the wire to the active standby? Doesn&#x27;t MySQL&#x27;s replication support Statement-Based Replication?<p>The comparison in the paper is against the synchronous-mirroring pattern underlying RDS Multi-AZ [1], which is the existing fully-managed, high-availability MySQL solution Amazon offers, so the direct comparison is appropriate for existing RDS Multi-AZ users considering a migration to Aurora.<p>[1] <a href="https:&#x2F;&#x2F;aws.amazon.com&#x2F;blogs&#x2F;database&#x2F;amazon-rds-under-the-hood-multi-az&#x2F;" rel="nofollow">https:&#x2F;&#x2F;aws.amazon.com&#x2F;blogs&#x2F;database&#x2F;amazon-rds-under-the-h...</a>
评论 #19257559 未加载
benmmurphyabout 6 years ago
One of the neat things about aurora is there is a very small slave lag between the primary and read replicas. If you only have a single thread doing replication then you can easily have a situation where a multi-cpu master can get ahead of a slave only using a single thread. Lazily materializing the pages gives aurora &#x27;parallel replication&#x27; for free. I think Mysql supports parallel replication now but I think it is limited if transactions conflict [<a href="https:&#x2F;&#x2F;mariadb.com&#x2F;kb&#x2F;en&#x2F;library&#x2F;parallel-replication&#x2F;" rel="nofollow">https:&#x2F;&#x2F;mariadb.com&#x2F;kb&#x2F;en&#x2F;library&#x2F;parallel-replication&#x2F;</a>].<p>Another thing I noticed with Aurora is the incremental cost of storage for Aurora is extremely cheap compared to the cost of storage in EBS or the cost of storage if you used instance storage in EC2. The Aurora storage is 0.1&#x2F;GB but this is replicated 6 times which is more than EBS and EBS costs the same 0.1&#x2F;GB. This also might be why no-one is going to build a similar system to Aurora. It will be hard to sell something like Aurora to cloud users because the storage costs are going to more than what EC2 charges.
ralusekabout 6 years ago
Given this architecture, do we know why Aurora caps at 64TB max size?
eeccabout 6 years ago
Funny how the CQRS circle closes: it is an architectural design that overhauls some concepts of database design (the redo log, views) into the application layer (for some, to the extreme of reducing the database to a simple log.) And now this same separation is appearing in a DBMS design :)
评论 #19253212 未加载
kakwa_about 6 years ago
I&#x27;m wondering how aurora would behave with queries mixing read and write.<p>For example, with something like &quot;INSERT INTO my_table(field1, field2, field3, ...) SELECT f1, f2, f3... from root_table WHERE ...&quot;, I&#x27;m wondering how it will spread the load across nodes.
danielecookabout 6 years ago
I don’t understand how aurora achieves the speed it does with a log based approach. Can someone please clarify?
评论 #19253039 未加载
评论 #19252803 未加载
ddorian43about 6 years ago
For something open-source like this, look at tikv(transactional key-value (rust)) + tidb(query layer (go)).
anentropicabout 6 years ago
dumb question which maybe has a well-known answer: has anyone done the same thing but for postgres instead of mysql?
评论 #19255497 未加载
ddorian43about 6 years ago
Everything is faster when you move your data to ebs \s.<p>Though google has done this for all databases (at least their internal ones) (even bigtable). And some companies say they can do it for nvme &amp; ram.<p>You just need real-good networking and some type of asic and removing kernel from the path.