我想获得有关如何建模以下内容的反馈:
我承诺暂时使用MySQL,尽管有可能在未来迁移到不同的数据库。我主要担心的是可扩展性,并有以下假设:
请记住我正在使用MySQL。鉴于预期的数据量,数据模型应该如何标准化?将这些数据存储在平台中是否有意义?什么样的分片方法是合适的? MySQL的NDB集群解决方案是否适合这种用例?
答案 0 :(得分:1)
考虑到预期的数据量,数据模型应该如何标准化?
完美。
你的音量很小。你每天要做10,000到355,000笔交易吗?我们假设您的峰值使用时间为12小时。那是.23 /秒到8 /秒。直到你达到30 /秒(12小时内超过100万行)的速度,你几乎不用担心。
将这些数据存储在平面表中是否有意义?
没有
什么样的分片方法是合适的?
没关系。选择任何让你开心的人。
你需要根据经验进行测试。构建一个真实的假数据量。写一些基准交易。在负载下运行以对分片备选方案进行基准测试。
MySQL的NDB集群解决方案是否适合这个用例?
这是值得怀疑的。您通常可以创建足够大的单个服务器来处理此负载。
这听起来不像你问题的任何要求。
MySQL Cluster的设计不会出现任何单点故障。在 一个无共享系统,每个组件都应该有自己的 内存和磁盘,以及使用共享存储机制等 建议不要使用网络共享,网络文件系统和SAN 支撑。