【发布时间】:2010-11-26 01:58:20
【问题描述】:
我正在开发一个将数据存储在表中的应用程序,类似于 RDBMS。我正在寻找一种方法让我的用户使用 SQL 查询这些数据。理想情况下,我想这样做而不必实现我自己的 SQL 解析器、查询优化器等。到目前为止,从 Apache Derby 之类的东西中提取部分看起来是最好的选择,但我想知道是否有更简单的方法。
我想我需要:
- SQL 解析器(JavaCC?)
- 查询优化器
- 一种执行优化查询的方法
或者,有人知道我可以用我自己的文件/数据格式替换数据存储的任何开源数据库吗?
最后一点,我真的不需要事务、主键、外键、约束等。谢谢!
说明
- 这不会通过网络公开。它只会被训练有素、受信任的用户使用(他们有许多其他更简单的方法可以销毁相关数据)
- 优化阶段相当重要,因为我们正在讨论各种表中可能有数百 GB 的数据
- 这是对现有系统的扩展。我无法更改数据格式,也没有选择丢弃现有系统并用传统 RDBMS 替换它的选项。
- 首选基于 Java 的解决方案 :)
谢谢大家的回复!
【问题讨论】:
-
我不得不问一下,通过控制 RDBMS 的低级数据格式,您期望得到什么好处。它们的结构使查询非常有效,因此没有理由考虑提出您自己的格式。您认为自己需要这样的东西是什么?
标签: java sql interface parsing optimization