原创 數據庫內核雜談(二十一): 流處理系統簡介

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 數據庫內核雜談(二十)番外 - 管理者如何保持技術敏感

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 數據庫內核雜談(十九)自動駕駛數據庫 - Workload預測

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 數據庫內核雜談(十八) :自動駕駛的數據庫系統

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 數據庫內核雜談(十七):code-gen 深入學習

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 數據庫內核雜談(十六):Snowflake Elastic Data Warehouse

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 數據庫內核雜談(十四):Datometry and its Hyper-Q Platform

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 數據庫內核雜談(十三):如何把一個單機數據庫擴展成分佈式數據庫

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"typ

原创 數據庫內核雜談(十二):事務、隔離、併發(3)

之前的文章,我們分別介紹了鎖和時間戳機制來管理併發控制,這篇文章我們將介紹最被廣泛使用的方法——多版本併發控制Multi-Version Concurrency Control (MVCC)。爲什麼多版本併發控制更受歡迎呢?因爲鎖和時間戳機

原创 數據庫內核雜談(十一):事務、隔離、併發(2)

本篇文章選自數據庫內核雜談系列文章。 上一篇文章我們介紹了事務的ACID屬性和數據庫針對事務的不同隔離級別,本文我們將繼續討論實現事務的不同方法。 與教科書直接列出實現方法不同,本文將會由淺入深地介紹加鎖實現機制和時間戳機制這兩種不同實現方

原创 數據庫內核雜談(十):事務、隔離、併發(1)

本篇文章選自數據庫內核雜談系列文章。 在之前的文章,我們和大家分享了基本的數據庫優化器和執行器。這篇文章,我們要分享一個很重要的概念:事務及其相關實現。 事務(transaction)和ACID 事務的定義是:一個事務是一組對數據庫中數

原创 數據庫內核雜談(八):數據庫優化器(下)

在上一篇文章中,我們介紹了優化器的大概並且講解了一系列通過語句重寫來對查詢進行優化的方法。文末也留了一個坑:當語句中涉及到多個表的join時,優化器該如何決定join的順序(join ordering)來找到最優解呢?這期,我們接着這個話題

原创 數據庫內核雜談(七):數據庫優化器(上)

在上一篇文章中,我們挖了一個坑:在大部分情況下,HashJoin都是表現最優的,那爲什麼還需要去支持其他Join比如SortMergeJoin或者NestLoopJoin的算子實現呢?因爲不同表的大小,是否有索引支持,以及查詢語句是否對某些

原创 數據庫內核雜談(六):表的JOIN(連接)

在上篇文章中,我們主要介紹了排序和聚合的實現,覆蓋了單個表的大部分操作。但數據庫強大的地方在於,它能夠把現實中的某一塊業務,映射地表達成一系列的表的集合,並且其查詢語句SQL支持多個表相關聯的查詢操作。這種連接多表的查詢使得數據庫的功能得到

原创 數據庫內核雜談(五):如何實現排序和聚合

上篇文章中,我們着重介紹了對於一個SQL語句,數據庫是怎麼生成一個執行計劃,並根據這個執行計劃,一步一步地讀取,計算並獲得最後結果的。這一期,我們來聊一下兩個非常重要的算子(operator, 上一期我把operator翻譯成操作符,後來讀