博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
数据库管理软件的由来
阅读量:4677 次
发布时间:2019-06-09

本文共 692 字,大约阅读时间需要 2 分钟。

 

 

1、程序所有的组件就不可能运行在一台机器上

因为这台机器一旦挂掉则意味着整个软件的崩溃,并且程序的执行效率依赖于承载它的硬件,而一台机器机器的性能总归是有限的,受限于目前的硬件水平,就一台机器的性能垂直进行扩展是有极限的。于是我们只能通过水平扩展来增强我们系统的整体性能,这就需要我们将程序的各个组件分布于多台机器去执行。 2、数据安全问题
根据1的描述,我们将程序的各个组件分布到各台机器,但需知各组件仍然是一个整体,言外之意,所有组件的数据还是要共享的。但每台机器上的组件都只能操作本机的文件,这就导致了数据必然不一致。于是我们想到了将数据与应用程序分离:把文件存放于一台机器,然后将多台机器通过网络去访问这台机器上的文件(用socket实现),即共享这台机器上的文件,共享则意味着竞争,会发生数据不安全,需要加锁处理。。。。

3、并发

根据2的描述,我们必须写一个socket服务端来管理这台机器(数据库服务器)上的文件,然后写一个socket客户端,完成如下功能

1.远程连接(支持并发)2.打开文件3.读写(加锁)4.关闭文件

 

总结:

我们在编写任何程序之前,都需要事先写好基于网络操作一台主机上文件的程序(socket服务端与客户端程序),于是有人将此类程序写成一个专门的处理软件,这就是mysql等数据库管理软件的由来,但mysql解决的不仅仅是数据共享的问题,还有查询效率,安全性等一系列问题,总之,把程序员从数据管理中解脱出来,专注于自己的程序逻辑的编写。

 

 
 

转载于:https://www.cnblogs.com/mingerlcm/p/9684090.html

你可能感兴趣的文章
C#写点酷玩意,波形图控件
查看>>
MS SQL 批量操作
查看>>
CSRF
查看>>
mysql中创建用户和赋权限
查看>>
(Hive)史上最难解析的json字符串解析出来了!!
查看>>
Linux学习之一--VI编辑器的基本使用
查看>>
Activity启动模式 及 Intent Flags 与 栈 的关联分析
查看>>
iOS5可能会删除本地文件储存
查看>>
周四总结
查看>>
播放器
查看>>
linux使用select实现精确定时器详解
查看>>
隐藏 iframe 技术——Ajax 时代一个重要的环节
查看>>
腾讯通启动报错please intall msxml5.0 or later!
查看>>
JQuery攻略(一) 基础知识——选择器 与 DOM
查看>>
字符串hash
查看>>
2017《面向对象程序设计》课程作业六
查看>>
404 Note Found 队-Beta6
查看>>
[转载]实际举例C#引用类型和值类型的区别
查看>>
狼人杀校园升级版:学霸大战学渣 Who is the king of examination!
查看>>
哈希长度扩展攻击(Hash Length Extension Attack)利用工具hexpand安装使用方法
查看>>