数据的力量:构筑现代大型网站之数据库基础与应用

目录

数据库基础知识--前言

大型网站架构特点

DBA数据库管理员

什么是数据?

数据存储

什么是数据库

数据表的概念

为什么需要mysql这样的数据库管理工具?★

DBMS

收费数据库与免费数据库

运维和数据库

开发与运维的不同阶段

数据库类别

数据库具体应用场景

相亲网

友情提醒


数据库基础知识--前言

大型网站架构特点

和传统企业应用系统相比,大型网站系统具备如下特点:

  • 高并发,大流量:需要扛得住高并发,大流量的用户访问。Google日均PV数35亿,日均IP访问数3亿;腾讯QQ同时在线用户数过亿;淘宝双11当天活动交易额过百亿,活动开始的第一分钟独立访问用户数达千万。

  • 高可用:网站系统需要7*24小时不间断提供服务,大型网站的宕机事件通常都会成为新闻焦点,例如百度域名曾被黑客劫持无法访问。

  • 海量数据,高可用数据库:需要存储,管理海量数据,使用大量的服务器。

  • 世界各地用户分布广泛,网络环境复杂:大型网站都是为全球用户提供服务,全球各地网络环境千差万别,即使国内也有多个运营商网络互通难的问题,面对海外用户还得假设海外数据中心。

  • 服务器安全问题:互联网的开放性,很容易受到黑客攻击,需要保护服务器安全,保证数据安全。

  • 需求快速变更,发布频繁:和传统应用比较不同,互联网产品为了快速满足市场需求,产品发布率很高,一天内网站发布几十次已是正常。

  • 渐进式发展:即使是世界级大型网站,也都是由小型架构慢慢演变而来,如阿里巴巴本是在马云家中客厅诞生。

总的来说,大型网站的架构特点要求数据库必须具备高性能、高可用性、可扩展性和安全性。这些要求直接影响了数据库的选择、设计和优化策略。

DBA数据库管理员

数据库管理员(Database Administrator,简称DBA),是从事管理和维护数据库管理系统(DBMS)的相关工作人员的统称,属于运维工程师的一个分支,主要负责业务数据库从设计、测试到部署交付的全生命周期管理。

DBA的核心目标是保证数据库管理系统的稳定性、安全性、完整性和高性能。

在国外,也有公司把DBA称作数据库工程师(Database Engineer),两者的工作内容基本相同,都是保证数据库服务7*24小时的稳定高效运转,但是需要区分一下DBA和数据库开发工程师(Database Developer):

  1. 数据库开发工程师的主要职责是设计和开发数据库管理系统和数据库应用软件系统,侧重于软件研发;

  2. DBA的主要职责是运维和管理数据库管理系统,侧重于运维管理。

毋庸置疑,所有互联网网站最头的瓶颈就是企业的后端数据库,而MSQL更是重中之重,谁掌握了数据库技术,谁就能轻松拿到高薪,并且数据库管理岗位比其他岗位更受企业重视,因为数据安全是企业最重要的生命线,没有之一。

并且数据库又分为很多种,包括关系型数据库,缓存数据库,我们重点学习的是企业里最常用的

  • mysql,mariadb

  • redis

什么是数据?

数据就是数值,也就是我们通过观察、实验或计算得出的结果。

数据有很多种,最简单的就是数字

数据也可以是文字、图像、声音等

我们打游戏最怕什么?最怕被盗号,怕自己的账号,密码丢失。

打游戏时候,腾讯为了保护大家的账号安全,提供了密保卡,进行坐标验证登录。

数据存储

很早很早以前,古人是这么存数据的

结绳、契刻、结珠、石头替代法等等,如今纸张是人们广泛使用的信息载体。但是书籍不便于查询、共享、储藏等缺点。

随着计算机的发展,人们将信息转化为二进制数字,存储在磁性存储介质中,也就是磁盘进行数据记录。数据通过文件系统管理,以文件形式显示出来。

但是大量的文件数据,查询内容,还是很不方便。

在这个背景下,一个专门用于数据管理的工具诞生了,它能让我们更简单的管理数据。

什么是数据库

顾名思义,数据库(DB,database)按照数据结构来组织、存储和管理数据的“仓库”,是一个文件或者一组文件。

是数据库中存储数据的基本单位,数据按照分类存储在不同的 表 中,便于查询。

数据库可以通过统一的一些指令对数据进行增、删、改、查(Create,Retrive,Updata,Delete)等操作例

如财务人员使用Excel统计公司资产信息,进行管理,计算账户,Excel是微软推出的一款电子表格软件,提供计算和图标展示。

