本帖最后由 guoyJoe 于 2013-4-14 22:37 编辑
支持!构架这个好高深。。。我也来扯扯:
1. 设备如何选型,影响选型的因素有哪些?
在系统架中,我们必须严格尊循软件工程开发过程,对软件开发项目进行合理的管理。我们需要从网络构、硬件选型,软件选,软件架构,系统维护,成本核算等方面进行综合考虑。
(1) 首先我们要清楚这个项目是要做什么的,一定要搞清用户的需求,最终达到一个什么目的,根据需求分析:每小时平均产生的数据量,每秒最高并发数等等
(2) 最核心的一个问题用户对这个项目分几期完成,第一期投资多少钱,第二期投资多少钱。。。
有钱了,设备就好选型了,当今主流的三大小机:IBM-aix,HP-Hp Unix,SUN –solaris(被Oracle收购了)及一些PC server(IBM/ HP /DELL).
如果钱不是问题可以考虑大机或一体机
高中低端存储EMC 等等
(3)主流的架构一般是高可用HA,24*7不停机
a)双机热备
b)双机互备
c)双机双工
如下图:数据库RAC,应用服务器用虚拟化群集
(5)这个项目的团队组成,一个成功的项目,以人为本,用好人很关键
项目经理,架构设计师,开发人员,测试人员,技术支持,DBA,SA,硬件工程师等。。组成一个强大的团队是很有必要的。
2.数据库如何设计,如何根据需求设计实体模型,逻辑模型,物理模型,喜欢哪种设计工具软件?
(1)数据库的设计,一般情况下,是分析需求中的各种名词性的对象为实体,而实体之间的关系一般是作为逻辑,实体对应具体对象表,而逻辑作为外键为主的关系表,同时对于一些属性一般应该分离成单独的实体表。概念数据模型设计与逻辑数据模型设计、物理数据模型设计是数据库三个主要步骤:
a)概念数据模型是最终用户对数据存储的看法 b)逻辑数据模型反映的是系统分析设计人员对数据存储的观点 c)物理数据模型是在逻辑数据模型的基础上,考虑各种具体的技术实现因素,进行数据库体系结构设计,真正实现数据在数据库中的存放
(2)后台系统采用基于Eclipse的B/S结构,前台系统采用B/S结构,数据库采用Oracle RAC及Mysql分布式系统。
(3)数据库设计的常用工具嘛嘿嘿一般用PowerDesigner
(4)单纯的软件开发并不等于系统构构,如果仅仅只考虑软件开发,那么这样的系统在实际运行中会出现这样那样的问题甚于无法解决。因此,系统架构的要考虑下面几个方面:
1)保证系统稳定性
2)保证系统拥有良好的扩展性
3)保证系统具有良好的收缩性
4)保证系统易维护
5)保证系统易移植
6)并行处理能力
7)高效的系统管理
3. 物化视图 db_file_multiblock_read_count 在什么场景下使用?
(1)物化视图,应该是针对这样的查询sql,其关系表比较多,数据量比较大,并且查询比较频繁, 同时建立在返回结果上的条件变化比较大。
用在数据迁移(特别两个DB的版本相差很大,而且维护窗口不能停机,迁移时间无荷刻要求)和DW数据同步比较多。
(2)db_file_multiblock_read_count参数针
对多块读:在10g是最大为128(即128*8K=1M,oracle的最大的一个IO就是1M),在11G这个参数可以设256,512...等可能做了改善比如设了256,即256*8K=2M,Oracle会把这2M折成2两个1M(用两个线程)。db_file_multiblock_read_count这个参数也是优化器CBO考虑成本 生成执行计划的一个非常重要的参数。
|