Symfoware Server
富士通针对关键性在线交易的电子商务以及水泥砖块构件业务模式的关系型数据库管理系统,同时它也具有强大的灵活的数据管理引擎,管理大量的数据仓库的解决方案。它提供高效的安全管理、高度的可靠性、高性能和吞吐量,同时也有高度的查询/装载的功能。Symfoware能以高度经济的方式来利用系统资源。

诞生于1990年,目前在日本本土市场占有约8%的份额,名列前五。如今Symfoware已发展到V15,分为Open系和Native系两个部分。Native系还是以前的Symfowre,Open系已经是基于开源的PostgreSQL定制的了。并且将来Open版可能会完全取代Native系。这么做的目的主要是想改善旧Symfoware对SQL标准支持不足,不易和其他关系数据库互换的问题。

【open系】
基于开源项目Postgresql。

【native系】
一、系统构成
客户端-应用程序服务-数据库服务

二、产品体系
提供各种层次的服务,按照客户需求的不同提供不同服务。
包括:
1、Symfoware Server Enterprise Extended Edition;
2、Symfoware Server Enterprise Edition;
3、Symfoware Server Standard Edition。

三、基本机能
利用SQL连接数据库,标准:ANSI/ISO SQL:2003。
包括:
DDL DML 事物管理 连接管理 会话管理 资源操作 系统控制

RDB命令
数据库定义、创建;
备份、恢复;
通用操作(启动、停止。。。);
数据库维护、管理;
应用程序开发;
安全;
。。。

SQL/XML
适应管理项目增加、结构频繁变化等柔性化需求
可以使用标准SQL接口检索XML文件


四、结构
文件构成
RDB程序 RDB目录文件 RDB字典 数据库 备份磁盘 作业区 log group管理文件 日志管理文件 临时文件 检查日志数据库 实现数据保存文件 core文件 RDB参数文件 工作环境文件

RDB参数文件构成
project code
日志管理文件
RDB文件目录(数据库,RDB字典)

memory构成
共用内存;
本地内存:共用buffer、RDB字典常驻内存、DSI常驻内存、日志buffer、sort work域内存、其它。

process构成
监视process:
监视处理process的异常状态,异常时回收资源;
Symfoware/RDBprocess
获得应用程序SQL处理,操作数据库。

文字编码
数据库编码:
Shift_JIS、EUC、UNICODE;
Symfoware/RDB编码:
Solaris  ja        EUC
   ja_JP.PCK   Shift_JIS
   ja_JP.UTF-8  UNICODE
   C     安装时指定文字适用
Linux   ja_JP.UTF-8  UNICODE
   C      安装时指定文字适用
Windows  日语    Shift_JIS
应用程序编码:

保密功能

五、数据库构成
物理构造
DSI的分割应用、多数据空间;

理论构造
定义schema(CREATE SCHEMA文):
schema名、schema构成要素-实表名或实表的形式;
schema与数据库空间关系:一个schema可以有多个表,同一个表可以保存在不同的数据库空间。

定义实表(CREATE TABLE文):
实表名、定义列、定义表的制约关系。

定义View表(CREATE VIEW文):
表名(View表)、列名、列和行(获得表的哪部分)。

定义临时表(CREATE GLOBAL TEMPORARY TABLE文):
表名(临时表)、定义列(列名、数据类型、默认值或约束)。

定义索引
例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),即可在索引中查找。由于索引是经过某种算法优化过的,因而查找次数要少的多。可见,索引是用来定位的。

定义序列(CREATE SEQUENCE文)

定义触发器(CREATE TRIGGER文)

定义存储过程(CREATE PROCEDURE文)

定义函数(CREATE FUNCTION文)

权限(GRANT文)

仓库结构
DSO(Data Structure Organization)
包括:表的DSO和索引的DSO。

DSI(Data Structure Instance)
包括:表的DSI和索引的DSI。

Symfoware中数据通过DSO(Data Structure Organization)和DSI(Data Structure Instance)进行存储空间的分配。DSO和DSI是Symfoware特有的概念。DSO定义数据的存储形式(顺序,随机,BTree等)和分区方法,每个表或索引都有一个对应的DSO。DSI定义数据在表空间中的分配。每个DSO可以对应1个或多个DSI,1个DSI又可以将存储区域映射到1个或多个表空间。

DSO和DSI对应关系:解説書.pdf(native系)
或参考:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&id=4065888&uid=20726500

仓库构成的种类
实表的构成种类
SEQUENTIAL(有序)、RANDOM(随机)、OBJECT(BLOB类型)

索引的构成种类
BTREE(B树)

六、应用程序开发
开发环境
Interstage Studio
Visual Studio

应用程序接口
语言:C、C++、C#、COBOL、Java、Visual Basic或Visual
Basic .NET。
shell:
script:

connection
1、应用程序发送Connect;
2、使用者认证;
3、建立连接;
4、获得数据库资源,执行操作;
5、应用程序使用disconnect切断连接;
6、连接切断。

事务
事务控制包括:事务访问模式、独立性水平。
事务访问模式:只读、读写。
独立性:SERIALIZABLE(串联),REPEATABLE READ(重复读取),READ COMMITTED(提交读取),READ
UNCOMMITTED(未提交读取)。

排他
Symfoware Server资源占有单位:DSI>page>行。

SQL数据类型
字符串
字符串(CHARACTER、CHARACTER VARYING):定长或变长字符串数据类型;
各国文字字符串类型(NATIONAL CHARACTER、NATIONAL CHARACTER VARYING):定长或变长各国文字字符串数据类型。

数值
真数型(NUMERIC、DECIMAL、INTEGER、SMALLINT):带符号整数或10进制定点数;
概数型(FLOAT、REAL、DOUBLE PRECISION):带符号浮点数。

时间
日期和时间(DATE、TIME、TIMESTAMP):日期或时间数据类型;
时间间隔类型(YEAR、MONTH、DAY、HOUR、MINUTE、SECOND):保存时间间隔的类型。

二进制
BLOB型(BLOB):保存二进制数据,保存XML或多媒体数据。

错误处理
状态变量:SQLSTATE
消息变量:SQLMSG

七、Symfoware Server机能
访问数据库
1、DSI的分割应用
特点:高速化、不需要关注DSI、错误局部化、处理时间缩短。

2、连接性能的保证
为了防止因为用户增加而引起处理能力下降,增加机能保证性能
1、分级-控制;
2、buffer-控制;
3、DSI常驻内存;
4、RDB字典常驻内存;
5、事务并发;
6、提交数据及时读入;
7、锁;
8、死锁检测。