QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1163|回复: 0

分享支持linux、unix的内存数据库cache server

[复制链接]
发表于 2009-6-6 09:05:55 | 显示全部楼层 |阅读模式
1         概述
Cache Server内存数据库是目前业内运行速度最快,功能最强大的内存数据库系统。产品定位于内存数据库系统和提供高端高性能系统的开发、处理平台。

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

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

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

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

其中数据表支持多个索引,支持单列唯一索引、单列非唯一索引、多列复合唯一索引、多列复合非唯一索引。支持精确查询、模糊查询、分组查询、排序等功能。
3.2         运行效率高
Cache Server的内存数据表采用独特高效的数据结构保存记录,根据索引操作记录(查询、插入、删除、更新)记录的耗时和表记录的数量无关;保证系统在有庞大数量记录情况下,仍然保持高效运行;在频繁插入、删除、修改记录的情况下,系统可仍然保持运行稳定,目前Cache Server是业内运行速度最快的内存数据库系统。

由于支持客户端的异步访问,可以在单连接上实现并发处理,大大提高处理效率。

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(12
declare @email char(12
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、同步方式
Cache Server执行Cache SQL语句和磁盘数据库交互时,调用磁盘数据库的
存储过程,执行完毕后,执行Cache SQL脚本的下一条语句。在磁盘数据库
编写的存储过程中可以传入输入参数和传出输出参数的值,可以返回一个或
多个结果集。这种方式主要用于内存数据库实时数据更新和同步,或从磁盘
数据库获取数据。
示例:
1)返回输出参数
declare @sex tinyint
declare @name char(16)
declare @age smallint
declare @address char(12
declare @email char(12
declare @ret int

call sms.getpersoninfo '123456789012345678' , @sex output, @name output, @age
output, @address output, @email output, @ret output


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、        跟踪系统

5         运行环境
5.1         硬件配置
1、        CPU 建议配置多个cpu
2、        内存最少512M
3、        硬盘80G
4、网络100M,复制网络建议采用千兆IP网络

5.2         软件配置
1、        windows 2000、windows 2003、windows XP
2、        linux
3、        unix(solarix、HP-UX、AIX等)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-24 00:08 , Processed in 0.056688 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表