数据表的概念

数据表可以有很多,存储不同的信息 也就是不同的数据,分别写在不同的数据表中,也就是table的概念,可以理解为excel的表格。

如图:

Excel很强大,但是对于企业来说,业务需求庞大,用Excel可能会有成千上万张,并且存储管理很麻烦,员工和客户想要实时知道企业数据,不可能把一个巨大无比的Excel发送给用户。

因此数据库软件应运而生,

为什么需要mysql这样的数据库管理工具?

因为

  • excel表格难以保存,容易丢失,损坏等等

  • 难以进行复杂的查询,比如多张表的连接查询

DBMS

数据库管理系统Database Management System,数据库管理系统

这一软件用于创建和操作数据库。

主流数据库软件,如Mysal(免费),Oracle(收费,甲骨文公司),Microsoft SQL Server、SQLite (轻型)等。

mysql主要用于大型门户,例如搜狗、新浪等,它主要的优势就是开放源代码,因为开放源代码这个数据库是免费的,他现在是甲骨文公司的产品。

oracle主要用于银行、铁路、飞机场等。该数据库功能强大,软件费用高。也是甲骨文公司的产品。

sql server是微软公司的产品,主要应用于大中型企业,如联想、方正等。

收费数据库与免费数据库

收费数据库与免费数据库在多个方面存在差异,以下是一些主要区别:

1.成本

  • 免费数据库通常是开源的,用户可以免费下载和使用,不需要支付授权费用。例如,MySQL和PostgreSQL都是广泛使用的免费数据库。

  • 收费数据库则需要用户购买使用授权,通常会根据服务器数量、处理器数量或使用的用户数量等来计算费用。

2.支持和维护

  • 免费数据库虽然可以免费使用,但用户需要自行负责数据库的维护和支持。虽然通常有社区支持和文档资源,但可能没有及时的技术支持服务。

  • 收费数据库一般会提供专业的技术支持和维护服务,这对于商业环境中对稳定性和安全性要求较高的应用场景来说非常重要。

3.功能和性能

  • 免费数据库通常具备基本的功能和性能,适合个人学习、开发测试或小型项目使用。

  • 收费数据库可能提供更多高级功能,如数据仓库、高可用性、灾难恢复等,并且可能提供更好的性能优化和扩展能力。

4.定制和灵活性

  • 免费数据库由于是开源的,用户可以根据自己的需求进行定制开发。

  • 收费数据库可能提供更灵活的定制选项,以满足特定的业务需求。

5.社区和生态系统

  • 免费数据库通常拥有活跃的社区,用户可以从社区中获得帮助和资源。

  • 收费数据库可能有更专业的用户群体和合作伙伴网络。

6.风险和责任

  • 使用免费数据库时,所有的维护和问题解决责任都在用户自己,而收费数据库通常由供应商提供保障和服务。

总的来说,免费数据库对于成本敏感和非关键应用是一个不错的选择,而收费数据库则更适合那些需要专业支持、高级功能和高度可靠性的商业环境。在选择数据库时,应根据项目的具体需求、预算和技术能力来决定使用哪种类型的数据库。

数据库,简而言之就是有组织的存储数据的一个仓库(本质就是文件信息管理)。

如同冰箱存储食物,衣柜存放衣物。我们每天登陆QQ,微信,查询支付宝余额,银行卡余额,都是软件去读取查找数据库记录。

日常生活,我们一直一直在使用数据库管理软件,譬如电话簿里找名字,百度搜索"如何变有钱"也是在用数据库。

运维和数据库

说白了,数据库就是存数据的,是一款软件,用专门的数据库语言,增删改查数据。

这就好比我们平时对电脑里的数据管理

  • 多个文件夹,分类管理。

  • 文件夹里的文件,数据,照片,视频,游戏

我们在公司里,和开发对接,对数据进行管理 数据库的形式 自己在linux上,直接安装,例如下图,数据都在linux机器磁盘上,运维自己管理

云服务器RDS产品(数据库安装在阿里巴巴的服务器上,我们通过账号密码,远程使用)

开发与运维的不同阶段

数据库类别

目前主流数据库软件,分为两种

  • 关系型数据库

  • 非关系型数据库

