跨平台高性能内存数据库介绍

编程农场 2009-06-06 04:36:10


1 概述
Cache Server内存数据库是目前业内运行速度最快,功能最强大的内存数据库系统。产品定位于内存数据库系统和提供高端高性能系统的开发、处理平台。

另外Cache Server拥有强大的编程能力,拥有业内功能最强大的内存数据库脚本,使Cache Server不只作为数据的高速缓存服务器,更能够实现复杂的业务逻辑,通过编写数据库脚本和存储过程实现以前通过C/C++编程才能实现的强大功能。

2 版权说明
1、 本软件为免费软件,用户可用于学习、测试、商业用途,本软件没有功能上的限制和使用期限限制,可自由复制、传播。

2、 用户可发邮件到Freeland007@163.com 向作者获取最新版本。欢迎用户朋友
对本软件提出宝 贵意见,作者会及时修改软件的BUG,并对软件进行持续的
改进。
3 产品技术特点
3.1 系统结构简介
Cache Server在设计上参照目前主流数据库MS SQL SERVER(Sybase)的结构特点。

Cache Server由数据库、系统用户、远程连接、复制等对象组成,每个数据库由数据库表、存储过程、索引等对象组成。

其中数据表支持多个索引,支持单列唯一索引、单列非唯一索引、多列复合唯一索引、多列复合非唯一索引。支持精确查询、模糊查询、分组查询、排序等功能。
3.2 运行效率高

3.3 良好的缓冲机制
3.4 性能稳定
3.5 高可用性
3.6 可维护性
3.7 支持同步、异步访问方式
Cache Server支持客户端的同步访问方式和异步访问方式。

3.8 支持Cache SQL脚本
Cache Server支持功能强大的Cache SQL脚本,该脚本是结构化的编程语言,风格和功能上兼容MS SQL SERVER(或Sybase)的Transact SQL。

Cache SQL语言有如下功能:
1) 支持全局变量、局部变量、会话变量、存储过程参数
2) 支持调用存储过程,调用存储过程支持输入参数、输出参数。
3) 支持调用远程存储过程,调用远程存储过程支持输入参数、输出参数。
4) 支持if、else if、else选择结构,以及if、else if、else嵌套
5) 支持while循环以及嵌套,支持break、continue语句
6) 支持数字计算、字符串、关系运算、逻辑运算、位运算、单元运算等
7) 支持任意复杂的表达式
8) 支持数据表操作语句
(1)select
2)delete
3)update
4)insert
5)match
6)group by
7)having
8)order by

9) 支持数据库对象操作语句
create database、drop database、use database、
create user、drop user、
create table、drop table、create index、drop index
create procedure、drop procedure
等语句。

10)支持游标操作


10) 支持执行动态SQL语句


10)支持返回多个结果集、打印信息、影响条数、输出参数值等信息

13)支持调用远程存储过程,即一个Cache Server的存储过程可以调用另外
一个Cache Server实例中的存储过程。

14)批量数据导入
1) import语句
2) select into 方式

15)批量数据导出
export语句

16)访问传统关系数据库(MS SQL SERVER、Oracle等)
在Cache Server上定义外部数据源,在Cache SQL脚本中可以调用MS SQL SERVER(或Oracle等)的存储过程,在Cache SQL的调用语句中

17)支持丰富的功能函数

3.9 支持存储过程
Cache Server可以在服务端保存用户编写的存储过程
1、 存储过程支持输入输出参数,最大支持1024个参数
2、 存储过程中可以定义局部变量,引用全局变量和会话变量。可以使用任意合法的SQL语句。
3、 存储过程可以返回一个或多个结果集
4、 存储过程内可以调用其它的存储过程,形成嵌套调用,调用自身则形成递归调用
5、 存储过程可以调用远程存储过程
6、 可以执行动态SQL语句
7、 可以调用动态库
8、 可以和磁盘数据库进行交互
9、 支持临时存储过程和全局临时存储过程
10、 存储过程脚本的大小没有限制
11、 一个数据库内存储过程的数量没有限制
12、 支持延迟名称解析和编译

