首页 > 数据库 >数据库集群

数据库集群

时间:2023-09-21 10:23:39浏览次数:34  
标签:数据库 DB Server 切分 集群 查询 数据

一、海量数据存储问题

       传统的关系型数据库,因为数据存储量越来越大,已经无法满足快速查询与插入数据的需求。NoSql的出现暂时解决了这一危机。它通过降低数据的安全性,减少对事务的支持,减少对复杂查询的支持,换取性能的提升。

      有的场景要求绝对要有事务与安全指标,这时候NoSql一些折中是无法满足使用场景,还需要使用关系型数据库。由于需要解决海量存储问题,就需要做数据库集群。为了提高查询性能将一个数据库的数据分散到不同的数据库中存储。

      当数据太多,以至于数据库存不下的时候,就需要做数据库分片。

二、数据库分片

       简介:通过某种特定的条件,将我们存放在同一个数据库中的数据分散存放到多个数据库(主机)上面,以达到分散单台设备负载的效果。

       【垂直切分】

         按照不同的表来切分。数据量比较大,是因为有几张表中存放的数据量比较大,比如商品表、订单表、商品表等,把不同的表放到不同的数据库中,订单库、商品库、用户库等。

         思路虽然可行,但是假如只是单张表数据量特别大,即使垂直切分后数据库性能也会很低。

       【水平切分】

         按照数据表中列来切分。按照数据表中数据的逻辑关系,将同一个表中的数据按照某种条件拆分到多台数据库中。

         大多数的互联网网站采取的是水平切割,因为垂直切割解决不了单表数据量过大的问题。 

         当数据库分片后,数据由一个数据库分散到多个数据库中。此时系统要查询时需要切换不同的数据库进行查询,系统如何知道要查询的数据在那个数据库中?当添加一条记录时要向那个数据库中插入呢?就需要数据库中间件mycat。

三、Mycat读写分离

       数据库读写分离对于大型系统或者访问量很高的互联网应用来说,是必不可少的一个重要功能。对于MySql来说,标准的读写分离是主从模式,一个写节点Master后面跟着多个读节点,读节点的数量取决于系统压力,通常是1-3个读节点的配置。

    

      MySql读写分离和自动切换机制,需要MySql的主从复制机制配合。

四、MySql的主从复制

       

    主从复制需要注意的地方:

     1、主DB Server和从DB Server数据库的版本一致;

     2、主DB Server和从DB Server数据库数据名称一致;

     3、主DB Server开启二进制日志,主DB Server和从DB Server的server_id都必须唯一。

 五、相关面试题

        问:你们的项目如何解决分布式事务问题的?

        答:我们的项目中使用Mycat数据数据库集群,MyCat本身支持分布式事务。

标签:数据库,DB,Server,切分,集群,查询,数据
From: https://www.cnblogs.com/xiaobaicai12138/p/17719242.html

相关文章

  • HADOOP集群、hive、derby安装部署详细说明
    一、创建用户groupaddanalyzer-fuseraddanalyzer-d/opt/analyzer-ganalyzer-psearchanalyzer二、处理/etc/hosts文件三、设置免密码登录(多台机器的id_rsa.pub,相互拷贝)生成公钥、密钥:ssh-keygen-trsa复制本地id_rsa.pub到远程服务器,使远程服务器登录本地可以免密码scp s......
  • Windows10 Redis数据库的搭建
    参考:https://blog.csdn.net/qq_53381910/article/details/130383352  http://wed.xjx100.cn/news/96490.html?action=onClick......
  • 数据库为什么要索引(转)
    总结:数据库存储顺序随机,如果没有索引,每次查询都需要一行行遍历,查找出符合条件的点,复杂度O(N)数据库会按照rowid排序,并给主键建立索引,所以如果以rowid或者主键为搜索条件,复杂度可以近似看做二分查找的复杂度,即O(logN)如果没有主键,或搜索条件不是主键,可以给搜索目标增加索......
  • MySQL数据库管理
    MySQL数据库管理概念数据(data)描述事物的符号记录包括数字、文字图形、图像、声音、档案记录以“记录”的形势按统一的格式进行存储表将不同的记录组织在一起用来存储具体数据数据库表的集合,是存储数据的仓库以一定的组织方式存储的相互有关的数据集......
  • openGauss学习笔记-75 openGauss 数据库管理-创建和管理序列
    openGauss学习笔记-75openGauss数据库管理-创建和管理序列75.1背景信息序列Sequence是用来产生唯一整数的数据库对象。序列的值是按照一定规则自增的整数。因为自增所以不重复,因此说Sequence具有唯一标识性。这也是Sequence常被用作主键的原因。通过序列使某字段成为唯一标识......
  • DataGrip 2023:多功能的数据库管理软件
    DataGrip2023是由JetBrains开发的一款功能强大的数据库管理工具,它旨在提供一个集成的开发环境,方便开发人员管理和操作各种类型的数据库。DataGrip2023支持多种数据库系统,包括MySQL、PostgreSQL、Oracle、SQLServer等,它具有直观的用户界面,使用户能够轻松地连接到数据库服务器,进......
  • 推免复习(一):数据库复习提纲
    目录数据库基础概念数据、数据的定义、特性和分类数据模型、模式和实例数据库、数据库系统、数据库管理系统(DBMS)数据库的发展历程(层次模型、网状模型、关系模型、面向对象模型等)关系数据库关系数据模型的基本概念(关系、元组、属性、域)关系代数和关系演算数据完整......
  • mysql数据库服务双主搭建
    mysql数据库服务双主搭建1、搭建两台数据库服务环境,master,slave数据库搭建参考:https://www.cnblogs.com/zuouncle/p/17713806.html2、查看服务运行状态systemctlstatusmysqld 3、主库1(master)配置配置mysql的启动配置文件vim/etc/my.cnf#开启binlog日志log......
  • oracle数据库中查看表空间下各表占用表空间的大小
    背景:在做数据库巡检时,检查大表是必不可少的操作,可以查看各表占用表空间的大小,下面直接上例子,然后表空间名字我写成实际的了selectt.owner,t.segment_name,t.tablespace_name,bytes/1024/1024/1024assizes,q.num_rows,t.segment_typefromdba_segmentstleftjoindba_tablesq......
  • 安装达梦数据库
    下载地址:https://www.dameng.com/form/plogin/s/L2xpc3RfMTEwLmh0bWw%3D.html[root@bogon~]#unzipdm8_20230418_x86_rh6_64.zip#解压Archive:dm8_20230418_x86_rh6_64.zipinflating:dm8_20230418_x86_rh6_64.iso_SHA256.txtinflating:dm8_20230418_x86_rh6_6......