类似数据库引擎的那种,但不要求象Sql server,Oracl那样的了,轻量极就可以
通用性要好

解决方案 »

  1.   

    问题描述不清楚:
    访问是很模糊的词,什么样的访问?
    大也是很模糊的词,多大的文件?欢迎大家来我的博客作客:http://blog.csdn.net/aafshzj/
    我正在写一系列关于AAF组件框架的文章。该框架能对开发工作提供很多帮助,并极大地提高开发效率。希望大家看一看并提出宝贵建议。
      

  2.   

    显然只用过数据库没有了解过数据库的构成。好的,就拿“大文件”当作表来说说简单的也可以:1. 首先你要把文件内容分段,每一段的长度是固定的,对应一条记录。那些不定长的数据或者使用冗余位置(例如不够50个字符的字符串都在后边补'\x0')来转换为定长,或者另外写到其它离散结构的文件中(例如对text类型的每一个数据单独创建一个文件)而仅仅在主文件中保存对应的文件名。2. 每条记录都有记录号,并且有一个标志标记是否已经“被删除”。被删除的记录的空间可以给下一个插入的记录重复使用。3. 建立B+树维护程序,负责在主文件数据改变的时候更新索引。由于索引中每一个节点是定长的(索引记录号、索引键值、数据记录号、指向其它关联的索引记录号)。每一个索引也要保存在定长记录顺序文件中。4. 设计一套操作接口,执行查询、记录增删改等修改功能。
      

  3.   

    我在简单地说一下真正的数据库(至少是Access)会包括什么内容:1. SQL 查询语言,以及查询优化功能。对于每一个SQL查询,不但可以编译出查询步骤代码,而且可以在上百种可能的步骤中挑出理论上最快的一个,然后执行。2. 支持Transaction。即使在数据库服务器被强行关闭电源的情况下,数据库也不会损坏,而是最多会回滚到出问题之前的那个状态。3. 支持约束、触发器、任务、视图、分区存储(并行检索)、索引视图等功能。对于SQL Server2005,还支持CLR嵌入编程、Service Blocker、报表服务、移动终端访问api等等服务。4. 支持对同种或者异种数据库的链接操作。例如可以将很多个数据库链接成一个数据库,对这一个数据库的(虚拟视图)操作自动被转换为对其它数据库的操作。你可以将针对一个SQL Server Express数据库写的程序原封不动地移植到Oracle数据库上,而代码不用改一行,根本不用针对两种数据库去写不同的SQL命令。
      

  4.   

    Sql Server那样的就不奢望了,我需要的是可户从FTP上下载文件,在本地作为数据源来处理,只要能明显的提高索引文件的速度就可以了,因为数据文件也大,也很多,而且不可预期以后会加那些数据,故把一个文件做一个表处理,个文件之间有部分依赖的关系,类似数据库中的表,但又不想依赖数据库.
    具体点是把服务器的关系数据库转化为数据纬度文件,供客户端查询分析