连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)...
接下来正式开篇讲解在实际中大型项目中oracle的高级设计及开发的内容,以下讲解的oracle内容以及示例程序都是基于oracle11R2。
为了防止脱离实际地搞一堆理论,本人尽量用实际工作中的例子来说明问题,当然一些必要的理论有时候还是需要讲解,因为说的内容是高级设计及开发,入门级的SQL以及数据库概念将不会做详细讲解。
绝大多数IT项目,都是围绕数据库进行各种业务的,所以也有人将这类项目称为数据库项目,也就是说数据库是重点,有过项目设计经验的都知道,好的数据库设计,可以让开发和维护变得简单,提升系统的扩展性。要想设计一个好的数据库系统,对数据库知识的掌握程度,加上个人的业务经验,直接决定了设计的好坏。
Oracle数据库是个庞大的体系,从大的方向可以分为oracle内部体系结构和外部体系结构。本人以后将陆陆续续通过实际例子引出oracle的各种知识结构。
言归正传,我们现在要开发一个百万级别访问量的商业问卷调查系统,参与调查的网民将参与抽奖活动,我们开始进行数据库设计。
因为是oracle高级设计和开发的讲解,具体的业务分析不深入,简单说明:从使用者角度,系统会分两部分,一个是网站前端,一个是管理后台;从业务上分类,则会包含会员管理模块、问卷内容管理模块、统计分析模块、积分模块、权限设置、系统设置等等。
接下来将截取会员管理模块部分,详细讲解数据库高级设计,引出各种oracle的各种知识,特别是可以优化设计和开发的知识,其中一些业务细节将被忽略。不当之处请见谅,谢谢高手们批评指正。
首先要判断系统的类型,毫无疑问,问卷调查系统是个OLTP系统。
其次评估数据量,评估下来会有2000万用户,活跃用户会有200万。2000万用户当然不算小,1个字节位就是20M的数据,假如一条会员记录信息有0.5K的话,会员表的大小就是10G。
由上面两个评估和判断可以得出结论,普通的企业管理软件的设计思路肯定不是好方法。
通常的会员系统中会员表会包括以下字段:
会员ID、会员登录名、会员登录密码、会员昵称、会员email、会员中文名、证件类型、证件号码、会员手机、会员性别、会员类别、会员QQ号码、联系电话、联系地址、邮政编码、会员所在地区、会员生日、兴趣爱好、职业、岗位、
自我介绍、个人头像、注册时间,等等
在设计上性能考虑就很重要,可以起码从以下五点考虑:
A)合理定义字段的数据类型
B)将会员表分拆成多个表
C)建立分区表
D)建立适当的索引
E)普通表数据对应的表空间和索引表对应的数据表空间分离
未完,针对上述五点论述,待续。。。
转载于:https://blog.51cto.com/connieguo/1617810
连载:告诉你如何设计一个日访问量千万级别的系统,谈oracle的高级设计和开发(2)...相关推荐
- 设计一个可扩展的用户登录系统
在Web系统中,用户登录是最基本的功能.如何设计一个可扩展的用户登录系统呢?本文结合实际案例对用户登录系统设计进行多维度的讲解,帮助各设计者在应用中将复杂变得简单. 来源:廖雪峰的官方网站,作者:廖雪 ...
- 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户 类中增加密码、地址、最小余额和利率等成员变量,并增加一些银行账户经常用到的成员函数。 要求: (1)类
先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户 类中增加密码.地址.最小余额和利率等成员变量,并增加一些银行账户经常用到的成员函数. 要求: (1)类中的成员函数具有输入.输出 ...
- 设计一个简单分页存储管理系统_【系统架构】如何设计一个简单灵活的收银系统?看这里!(1)...
在电商项目中,收银系统是一个不可或缺的功能,因为你不仅要通过它来进行收款.退款,而且也要通过它进行财务的对账.报税等.因此,如何设计一个简单灵活的收银系统,对于开发电商项目来说非常重要. 那如何设计一 ...
- 系统设计题:如何设计一个电商平台积分兑换系统!
本文来自公众号:狸猫技术窝 作者:原子弹大侠,阿里高级技术专家 1.拉开差距的一类面试题 现在面试经常会遇到一类问题,面试官让你现场设计出某个业务场景下的一个系统,这个系统往往在业务或者技术上有一定难 ...
- 支付退款流程设计_【系统架构】如何设计一个简单灵活的收银系统?看这里!(1)...
在电商项目中,收银系统是一个不可或缺的功能,因为你不仅要通过它来进行收款.退款,而且也要通过它进行财务的对账.报税等.因此,如何设计一个简单灵活的收银系统,对于开发电商项目来说非常重要. 那如何设计一 ...
- 如何设计一个支持一亿用户的系统,心中有方案遇事不慌!
要设计一个支持数亿用户的系统并不容易.对于软件架构师来说,这总是一个很大的挑战(但是读完我的文章
- 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户类中增加一个静态成员变量(年利率),并增加如下成员函数:(1)计算月利息月利息=存款金额x年利率+12(2)更改利率(静态方法)
实验二:继承和派生程序设计(4学时)必做题: 先设计一个基本账户类,再通过继承基本账户类设计一个储蓄账户类,储蓄账户类中增加一个静态成员变量(年利率),并增加如下成员函数:(1)计算月利息 月利息=存 ...
- 阿里P8面试官:如何设计一个扛住千万级并发的架构(超级详细)
如何降低RT的值 继续看上面这个图,一个请求只有等到tomcat容器中的应用执行完成才能返回,而请求在执行过程中会做什么事情呢? 查询数据库 访问磁盘数据 进行内存运算 调用远程服务 这些操作每一个步 ...
- 如何设计一个牛逼的 Feed 流系统
点击上方"肉眼品世界",选择"设为星标" 深度价值体系传递 作者:少强 简介 差不多十年前,随着功能机的淘汰和智能机的普及,互联网开始进入移动互联网时代,最具代 ...
最新文章
- GIS软件开发工具包TatukGIS Developer Kernel 发布 v11.3.0-Unstable1丨附下载
- confluencejira集成_集成confluence与jira
- 固态硬盘量产工具_固态硬盘怎么修复
- SAP 报表程序的一些标准功能码
- Hadoop环境搭建教学(一)运行环境,集群规划介绍;
- 反射动态调用DLL类库测试
- mybatis查询缓存——(十三)
- xbox360fsd更新游戏封面_游戏类短视频创作指南
- redis入门——服务器篇
- 学会这些Sketchup技巧,工作效率提高一半
- 苹果系统摩尔庄园是什么服务器,摩尔庄园手游iOS
- 即时通讯系统————基于TCP协议的C/S架构(Client)
- 博客做外链(可以发布外链的博客有哪些平台)
- 计算机教师道德模范事迹材料,优秀道德模范教师先进事迹材料
- 【云周刊】第125期:高考恢复40年!你们要的大数据解读来啦
- 怎样在手机设置无线网络连接服务器,如何用手机设置wifi路由器?
- 数据预处理:自定义PDF格式批量转换TXT系统
- win7系统自带的虚拟xp模式
- Matlab机器人工具箱(3-3):五自由度机械臂(动力学)
- java基于ssm的学校教务管理系统的设计与实现论文-计算机毕业设计
热门文章
- 错误:docker-ce-cli conflicts with 2:docker-1.13.1-103.git7f2769b.el7.centos.x86_64 错误:docker-ce confli
- vue 引入json地图_VUE中通过Echarts引入地图
- mysql innodb隔离级别_浅析MySQL InnoDB的隔离级别
- linux下达梦数据库启动_linux上安装tomcat和达梦数据库
- Java异常持久化,Log4j进行日志的数据库持久化,说SQL语法异常。
- html中列表、表格、合并单元格
- 未来社区及其趋势探索
- 互联网晚报 | 8月31日 星期二 | 荣耀深圳全球总部正式启用;长安马自达收购一汽马自达尘埃落定;浙江推出“浙江外卖在线”...
- 互联网晚报 | 8月26日 星期四 | 小米Q2营收净利均创单季历史新高;拼多多设立“百亿农研专项”;网易云音乐正式入驻闲鱼...
- 潮流玩具行业趋势与洞察白皮书