前言 在實時計算中,通常是從隊列中收集原始數據,這種原始數據在內存中通常是一個java bean,把數據收集過來以后,通常會把數據落地到數據庫,供后面的ETL使用。舉個一個簡單的例子,對一個游戲來說,為了統計某個游戲,某個服務器的登陸注冊 等事件,原始數據對應的java bean可能會 ...
執行 上一篇講述了如何通過scala提供的內置DSL支持,實現一個可以解析sql的解析器,這篇講如何拿到了解析結果 AST以后,如何在數據上進行操作,得到我們想要的結果。之前說到,為什么選擇scala作為這個引擎的實現,之一是scala提供了方便的DSL實現支持,其二是因為作為一門函數式編程語言,scala提供了豐富對於集合操作的函數。此外,函數在scala中是一個獨立的類型,所以能夠把現有的函數 ...
2015-04-01 16:31 0 2068 推薦指數:
前言 在實時計算中,通常是從隊列中收集原始數據,這種原始數據在內存中通常是一個java bean,把數據收集過來以后,通常會把數據落地到數據庫,供后面的ETL使用。舉個一個簡單的例子,對一個游戲來說,為了統計某個游戲,某個服務器的登陸注冊 等事件,原始數據對應的java bean可能會 ...
自己實現一個SQL解析引擎 功能:將用戶輸入的SQL語句序列轉換為一個可運行的操作序列,並返回查詢的結果集。 SQL的解析引擎包含查詢編譯與查詢優化和查詢的執行,主要包含3個步驟: 查詢分析: 制定邏輯查詢計划(優化相關) 制定物理查詢計划 ...
一、一個簡單的需求 用js渲染歌曲列表,並且要求不能寫死,數據來自一個songs數組。 可以想到最笨的兩種方法: 1、html字符串拼接 2、構造DOM對象 我們可以發現這種方式比較繁瑣,而且容易出現錯誤,那有 ...
分析: 我們通常在開發過程中會遇到很多程序修改或者批量修改數據的時候,會選擇腳本的文件的形式通過命令來執行,那么怎么用plsql或者sqlplus執行sql腳本文件呢? 說明: 如果說現在在c盤盤符下放置了一個我們需要執行的create.sql腳本文件,如果說用sqlplus ...
自己動手寫SQL執行引擎 前言 在閱讀了大量關於數據庫的資料后,筆者情不自禁產生了一個造數據庫輪子的想法。來驗證一下自己對於數據庫底層原理的掌握是否牢靠。在筆者的github中給這個database起名為Freedom。 整體結構 既然造輪子,那當然得從前端的網絡協議交互到后端的文件存儲 ...
簡介 當查詢優化器(Query Optimizer)將T-SQL語句解析后並從執行計划中選擇最低消耗的執行計划后,具體的執行就會交由執行引擎(Execution Engine)來進行執行。本文旨在分類講述執行計划中每一種操作的相關信息。 數據訪問操作 首先最基本的操作 ...
前言: 最近做的一個項目是一個數據庫服務化的管控平台,用時髦一點的名詞來說是一個DBaaS產品。這種面向雲化的產品,呈現給最終用戶的體驗是提供一個管理頁面,把數據庫的生命周期,監控等功能通過WEB頁面或者Open API暴露給用戶或者第三方的程序,常見的產品類似於阿里雲或者AWS的RDS。而我 ...
1. 引言 什么是規則引擎 一個業務規則包含一組條件和在此條件下執行的操作,它們表示業務規則應用程序的一段業務邏輯。業務規則通常應該由業務分析人員和策略管理者開發和修改,但有些復雜的業務規則也可以由技術人員使用面向對象的技術語言或腳本來定制。業務規則的理論基礎是:設置一個或多個條件 ...