为何出现这2种类型数据库

  • web1.0时代,互联网发展慢,基本只是企业提供网站,用户浏览资料,上网的人还少,互联网还没那么多复杂的功能,网站压力很轻,因此mysql轻松干活

  • 随着互联网Web2.0、Web3.0网站的兴起,传统的关系型数据库在应付这些网站,特别是对于规模日益扩大的海量数据,超大规模和高并发的微博、微信等类型的动态网站时已经显得力不从心,暴露了很多难以克服的问题,例如,传统关系型数据库的I/0瓶颈、性能瓶颈等都难以有效突破。于是出现了大批针对特定场景,以高性能、高并发以及使用便利为目的的功能特异化的数据库产品

  • NoSQL出现,专注于解决高并发场景,大流量的场景,解决部分数据存读写的性能问题

  • 非关系型数据库就是在这样的情景中诞生并得到非常迅速发展的。在这些特定的场景下,NOSQL数据库可以发挥出难以想象的高效率和高性能。近年来,NOSQL这个术语得到了广泛认同。

数据库具体应用场景

相亲网

譬如网站的注册登录功能,正确流程是,注册成功->可以登录。

工程师就要检测在注册成功后,检查数据库是否正确保留了信息。

如百合网的登录页面:

比如我想找个女朋友,果断去注册一个账号。。

以上数据,如果用Excel管理,存储每一条记录如下

如用数据库管理软件(mysql),如下

友情提醒

数据库方面知识,主要以运维、开发分为两个方向,不同的方向所重点学习的内容不一样

  • 运维人员,主要是对数据库架构、设计、维护

    • 单实例、多实例

    • SQL语句基础CURD学习、权限管理

    • 字符集、数据库引擎

    • 备份方案

    • 复制方案

    • 高可用方案

  • 开发人员,主要是对数据进行设计、开发

    • 针对业务进行数据库设计、表结构设计

    • 高性能索引

    • 视图

    • 存储过程

    • 函数

希望对你有帮助!加油!

若您认为本文内容有益,请不吝赐予赞同并订阅,以便持续接收有价值的信息。衷心感谢您的关注和支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/392110.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux】进程信号的保存 | 自定义捕捉

文章目录 三、信号的阻塞(信号的保存)1. 信号相关其他常见概念2. 在内核中的表示3. sigset_t类型4. 信号集操作函数函数列表注意事项 5. 读取/修改block位图 - sigprocmask6. 读取pending位图 - sigpending 四、信号捕捉1. 信号捕捉的初步认识自定义捕捉…

安卓AndroidStdio控制台乱码解决

安卓AndroidStdio控制台乱码解决 情况: 在AndroidStudio中新建了一个Java Module,但是点击 Run ‘app’之后,Build Output 控制台输出的中文都是乱码,都是问号一样的字符 第一个解决方案 File Encodings 改为UTF-8? …

鸿蒙语言ArkTS(更好的生产力与性能)

ArkTS是鸿蒙生态的应用开发语言 ArkTS提供了声明式UI范式、状态管理支持等相应的能力,让开发者可以以更简洁、更自然的方式开发应用。 同时,它在保持TypeScript(简称TS)基本语法风格的基础上,进一步通过规范强化静态检…

5G——小区搜索流程

小区搜索流程 小区搜索目标:读取到SIB1. 小区搜索流程概述:SIB1在PDSCH信道承载,承载SIB1的信道在哪个位置由PDCCH告诉,而PDCCH的基本信息由MIB告诉,MIB信息由广播信道PBCH广播出去,物理信道解调需要解调…

Codeforces Round 926 (Div. 2) C. Sasha and the Casino (Java)

Codeforces Round 926 (Div. 2) CC. Sasha and the Casino (Java) 比赛链接:Codeforces Round 926 (Div. 2) C题传送门:C. Sasha and the Casino 题目:C. Sasha and the Casino **Example ** input 2 1 7 2 1 1 2 3 15 3 3 6 4 4 5 5 4 7…

EXCEL中不错的xlookup函数

excel中一般要经常用vlookup函数,但其实经常麻烦要正序,从左边到右边,还要数列,挺麻烦的,xlookup的函数还不错,有个不错的一套视频介绍,B站的,地址是:XLOOKUP函数基础用法&#xff0…

BIG DATA —— 大数据时代

大数据时代 [英] 维克托 迈尔 — 舍恩伯格 肯尼斯 库克耶 ◎ 著 盛杨燕 周涛◎译 《大数据时代》是国外大数据研究的先河之作,本书作者维克托迈尔舍恩伯格被誉为“大数据商业应用第一人”,他在书中前瞻性地指出,大数据带来的信息…

2024.2.17日总结(小程序开发)

