Orcal數據庫Schema理解、表分區理解

目錄

  • 1 Schema
    • 1.1 Orcal數據庫示例
    • 1.2 MySQL數據庫示例
  • 2 Orcal表分區
    • 2.1 創建表分區
    • 2.2 查看表分區
    • 2.3 查看指定分區數據

此前未了解過Schema的概念,僅知道Orcal數據庫比較側重這個概念,搜遍全網都,都是啰哩吧嗦的搬抄定義,特此在梳理后寫下本文,模擬直觀的示例通俗易懂,3min拿下理解

1 Schema

1.1 Orcal數據庫示例

假設我們有一個多租戶的應用,服務多個學校的學生信息。每個學校都有自己的數據,而且我們希望在同一個數據庫實例中存儲這些信息。使用schema可以很好地實現這個目標。

在這里插入圖片描述

通過這種方式,每個學校的數據都被組織在自己的schema下,相互隔離。不同學校的表可以使用相同的名稱,而不會發生命名沖突。

1.2 MySQL數據庫示例

在MySQL中,相同的多租戶場景可以使用不同的數據庫來實現,而不需要關心用戶和schema的概念。

在這里插入圖片描述

在MySQL中,每個數據庫是一個獨立的命名空間,可以存儲相同表名的表而不會發生沖突。因此,MySQL中不同數據庫的隔離性通過數據庫本身來實現,而不需要顯式的用戶和schema的概念。

可以這么說,比如你連接mysql環境xxx.xxx.xx.xx:8080,創建的數據庫如下

  • 陽光中學數據庫
  • 實驗中學數據庫
  • 彩虹中學數據庫
  • 西南科技大學數據庫
  • 清華大學數據庫
  • 華中科技大學數據庫
  • 朝陽街道辦數據庫
  • 鳳凰南路街道辦數據庫

每個數據庫對應不同的需求
你想要獲取陽光中學的數據,就在項目中連接陽光中學的數據庫
你想要獲取西南科技大學的數據,就在項目中連接西南科技大學的數據庫
完全沒問題,這是mysql的操作,那么orcal如何處理呢

中學數據庫

  • 陽光中學 (A)
  • 實驗中學 (B)
  • 彩虹中學 (C)

大學數據庫

  • 西南科技大學 (D)
  • 清華大學 (E)
  • 華中科技大學 (F)

街道辦數據庫

  • 朝陽街道辦 (G)
  • 鳳凰南路街道 (H)

每個數據庫對應不同的需求
項目中連接中心數據庫
你想要獲取陽光中學的數據,就用身份A登陸
你想要獲取彩虹中學的數據,就用身份C登陸

2 Orcal表分區

2.1 創建表分區

首先,讓我們創建一個簡單的分區表,然后演示如何查看分區信息。我們將使用范圍分區作為示例。

-- 創建一個范圍分區表,分區名為p0,p1, p2, p3
CREATE TABLE sales (sale_id INT,sale_date DATE,amount DECIMAL(10, 2)
) PARTITION BY RANGE (YEAR(sale_date)) (PARTITION p0 VALUES LESS THAN (2000),PARTITION p1 VALUES LESS THAN (2010),PARTITION p2 VALUES LESS THAN (2020),PARTITION p3 VALUES LESS THAN MAXVALUE
);-- 插入一些數據
INSERT INTO sales VALUES
(1, '1999-05-15', 100.50),
(2, '2005-08-20', 150.75),
(3, '2015-03-10', 200.30),
(4, '2022-02-01', 120.90);

這個表分區是什么意思呢?
sale_date字段對應的是時間,將時間分成四檔,每個時間關聯的那一條數據一起被劃分

2.2 查看表分區

查詢表分區定義

SELECT * FROM information_schema.partitions WHERE table_name = 'sales';

只需關注PARTITION_NAME 和 PARTITION_DESCRIPTION 字段即可,可以看到,p0分區是2000檔,p1是2010檔
在這里插入圖片描述

2.3 查看指定分區數據

查看 p0 分區的數據


SELECT * FROM sales PARTITION (p0);

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/209965.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/209965.shtml
英文地址,請注明出處:http://en.pswp.cn/news/209965.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

LeetCode算法題解(單調棧)|LeetCode503. 下一個更大元素 II、LeetCode42. 接雨水

一、LeetCode503. 下一個更大元素 II 題目鏈接:503. 下一個更大元素 II 題目描述: 給定一個循環數組 nums ( nums[nums.length - 1] 的下一個元素是 nums[0] ),返回 nums 中每個元素的 下一個更大元素 。 數字 x 的…

LIMoE:使用MoE學習多個模態

文章鏈接:Multimodal Contrastive Learning with LIMoE: the Language-Image Mixture of Experts 發表期刊(會議): NeurIPS 2022 目錄 1.背景介紹稀疏模型 2.內容摘要Sparse Mixture-of-Experts ModelsContrastive LearningExperiment Analy…

Kubernetes入門筆記 ——(3)理解pod對象

為什么需要pod 最為熟知的一句話:pod是k8s的最小調度單位。剛開始聽到這句話時會想,已經有容器了,k8s為什么還要搞個pod出來?容器和pod是什么關系?容器的本質是進程,而k8s本質上類似操作系統。 熟悉Linux的…

SpringBoot系列之啟動成功后執行業務的方法歸納

SpringBoot系列之啟動成功后執行業務邏輯。在Springboot項目中經常會遇到需要在項目啟動成功后,加一些業務邏輯的,比如緩存的預處理,配置參數的加載等等場景,下面給出一些常有的方法 實驗環境 JDK 1.8SpringBoot 2.2.1Maven 3.2…

python dataframe 列中 字符串( ‘2815512706605‘)過大 轉不了float 用Decimal

