在数据库实现的层次化方法中,DBMS的作用是什么?

在数据库实现的层次化方法中,DBMS的作用是什么?,第1张

DBMS

数据管理系统(Database Management System)是一种 *** 纵和管理数据库的大型软件,是用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。它提供多种功能,可使多个应用程序和用户用不同的方法在同时或不同时刻去建立,修改和询问数据库。

图书管理员在查找一本书时,首先要通过目录检索找到那本书的分类号和书号,然后在书库找到那一类书的书架,并在那个书架上按照书号的大小次序查找,这样很快就能找到我所需要的书。 数据库里的数据像图书馆里的图书一样,也要让人能够很方便地找到才行。

如果所有的书都不按规则,胡乱堆在各个书架上,那么借书的人根本就没有办法找到他们想要的书。同样的道理,如果把很多数据胡乱地堆放在一起,让人无法查找,这种数据集合也不能称为"数据库"。

数据库管理系统就是从图书馆的管理方法改进而来的。人们将越来越多的资料存入计算机中,并通过一些编制好的计算机程序对这些资料进行管理,这些程序后来就被称为"数据库管理系统",它们可以帮我们管理输入到计算机中的大量数据,就像图书馆的管理员。

按功能划分,数据库管理系统大致可分为6个部分:

(1)模式翻译:提供数据定义语言(DDL)。用它书写的数据库模式被翻译为内部表示。数据库的逻辑结构、完整性约束和物理储存结构保存在内部的数据字典中。数据库的各种数据 *** 作(如查找、修改、插入和删除等)和数据库的维护管理都是以数据库模式为依据的。

(2)应用程序的编译:把包含着访问数据库语句的应用程序,编译成在DBMS支持下可运行的目标程序。

(3)交互式查询:提供易使用的交互式查询语言,如SQL。DBMS负责执行查询命令,并将查询结果显示在屏幕上。

(4)数据的组织与存取:提供数据在外围储存设备上的物理组织与存取方法。

(5)事务运行管理:提供事务运行管理及运行日志,事务运行的安全性监控和数据完整性检查,事务的并发控制及系统恢复等功能。

(6)数据库的维护:为数据库管理员提供软件支持,包括数据安全控制、完整性保障、数据库备份、数据库重组以及性能监控等维护工具。

基于关系模型的数据库管理系统已日臻完善,并已作为商品化软件广泛应用于各行各业。它在各户服务器结构的分布式多用户环境中的应用,使数据库系统的应用进一步扩展。随着新型数据模型及数据管理的实现技术的推进,可以预期DBMS软件的性能还将更新和完善,应用领域也将进一步地拓宽。

数据库管理系统(DBMS)是为了适应信息化社会对数据管理技术的需求,在近十多年来迅速发展起来的一门新兴学科。

计算机数据管理技术大致经历了三个发展阶段:

自由管理阶段

用户以文件形式将数据组织起来,并附属在各自的应用程序下。

文件管理阶段

*** 作系统中的文件系统给出了统一的文件结构和共同存取的方法,用户可以把数据和信息作为文件长期地保存在计算机系统中,并可以方便地进行查询和处理。

数据库管理阶段

为了适应大量数据的集中存储,并提供给多个用户共享的要求,使数据与程序完全独立,最大限度地减少数据的冗余度,出现了数据库管理系统。

著名数据库管理系统

MS SQL

SYBASE

DB2

ORACLE

MySQL

ACCESS

VF

它所提供的功能有以下几项:

(1)、数据定义功能。

(2)、数据管理功能。

(3)、对数据库进行保护。

(4)、数据库的建立和维护。

(5)、数据库的传输。

人群圈选,也叫人群定向。在业界有中广泛的业务场景。

业界比较优秀的方案有百度基于doris来实现海量用户的圈选,可以实现千万级人群秒级圈选。但是这种方案比较复杂:

1、需要数仓同学加工二值化tag,构建用户二值化tag到用户bitmap集合的倒排索引

2、需要通过构建哈希分桶列,解决超大bitmap基数交并集问题

3、需要数仓同学构建全局字典,防止不连续id带来的roaring bitmap性能问题

4、需要通过to_bitmap函数解决动态标签与静态标签的组合圈选问题

5、需要团队有doris的运维能力

本博文介绍一种基于spark的轻量级圈选,可以实现千万级人群分钟级(5分钟以内)圈选。

业界还有基于ES、MR、离线+服务bitmap等方案(我们选型时,doris还不火,故不在此列)。

ES:大人群的滚动导出会给集群带来很大压力的;另外就是如果构建一个大而全画像宽表的话,这个表会很稀疏,所以我们会按业务主题构建多个es表,这样就会涉及到多个表之间join的问题,而es是不支持join语义的。

MR:老方案了,性能不大行

es+bitmap方案:这个方案扩展起来有点doris的味道。但是自己开发的话,其实比较复杂,而且没有居多性能优化手段的话,性能没那么理想,大都是比不上spark的。

因此,最后我们选择了spark做为人群圈选的方案。

我们构建了用户画像相关的一站式平台,前端平台包括人群管理、标签管理、画像分析等相关功能。

中间层服务对应包含人群管理中心、人群任务调度、人群解析引擎(负责前端json到Spark SQL的转化)、标签管理中心的模块;当然也包含权限、安全、流控、人群监控等辅助模块。

存储层,我们主要基于spark进行人群定向,依托Hbase/Redis做用户单到点查询,用Mysql做配置信息存储。

我们选取两个主题的画像进行交集圈选,圈选结果千万级,测试结果如下:

展示方式不同,所用技术不同。前端开发用到的技术包括但不限于html。css。javascript、jquery、Bootstrap、Node.js、AngularJs等技术。后端开发以java为例主要用到的是包括但不限于StrutsspringspringmvcHibernateHttp协议ServletTomcat服务器等技术。

前端开发是创建Web页面或app等前端界面呈现给用户的过程。前端开发通过HTML,CSS及JavaScript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的用户界面交互。

在互联网的演化进程中,网页制作是Web1.0时代的产物,早期网站主要内容都是静态,以图片和文字为主,用户使用网站的行为也以浏览为主。

随着互联网技术的发展和HTML。CSS3的应用,现代网页更加美观,交互效果显著,功能更加强大。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7280860.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存