现在学Oracle是49年入国军么?
今天周末,不聊技术,聊聊大家说的最多的一个话题
1.说说数据库产品和生态
oracle在整个数据库行业还是领先优势明显,看DB-Engines Ranking的排名Oracle仍旧是遥遥领先
当然国产的数据库也有多优秀的产品,比如我们查看墨天轮数据库排行,至少排在前10的数据库实际使用的人还是不少,相对来说头部的产品可靠度也较高。
但是毕竟Oracle起步早,积累的经验多,就我的使用观察,论产品成熟度,运行速度、系统稳定性来说都是一流(仅个人主观观点,有一定的局限性,至少我没亲眼见到哪个医院、金融系统、制造业的核心数据库用的国产)。
论数据库的生态环境,Oracle可以说是除了源码没开源,剩下的几乎都开源了,学习资料、分享经验、社区活跃度都是十分的高,可以说是想学Oracle除了官方资料,民间的资料、工具一大把,对应的认证培训机构也多如牛毛。只要肯用心,一定能学好。
在这一点上国产数据库可能稍微逊色,前些年想学国产的数据库那就得去原厂培训,搞的价格也十分昂贵,直逼Oracle的培训。现在国产的数据库厂商们也开始积极搞社区,线上免费培训、认证,让很多人也薅到羊毛,学习考个认证,但是有些细节原理还有待考究,有些工具需要官方提供,有些问题解决不了只能找数据库的研发人员来提单子,不像Oracle的问题,总能找到大牛直接解决,各种开源的工具脚本到处都是。
就产品成熟度、生产环境来说,国产数据库和Oracle还是有一定的差距,这个我觉得大家都认了吧?
当然我也遇到过不分应用场景、不懂架构的人无脑鼓吹国产分布式数据库,言论简直逆天,放给大家看看纯属一乐。
2.说说数据库市场占有情况
成立于1977年的Oracle最开始就是搞数据库起家的,从无到有己经累计了大量的经验、客户。医疗、制造、金融等等重要的核心系统里都有Oracle的身影出现。
反观国产数据库,在信创到来之前,一直还处于不温不火的状态,实际在重要领域应用的场景还是相对较少的。这也和投资环境、资本运作有一定的关系(毕竟当时搞国产数据库不怎么赚钱)。
在信创时代到来后,国产数据库瞬间爆发,仅墨天轮收录的国产数据库在这几年就达到290家!但是客户真正被替换的还是低负载、办公系统、周边业务、历史查询数据等不十分重要的系统来进行替换,真正把核心数据库全替换成纯国产的案例目前不是非常的多。即使有这样的项目,也都是厂家直接来做,客户真正敢选择的也就是头部的几家数据库,其它小众国产数据库几乎都停留在宣传阶段,实际案例少之又少。
就我个人观察,短期内重要的核心oltp生产业务系统数据库替换还是有难度,但是信创替代毕竟是大趋势,相信未来会淘汰一大堆来骗钱的产品,真正能留下的也是少数头部产品,他们才是有价值再进一步发展的产品。
3.说说大家比较关心的就业行情
从职业上来说,dba这份工作本身就是个小众职业,从业的人数在整个it圈相对来说都是少数,可以说是小公司请不起DBA,大公司真正的DBA也是屈指可数,这个行业对经验要求极高(如果你请来的人不靠谱,那你的数据就危险了),通常薪资也属于中上等。
以上海为例,就目前看一线城市的dba招聘情况,有工作经验的dba工资都在20k左右,虽说和大厂或者华为传说中动辄年薪百万的职位来说有一些差距,但是这个工资在纯技术的岗位中来说也算中上等了。
抛开上面的公开招聘不谈,也有很多经验丰富的DBA年薪百万,内推的DBA职位工资也十分可观,甚至还有赶上时代风口红利早就财富自由了(这是个例)。
从公开的招聘渠道上来说,大多数都是招mysql/oracle dba,还有一些在招PG的DBA。
就拿某些国产数据库公司dba招聘要求来说,基本都要求你会oracle,你要是有个ocp/ocm认证,他们多半是认可你的。
就我所知,某一线大厂的国产数据库产品己经上到生产使用,但是仍然把Oracle端做为备库同步(可能是以防不测切换吧,这个是我瞎猜的!)。
大多其它国产的头部产品们也做了这种适配同步,Oracle仍然还活在客户的IT系统中。
所以说无论如何,你要是搞DBA,Oracle一定是你不能跳过,总是要会的。
4、总结
1、毕竟国产替代还需要很长一段时间,这不是说换就能立马换的,目前Oracle的相关工作还是有的。
2、就算你是从事国产数据库工作的,学习Oracle之后再学国产数据库我觉得对你还是有很大帮助的,毕竟你搞国产数据库也得和Oracle打交道。
国产的数据库即使是一线头部产品,还是需要不停的打磨,真正的用起来,才能适应各种各样的环境,解决产品问题。就算是Oracle刚起步的时候也是不成熟的产品,也是一步一步发展起来的,也希望国产的数据库越来越好。
相关文章:

