数据库集群用于存储

时间:2014-10-07 19:31:05

标签: mysql mariadb nosql

我目前正在开展一个大型项目,而不是需要大量数据库存储和Web访问。

关于Web服务器性能,它看起来很容易部署。我会使用负载均衡系统和PROXY HA / VARNISH

我的问题是数据库存储。 我需要实时存储大量简单数据并生成统计信息。我在想nosql,但我想保持它“简单”,我对nosql没有任何了解......我认为对我来说最好的选择是部署可能是mariadb集群的mysql集群。

让我向您展示我需要存储的数据: 我每天将收到大约1到1千万条记录:IP地址,用户名,网站ID,评级。 根据这些数据,我将每6个小时生成统计数据。对于第一个数据库,我将拥有大量的写访问权限和非常小的读访问权限(读访问仅供内部使用)对于统计数据,我每天将有大约2500万个读取查询。

因为几个月后数据库会非常庞大​​,我希望总是有足够的磁盘空间而不必转移到新服务器,我不知道什么样的技术才是最好的。我想我会使用带有2个NIC的OVH专用服务器用于公共访问,第二个用于内部网络,因此每个服务器都可以与专用低延迟高性能网络通信。我需要使用软负载均衡器,因为它基于专用服务器。 我想拥有高可用性和“无限制”的数据存储,所以我需要像RAID 15这样的东西...也许RAID1带有2个专用服务器和实时复制

我真的不知道什么是最好的解决方案和软件。 - 每天实时写入150万条记录 - 根据生成的统计信息,每天大约有2500万个查询 - 存储是简单的文本varchar 50 max。

2 个答案:

答案 0 :(得分:0)

我发现NoSQL比sql简单得多(关系更容易设置)但SQL可以更好地用于简单的VARCHAR存储,起搏器可以是您正在寻找的解决方案,它是一个简单的HA /故障转移群集而您可以使用它轻松设置mysql集群,它还可以设置一些负载均衡和DRBD(基于IP的RAID 1)。

对于数据存储,我认为RAI​​D 15不是最佳解决方案,RAID 5提供较低的性能,有时会出现磁盘故障时的一些数据问题,在我的公司,我们只使用RAID 10而且它是相当的足够我们的软件(每天大约1百万的NoSQL请求)。

如果你正在寻找一个NoSQL集群,Neo4j有一个原生的集群系统(我从未使用它,但我知道它非常强大),也许mongodb也可以做到,但我真的不喜欢它。我知道,从未使用它。

答案 1 :(得分:0)

暂时无法添加评论,但只是想让您知道mongo对您来说是一个非常可行的解决方案。它可以轻松扩展,如果丢失主节点,群集将自动重新配置(其中一个辅助节点将被提升为新的主节点)。

根据查询数据的方式,您可能希望查看在Elastic Search或Solr中对其进行索引 - 这些引擎专门用于处理大量搜索查询。