我正在学习HBase,它是用Java编写的,因此有一个Java。我以为它也支持JDBC,但它看起来不支持JDBC,现在我想我并不真正理解JDBC的含义。
有什么关系?对于一个我不能用JDBC做的Java,我能做什么,反之亦然?
发布于 2015-06-18 06:20:55
这是一个设计上的选择。从HBase演示文稿中提取:当您需要对大数据进行随机的实时读写访问时,使用Apache™。这个项目的目标是在商品硬件集群之上托管非常大的表--数十亿行X百万列--。Apache HBase是一个开源的、分布式的、版本化的、非关系数据库.
因此,该项目的创建者将重点放在--他们的关注点( BigData )上,并提供了一个不直接支持BigData的API,但目的是在BigData上下文中提高效率。
通过JDBC驱动程序访问HBase确实是可能的,但这是另一个项目:Apache Phoenix:Apache凤是一个以客户端嵌入式JDBC驱动程序的方式交付的关系数据库层,针对HBase数据的低延迟查询。Apache凤接受您的SQL查询,将其编译成一系列HBase扫描,并编排这些扫描的运行以生成常规的JDBC结果集。
作为参考,JDBC是一个标准API,允许以独立于数据库的方式通过SQL语言访问数据库。从这个意义上说,JDBS是一个Java,但是数据库作者可以提供其他Java .
发布于 2015-06-18 05:21:08
JDBC是访问关系数据库的标准API,它支持MySQL、Oracle、H2等.
HBase不是关系数据库,也不支持查询的SQL,所以它不能实现JDBC。它有一个定制的API来访问HBase文档中的Java,称为Java。
https://stackoverflow.com/questions/30906961
复制相似问题