本专区由 数据库 团队提供资讯和技术支持,欢迎社区成员申请加入管理小组。
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
本专区由 数据库 团队提供资讯和技术支持,欢迎社区成员申请加入管理小组。
我们知道使用 MySQL 去存储数据,我们需要先去建表,那么在表中去添加各个数据列,其实我们需要给数据列指定一些属性,比如说我们在列属性设置为允许,那就可以不放置任何数据到这一列中。但是这会带来哪些麻烦或者是坑呢?那么带着这个问题,我们来聊聊表属性设置为 NULL,你可能要面临很多麻烦。 ### 为什么会有很多人用 NULL 呢? 第一点,NULL 它是一个默认行为,如果你不去主动指定这个列字段是 `NOT NULL`,那么它就是 `N... 展开更多
数仓建设真正的难点不在于数仓设计,而在于后续业务发展起来,业务线变的庞大之后的数据治理,而数据治理的范围非常广,包含数据本⾝的管理、数据安全、数据质量、数据成本等。在这么多治理内容中,大家想下最重要的治理是什么?当然是数据质量治理,因为数据质量是数据分析结论有效性和准确性的基础,也是这一切的前提。所以如何保障数据质量,确保数据可用性是数据仓库建设中不容忽视的环节。 数据质量涉及的范围也很广,贯穿... 展开更多
什么是回表查询 小伙伴们可以先看这篇文章了解下什么是聚集索引和辅助索引:Are You OK?主键、聚集索引、辅助索引,简单回顾下,聚集索引的叶子节点包含完整的行数据,而非聚集索引的叶子节点存储的是每行数据的辅助索引键 + 该行数据对应的聚集索引键(主键值)。 假设有张 user 表,包含 id(主键),name,age(普通索引)三列,有如下数据: id name age 1 Jack 18 7 Alice 28 10 Bob 3...... 展开更多
作者:谦虚的小K 来源:www.juejin.cn/post/6957696820621344775 ### 导读 当我们交友平台在线上运行一段时间后,为了给平台用户在搜索好友时,在搜索结果中推荐并置顶他感兴趣的好友,这时候,我们会对用户的行为做数据分析,根据分析结果给他推荐其感兴趣的好友。 > 这里,我采用最简单的SQL分析法:对用户过去查看好友的性别和年龄进行统计,按照年龄进行分组得到统计结果。依据该结果,给用户推荐计数最高的某个性别及年龄的... 展开更多
我是架构精进之路,大厂架构师,CSDN博客专家,点击上方“关注”,坚持每天为你分享技术干货,私信我回复“01”,送你一份程序员成长进阶大礼包。 一、为啥要分库分表 不管是IO瓶颈,还是CPU瓶颈,最终都会导致数据库的活跃连接数增加,进而逼近甚至达到数据库可承载活跃连接数的阈值。在业务服务来看就是,可用数据库连接少甚至无连接可用,那导致的问题就可以想象了吧:并发量、吞吐量、崩溃等等情况。 我们来按不同问题来区分... 展开更多
大家好,我是飘渺! 相信各位在面试时,通常会被问到“什么是索引?” 而你肯定可以脱口而出:索引是提升查询速度的一种数据结构。而索引之所以能提升查询速度,在于它在插入时对数据进行了排序。 在实际业务中,我们会遇到很多复杂的场景,比如对多个列进行查询。这时,可能会要求用户创建多个列组成的索引,如列 a 和 b 创建的组合索引,但究竟是创建(a,b)的索引,还是(b,a)的索引,结果却是完全不同的。 今天,我们就来... 展开更多
> 原文地址:[SQL queries don't start with SELECT](https://jvns.ca/blog/2019/10/03/sql-queries-don-t-start-with-select/) > > 原文作者:Julia Evans(已授权) > > 译者 & 校正:HelloGitHub-小熊熊 & 卤蛋  日常使用中写 SQL 查询命令都是以 SELECT 开始的(注意:本文仅探讨 SELECT 查询,不涵盖 insert 或其他 SQL 命令... 展开更多
记得,如果有人问你做数据库优化最有效的方式是什么? SQL优化、分布式集群、分库分表!干就完了~ **但上来就考虑分库分表真的合适么,你对分库分表又理解多少呢?什么时候分?有几种分法儿?** 首先我们要知道分库、分表都是干啥的,本文主角还是我们的MySQL为第一视角。首先从字面意思来看: **分库:** 由单个数据库实例拆分成多个数据库实例,将数据分布到多个数据库实例中。 **分表:** 由单张表拆分成多张表,将数据划分到... 展开更多
欢迎大家关注公众号「JAVA前线」查看更多精彩分享文章,主要包括源码分析、实际应用、架构思维、职场分享、产品思考等等,同时欢迎大家加我个人微信「java_front」一起交流学习 1 需求背景 在系统中用户一共有三种角色:普通用户,管理员,超级管理员,现在需要设计一张用户角色表记录这类信息。我们不难设计出如下方案: 我们使用1表示是,0表示否,那么观察上表不难得出,用户一有用超级管理员角色,用户二具有管理员角色,用... 展开更多
摘要:大规模分布式系统中的故障无法避免。当DN发生单点故障时,恢复手段有哪些,又是如何恢复的,本节重点介绍操作gs_ctl build是如何修复DN单点故障的。 本文分享自华为云社区《华为云数仓备机DN重建,快速修复DN单点故障!》,原文作者:welblupen。 1. 技术背景 GaussDB(DWS)的DN高可用架构为主、备、从备架构。即在分布式环境中,完整的集群数据采用分片技术分布在多个DN组上,每组DN承担一个数据分片,包括:一个主DN、一个... 展开更多
摘要:本文通过介绍双集群的架构、log结构、分析步骤来介绍双集群容灾的问题分析方法。 本文分享自华为云社区《从原理到实践,手把手带你轻松get数仓双集群容灾》,原文作者:Puyol 。 双集群原理 GaussDB(DWS) 的容灾方案是一个双集群同步的架构,即两套独立集群定期同步数据以达到容这的目的。目前数据同步的方式是通过roach(GaussDB(DWS)备份、恢复工具)定期做增量备份和恢复同步。双集群框架是一个复杂的分布式系统,在出现... 展开更多
> 作者介绍:王天宜 Prometheus + Grafana 作为一套普适的监控系统广泛应用于各种应用环境中。 本文主要介绍能否将 TiDB + Prometheus 新搭建的监控系统,迁移到已有的监控系统的方案。 对资源比较紧张,高可用需求不强烈的用户,我们建议直接通过 Prometheus Label 进行集群的划分,做到 All in One 的 Prometheus 监控环境。对资源宽裕,高可用需求比较强烈的用户,可以考虑使用 Prometheus 多租户的解决方案。 Grafana 作为一... 展开更多
作者:管延信 上期回顾:深入解析 Raft 模块在 KaiwuDB 中的优化改造(上) 导读 KaiwuDB 是由浪潮开源的一款 NewSQL 分布式数据库,具备 HTAP 特性,拥有强一致、高可用的分布式架构。其中,KaiwuDB 各方面的强一致性都依靠 Raft 算法实现。我们在上一篇文章中介绍了 Raft 一致性算法在分布式数据库中发挥的重要作用,以及 KaiwuDB 根据自身需求对 Raft 算法进行了优化改造,为其新增了三种角色设计。本文将继续介绍 KaiwuDB ... 展开更多
作者:管延信 导读 KaiwuDB 是由浪潮开源的一款 NewSQL 分布式数据库,具备 HTAP 特性,拥有强一致、高可用的分布式架构。对于一个高可用的分布式系统来说,为了保障不同集群不同节点的数据一致,一致性算法尤为重要。Raft 是一种管理日志复制的分布式一致性算法,包括 KaiwuDB 在内的很多分布式系统都采用 Raft 作为底层的一致性协议。本系列文章将为大家介绍 Raft 一致性算法在 KaiwuDB 中的落地实践,并深入解析 KaiwuDB 技术... 展开更多
数据库连接池的配置是开发者们常常搞出坑的地方,在配置数据库连接池时,有几个可以说是和直觉背道而驰的原则需要明确。 **1万并发用户访问** 想象你有一个网站,压力虽然还没到Facebook那个级别,但也有个1万上下的并发访问——也就是说差不多2万左右的TPS。那么这个网站的数据库连接池应该设置成多大呢?结果可能会让你惊讶,因为这个问题的正确问法是: “这个网站的数据库连接池应该设置成多小呢?” 下面这个视频是Oracle ... 展开更多
当需要在多个Oracle数据库之间进行数据一致性操作时,就会用到分布式事务。 例如: insert into T_log@remote_db; --远程数据库插入 insert into T_local; --本地数据库插入 commit; 分布在本地和远程两个db的事务同时操作,这就构成了一个分布式事务。 分布式事务采用Two-Phase Commit提交机制,保证分布在各个节点的子事务能够全部提交或全部回滚的原子性。在这种机制下,事务处理过程分为三个阶...... 展开更多
作者:马静伟 编辑:大东BE 导读 TP 与 AP 融合的 HTAP 数据库正成为业内的发展趋势。但由于大规模数据场景下 TP 与 AP 系统本身的复杂性,要在一套数据库系统中融合两种使用场景的功能并不容易。浪潮推出的 HTAP 数据库 ZNBase 采用多模存储引擎的方案实现 HTAP 特性,在 OLTP 的基础上引入列存引擎支撑 OLAP 场景。本文将着重介绍列存引擎技术在 HTAP 数据库 ZNBase 中扮演的重要角色。 OLTP 与 OLAP 名词释义 OLTP,全称 On... 展开更多
2021年1月份写了一篇有关国产数据库的推文 《2020年国产数据库“元年”,争做一只迎风起飞的“飞猪”》。 转眼到了2021年的5月份,各家国产数据库在这半年“百舸争流”、你追我赶,取得了很多骄人成绩;** 所以,是时候该再聊一聊国产数据库那些事了。** 在今年年初写《2020年国产数据库“元年”,争做一只迎风起飞的“飞猪”》文章时,文中也提到,目前具有权威的国产数据库排名榜是由墨天轮社区发起,该社区数据库排行榜致力于... 展开更多
# 一、背景 最近在看 `Sharding-JDBC`方面的内容,此处简单记录一下使用Sharding-JDBC中的`复合分片键`来实现分表的方法。 # 二、需求 假设我们有一张订单表`customer_order`,为了防止单表数据量太大,需要进行分表操作。 此处需要分为3个表 `customer_order_0`、`customer_order_1`和`customer_order_2` ## 1、对于客户端操作而言 1、同一个客户的订单,需要放到同一个表中。 2、根据订单号,需要知道这个订单在哪个中。 ## 2... 展开更多
摘要:ES已经成为了全能型的数据产品,在很多领域越来越受欢迎,本文旨在从数据库领域分析ES的使用。 本文分享自华为云社区《Elasticsearch数据库加速实践》,原文作者:css_blog 。 一、方案说明 Elasticsearch主要功能是什么,不同的场景有不同的定位,在日志场景我们可以用ELK生态搭建日志分析系统,在搜索领域ES是当前最热门的搜索引擎。在大数据领域,ES可以对标Hbase提供海量日志的数据仓库;在数据库领域ES可以作为查询分... 展开更多