5 ms·
Build Highly Available MySQL Applications Using Amazon Aurora Multi-Master
- etaioinshrdlu 7y agoHow cool would it be if we could use multi-master in combination with Parallel Query, global replication, and the serverless option???
- deleted 7y ago[deleted]
- polskibus 7y agoI wish it was open source like MySQL.
- aloknnikhil 7y agoWouldn't matter. Aurora's value-add comes from its storage nodes. They would have to open source that too.
- deleted 7y ago[deleted]
- jinqueeny 7y agoShameless self-plug: If you are looking for an open-source scale-out MySQL that supports both multiple writes and multiple reads, feel free to give TiDB (https://github.com/pingcap/tidb https://github.com/pingcap/tidb) a try.
- xellisx 7y agoGalera is another multi master solution that sits on top of MySQL or MariaDB.
- ianamartin 7y agoPeople need to stop writing stuff about distributed systems if they won’t explicitly talk about the P in CAP theorem. What happens here in the event of a network partition? There are several failure modes possible if I’m reading the diagram right. Network failure between the Aurora node and the shared storage layer. I would expect that to result in a failed transaction and rollback, right? That’s not really all that available though, is it? What about a network partition between availability zones? Maybe your local thinks it has a quorum because it can no longer see a different AZ? What happens when the partition is healed? How do the nodes reconcile? What if you’re working with multiple AZs and you have application nodes in each AZ writing to a cluster of nodes that all think they have a quorum because they can’t see each other? What happens to those writes after the partition? Is every transaction terminated rolled back because us-east-1 can’t see us-west-3? If they aren’t, how do the nodes achieve consensus? Are we doing a mongoDB thing here and just tossing everything after the last shared state? And even if that does work out, What’s going on? And how is it achieved. Look, if you need transactions at all, you most likely need isolation level: serializable. And that’s incredibly hard to get right. Many systems really don’t need any of that at all, but when you need it, it has to be right. This doesn’t address any of the really hardest parts of distributed systems. It doesn’t address why I would take any application at all that stores data in a RDBMS and use this. I’m sure everyone there on that team is working hard. But people have to stop writing about distributed systems like this.
- redis_mlc 7y agoThe above comment is, well, not very informed. CAP is a simple, generic academic model. Researchers and implementers moved on from that a long time ago. In the case of Google, they have partition-free networks for newer databases, so CAP rarely applies. Galera/Percona Cluster has solutions for all the above also. Generally multi-master writes continue, and the behind server either catches up or gets automatically rebuilt. MySQL 8 has something equivalent to Galera. I would recommend testing (or waiting) a year for multi-master Aurora to bake. In the meantime, you can use Percona Cluster if you can't wait. You can learn more here about the state-of-the-art in multi-region, multi-master RDBMS' here: http://www.jebriggs.com/blog/2017/11/internet-latency-and-multi-master-database-transactions/ http://www.jebriggs.com/blog/2017/11/internet-latency-and-mu... Source: DBA who's operated Percona Cluster for 5+ years. Contact me if you need extreme database performance or availability.
- PeterZaitsev 7y agoAmazon Aurora magic is in storage is the case at large extent because RDS was done on the EBS storage which is super inefficient for database workloads. If you use NVMe storage you often get much better performance... and when you can use Database Level replication for high availability https://www.percona.com/blog/2017/11/28/best-practices-percona-xtradb-cluster-aws/ https://www.percona.com/blog/2017/11/28/best-practices-perco... But even if you use EBS the Magic of RocksDB/MyRocks may be better than magic of optimized storage as this blog post shows https://www.percona.com/blog/2019/07/17/assessing-mysql-performance-amongst-aws-options-part-one/ https://www.percona.com/blog/2019/07/17/assessing-mysql-perf...
- vijaybritto 7y agoThis master slave wording has to change in tech. It's 2019
- rat9988 7y agoI have never found it offensive.
- vijaybritto 7y agoGood for you. But it's not appropriate
- rat9988 7y agoIt is in my opinion.
- parliament32 7y agoMaster/slave is a perfectly good description of the roles. If we were titling employees master/slave that might be a problem, but this is software ffs. This faux-indignation puffery has to change. It's 2019.
- joecot 7y agoThe important line is at the very end: > At launch, Aurora Multi-Master supports two node clusters in a single Region. Support for more writer nodes and placement of writers in multiple Regions is planned for future releases. Great to see more high availability options, but yet again it's just in the same region. When we see the East region go down entirely more often than single availability zones. At least this time they mention that limitation in the announcement and an intention to fix it later. In the mean time I'll stick to our multi-region Galera setup.
- ReD_CoDE 7y agoHi friends, can I ask another question related to MySQL? And maybe AWS! I have a lot of spreadsheets and PDFs as a silo, and I want be able to build a searchable MySQL database from those documents. Does it possible? How?
- SahAssar 7y agoSounds like you are looking more for a search engine (like Elastic for example), not a classic RDBMS.
- ReD_CoDE 7y agoI think search engine is not a bad idea, but a researchable database (for example MySQL) whould be better Here is an example for spreadsheets, but I think spreadsheets is easy, because there are some solutions like MySQL workbench. https://search.equityfront.com/ https://search.equityfront.com/ But for PDFs which has unstructured and semi-structured data and vectors, it's hard to find a good solution to extrac/convert them into MySQL