我在网络系统中使用了多少个数据库是否重要?我计划:
>用户信息和相关表格
>管理员表和所有系统表
>报告系统
>审核表的日志
>用户对象表,如照片,视频,评论
>用户API应用程序读/写数据.
问题:
>我正在使用带有cakephp的MySQL和MagnoDB.因此,如果我实现上述,那么我将在系统中使用6个数据库.添加备份,然后每个共有12个数据库中的2个.这种方式的任何优势/劣势vs将所有表转储到1个数据库中?我假设有像数百或数千个数据库这样的网站,如雅虎,亚马逊,脸书等是常态,或者这些都是由1个数据库驱动,但有多个实例?
>对于查找表:我是否在每个数据库中复制它们,或者在管理数据库中复制1个是否足够好?
>此外,如果我有相同数据库的多个实例,我需要将它们命名为DB1,DB2,DB3,还是我可以称之为任何东西?
我们正在开发一个本地评论网站,所以最终会有很多用户.
解决方法:
使用单个数据库.使用多个DB的问题包括分布式查询(如已经指出的那样),以及与每个数据库服务器/实例相关的开销,以及一般的维护复杂性.
你想要的是表空间http://dev.mysql.com/doc/refman/5.1/en/create-tablespace.html
考虑使用像Oracle这样的dbs,每个实例的开销是300-500mb.更不用说一组新的进程和单独的缓冲区缓存.您需要一个统一的缓冲区缓存来充分利用RAM.
使用数据库作为分区单元进行分区并不能为您节省太多,但会让您头疼不已.只要您很好地设计模式并调整存储,MySQL就可以处理大量数据(兆兆字节).并使用单独的表空间.
移动您的应用以及备份/恢复也应该很简单.
我创建单独的DB的唯一原因是,如果涉及多个客户,或者项目需要它.但从技术角度来看,通常不需要它.
标签:mysql,database-design 来源: https://codeday.me/bug/20190630/1337549.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。