简体   繁体   English

Amazon EC2(EBS)上的集群数据存储的可能架构是什么?

[英]What are the possible architectures for clustered data storage on Amazon EC2 (EBS)?

I am running a Django website (on Apache) deployed on an EC2 instance. 我正在运行部署在EC2实例上的Django网站(在Apache上)。 Currently it uses a single MySQL instance but ideally I would like to have a cluster. 目前,它使用一个MySQL实例,但理想情况下,我想拥有一个群集。 Please advise on the pros and cons on the following possibilities as well as list others if any: 请就以下几种可能性的利弊提出建议,并列出其他可能性:

  • MySQL Cluster: If I deploy MySQL on several EBS instances, I still need a partitioner to have a distributed cluster. MySQL群集:如果我在多个EBS实例上部署MySQL,我仍然需要一个分区程序才能具有分布式群集。 Any solutions for this? 有什么解决办法吗?

  • Cassandra: How does setting Cassandra up go with EC2? Cassandra:EC2如何设置Cassandra? Also, if I use Cassandra currently, do I use the ability to use Django Models, or can I write a driver plugin for Django? 另外,如果我当前使用Cassandra,是否可以使用Django模型,还是可以为Django写驱动程序插件?

  • RDS: Does RDS support clusters? RDS:RDS是否支持群集? So far I only found documentation on Master-Slave architectures. 到目前为止,我只找到有关主从架构的文档。

Thanks, 谢谢,

-Sid -Sid

MariaDB 10 will work perfectly for this set up. MariaDB 10将非常适合此设置。

We have also been using Percona MySQL cluster on 4 nodes within EC2 for 2 years now, and it has performed flawlessly. 两年来,我们还在EC2的4个节点上使用了Percona MySQL集群,并且运行情况完美无缺。

  • MySQL Cluster: not sure what you mean by partitioner. MySQL Cluster:不确定分区程序的含义。 You will need at least 3 instances: 1 management and 2 data nodes. 您将至少需要3个实例:1个管理节点和2个数据节点。 MySQL cluster is in-memory database so you will need to large-memory instances for data nodes. MySQL集群是内存数据库,因此您需要数据节点的大内存实例。 Check MySQL Cluster docs for capacity estimation. 查看MySQL Cluster文档以进行容量估计。 Also, MySQL Cluster needs high-speed low-latency interconnects to achieve the best performance. 另外,MySQL Cluster需要高速低延迟互连来实现最佳性能。 EC2 is not the best environment for it. EC2并不是最佳的环境。

  • Cassandra: should work just fine - http://wiki.apache.org/cassandra/Cassandra%20EC2 卡桑德拉:应该只是罚款- http://wiki.apache.org/cassandra/Cas​​sandra%20EC2

  • RDS: RDS does not support clusters. RDS:RDS不支持群集。 High availability does not come easy with EC2 since it does not provide full access to networking features like broadcast/multicast, ARP takeover, etc. Some people are making progress though: http://www.mysqlperformanceblog.com/2010/06/17/high-availability-for-mysql-on-amazon-ec2-part-1-intro/ EC2不能提供高可用性,因为它不能完全访问网络功能,例如广播/多播,ARP接管等。尽管有些人正在取得进步: http : //www.mysqlperformanceblog.com/2010/06/17 / amazon-ec2-part2-intro / mysql的高可用性

Just to note: MySQL Cluster and Cassandra are different solutions from MySQL. 请注意:MySQL Cluster和Cassandra是与MySQL不同的解决方案。 You will need to rethink how your app stores and accesses the data if you decide to make the switch. 如果您决定进行切换,则需要重新考虑应用程序如何存储和访问数据。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM