数据库选型与优化:策略与技巧的探讨

news2024/11/20 9:35:41

大家好,我是一名狂热的数据库程序员,最近鼓起勇气开始吐槽一下数据库,如有雷同,请对号入座。

名不副实的数据库类型

先说说最近的事,我们业务有很多图片要管理,老板说让我选个专业的图数据库,还给我推荐了 Neo4j、Nebula、TigerGraph 一堆,让我好好对比下图片管理的能力。乍一试,结果没一个是可以存图片的,都说他们是用来存对象关系图,比如粉丝关系、情侣关系、债主关系啊等等。你这不是坑爹嘛?取名字也不带这样糊弄老板的。

图数据库类型

说到对象关系就恼火,那些号称发展了几十年的关系型数据库的,真是表里不一。有个项目我建了很多表的外键关联,并且还写了不少关联多个表的复杂 SQL,想秀秀技能,结果被 DBA 各种 diss,说这种外键和关联查询不适合用关系数据库,性能可能会很差,要打回去整改,感觉项目又要延期了。

我们那 mysql 关系型数据库里一张表已经快有1亿条记录,老板看到专家建议 mysql 最多放2000万条记录,但我现在也没遇到啥问题,到底是我错了还是专家说错了?如果按这建议我得搞几十张表,业务改造巨大,谁能救救我,我想怎么把专家先干了?同事说要不上文档数据库 MongoDB?

说起那个叫 MongoDB 的文档数据库就郁闷,你出来走两步,就一存 json 数据的,凭啥是文档数据库,也没看到你哪里适合存放 word、PDF 文档啊。你那【芒果数据库】的外号,难道你老板家种了很多 mango,再搞了专门放芒果的仓库。

文档数据库

还有,我们老板已经嚷了很久,说赶紧上大数据平台,不然怎么能把公司几百 GB的数据管理好。做好了大数据平台,我们未来就可能成为下一个 Google、微信,甚至是 ChatGPT。老板,你说的都对,高瞻远瞩,我想想怎么多搞些数据,不然咱们那台 PC 服务器可能闲得会罢工。

大数据平台

关系型数据库、图数据库、文档数据库,从这名字和实际功能看感觉都是个骗子。数据库不想再吐槽了,再吐槽下那些数据安全的囧事吧。

数据安全,不可小视

最近我那 Navicat 的开发工具又提示过期了,下了个破解版,最后发现藏了病毒,我慌得不敢说啊,找个好用的数据库开发工具就这么难吗?工欲善其事,必先利其器,老板能不能花点钱,咱们也支持下同行的正版计划,你看,人们都在知乎上要证明清白了。(能插个广告吗?数据库开发工具,就用ninedata,安全易用)

Navicat 破解版发现藏了病毒

我们那数据库密码,已经用了3年,没变过,大家还经常使用,估计保洁阿姨和快递小哥都知道了,我也为公司慌啊,感觉那 DBA 兄弟的饭碗迟早会保不住。

最后是我们保命的数据库备份,每次要恢复的时候不是备份失败,就是恢复出错,要不就是恢复时间太长,业务接受不了,我都感觉这备份的投资是打水漂了,主要是用来应付领导的。

数据库备份

老板,还有 DBA 兄弟,我先吐这么多啊,我绝对不会删库跑路的,其他人就不敢保证了,你们保重啊!

总结

  • 图数据库不是用来管理图片,是用来管理对象关联关系,在社交、风控等领域用得上;

  • 关系型数据库的外键很多坑,在多表关联也很吃力,尤其是执行计划用不上合理的索引时;

  • MySQL 的2000w记录上限说法已经过时了,尤其是那个按B树高度的解释,关键还是看数据结构、SQL 语句和硬件性能,同时定期清理或归档历史数据;

  • 文档数据库不是用来存文档的,是用来存放 JSON 格式的数据,适合比较灵活的 schema 设计;

  • 几百 GB 数据就不要折腾大数据了,一般数据库或者数据仓库就挺合适的;

  • 数据库备份别忘了恢复演练,否则就是形同虚设;

  • 盗版数据库客户端工具别用,迟早被黑;

  • 数据库密码要保管好,经常变变。

关于作者

作者是来自 NineData 的数据库开发工程师,也是10年老 DBA。NineData 的官网地址:www.ninedata.cloud,提供企业级数据库 SQL 开发工具,数据复制、对比、备份等产品,免费使用,无需下载。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Leetcode—3.无重复字符的最长子串【中等】

2023每日刷题&#xff08;三十二&#xff09; Leetcode—3.无重复字符的最长子串 实现代码 class Solution { public:int lengthOfLongestSubstring(string s) {unordered_set<char> smap;int maxlen 0;int left 0;for(int i 0; i < s.size(); i) {while(smap.fi…

QT绘图设备

pixmap绘图设备在磁盘上进行绘图 通过pix.save将图片保存到E盘下 不是主要的绘画设备&#xff0c;可以将绘图指令保存 然后在下边可以调用重现绘图指令

Pikachu漏洞练习平台之SSRF(服务器端请求伪造)

注意区分CSRF和SSRF&#xff1a; CSRF&#xff1a;跨站请求伪造攻击&#xff0c;由客户端发起&#xff1b; SSRF&#xff1a;是服务器端请求伪造&#xff0c;由服务器发起。 SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能&#xff0c;但又没有对目标…

跨境电商测评新方案,安全可靠,高成功率

不管是做测评服务商还是卖家想给自己做测评&#xff0c;是否都为了如何搭建一个安全可靠的测评环境而苦恼呢&#xff1f;不知道如何搭建高成功率的真实安全买家环境苦恼&#xff1f;陈哥带你了解一种全新的解决方案&#xff0c;能够让你们的测评工作更加高效、安全、可靠&#…

简单介绍二分类问题评价指标

正确率(Accuracy) Accuracy ​(TP TN)/(TP TN FP FN)精准率(Precision) 记忆&#xff1a;在识别出某标签中正确的比例&#xff1b; 比如识别为某标签的一共有105个&#xff0c;其中有95个是识别对的&#xff0c;那Precision就是95/105&#xff1b; TP/(TPFP)召回率(Recall…

NJU操作系统公开课笔记(1)

目录 一.计算机系统概述 二.计算机硬件系统 三.计算机软件系统 四.计算机操作技术的发展 五.计算机OS 1.资源管理的角度 2. 程序控制的角度 3.OS控制计算机的角度 4.人机交互的角度 5.程序接口的角度 6.系统结构的角度 单道批处理系统 多道批处理系统 分时系统 …

Git 基本操作

目录 创建仓库命令 git init git clone 提交与修改 git add git status git diff git commit git reset git rm git mv git checkout git switch git restore 提交日志 git log git blame 远程操作 git remote git fetch git pull git push Git 的工作就…

Elasticsearch搜索分析引擎本地部署与远程访问

文章目录 系统环境1. Windows 安装Elasticsearch2. 本地访问Elasticsearch3. Windows 安装 Cpolar4. 创建Elasticsearch公网访问地址5. 远程访问Elasticsearch6. 设置固定二级子域名 Elasticsearch是一个基于Lucene库的分布式搜索和分析引擎&#xff0c;它提供了一个分布式、多…

深度学习(五)softmax 回归之:分类算法介绍,如何加载 Fashion-MINIST 数据集

Softmax 回归 基本原理 回归和分类&#xff0c;是两种深度学习常用方法。回归是对连续的预测&#xff08;比如我预测根据过去开奖列表下次双色球号&#xff09;&#xff0c;分类是预测离散的类别&#xff08;手写语音识别&#xff0c;图片识别&#xff09;。 现在我们已经对回…

Kafka学习笔记(三)

目录 第5章 Kafka监控&#xff08;Kafka Eagle&#xff09;5.2 修改kafka启动命令5.2 上传压缩包5.3 解压到本地5.4 进入刚才解压的目录5.5 将kafka-eagle-web-1.3.7-bin.tar.gz解压至/opt/module5.6 修改名称5.7 给启动文件执行权限5.8 修改配置文件5.9 添加环境变量5.10 启动…

【Proteus仿真】【51单片机】公交车报站系统

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用LCD12864显示模块、DS18B20温度传感器、DS1302时钟模块、按键、LED蜂鸣器、ULN2003、28BYJ48步进电机模块等。 主要功能&#xff1a; 系统运行后&…

Linux基础知识(1)——目录结构,绝对/相对路径,指令等(配图)

目录 1.目录结构 2.路径 3.认识指令 文章内容并不聚焦于Linux命令&#xff0c;而是针对Linux的基础知识进行讲解&#xff0c;相信这部分知识更能帮助大家了解Linux系统。 本文只是带大家简单了解一下Linux的入门知识&#xff0c;在之后的文章中&#xff0c;我们将讲解Linux中…

【图数据库实战】HugeGraph架构

一、概述 作为一款通用的图数据库产品&#xff0c;HugeGraph需具备图数据的基本功能&#xff0c;如下图所示。HugeGraph包括三个层次的功能&#xff0c;分别是存储层、计算层和用户接口层。 HugeGraph支持OLTP和OLAP两种图计算类型&#xff0c;其中OLTP实现了Apache TinkerPop3…

C语言指针详解(1)(能看懂字就能明白系列)文章超长,慢慢品尝

目录 1、内存和地址 2、指针简介 与指针相关的运算符&#xff1a; 取地址操作符&#xff08;&&#xff09; 解引用操作符&#xff08;间接操作符&#xff09;&#xff08;*&#xff09; ​编辑 指针变量的声明 指针变量类型的意义 指针的基本操作 1、指针与整数相加…

解决 uniapp 开发微信小程序 不能使用本地图片作为背景图 问题

参考博文&#xff1a;uniapp微信小程序无法使用本地静态资源图片(背景图在真机不显示)的解决方法_javascript技巧_脚本之家 问题&#xff1a;uniapp 开发微信小程序&#xff0c;当使用本地图片作为 background-image 时&#xff0c;真机无法显示 解决&#xff1a; 方法一&am…

在线预览excel,luckysheet在vue项目中的使用

一. 需求 需要在内网项目中在线预览excel文档&#xff0c;并可以下载 二.在项目中下载并引入luckysheet 1.打开项目根目录&#xff0c;npm i luckyexcel 安装 npm i luckyexcel2.在项目的index.html文件中引入依赖 外网项目中的引入&#xff08;CDN引入&#xff09;&#…

Cesium:绘制地质剖面

作者:CSDN @ _乐多_ 本文记录了根据地质剖面的三角网的点、索引和颜色数组,绘制地质剖面的框架和部分代码。 效果如下图所示, 文章目录 一、算法逻辑二、代码一、算法逻辑 将三角网的点、索引和颜色数组按规则排列好,输入到第二节的代码中,可以绘制一个面。将这个绘制函…

如何确保消息不会丢失

本篇文章大家还可以通过浏览我的博客阅读。如何确保消息不会丢失 - 胤凯 (oyto.github.io)很多人刚开始接触消息队列的时候&#xff0c;最经常遇到的一个问题就是丢消息了。<!--more-->对于大部分业务来说&#xff0c;丢消息意味着丢数据&#xff0c;是完全无法接受的。 …

骨传导耳机的优缺点是什么?有什么值得入手的骨传导耳机吗?

骨传导耳机的优点还是挺多的&#xff0c;比如说&#xff1a;佩戴舒适、避免听力损伤、使用更安全灯&#xff0c;在详细了解骨传导耳机有什么优点和缺点之前&#xff0c;先来认识一下什么是骨传导耳机。 骨传导耳机是一种通过人体骨骼来传递声音的耳机&#xff0c;与传统的耳机相…

23111710[含文档+PPT+源码等]计算机毕业设计基于SpringBoot的体育馆场地预约赛事管理系统的设计

文章目录 **软件开发环境及开发工具&#xff1a;****功能介绍&#xff1a;****论文截图&#xff1a;****数据库&#xff1a;****实现&#xff1a;****代码片段&#xff1a;** 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;776871563 软件开发环境及…