在网站架构中,数据层面的数据存储和数据流通时其中重要的一部分。
一、常见数据存储架构
1)集中式存储:将所有数据存储在一台数据库上,数据库只有一个instance。服务的稳定性由昂贵的硬件来保证。
2)oracle Rac存储:基于硬件和文件系统的可靠性远大于数据库实例的可靠性的原理,oracle采用rac(real application clusters)来提供高可靠服务。rac采用一个物理数据库,数据库启动多个Instance。每个instance都有自己的SGA ;每个instance都有自己的background process ;每个instance都有自己的redo logs ;每个instance都有自己的undo表空间 ;每个instance都共享一份datafiles和controlfiles。
3)mysql分库存储:在数据和访问量达到一定规模后,数据库切分成为常见的解决方案。在数据库切分方案中,mysql数据库相比于oracle具有天然的优势。mysql采用replication的方式(share noting)实现数据共享;而oracle通过share everthing的方式来实现,对硬件的要求交高。
在各中方案中,每种方式都有各自的优点,一般情况下,集中式存储适合于有复杂查询,复杂join,对事物要求较高的OLTP系统;mysql分库存储实用于查询简单,数据量大,查询压力大的系统(web应用中,80%以