返回留言板
文章标题:蓝星际内存数据库LxjDB说明
文章作者:bluesen
发表时间:2013-9-3 11:19:34
内容:
蓝星际内存数据库LxjDB 说明书
  朱东宁 zhudn@bluespace.com.cn
  2013.9, shenzhen


1.特点
  快速: 全部数据装入内存,能够快速存取。
        服务器支持64位操作系统,可以利用海量的内存。
        高效的锁机制,并发读不加锁,写时对表加锁。
        支持索引和主键。
  简单: 支持标准的SQL语句(SQL的限制见附录),
        客户端支持Ado.net、Koodoo数据库访问(蓝星际语音平台)、jdbc(即将支持)
        提供命令行客户端
        服务器配置简单
        服务器不需要安装。
  可靠: 日志和快照功能保证数据的可靠性。重启后保持数据完整性。
  加载: 优先选择快照+日志加载,当快照+日志不存在是,进行外部数据加载。


2.SQL的限制
  2.1. 
  只支持单表操作,不支持多表关联
  insert into 表名 values(全部值列表)
     注意:insert不支持列出字段名的表示方法
     值可以是时间函数getdate()
     服务器会进行主键冲突判断

  select [top n] 字段列表或* from 表名 [where 字段条件表达式 order by 字段 [desc], ...]

  delete [from] 表名 [where 字段条件表达式]
     如果没有where表达式,则表示删除该表的所有记录

  update 表名 set 字段名=值, 列表 where 字段条件表达式
     值可以是时间函数getdate()
     注意:不允许改变主键的值

  where 表达式的 字段 op 值, op可以是下列:
     =, >, <, >=, <=, between v1 and v2操作, 不支持<>或!=或like 
     值必须是单一的数值或字符串(用单引号引起来的)
     支持and, or逻辑运算符,也支持用()改变运算的优先级
     注意,不支持not

  2.2.
  不支持用sql创建(create)和删除表(drop)
  创建表在配置文件Create.ini指定(见本手册第5章)
  表不能删除。


3.文件和路径
  LxjDb64.exe - 服务器端主程序
  BlueSpaceDb.ini - 配置文件
  Create.ini - 表结构描述配置
  .\CheckPoint\ - 存放日志和快照的子目录
  .\Load\ - 外部数据加载路径

  c0.exe - 客户端命令行工具, 可以执行sql语句
  LxjDbApi.dll - 客户端调用api,如果是ado.net则不必关心


4.基本配置说明
  BlueSpaceDb.ini:
  // TCP侦听端口
  port=2013

  // 连接池数量
  connPool=100

  // 处理线程数
  procThreads=30

  // 连接的参数
  user=sa
  pwd=lxj83844270

  // 连接无请求的超时秒数,超过此时间将挂断
  connTimeout=300


5.表配置文件说明
  Create.ini:
  表名 = 字段描述
  字段描述必须在一行内,多个字段间用逗号分隔。
  字段描述:字段名 类型[(长度)] [index] [key],
  index表示在该字段上创建索引,key表示在该字段为主键(如果多个字段指定为key,则为联合主键)
  举例:
  Sys_Seat = CId char(30) index key, Agent varchar(20) index key, Stat char(1), Time datetime 
  Sys_Channel = Station int(4) index key, LineNo int(4) index key, Stat int(1), LastTime datetime


6.加载机制说明
  表创建后是空表,除了可以在客户应用程序中动态调用sql语句insert into以外,服务器程序启动时也能够加载。
  如果CheckPoint子目录下有快照和日志文件,则选择从这里加载,这个目录下的文件是服务器程序自动维护的。
  否则将选择在Load子目录下加载,Load子目录供外部程序(如SQL Server的bcp.exe)创建数据文件,格式如下:
  每张表可以有一个数据文件(也可以没有),文件名:  表名.txt
    字段顺序必须按照Create.ini配置的顺序;
    字段不能多也不能少,数量要等于Create.ini配置的;
    字段分隔符为\t即制表符,记录结束符为\n即换行符,这也是bcp的默认值
  技巧:如果要求服务器启动时总是加载外部数据,则可以在启动前删除掉CheckPoint下的所有文件。

已有回复:


回复如下

标题:
    发言人:

内容: [回复] [重写]