from decimal import Decimaldf["accFillSz"] df["accFillSz"].apply(lambda x: Decimal(x)) 2815512706605這個值超出了Python中float類型的最大表示范圍,無法直接轉換為浮點數。 Python中float類型使用IEEE 754標準的64位雙精度浮點數表示,最大值大約為…

歐拉回路歐拉路【詳解】

1.引入 2.概念 3.解決方法 4.例題 5.回顧 1.引入 經典的七橋問題 哥尼斯堡是位于普累格河上的一座城市,它包含兩個島嶼及連接它們的七座橋,如下圖所示。 可否走過這樣的七座橋,而且每橋只走過一次? 你怎樣證明?…

【Linux top命令】

文章目錄 深入了解Linux top命令:實時監控系統性能1. 什么是top命令?2. 使用top命令3. top命令交互操作 深入了解Linux top命令:實時監控系統性能 1. 什么是top命令? top命令是一個用于實時監控系統性能的文本界面工具。它顯示當…

Linux上使用獨立顯卡Tesla T4(測試視頻壓縮)

背景 將視頻處理程序單獨部署至K8S之外,使用獨立GPU顯卡的一臺服務器上。 需事先對GPU性能做簡單測試。 已通過zabbix對Linux進行了系統資源監控。 已通過PrometheusGrafana對顯卡Tesla T4做了性能監控。 逐步補充,稍等 2023年12月6日 操作 查看當前…

鴻蒙Harmony開發初探

一、背景 9月25日華為秋季全場景新品發布會,余承東宣布鴻蒙HarmonyOS NEXT蓄勢待發,不再支持安卓應用。網易有道、同程旅行、美團、國航、阿里等公司先后宣布啟動鴻蒙原生應用開發工作。 二、鴻蒙Next介紹 HarmonyOS是一款面向萬物互聯,全…

[Linux] 基于LAMP架構安裝論壇

一、安裝Discuz論壇 1.1 創建數據庫,并進行授權 mysql -u root -p123CREATE DATABASE bbs; #創建一個數據庫GRANT all ON bbs.* TO bbsuser% IDENTIFIED BY admin123; #把bbs數據庫里面所有表的權限授予給bbsuser,并設置密碼admin123flush privileges; #刷新數據庫…

Java 中的抽象類與接口:深入理解與應用

文章目錄 什么是抽象類?什么是接口?抽象類和接口的使用場景抽象類和接口的區別結論 在 Java 編程語言中,抽象類和接口是兩種重要的機制,用于實現抽象化和多態性。這兩種機制都允許我們定義一種通用的類型,然后通過繼承…

數據結構——棧與棧排序

棧的特性 棧是一種遵循后進先出(LIFO)原則的數據結構。其基本操作包括: push:將元素添加到棧頂。pop:移除棧頂元素。peek:查看棧頂元素,但不移除。 棧排序的原理 棧排序的核心是使用兩個棧&…

[滲透測試學習] Devvortex - HackTheBox

文章目錄 信息搜集解題步驟提交flag 信息搜集 掃描端口 nmap -sV -sC -p- -v --min-rate 1000 10.10.11.242發現80端口有http服務,并且是nginx服務 嘗試訪問web界面,發現跳轉到http://devvortex.htb/無法訪問 我們用vim添加該域名即可 sudo vim /etc/…

J.408之數據結構

J-408之數據結構_北京信息科技大學第十五屆程序設計競賽(同步賽) (nowcoder.com) 思維好題,直接用兩個set存沒出現的數字就好了 // Problem: 408之數據結構 // Contest: NowCoder // URL: https://ac.nowcoder.com/acm/contest/68572/J // Me…

ClickHouse安裝和部署

ClickHouse安裝過程: ClickHouse支持運行在主流64位CPU架構(X86、AArch和PowerPC)的Linux操作 系統之上,可以通過源碼編譯、預編譯壓縮包、Docker鏡像和RPM等多種方法進行安裝。由于篇幅有限,本節著重講解離線RPM的安…

RAW和YUV的區別

RAW是指未經過任何壓縮或處理的原始圖像數據。在攝像頭中,原始圖像數據可以是來自圖像傳感器的未經處理的像素值。這些原始數據通常以一種Bayer模式的形式存在,其中每個像素僅包含一種顏色信息(紅色、綠色或藍色),需要…

【開源】基于Vue和SpringBoot的在線課程教學系統

項目編號: S 014 ,文末獲取源碼。 \color{red}{項目編號:S014,文末獲取源碼。} 項目編號:S014,文末獲取源碼。 目錄 一、摘要1.1 系統介紹1.2 項目錄屏 二、研究內容2.1 課程類型管理模塊2.2 課程管理模塊2…

Redis Bitmaps 數據結構模型位操作

Bitmaps 數據結構模型 Bitmap 本身不是一種數據結構,實際上它就是字符串,但是它可以對字符串的位進行操作。 比如 “abc” 對應的 ASCII 碼分別是 97、98、99。對應的二進制分別是 01100010、01100010、01100011, 如下所示: a b …

HTML5+CSS3+JS小實例:文字依次點擊驗證

實例:文字依次點擊驗證 技術棧:HTML+CSS+JS 效果: 源碼: 【HTML】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content=&quo…

十七、FreeRTOS之FreeRTOS事件標志組

本節需要掌握以下內容&#xff1a; 1&#xff0c;事件標志組簡介&#xff08;了解&#xff09; 2&#xff0c;事件標志組相關API函數介紹&#xff08;熟悉&#xff09; 3&#xff0c;事件標志組實驗&#xff08;掌握&#xff09; 4&#xff0c;課堂總結&#xff08;掌握&am…