3.10 支持调用远程存储过程
Cache Server在执行SQL脚本的时候可以调用其它Cache Server的存储过程,执行远程存储过程可以带参数,支持参数的输入和输出,通过在脚本中调用远程存储过程实现分布式计算,可以利用该机制实现数据的同步和双机机制。

示例:
declare @sex tinyint
declare @name char(16)
declare @age smallint
declare @address char(128)
declare @email char(128)
declare @ret int

rpc remote.getpersoninfo '123456789012345670', @sex, @name, @age,
@address, @email, @ret

print itos(@sex, 10) + ':' + @name + ':' + itos(@age, 10) + ':' +
@address + ':' + @email + ':' + itos(@sex, 10)

其中 rpc为远程调用关键词, remote为远程服务器, getpersoninfo为远程服
务器上的存储过程。

3.11 支持调用动态链接库
用户根据如果需要特殊的功能,可以根据Cache Server的调用动态库的规范自行开发动态库,在Cache SQL脚本中可以加载、卸载动态库,并可以执行动态库中的函数,执行函数可以输入、输出参数。

示例:
1、 加载动态库

declare @handle bigint
select @handle = LoadLibrary(@DllPath)

2、 卸载动态库

declare @ret int
select @ret = FreeLibrary(@handle)

3、 调用函数

declare @fp bigint
select fp = GetProcAddress(@handle, @FunctionName)
exec dll fp para0, para1,para2 output

3.12 支持与持久数据库进行交互
Cache Server在执行脚本的过程中可以于传统磁盘数据库(MS SQL SERVER、Oracle等)进行交互,Cache Server提供2种方式和磁盘数据库进行交互:
1、同步方式
2、异步方式

3.13 支持操作系统的API
3.14 系统开发简单
基于Cache Server的开发分为两部分:服务端开发和客户端开发。

服务端侧开发:
服务端开发是利用Cache Server的Cache SQL脚本编写存储过程,由客户端调用,Cache SQL简单易用,容易掌握。

客户端侧开发:
客户端侧开发是利用宿主语言(C、C++、VB、delphi、Java等语言)基于协议或者API调用Cache SQL脚本或存储过程,并解析返回的结果。一般情况下推荐在客户端调用存储过程,由存储过程实现业务逻辑。调用存储过程可以传递输入参数,执行完毕后返回输出参数和结果集。

基于Cache Server的开发相对其它数据库更简单方便
1、 脚本兼容MS SQL SERVER的Transact-SQL
2、 客户端的API精简,只开发有实际用途的接口
3、 没有复杂的概念,通俗易懂

4 Cache Server网络内存数据库应用领域
Cache Server 网络内存数据库可应用于多个行业领域,适合于高速处理大量事务的应用情况。

4.1 电信增值业务
1、 短信违禁词过滤
2、 电话黑、白名单处理
3、 ISMP系统
4.2 电信核心系统
1、 CRM系统
2、 BOSS系统
3、 定位系统
4、 综合业务系统管理
5、 鉴权系统
6、 计费系统
7、 HLR、VLR系统

4.3 互联网应用
1、 大规模用户访问的服务器
2、 高效数据库缓存服务器
3、 电子商务交易处理
4、 产品编码查询
5、 身份查询
6、 网络游戏服务器

4.4 实时处理系统
1、 实时监控系统
2、 数据采集系统
3、 跟踪系统
...全文
1369 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
flyfish1436 2009-08-13
  • 打赏
  • 举报
回复
Professional
ChinaITOldMan 2009-06-26
  • 打赏
  • 举报
回复
学习
ai_li7758521 2009-06-06
  • 打赏
  • 举报
回复
学习
  • 打赏
  • 举报
回复
关注
ks_reny 2009-06-06
  • 打赏
  • 举报
回复
学习
百年树人 2009-06-06
  • 打赏
  • 举报
回复
...
Q315054403 2009-06-06
  • 打赏
  • 举报
回复
支持。。。发了邮件给楼主

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