|
多进程或多线程应该还是在一个程序里吧!这样的结构灵活性与其他数据库差距还是比较大的。
多进程就是程序,比如Word是一个进程、Photoshop又是一个进程。eXtremeDB数据库的数据存放在共享内存里,eXtremeDB内核包含在各个程序里。
据我所知timesten 强悍的地方就是解决了这个问题,程序通过算法直接访问内存库的数据。//但是我个人怀疑发它的大并,大数据量的稳定性。这种工作模式eXtremeDB是首创。
altibase 在早期也和extreme 嵌入式采用同样的结构,但是后来直链方式采用了IPC 。这个模式很好用啊,eXtremeDB的大量成功案例都是这个模式。altibase在采用这种工作模式的时候出了什么问题?能够介绍一下吗?
我经常采用IPC测试,我经常在aix ,hp-unix ,sun ,linux 下测试,您说的晃动性我还真没感觉出来。上面的几种OS的定时器精度都不是很高;用户主要关注的是快的问题,没有要求“有快有准”--总的说来是软实时。『实时数据库的分类:硬实时数据库、软实时数据库、快速数据库、嵌入式数据库、移动数据库,过几天我发个帖子讨论讨论』
//根据市场的需要,和自身发展的需求,每个内存数据库厂商的发展方向都有一定的差异。相应的就会有更适合的应用环境。
我的意思是确实有适合使用嵌入式数据库的系统,据我所知 solid 在这方面作的也比较多。
solid和altibase可以相比、与eXtremeDB无法相比。比如工作模式上,a/s都是通过IPC进行的,eXtremeDB和TimesTen都可以直接嵌入;应用市场的优势,主要在上层类HLR部分,而eXtremeDB是普适的。
把eXtremeDB和solid放在一起是误解:
工作模式:eXtremeDB支持嵌入(就是Timestten的直链)、IPC(我们称为本地C/S)及网络C/S;solid支持IPC和网络C/S
索引:eXtremeDB支持Tree、Hash、顺序索引,由用户自行指定任意字段及字段组合、由eXtremeDB内核维护;solid只支持顺序索引
编程语言:eXtremeDB支持本地C/C++/SQL、远程SQL、ODBC;solid支持本地SQL、ODBC
文件系统:eXtremeDB内存数据库不需要文件系统;solid内存数据库是内存文件系统上的磁盘数据库,可以在VxWorks下看到solid在使用文件IO服务
性能:eXtremeDB本地SQL是solid本地sql的5倍以上;eXtremeDB的本地C/C++模式比eXtremeDB本地SQL模式快5倍,比solid本地SQL模式快25倍
内核大小:eXtremeDB 50K~130K;solid 6M以上
内存占有量:eXtremeDB本地C/C++模式占用内存1M以内,SQL占用4M以内;solid本地SQL占用近50M内存
空间效率:eXtremeDB是solid的3~4倍--在同等的空间里,eXtremeDB多存储3倍的数据
行业应用:eXtremeDB国内成功案例比比皆是;solid闻所未闻。
solid在“数据库”一层基本是空的,在应用层可能做了一些工作。目前,solid已经被一个公司的information on demoan部门收购了,成为应用解决方案的一部分,也算是有了归宿了吧。
[ 本帖最后由 datamann 于 2008-1-16 15:56 编辑 ] |
|