我目前在一个大项目中工作,需要大量的数据库存储和web访问。
关于web服务器的性能,它看起来很容易部署。我会使用具有代理HA/VARNISH的负载平衡系统
我的问题是关于数据库存储。我将需要实时存储大量的简单数据并生成统计数据。我在考虑nosql,但我想让它保持“简单”,我对nosql…一无所知。我认为对我来说最好的选择是部署mysql集群,可能是mariadb集群。
让我向你展示我需要存储的数据:我每天会收到大约1到1,500万条记录: ip地址,用户名,站点id,评级。基于这些数据,我将每6小时生成一次统计数据。对于第一个数据库,我将拥有大量的写访问权限,而非常小的读访问权限(读访问仅供内部使用)用于统计,我每天将有大约2500万次读查询。
因为数据库会在几个月后变得非常大,我希望始终有足够的磁盘空间,而不必移动到新的服务器,我不知道哪种技术将是最好的。我想我会使用带2个网卡的OVH专用服务器,首先用于公共访问,其次用于内部网络,这样每台服务器都可以与专用的、低延迟的高性能网络进行通信。我需要使用软负载均衡器,因为它基于专用服务器。我希望具有高可用性和无限制的数据存储,因此我需要RAID 15…之类的存储可能是带有2台具有实时复制功能的专用服务器的RAID1
我真的不知道什么是最好的解决方案和软件。-每天对150万条记录的实时写入访问-根据生成的统计数据,每天大约有2,500万条查询-存储是简单文本varchar 50 max。
发布于 2014-10-08 16:27:58
我发现NoSQL比sql简单得多(关系更容易设置),但是SQL可以更好地用于简单的VARCHAR存储,pacemaker可以是你正在寻找的解决方案,它是一个简单的HA/Failover集群,你可以使用它轻松地设置一个mysql集群,它还可以设置一些负载平衡和DRBD (RAID1over IP)。
对于数据存储,我认为RAID 15不是最好的解决方案,RAID 5提供的性能较差,有时在磁盘故障时会出现一些数据问题,在我的公司,我们只使用RAID 10,它对于我们的软件(每天大约一百万次NoSQL请求)来说已经足够了。
如果你正在寻找一个mongodb集群,Neo4j有一个原生集群系统(我从来没有用过它,但我知道它真的很强大),也许mongodb也能做到,但我真的不知道,从来没有用过它。
发布于 2014-10-09 02:06:32
还不能添加评论,但只想让你知道mongo对你来说可能是一个真正可行的解决方案。它很容易扩展,如果您失去主节点(其中一个辅助节点将升级为新的主节点),您的集群将自动重新配置自身。
根据查询数据的方式,您可能希望在Elastic Search或Solr中为数据建立索引-这些引擎专门为处理大量搜索查询而设计。
https://stackoverflow.com/questions/26243738
复制相似问题