MySQL和HBase的对比

Mysql :关系型数据库,主要面向 OLTP ,支持事务,支持二级索引,支持 sql ,支持主从、 Group
Replication 架构模型(此处以 Innodb 为例,不涉及别的存储引擎)。
HBase :底层使用 HDFS (存储计算分离),支持海量数据读写(尤其是写),支持上亿行、上百万列的,面向列的分布式NoSql 数据库。天然分布式(数据分片、故障自恢复 ) ,主从架构,不支持事务,不支持二级索引,不支持sql
1 、数据存储方式
1 MySQL
MySQL 采用行存储, MySQL 行存储的方式比较适合 OLTP 业务。 MySQL 优点:
体积小、速度快、总体拥有成本低,开源;
支持多种操作系统;
是开源数据库,提供的接口支持多种语言连接操作 ;
MySQL 的核心程序采用完全的多线程编程。线程是轻量级的进程,它可以灵活地为用户提供服务,而不过多的系统资源。用多线程和C 语言实现的 mysql 能很容易充分利用 CPU
MySql 有一个非常灵活而且安全的权限和口令系统。当客户与 MySql 服务器连接时,他们之间所有
的口令传送被加密,而且 MySql 支持主机认证;
支持 ODBC for Windows , 支持所有的 ODBC 2.5 函数和其他许多函数, 可以用 Access 连接 MySql 服务器, 使得应用被扩展;
支持大型的数据库, 可以方便地支持上千万条记录的数据库。作为一个开放源代码的数据库,可
以针对不同的应用进行相应的修改;
拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用面不必担心其稳定性;
MySQL 同时提供高度多样性,能够提供很多不同的使用者介面,包括命令行客户端操作,网页浏览器,以及各式各样的程序语言介面,例如C+ Perl Java PHP ,以及 Python 。你可以使用事先包装好的客户端,或者干脆自己写一个合适的应用程序。MySQL 可用于 Unix Windows ,以及 OS/2 等平台,因此它可以用在个人电脑或者是服务器上。
MySQL 缺点:
不支持热备份;
MySQL 最大的缺点是其安全系统,主要是复杂而非标准,另外只有到调用 mysqladmin 来重读用户
权限时才发生改变;
没有一种存储过程 (Stored Procedure) 语言,这是对习惯于企业级数据库的程序员的最大限制;
MySQL 的价格随平台和安装方式变化。 Linux MySQL 如果由用户自己或系统管理员而不是第三方
安装则是免费的,第三方案则必须付许可费。 Unix linux 自行安装 免费 、 Unix Linux 第三方安装收费。
2 HBase
HBase 是面向列的 NoSql 数据库,列存储的方式比较适合 OLAP 业务,而 HBase 采用了列族的方式平衡了OLTP和 OLAP ,支持水平扩展,如果数据量比较大、对性能要求没有那么高、并且对事务没有要求的话,HBase 也是个不错的选择。
HBase 优点:
列的可以动态增加,并且列为空就不存储数据,节省存储空间
HBase 自动切分数据,使得数据存储自动具有水平 scalability
HBase 可以提供高并发读写操作的支持
HBase 缺点:
不能支持条件查询,只支持按照 Row key 来查询
暂时不能支持 Master server 的故障切换,当 Master 宕机后,整个存储系统就会挂掉( HBase 虽然本身不能故障切换,但是可以配合ZooKeeper 来实现 HMaster 主备节点的 failover
2 、适用场景
3 、关系型数据库
优点:
数据之间有关系,进行数据的增删改查的时候是非常方便的;
关系型数据库是有事务操作的,保证数据的完整性和一致性
缺点:
因为数据和数据是有关系的,底层是运行了大量的算法,大量算法会降低系统的效率,会降低性能
面对海量数据的增删改查的时候会显的无能为力
海量数据对数据进行维护变得非常的无力
因此,关系型数据库适合处理一般量级的数据
4 、非关系型数据库
为了处理海量数据,非关系数据库设计之初就是为了替代关系型数据库的关系
优点:
海量数据的增删改查是可以的
海量数据的维护和处理非常轻松
缺点:
数据和数据没有关系,他们之间就是单独存在的
非关系数据库没有关系,没有强大的事务关系,没有保证数据的完整性和安全性

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

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

相关文章

mybatis-plus自动填充时间的配置类实现

mybatis-plus自动填充时间的配置类实现 在实际操作过程中,我们并不希望创建时间、修改时间这些来手动进行,而是希望通过自动化来完成,而mybatis-plus则也提供了自动填充功能来实现这一操作,接下来,就来了解一下mybatis…

【软件工程】十万字知识点梳理 | 期末复习专用

原创文章,禁止转载。 文章目录 图CRC卡片用例图类图状态图活动图泳道图软件质量因素自顶向下集成自底向上集成人员与工作量之间的关系时序图关键路径软件结构基本路径测试判定表数据流图(DFD)体系结构设计问题数据字典挣值分析等价划分程序流程图PAD | N-S燃尽图甘特图对象模…

STM32完全学习——FLASH上FATFS文件管理系统

一、需要移植的接口 我们通过看官网的手册,可以看到我们只要完成下面函数的实现,就可以完成移植。我们这里只移植前5个函数,获取时间的函数我们不在这里移植。 二、移植接口函数 DSTATUS disk_status (BYTE pdrv /* Physical drive nmuber…

Redis - Token JWT 概念解析及双token实现分布式session存储实战

Token 定义:令牌,访问资源接口(API)时所需要的资源凭证 一、Access Token 定义:访问资源接口(API)时所需要的资源凭证,存储在客户端 组成 组成部分说明uid用户唯一的身份标识time…

软体机器人研究报告:设计方法、材料与驱动、感知与控制

软体机器人因其出色的可变形性和高适应性受到了广泛关注,这些特性使其在医疗、救援、探测等复杂场景中展现出独特的优势和巨大的应用潜力。研究人员对软体机器人的设计方法、材料与驱动技术、感知与控制策略等方面进行深入研究,取得了一系列成果。 本文汇…

imgproxy图像处理的高效与安全

摘要 imgproxy作为一个高效且安全的独立服务器,为图像处理提供了全新的解决方案。它不仅简化了图像调整和转换的过程,还极大地提升了处理速度,确保了整个流程的安全性。通过集成imgproxy,用户可以轻松优化网页上的图像,提高加载速度,改善用户体验。本文将深入探讨imgpro…

要查询 `user` 表中 `we_chat_subscribe` 和 `we_chat_union_id` 列不为空的用户数量

文章目录 1、we_chat_subscribe2、we_chat_union_id 1、we_chat_subscribe 要查询 user 表中 we_chat_subscribe 列不为空的用户数量,你可以使用以下 SQL 查询语句: SELECT COUNT(*) FROM user WHERE we_chat_subscribe IS NOT NULL;解释: …

RTMW:实时多人2D和3D 全人体姿态估计

单位:上海AI实验室 代码:mmpose/tree/main/projects/rtmpose 系列文章目录 RTMO: 面向高性能单阶段的实时多人姿态估计 目录 系列文章目录摘要一、背景二、相关工作2.1 自上而下的方法。2.2 坐标分类。2.3 3D Pose 3 实验方法3.1.1 任务限制3.1.3训练技…

香橙派5Plus启动报错bug: spinlock bad magic on cpu#6, systemd-udevd/443

一、问题 如图: 接上调试串口,每次启动都会报错。不过使用过程中没有发现有什么影响。 百度查阅,有一位博主提到,但是没有细说解决方案: spinlock变量没有初始化_spinlock bad magic on-CSDN博客https://blog.csdn.n…

FPGA自学之路:到底有多崎岖?

FPGA,即现场可编程门阵列,被誉为硬件世界的“瑞士军刀”,其灵活性和可编程性让无数开发者为之倾倒。但谈及FPGA的学习难度,不少人望而却步。那么,FPGA自学之路到底有多崎岖呢? 几座大山那么高?…

【KLEE】源码阅读笔记----KLEE执行流程

本文架构 1. 动机2.KLEE简介3.KLEE的代码工程结构4. 从KLEE主函数入手main函数step1: 初始化step2:加载.bc文件进行符号执行 读取测试用例输出日志信息 1. 动机 最近准备对KLEE进行修改使其符合我的需要,因此免不了需要对源码进行修改。读懂源码是对在其…

CS 144 check7: putting it all together

Exercises 经验:两边的TCP连接建立得尽快,如果服务器端启动了,客户端没有紧接着启动就连不上。 这是什么神奇的bug呢? 和我之前给域控刷SOC的版本一样。如果域控启动了,在我本地的电脑没有马上和域控的SOC通上信&…

Suno Api V4模型无水印开发「综合实战开发自己的音乐网站」 —— 「Suno Api系列」第14篇

历史文章 Suno AI API接入 - 将AI音乐接入到自己的产品中,支持120并发任务 Suno Api V4模型无水印开发「灵感模式」 —— 「Suno Api系列」第1篇 Suno Api V4模型无水印开发「自定义模式」 —— 「Suno Api系列」第2篇 Suno Api V4模型无水印开发「AI生成歌词」…

【物联网技术与应用】实验15:电位器传感器实验

实验15 电位器传感器实验 【实验介绍】 电位器可以帮助控制Arduino板上的LED闪烁的时间间隔。 【实验组件】 ● Arduino Uno主板* 1 ● 电位器模块* 1 ● USB电缆*1 ● 面包板* 1 ● 9V方型电池* 1 ● 跳线若干 【实验原理】 模拟电位器是模拟电子元件,模…

【YOLO】(基础篇一)YOLO介绍

YOLO YOLO(You Only Look Once)是一种用于实时物体检测的算法,由Joseph Redmon等人提出。它能够同时进行物体分类和定位,并且因其速度和效率而广受赞誉。 工作原理 假设我们要对这张猫的图片完成目标检测,需要框选出…

Linux-----进程处理(文件IO资源使用)

下面代码是通过父进程和子进程对同一个文件IO资源进行操作,父进程和子进程都对这个进程进行写入操作,我们都知道这两个进程实际上是并发的,所以需要一个同步机制来去操作同一个资源(后面再深入去说明同步的api,这里使用…

golang标准库SSH操作示例

文章目录 前言一、了解SSH二、重要知识点1.安装ssh库2.ssh库重要知识牢记 三、模拟连接远程服务器并执行命令四、SSH与os/exec标准库下执行命令的几种方式对比五、SSH库下三种执行命令方式演示5.1. session.CombinedOutput()示例5.2. session.Run()示例5.3. session.Start()、s…

替代传统FTP传输,镭速大数据传输系统实现安全高效数据流转!

信息技术的快速进步让大数据成为了企业决策的关键支撑,但同时也带来了巨大的挑战。企业在运营过程中产生的数据量急剧增加,这对数据传输的速度、安全性和效率提出了更高的要求。然而,传统的FTP传输方式在处理大规模数据时显得力不从心&#x…

MyBatis如何处理延迟加载?

大家好,我是锋哥。今天分享关于【MyBatis如何处理延迟加载?】面试题。希望对大家有帮助; MyBatis如何处理延迟加载? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MyBatis 支持 延迟加载(Lazy Loading&am…

Matlab环形柱状图

数据准备: 名称 数值 Aa 21 Bb 23 Cc 35 Dd 47 保存为Excel文件后: % Load data from Excel file filename data.xlsx; % Ensure the file is in the current folder or provide full path dataTable readtable(filena…