分布式数据库

目录:

1.分布式数据库的核心功能

2.分布式数据库的优点

3.分布式数据库的缺点

4.市面上分布式数据库的产品分类

5.分布式数据库的搭建

随着互联网的发展,人类社会的数据量迅速激增,据统计目前人类一年产生的数据就相当于人类进入现代化以前所有历史的总和,而且互联网业务的发展通常具有爆发性,业务量很可能在短短的一个月内突然爆发式地增长几千倍,对应的数据也很可能快速地从原来的几百GB飞速上涨到了几百个TB。如果在这爆发的关键时刻,系统不稳定或无法访问,那么对于业务将会是毁灭性的打击。

之前,关系型数据库在过去数十年的数据库领域一直占据着绝对主导的地位,它所带来的稳定性、安全性和易用性,成为了构建现代化系统的基石。但是,现在的大数据时代,构架于单机系统的数据库已无法满足越来越高的并发请求和越来越大的数据存储需求,因此,分布式数据库被愈加广泛的采用。

一.分布式数据库的核心功能主要集中在:

  • 分布式存储:数据存储不受单机磁盘容量限制,可通过增加数据服务器的数量提升存储能力
  • 计算存储分离:计算节点无状态,可通过水平扩展增加算力。存储节点和计算节点能够分层优化
  • 分布式事务:高性能、完全支持本地事务 ACID 原义的分布式事务处理引擎
  • 弹性伸缩:可以随时随地的在不影响现有应用的情况下,动态对数据存储节点扩容和缩容
  • 多数据副本:自动将数据以强一致、高性能的方式复制至跨机房的多个副本,以保证数据的绝对安全
  • HTAP:采用同一套产品混合处理 OLTP 的事务型操作和 OLAP 的分析型操作

分布式数据库的实现方案可以划分为进取型和稳定型。进取型实现方案是指开发全新架构的 NewSQL。这类产品以追求更高性能换取稳定性的缺失和运维经验的不足;稳定型的实现方案是指在现有数据库的基础上提供增量能力的中间件。这类产品则以牺牲部分性能以保证数据库的稳定性和运维经验的复用。

二.分布式数据库的优点:

三.分布式数据库的缺点:

四.市面上分布式数据库的产品分类:

1、物联网方向:时序数据库产品,满足IoT数据的收集、存储和统计。时序数据库产品也是现在对内存数据库产品冲击最大的。例如:InfluxDB、Kudu、kdb、OpenTSDB;

2、交易关系方向:替代传统交易关系型数据库产品Oracle/DB2等满足不了海量吞吐、海量并发、海量交易、海量存储的在线交易业务场景。例如:蚂蚁金服Oceanbase、腾讯TDSQL、热璞HotDB、中兴GoldenDB、开源MyCAT、开源Cobar。

3、分析关系方向:解决结构化数据存储和数据分析的业务场景,例如:Greenplum、Vertical、Gbase8a等。不过这块收到KV分析型产品巨大的冲击;

4、KV分析方向:Hadoop、Spark是当下的基石,国内国外较多公司都是在其基础上再做二次研发,尤其是实现兼容SQL标准语法,已迎合业务场景和研发人员。

5、KV文档方向:解决在线文档类型的非结构化数据存储和数据处理,例如:MongoDB、巨衫SequoiaDB,不过也都在拼命地在兼容SQL标准语法。

6、HTAP:交易分析混合型分布式数据库产品,从技术原理的角度而言这是没有理论创新支撑的方向,只是我们技术人员内心美好的愿望,例如:国内TiDB、国外Spanner/F1。

五.分布式数据库的搭建:

接下来准备使用中间件的架构,实现分布式数据库的构建。简单点说,调用者与中间件通信,有中间件与各个数据库通讯,完成基本数据操作,将结果返回给调用者。一个具有较好设计的分布式数据库,对于用户(调用者)来说透明,跟使用本地数据库一样。

下图为Amoeba+Mysql架构示意图

1.在虚拟机上构建Mysql server

2.连接数据库

4.设置分片(数据库的分表分库操作):在amoeba中,是通过对conf文件夹中rule.xml文件进行配置实现的。

