Orip:基于内存数据库的海量数据实时处理解决方案_第1页
Orip:基于内存数据库的海量数据实时处理解决方案_第2页
Orip:基于内存数据库的海量数据实时处理解决方案_第3页
Orip:基于内存数据库的海量数据实时处理解决方案_第4页
Orip:基于内存数据库的海量数据实时处理解决方案_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上Orip:基于内存数据库的海量数据实时处理解决方案李朝铭(北京开拓天际信息技术有限公司首席架构师)2010.4.3专心-专注-专业目录Ø内存数据库简介Øorip内存数据库架构Øorip内存数据库应用开发框架Øorip内存数据库应用案例Øorip内存数据库开发什么是海量数据处理?当数据量不断突破TB、PB、EB级时,当企业关键应用开始数据大集中、应用管理大集中时,当企业数据库中心向多城市扩张时,当前的数据库体系开始面临各种发展瓶颈:如何将单一数据库通过Cluster集群方式扩展?如何利用Cache机制提高数据库访问速度、

2、如何性能调优?如何保证数据库的备份、容灾安全、同步性、一致性?-摘自本次大会网站主页当在线用户数达到数万甚至是数百万时,当每分钟有数十万甚至数千万SQL需要处理时,当用户请求要求在秒级甚至在毫秒级得到响应时,而满足这些需求我们的money却非常有限时应选用何种数据库?数据库如何设计?其安全可靠性如何保障?-这是本演讲的主题什么是内存数据库· 什么是内存数据库?数据主要存储于内存中,具备数据库的基本功能· 为什么要使用内存数据库?一些应用要求极高的数据处理性能,而内存数据库性能远远高于基于磁盘的关系数据库;内存价格已下降· 常见的内存数据库有哪些?(Altibase

3、、Timesten、SolidDB、BerkeleyDB、eXtremeDB .)什么是ORIP ?ORIP 是 OnDemandRealTime InformationProcessPlatform 的缩写,中文名称为“实时信息随需处理平台”。内存数据库消息中间件SOA服务平台内置了消息引擎、内存数据库引擎、SOA 服务引擎、企业信息服务总线和高可用管理模块等广泛适用于电信、金融、电力、税务、保险、证券等数据量大、实时性和可靠性要求高的行业应用运行平台动态Web服务器HA管理软件更高的综合性能· 相对传统关系数据库方式,总体性能有10倍以上的提高· DELL2950(2*

4、4 2.5GHz CPU,16GB 内存)上并发处理平均处理能力接近每秒20万个 SQL· 在千兆网络下,ORIP单事例每秒可同时处理5万个以上的并发HTTP请求(含内存数据库访问)高可靠性· Orip提供了redo日志,保证了主机或ORIP进程在意外down掉的情况下,数据能够可靠地恢复· checkPoint机制兼顾了性能和故障恢复时间· 支持事务和非事务模式· 支持一个服务内多个事务穿插进行更高的可用性· ORIP内置高可用(HA)软件特性,可支持双机热备、双机热并行、N+1备份、多机并行等· 可在无磁盘阵列柜的情况下

5、,实现双机数据(内存数据库)的准实时同步· 在不启用ORIP内置HA特性的情况下,可安装oripMon守护进程,将自动重启意外down掉的orip事例Ø内存数据库简介Øorip内存数据库架构Øorip内存数据库应用开发框架Øorip内存数据库应用案例Øorip内存数据库开发ORIP体系结构Orip 事例SGAMAOripConsole字典缓冲区消息缓冲区系统内核组件系统标准组件oripmgroripsql事务缓冲区数据存储区Redo日志缓冲区共享索引区用户服务组件用户服务组件用户服务组件用户服务组件网络管理字典管理缓冲区管理事务管理锁

6、管理组件库管理客户端接口库任务管理消息管理服务管理备份管理恢复管理日志管理应用用户进程应用用户进程参数配置文件控制文件数据文件备份重做日志文件服务动态库锁文件Profile文件Orip 客户端许可文件Orip 脱机存储区Orip内存数据库管理工具····oripmgroripsqloripexp/oripimporip consoleORIP HA主备示意1/3服务地址:启动地址:心跳地址:orip主节点Redo log启动地址:心跳地址:orip备节点