现在学Oracle是49年入国军么?
今天周末,不聊技术,聊聊大家说的最多的一个话题 先说明一下,防止挨喷😆 本人并不是职业dba,对数据库就是爱好,偶尔兼职,以下仅个人观点分析,如有不同观点请轻喷,哈哈&…...
【回溯】组合问题||
给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的每个数字在每个组合中只能使用 一次 。 注意:解集不能包含重复的组合。 示例 1: 输入: candidates [10,1,2,7,6,…...

【c语言】字符函数和字符串函数(下)
前言 书接上回 【c语言】字符函数和字符串函数(上) 上一篇讲解的strcpy、strcat、strcmp函数的字符串长度是不受限制的 而本篇strncpy、strncat、strcnmp函数的字符串长度是受限制的 欢迎关注个人主页:逸狼 创造不易,可以点点赞吗~ 如有错误,…...

基于Java的艺培管理解决方案
✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…...

Python算法题集_实现 Trie [前缀树]
Python算法题集_实现 Trie [前缀树] 题208:实现 Trie (前缀树)1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【定义数据类默认字典】2) 改进版一【初始化字典无额外类】3) 改进版二【字典保存结尾信息无额外类】 4. 最优算法5. 相关…...
pytorch简单新型模型测试参数
import torch from torch.nn import Conv2d,MaxPool2d,Sequential,Flatten,Linear import torchvision import torch.optim.optimizer from torch.utils.data import DataLoader,dataset from torch import nn import torch.optim.optimizer# 建模 model nn.Linear(2,1)#损失 …...

Unity中URP下实现水体(水面高光)
文章目录 前言一、实现高光反射原理1、原理:2、公式: 二、实现1、定义 _SpecularColor 作为高光反射的颜色2、定义 _SpecularIntensity 作为反射系数,控制高光反射的强度3、定义 _Smoothness 作为高光指数,用于模型高光范围4、模拟…...

26.HarmonyOS App(JAVA)列表对话框
列表对话框的单选模式: //单选模式 // listDialog.setSingleSelectItems(new String[]{"第1个选项","第2个选项"},1);//单选 // listDialog.setOnSingleSelectListener(new IDialog.ClickedListener() { // Override …...
五种主流数据库:常用字符函数
SQL 字符函数用于字符数据的处理,例如字符串的拼接、大小写转换、子串的查找和替换等。 本文比较五种主流数据库常用数值函数的实现和差异,包括 MySQL、Oracle、SQL Server、PostgreSQL 以及 SQLite。 字符函数函数功能MySQLOracleSQL ServerPostgreSQ…...
软考笔记--企业资源规划和实施
企业资源是指企业业务活动和战略运营的事物,包括人、财和物,也包括信息资源,同时也包括企业的内部和外部资源。企业资源可以归纳为物流,资金流和信息流。企业资源规划(ERP)是只建立在信息技术基础上&#x…...

React歌词滚动效果(跟随音乐播放时间滚动)
首先给audio绑定更新时间事件 const updateTime e > {console.log(e.target.currentTime)setCurrentTime(e.target.currentTime);};<audiosrc{currentSong.url}ref{audio}onCanPlay{ready}onEnded{end}onTimeUpdate{updateTime}></audio>当歌曲播放时间改变的时…...

