Orip 基於記憶體資料庫的海量資料實時處理解決方案

2021-10-27 22:41:03 字數 5472 閱讀 3006

實時處理解決方案

李朝銘(北京開拓天際資訊科技****首席架構師)

2010.4.3

目錄記憶體資料庫簡介

orip記憶體資料庫架構

orip記憶體資料庫應用開發框架

orip記憶體資料庫應用案例

orip記憶體資料庫開發

什麼是海量資料處理?

當資料量不斷突破tb、pb、eb級時,當企業關鍵應用開始資料

大集中、應用管理大集中時,當企業資料庫中心向多城市擴張時,當

前的資料庫體系開始面臨各種發展瓶頸:

如何將單一資料庫通過cluster集群方式擴充套件?

如何利用cache機制提高資料庫訪問速度、如何效能調優?

如何保證資料庫的備份、容災安全、同步性、一致性?

--摘自本次大會**主頁

當**使用者數達到數萬甚至是數百萬時,當每分鐘有數十萬甚至數

千萬sql需要處理時,當使用者請求要求在秒級甚至在毫秒級得到響應時,

而滿足這些需求我們的money卻非常有限時……

應選用何種資料庫?

資料庫如何設計?

其安全可靠性如何保障?

--這是本演講的主題

什麼是記憶體資料庫

· 什麼是記憶體資料庫?

資料主要儲存於記憶體中,具備資料庫的基本功能

· 為什麼要使用記憶體資料庫?

一些應用要求極高的資料處理效能,而記憶體資料庫性

能遠遠高於基於磁碟的關聯式資料庫;記憶體**已下降

· 常見的記憶體資料庫有哪些?

(altibase、timesten、soliddb、berkeleydb、

extremedb …..)

什麼是orip ?

orip 是 ondemand

realtime information

processplatform 的縮

寫,中文名稱為「實時

資訊隨需處理平台」。

記憶體資料庫

訊息中介軟體

soa服務平台

內建了訊息引擎、記憶體

資料庫引擎、soa 服

務引擎、企業資訊服務

匯流排和高可用管理模組

等廣泛適用於電信、金

融、電力、稅務、保

險、**等資料量大、

實時性和可靠性要求

高的行業

應用執行平台

動態web伺服器

ha管理軟體

更高的綜合性能

· 相對傳統關聯式資料庫方式,總體效能有10倍以上

的提高· dell2950(2*4 2.5ghz cpu,16gb 記憶體)上並

發處理平均處理能力接近每秒20萬個 sql

· 在千兆網路下,orip單事例每秒可同時處理5萬

個以上的併發http請求(含記憶體資料庫訪問)

高可靠性

· orip提供了redo日誌,保證了主機或orip程序在

意外down掉的情況下,資料能夠可靠地恢復

· checkpoint機制兼顧了效能和故障恢復時間

· 支援事務和非事務模式

· 支援乙個服務內多個事務穿插進行

更高的可用性

· orip內建高可用(ha)軟體特性,可支援雙機熱備、

雙機熱並行、n+1備份、多機並行等

· 可在無磁碟陣列櫃的情況下,實現雙機資料(內

存資料庫)的準實時同步

· 在不啟用orip內建ha特性的情況下,可安裝

oripmon守護程序,將自動重啟意外down掉的

orip事例

記憶體資料庫簡介

orip記憶體資料庫架構

orip記憶體資料庫應用開發框架

orip記憶體資料庫應用案例

orip記憶體資料庫開發

orip體系結構

orip 事例

sgama

orip

console

字典緩衝區

訊息緩衝區

系統核心元件

系統標準元件

oripmgr

oripsql

事務緩衝區

資料儲存區

redo日誌緩衝區

共享索引區

使用者服務元件

使用者服務元件

使用者服務元件

使用者服務元件

網路管理

字典管理

緩衝區管理

事務管理

鎖管理元件庫

管理客戶端介面庫

任務管理

訊息管理

服務管理

備份管理

恢復管理

日誌管理

應用使用者

程序應用使用者

程序引數配置檔案

控制檔案

資料檔案

備份重做日誌

檔案服務動態

庫鎖檔案

profile文

件orip 客戶端

許可檔案

orip 離線儲存區

orip記憶體資料庫管理工具··

··oripmgr

oripsql

oripexp/oripimp

orip console

orip ha主備示意1/3

√服務位址:192.168.1.3

啟動位址:192.168.1.1

心跳位址:10.16.1.1

orip主節點

redo log

啟動位址:192.168.1.2

心跳位址:10.16.1.2

orip備節點

orip ha主備示意2/3

x服務位址:192.168.1.3

啟動位址:192.168.1.1

心跳位址:10.16.1.1

