如何解决虚拟联合sql数据库
我需要实现以下内容,并希望就如何最好地解决问题获得一些想法:
我有几个SQL数据库,并希望提供使用某种方式的联合数据库的选项,即虚拟SQL层应该接收(只读)查询。这些查询应针对单个数据库中的每个数据库执行,并合并为总结果,然后发送回查询的发件人。
因此,虚拟SQL层任务将是接收初始查询,调用单个数据库并合并结果。此外,出于隐私原因,虚拟SQL层需要实现删除特定结果的规则。因此,我需要能够在虚拟层中编写自己的代码。
从技术角度讲,我很开放,但是Java是首选。 到目前为止,我正在考虑以H2项目为基础,并在那里进行修改。
解决方法
要使用H2构造做到这一点,您将要实现TableEngine
。 features documentation says a little bit more about this。无需破解实际的H2源代码。
对于已经执行此操作的项目,请参见Apache Calcite:它将SQL解析器和查询优化器停放在various notions of what are basically key-value stores之上。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。