7、ORIP HA主备示意2/3X服务地址:启动地址:心跳地址:orip主节点启动地址:心跳地址:orip备节点ORIP HA主备示意3/3服务地址:启动地址:心跳地址:orip主节点Redo log服务地址:启动地址:心跳地址:orip备节点Ø内存数据库简介Øorip内存数据库架构Øorip内存数据库应用开发框架Øorip内存数据库应

8、用案例Øorip内存数据库开发内存数据库应用开发架构应用Orip Server应用内存数据库内存数据库用户服务组件用户服务组件常规嵌入式内存数据库应用开发模式ORIP嵌入式内存数据库应用开发模式Ø内存数据库简介Øorip内存数据库架构Øorip内存数据库应用开发框架Øorip内存数据库应用案例Øorip内存数据库开发支持一亿用户的电信用户帐单/余额查询系统内存表:1.用户身份认证表用户1用户2用户n2、用户余额表3、用户帐单表(每月一个)服务器配置:IBM3850 2台(每台64GB内存,4CPU),双机并行互为备份操作系统:Linu

9、x 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与用户对

10、应表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用户1X.X.1.1城市1X.X.1.2用户3Redo logX.X.2.1城市2X.X.2.2X.X.3.1城市3X.X.3.2用户5用户4Ø内存数据库简介Øorip内

11、存数据库架构Øorip内存数据库应用开发框架Øorip内存数据库应用案例Øorip内存数据库开发Orip内存数据库开发示例1/2#include<orip_server.h>/*insert demo */Int serviceInsertDemo (char *inPara, char *outPara, int *retLen)char dbMsisdn12;char dbName32;int dbAge = 0;LDATETIME dbDt;CLI_PTR *cliPtr = NULL;cliPtr = (CLI_PTR *) mallocCli

12、 (100);cliPtr = addInsertHead (cliPtr, dbMsisdn, "mdb_demo", &trans1, &flag);cliPtr = addField (cliPtr, "msisdn", dbMsisdn, strlen (dbMsisdn), DT_CHAR,&flag);cliPtr = addField (cliPtr, "name", dbName, strlen (dbName), DT_CHAR, &flag);cliPtr = addField (c

13、liPtr, "age", (char *) &dbAge, 4, DT_INT, &flag);cliPtr = addField (cliPtr, "dt", (char *) &dbDt, 8, DT_LDATETIME, &flag);callInsert (cliPtr, &ret);Orip内存数据库开发示例2/2#include<orip_server.h>/*select demo */intserviceSelectDemo (char *inPara, char *outPara,

14、int *retLen)char dbMsisdn12;char dbName32;int dbAge = 0;LDATETIME dbDt;SELECT_PARA para4;CLI_PTR *cliPtr = NULL;char *ptr = NULL;char *freePtr = NULL;.strncpy (dbMsisdn, inPara, 11);dbMsisdn11 = 0;para0.val = (char *) &dbMsisdn;para1.val = (char *) &dbName;para2.val = (char *) &dbAge;par

15、a3.val = (char *) &dbDt;cliPtr = (CLI_PTR *) mallocCli (100);cliPtr = addSelectHead (cliPtr, dbMsisdn, "mdb_demo", &flag);cliPtr = addFieldEmpty (cliPtr, "msisdn", DT_CHAR, &flag);cliPtr = addFieldEmpty (cliPtr, "name", DT_CHAR, &flag);cliPtr = addFieldE

16、mpty (cliPtr, "age", DT_INT, &flag);cliPtr = addFieldEmpty (cliPtr, "dt", DT_LDATETIME, &flag);cliPtr = addWhereSign (cliPtr);ptr = callSelect (cliPtr, &ret);freePtr = ptr;if (ret >= 0)/*获取首条记录*/ret =getSelectFirstResult (&ptr, &para0, &para1,&para2, &para3,NULL);char *dt

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论