java面试题之mybatis篇
什么是ORM? ORM(Object/Relational Mapping)即对象关系映射,是一种数据持久化技术。它在对象模型和关系型数据库直接建立起对应关系,并且提供一种机制,通过JavaBean对象去操作数据库表的数据。 MyBatis通过…...

Java的编程之旅19——使用idea对面相对象编程项目的创建
在介绍面向对象编程之前先说一下我们在idea中如何创建项目文件 使用快捷键CtrlshiftaltS新建一个模块,点击“”,再点New Module 点击Next 我这里给Module起名叫OOP,就是面向对象编程的英文缩写,再点击下面的Finish 点Apply或OK均可 右键src…...

docker build基本命令
背景 我们经常会构建属于我们应用自己的镜像,这种情况下编写dockerfile文件不可避免,本文就来看一下常用的dockerfile的指令 常用的dockerfile的指令 首先我们看一下docker build的执行过程 ENV指令: env指令用于设置shell的环境变量&am…...

nginx高级配置详解
目录 一、网页的状态页 1、状态页的基本配置 2、搭配验证模块使用 3、结合白名单使用 二、nginx 第三方模块 1、echo模块 1.1 编译安装echo模块 1.2 配置echo模块 三、nginx变量 1、内置变量 2、自定义变量 四、自定义图标 五、自定义访问日志 1、自定义日志格式…...

小程序--分包加载
分包加载是优化小程序加载速度的一种手段。 一、为什么进行分包 小程序限制单个包体积不超过2M; 分包可以优化小程序页面的加载速度。 二、启用/使用分包语法subPackages subPackages:下载app.json文件中 root:分包所在的目录 pages&#x…...
R语言【base】——writeLines()
Package base version 4.2.0 Description 向连接写入文本行。 Usage writeLines(text, con stdout(), sep "\n", useBytes FALSE) Arguments 参数【text】:一个字符向量。 参数【con】:一个 connection 对象 或 一个字符串。 参数【se…...
微信小程序-人脸检测
微信小程序的人脸检测功能,配合蓝牙,配合ESP32 可以实现一些有趣的玩具 本文先只说微信小程序的人脸检测功能 1、人脸检测使用了摄像头,就必须在用户隐私权限里面声明。 修改用户隐私声明后,还需要等待审核,大概一天 …...

微信小程序自制动态导航栏
写在前面 关于微信小程序导航栏的问题以及解决办法我已经在先前的文章中有提到,点击下面的链接即可跳转~ 🤏微信小程序自定义的导航栏🤏 在这篇文章中我们需要做一个这样的导航栏!先上效果图 👇👇…...

金融知识分享系列之:五日线
金融知识分享系列之:五日线 一、股票均线二、五日线三、五日线加量能三、五日线案例四、五日线案例五、五日线案例六、五日线案例七、五日线案例八、五日线案例 一、股票均线 股票均线是一种用于平滑股票价格的指标。它是根据一段时间内的股票价格计算得出的平均值…...
【杂谈】-递归进化:人工智能的自我改进与监管挑战
递归进化:人工智能的自我改进与监管挑战 文章目录 递归进化:人工智能的自我改进与监管挑战1、自我改进型人工智能的崛起2、人工智能如何挑战人类监管?3、确保人工智能受控的策略4、人类在人工智能发展中的角色5、平衡自主性与控制力6、总结与…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
Qt Widget类解析与代码注释
#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this); }Widget::~Widget() {delete ui; }//解释这串代码,写上注释 当然可以!这段代码是 Qt …...
【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验
系列回顾: 在上一篇中,我们成功地为应用集成了数据库,并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了!但是,如果你仔细审视那些 API,会发现它们还很“粗糙”:有…...

用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

select、poll、epoll 与 Reactor 模式
在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。 一、I…...

C++:多态机制详解
目录 一. 多态的概念 1.静态多态(编译时多态) 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1).协变 2).析构函数的重写 5.override 和 final关键字 1&#…...
GitHub 趋势日报 (2025年06月06日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
【LeetCode】3309. 连接二进制表示可形成的最大数值(递归|回溯|位运算)
LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 题目描述解题思路Java代码 题目描述 题目链接:LeetCode 3309. 连接二进制表示可形成的最大数值(中等) 给你一个长度为 3 的整数数组 nums。 现以某种顺序 连接…...