千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:重庆千锋IT培训  >  技术干货  >  什么是数据库连接,连接和会话之间有什么关系?

什么是数据库连接,连接和会话之间有什么关系?

来源:千锋教育
发布人:xqq
时间: 2023-10-15 09:31:42

一、数据库连接


原理上和网站的一个session差不多吧,只不过session是把key放在cookie里面,数据库连接是把key放在客户端的library的内存里(比如.Net Sql Client)。对MS SQL来说,这个连接的协议叫TDS,底下可以走多种传输层协议,比如tcpip,也可以named pipe。而MySQL就又有自己的协议。

当然在拿到key之前,先要走个authentication过程,比如Windows Authentication或者Sql authentication,过了authentication才会产生一个session key。如果是启用SSL的话那么整个连接上的数据流还会被加密,防止信息泄露或者中间人攻击。
通俗来讲,会话(Session) 是通信双方从开始通信到通信结束期间的一个上下文(Context)。这个上下文是一段位于服务器端的内存:记录了本次连接的客户端机器、通过哪个应用程序、哪个用户登录等信息.

连接(Connection):连接是从客户端到ORACLE实例的一条物理路径。连接可以在网络上建立,或者在本机通过IPC机制建立。通常会在客户端进程与一个专用服务器或一个调度器之间建立连接。

会话(Session) 是和连接(Connection)是同时建立的,两者是对同一件事情不同层次的描述。简单讲,连接(Connection)是物理上的客户端同服务器的通信链路,会话(Session)是逻辑上的用户同服务器的通信交互。

ORACLE中一个用户登录ORACLE服务器的前提,就是该用户具有ORACLE的 “CREATE SESSION”权限。ORACE允许同一个用户在同一个客户机上建立多个同服务器的会话,每个SESSION都代表了用户与服务器的一个交互。就像你用IE浏览器打开博客园网站,然后你再打开一个IE窗口,又打开一个博客园网站。两个IE窗口就相当于两个SESSION, 而物理链路就相当于连接(Connection)。后台进程PMON会每隔一段时间,就会检测用户连接状况,如果连接已断开,PMON会清理现场,释放相关的资源。

在一条连接而无相应的会话。另外,一个会话可以有连接也可以没有连接。使用高级Oracle Net特性(如连接池)时,客户可以删除一条物理连接,而会话依然保留(但是会话会空闲)。客户在这个会话上执行某个操作时,它会重新建立物理连接。

在专用服务器中,一个会话对应一个服务器进程(Process),如果数据库运行在共享服务器方式,一个服务器进程可以为多个会话服务。

延伸阅读:

二、什么是CDC

CDC是(Change Data Capture 变更数据获取)的简称。

核心思想是,监测并捕获数据库的变动(包括数据 或 数据表的插入INSERT、更新UPDATE、删除DELETE等),将这些变更按发生的顺序完整记录下来,写入到消息中间件中以供其他服务进行订阅及消费。

CDC 技术应用场景也非常广泛,包括:

数据分发,将一个数据源分发给多个下游,常用于业务解耦、微服务。

数据集成,将分散异构的数据源集成到数据仓库中,消除数据孤岛,便于后续的分析。

数据迁移,常用于数据库备份、容灾等。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

数据库中,投影与选择的区别?

2023-10-15

IT运维岗位可以细分哪几种,职责是什么?

2023-10-15

SQL Server外部组件发生异常怎么解决?

2023-10-15

最新文章NEW

图像去噪、图像复原和图像超分辨率重建有什么区别?

2023-10-15

测试是如何跟进和管理bug?

2023-10-15

ITSM和ITOM的区别是什么?

2023-10-15

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>