orip主節點

啟動位址:192.168.1.2

心跳位址:10.16.1.2

orip備節點

orip ha主備示意3/3

服務位址:192.168.1.3

啟動位址:192.168.1.1

心跳位址:10.16.1.1

orip主節點

√redo log

√服務位址:192.168.1.4

啟動位址:192.168.1.2

心跳位址:10.16.1.2

orip備節點

記憶體資料庫簡介

orip記憶體資料庫架構

orip記憶體資料庫應用開發框架

orip記憶體資料庫應用案例

orip記憶體資料庫開發

記憶體資料庫應用開發架構

應用orip server

應用記憶體資料庫

記憶體資料庫

使用者服務元件

使用者服務元件

常規嵌入式記憶體資料庫

應用開發模式

orip嵌入式記憶體資料庫

應用開發模式

記憶體資料庫簡介

orip記憶體資料庫架構

orip記憶體資料庫應用開發框架

orip記憶體資料庫應用案例

orip記憶體資料庫開發

支援一億使用者的電信使用者帳單/餘額查詢系統

記憶體表:

1.使用者身份認證表

使用者1使用者2

使用者n2、使用者餘額表

3、使用者帳單表(每月乙個)

伺服器配置:

ibm3850 2臺(每台64gb

記憶體,4cpu),雙機並行互

為備份作業系統:

linux 64位

支援百萬使用者同時**的im設計1/2

--im使用者資訊表

create table imuser

(username varchar(16) primary key,

uid unsigned int,

petname varchar(16),

password varchar(16),

registertime unsigned int);

--im 使用者朋友表

create table imuserfriend

(uid unsigned int primary key,

friendid unsigned int primary key,

groupid unsigned int);

--im uid與使用者對應表

create table imuseruid

(uid unsigned int primary key,

username varchar(16),

socketid int,

ip unsigned int,

port unsigned short int,

offlinemsg char,

status char,

lastlogintime unsigned int);

支援百萬使用者同時**的im設計2/2

使用者2使用者1

x.x.1.1

城市1x.x.1.2

使用者3redo log

x.x.2.1

城市2x.x.2.2

x.x.3.1

城市3x.x.3.2

使用者5使用者4

記憶體資料庫簡介

orip記憶體資料庫架構

orip記憶體資料庫應用開發框架

orip記憶體資料庫應用案例

orip記憶體資料庫開發

orip記憶體資料庫開發示例1/2

#include

/*insert demo */

int serviceinsertdemo (char *inpara, char **outpara, int *retlen)

orip記憶體資料庫開發示例2/2

#include

/*select demo */

intserviceselectdemo (char *inpara, char **outpara, int *retlen)

{char dbmsisdn[12];

char dbname[32];

int dbage = 0;

ldatetime dbdt;

select_para para[4];

cli_ptr *cliptr = null;

char *ptr = null;

char *freeptr = null;

......

strncpy (dbmsisdn, inpara, 11);

dbmsisdn[11] = 0;

para[0].val = (char *) &dbmsisdn;

para[1].val = (char *) &dbname;

para[2].val = (char *) &dbage;

para[3].val = (char *) &dbdt;

cliptr = (cli_ptr *) malloccli (100);

cliptr = addselecthead (cliptr, dbmsisdn, "mdb_demo", &flag);

cliptr = addfieldempty (cliptr, "msisdn", dt_char, &flag);

海量資料庫的查詢優化及分頁演算法方案

海量資料庫的查詢優化及分頁演算法方案.txt如果背叛是一種勇氣,那麼接受背叛則需要更大的勇氣。愛情是塊磚,婚姻是座山。磚不在多,有一塊就靈 山不在高,守一生就行。隨著 金盾工程 建設的逐步深入和公安資訊化的高速發展,公安計算機應用系統被廣泛應用在各警種 各部門。與此同時,應用系統體系的核心 系統資料...

基於資料庫的圖書管理系統

1 原始資料分析 1 1.1 圖書管理系統簡介 1 1.2 資料需求分析 2 1.2.1 2 1.2.2 2 1.2.3 2 1.3 事務需求分析 2 1.3.1讀者資訊管理部分,應完成以下功能。3 1.3.2書籍資訊管理部分應完成以下功能,3 1.3.3 圖書管理系統部分應完成以下功能 3 1.4...

基於XML資料庫的安全查詢處理

摘要首先對現有的xml索引的不同方法進行綜述,介紹xml索引中的相關概念,闡述典型的xml索引的構建方法和主要技術,分析現有索引的特點和存在的問題,展望xml索引未來的發展方向及其面臨的挑戰。關鍵詞xml索引 特點 發展方向 xml是extensible markup language的縮寫,即可擴...