假如要开发一个日访问量百万级别、甚至千万级别访问量的互联网平台,性能和安全是首要考虑的因素。单从性能上讲,主要从以下几个方面考虑:
1) 硬件及网络设备;
2) 分布式、集群、读写分离、CDN加速等;
3) 使用优秀的开发框架,充分利用缓存机制;
4) 良好的数据库设计规划,包括数据库集群,关系型数据库+非关系型数据库结合;
5) 高性能的开发语言编程,特别是数据库部分的编程;
等等。
建设一个中大型互联网平台,是有技术含金量的,抛开硬件、网络环境不说,系统的性能很大程度上取决于系统构建是否合理,系统的设计是否优良,其中数据库端的设计和开发又是关键中的关键。
本人一直从事互联网平台的开发,也经常参与公司技术人员面试工作,针对数据库(oracle)部分我通常会问对方二个问题:
1) 请说明char(10)、varchar2(10)和nvarchar2(10)的区别;
2) 请说出十种以上对性能优化有影响的做法。
面试下来的结果往往让人失望,真正能将这两个问题回答比较好的凤毛麟角,这主要是因为即使是有很多工作经验的开发人员,能有机会接触大一点的互联网平台的机会并不多,更多的是做一些企业管理系统,几十个,几百个使用用户的平台,现在的服务器性能完全可以弥补设计上性能缺陷的不足。
为了能向高手们学习,针对oracle的设计及开发领