背景:
現代bi系統的典型應用場景是多維分析,某些時候可以直接使用olap指代這類場景。
olap,online analytical processing,即聯機分析/多維分析。通過不同的維度審視資料,對欄位進行聚合查詢。
rolap,relational olap,即關係型olap。建立在關係型資料庫之上的,多維分析的操作可以直接轉換成sql查詢。
molap,multidimensional olap,即多維型olap。借助預先聚合結果,使用空間換取時間的形式最終提公升查詢效能。
holap,hybrid olap,即混合架構的olap。前兩者的集合。
發展歷程
olap架構
yandex.metria產品形態
mysql時期
rolap
固定報告
metrage時期
molap
固定報告
olapserver時期
holap(metrage+olapserver)
自助報告
cliskhouse時代
rolap
自助報告
核心特徵:
完備的dbms(database management system,資料庫管理系統)功能。
列式儲存
向量化引擎
sql查詢,大小寫敏感
分布式
資料定義:
相比常規資料庫還提供了復合資料型別,包括陣列,元組,列舉,巢狀。
資料的刪除與修改:
提供了delete和update的能力,這類操作被稱作mutation查詢,可以看做是alter的變種。雖然mutation最終能實現修改和刪除,但不能完全以通常意義上的delete和update來理解。首先,mutation是「很重」的操作,更適用於批量資料的修改和刪除;其次,不支援事務,一旦語句被提交執行,會對資料產生影響,無法回滾;最後,mutation的執行是乙個後台非同步過程,語句被提交後就會立即返回,但是不代表具體邏輯已經執行完畢。
資料字典:
一種簡單,實用的儲存媒介。字典中的資料會被主動或被動載入到記憶體,並支援動態更新。適合儲存常量或經常使用的維度表資料,以避免不必要的join查詢。
資料查詢:
-- 使用with前
select pow(pow(2,
2),3
)-- 使用後
with pow(2,
2)as a select pow(a,3)
-- 使用方式
-- 1.定義變數
with
10as
start
select number from system.numbers
where number>
start
limit
5-- 2.呼叫函式
with
sum(data_uncompressed_bytes)
as bytes
select
database
,fromreadablesize(bytes)
as format
from system.
columns
group
bydatabase
order
by bytes desc
-- 3.定義子查詢
with
(select
sum(data_uncompressed_bytes)
as bytes from system.
columns
)as total_bytes
select
database,(
sum(data_uncompressed_bytes)
/total_bytes)
*100
as database_disk_usage
from system.
columns
group
bydatabase
order
by database_disk_usage desc
-- with中使用子查詢該查詢語句只能返回一行資料,如果資料集的資料大於一行則會丟擲異常
-- 在子查詢中重複使用with
flask limiter 實踐與原理解析
乙個強大的軟體產品是由許多不同的元件結合完成的,其中在每乙個產品中離不開的就是api系統,api系統在整個產品中居於中樞地位,包括系統內部元件,及客戶對產品的對接都要與api打交道,這就需要最大限度的提高api的處理能力,並且防範無效請求,還有黑客的惡意攻擊。限流可以在nginx層進行設定,當然在a...
Elasticsearch原理解析與效能調優
類似於insert。例如索引乙個文件到乙個索引 倒排索引 預設每個屬性都會有乙個倒排索引,可以設定屬性不被索引,它只能被覆蓋,不能被修改 型別類似表,同一索引的不同型別,可以擁有不同的字段,但應該擁有大部分相似的字段。它可以包含大小寫,不能包含句號,不能以下劃線開頭,長度限制為256.id文件的id...
HTTP快取機制與原理解析
http報文分為兩個部分 body 用來存放http傳輸的真正資料 http快取涉及到三個主主體 客戶端瀏覽器,快取資料庫和服務端。而http快取又分為兩種 其基本思想就是 當資料不存在於快取資料庫時,此時會直接去請求伺服器,並把得到的結果寫入快取資料庫中 若資料存在快取資料庫且未過時,則直接去快取...