Original: https://www.cnblogs.com/xiuercui/p/13428414.html
Author: 程序界第一佳丽
Title: 分布式数据库

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/577549/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 多线程执行同一任务,不共享局部变量

    多线程执行同一任务,不共享局部变量 一、 代码展示 import threading import time 多线程执行同一任务时,局部变量是不共享的 def sum_num():…

    Linux 2023年6月14日
    091
  • shell脚本echo打印错位

    问题描述 在脚本中使用curl命令请求Jenkins的API获取job的编号,随后将编号和其他字符串拼接后,使用echo命令打印出来,但打印后字符串错位了。 脚本大致如下: num…

    Linux 2023年6月8日
    0118
  • Redis进阶 事务:Redis事务详解

    Redis事务相关命令 Redis事务执行步骤 Redis 事务的本质是一组命令的集合。事务支持一次执行多个命令,一个事务中所有命令都会被序列化。在事务执行过程,会按照顺序串行化执…

    Linux 2023年5月28日
    095
  • 本地项目推送到远程仓库(原来可以这么玩)

    前言:请各大网友尊重本人原创知识分享,谨记本人博客: 南国以南i 方式一:在idea中将项目推送至远程仓库 注:此处远程仓库以码云为例 第一步:登录码云,进入个人主页 点击个人头像…

    Linux 2023年6月14日
    0129
  • K8S 从私有仓库拉取镜像

    通常来讲,我们在通过公共镜像仓库拉取docker镜像的时候,不需要任何的认证操作,但我们在构建了企业的私有镜像以后,就不得不在拉取镜像之前通过用户名密码来完成认证。 在docker…

    Linux 2023年6月6日
    095
  • 【根文件系统】根文件系统是什么?

    简介 根文件系统也叫roofs,它不同于FATFS、FAT和EXT4,更像是一个文件夹或者目录。根目录和子目录中会有很多的文件,这些文件时Linux运行所必须的,比如库、常用软件和…

    Linux 2023年6月13日
    0100
  • 那些shellcode免杀总结

    首发先知: https://xz.aliyun.com/t/7170 自己还是想把一些shellcode免杀的技巧通过白话文、傻瓜式的文章把技巧讲清楚。希望更多和我一样web狗也能…

    Linux 2023年5月28日
    081
  • Shell脚本监控线上端口服务是否正常开启

    前言: 线上服务正常可用是至关重要的,当正在运行的某个端口服务异常停止,我们期望定时脚本可以自动启动,而无需遇到问题再人为的启动。 例如:监听Mysql服务是否正常,我们通常的思路…

    Linux 2023年5月28日
    0103
  • 天气干燥怎么防止被静电电到

    可以摸一下墙壁或地板,把电放掉,这样摸门把手之类的金属物品就不会被电到了。 可以摸一下墙壁或地板,把电放掉,这样摸门把手之类的金属物品就不会被电到了。亲身实践,十分有效。只是摸墙和…

    Linux 2023年6月6日
    097
  • 自定义Naive UI的数据表格Data Table中按钮Button图标

    { title: "Action", key: "actions", render(row) { return h( NButton, { …

    Linux 2023年6月8日
    0108
  • cdn缓存顺序优先级

    posted @2022-09-26 17:28 爱折腾的大臭臭 阅读(10 ) 评论() 编辑 Original: https://www.cnblogs.com/linuxsh…

    Linux 2023年6月6日
    0111
  • Linux上安装并启动tomcat

    1、下载tomcat安装包 官网链接:https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.57/bin/ 2、将tomcat上…

    Linux 2023年6月6日
    0118
  • sed语句用法

    sed编辑器 sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流。 sed编辑器可以根据命令来处理数据流中的数据,这些命令要么从命令行中输入,要…

    Linux 2023年6月6日
    094
  • MySQL主从复制常见问题及解决方法

    在从节点清除信息 前提:停止slave的相关线程:stop slave RESET SLAVE #从服务&…

    Linux 2023年6月7日
    0114
  • 配置免密登陆服务器

    前言 原来自己学习的时候在阿里云买自己的学习机,一台主机自己瞎折腾。但是参加工作以后管理的主机越来越多了,上服务器看的频率也越来越频繁,虽然有时候shell管理工具可以很方便的保存…

    Linux 2023年6月14日
    092
  • Linux的OpenLava配置

    OpenLava OpenLava是基于LSF早期的开源版本发展而来,其 免费、 开源、 兼容IBM LSF的工作负载调度器。当你需要执行某项业务时候(比如跑渲染之类的),当有服务…

    Linux 2023年6月6日
    0103
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球