父子组件之间的通信 父子组件之间通信的3种方式 属性绑定 用于父组件向子组件的指定属性设置数据,仅能设置JSON 兼容的数据属性绑定用于实现父向子传值,而且只能传递普通类型的数据,无法将方法传递给子组件 事件绑定 用于子组件向父组件…

详解自定义类型:枚举与联合体!

目录 ​编辑 一、枚举类型 1.枚举类型的声明 2.枚举类型的优点 3.枚举类型的使用 二、联合体类型(共用体) 1.联合体类型的声明 2.联合体的特点 3.相同成员的结构体和联合体的对比 4.联合体大小的计算 5.用联合体判断大小端 三.完结散花 悟已往之不谏&…

由于找不到MSVCP140.dll无法运行软件游戏,多种解决方法分享

电脑系统在运行过程中,当出现“由于找不到MSVCP140.dll”这一提示时,可能会引发一系列潜在的问题与影响。当电脑无法找到这个特定的dll文件时,意味着相关应用可能无法顺利加载并执行必要的组件,进而导致程序无法启动或运行过程中频…

CCF编程能力等级认证GESP—C++8级—20231209

CCF编程能力等级认证GESP—C8级—20231209 单选题(每题 2 分,共 30 分)判断题(每题 2 分,共 20 分)编程题 (每题 25 分,共 50 分)奖品分配大量的工作沟通 答案及解析单选题判断题编程题1编程题2…

HTTPS网络通信协议基础

目录 前言: 1.HTTPS协议理论 1.1协议概念 1.2加密 2.两类加密 2.1对称加密 2.2非对称加密 3.引入“证书” 3.1证书概念 3.2数据证书内容 3.3数据签名 4.总结 前言: 了解完HTTP协议后,HTTPS协议是HTTP协议的升级加强版&#xff0c…

基于协同过滤的时尚穿搭推荐系统

项目:基于协同过滤的时尚穿搭推荐系统 摘 要 基于协同过滤的时尚穿搭推荐系统是一种能自动从网络上收集信息的工具,可根据用户的需求定向采集特定数据信息的工具,本项目通过研究服饰流行的分析和预测的分析和预测信息可视化时尚穿搭推荐系统…

相机图像质量研究(32)常见问题总结:图像处理对成像的影响--振铃效应

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结:光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结:光学结构对成…

无人机应用场景和发展趋势,无人机技术的未来发展趋势分析

随着科技的不断发展,无人机技术也逐渐走进了人们的生活和工作中。无人机被广泛应用于很多领域,例如遥感、民用、军事等等。本文将围绕无人机技术的应用场景和发展趋势,从多角度展开分析。 无人机技术的应用场景 无人机在遥感方面的应用&…

文生视频提示词:故事与主题

内容创意 --故事与主题 Story & Theme 这些词汇覆盖了从基本的故事类型到特定的主题和元素,可用于激发创意和定义视频内容的核心主题。 Adventure 冒险 Romance 浪漫 Mystery 神秘 Fantasy 幻想 Science Fiction 科幻 Horror 恐怖 Thriller 惊悚 Comedy 喜剧 Dr…

Ubuntu20.04 安装jekyll

首先使根据官方文档安装:Jekyll on Ubuntu | Jekyll • Simple, blog-aware, static sites 如果没有报错,就不用再继续看下去了。 我这边在执行gem install jekyll bundler时报错,所以安装了rvm,安装rvm可以参考这篇文章Ubuntu …

阿里云服务器ECS租赁费用报价_CPU内存_带宽和系统盘价格表

2024年最新阿里云服务器租用费用优惠价格表,轻量2核2G3M带宽轻量服务器一年61元,折合5元1个月,新老用户同享99元一年服务器,2核4G5M服务器ECS优惠价199元一年,2核4G4M轻量服务器165元一年,2核4G服务器30元3…

Python学习04 --- 函数进阶以及文件相关操作

1.函数的多返回值 1.函数可以有多个返回值,返回值之间用逗号隔开 2.多个返回值之间的类型可以不同 3.函数返回多个返回值时,我们也要用多个变量接收函数返回值,具体语法如上: 根据位置一一对应,x,y,z分别对应返回值…

fusion360 操作总结(不断更新)

平移缩放旋转快捷键 画布选择Windows 组合键macOS 组合键平移按住鼠标中键按住鼠标中键缩放滚动鼠标中键滚动鼠标中键动态观察旋转按住 Shift 键并按住鼠标中键按住 Shift 键并按住鼠标中键绕点动态观察按住 Shift 键单击并按住鼠标中键按住 Shift 键单击并按住鼠标中键撤消Ct…